|
本帖最后由 hailongxl 于 2010-5-28 22:29 编辑
不好意思,进行了一下修改。
现在只要提供一个ui文件,就可以生成一切了,如果不出意外的话,调用此脚本后可以直接make,并且已经包含了建立desktop文件,png文件,执行文件到正确位置的脚本。
[/opt/tq2440/first]# cat ui2impl
#!/bin/bash
if [ $# -ne 2 ]; then
echo "Usage:ui2impl <ui_name> <target_name>"
exit 1
elif [ "$1" = "$2" ]; then
echo -e "Usage:ui2impl <ui_name> <target_name>\ntarget name cannot as same as ui_name."
exit 2
fi
# Generate .h,.cpp and moc files.
$QTDIR/bin/uic -o $2.h -subdecl $2 $1.h $1.ui
$QTDIR/bin/uic -o $2.cpp -subimpl $2 $2.h $1.ui
# Generate main.cpp
echo -e \
"#include \"$2.h\"\n"\
"#include <qapplication.h>\n"\
"#include <qtopia/qpeapplication.h>\n"\
"\n"\
"QTOPIA_ADD_APPLICATION(\"$2\",$2)\n"\
"QTOPIA_MAIN"\
>main.cpp
# Generate .pro file
echo -e \
"CONFIG += qtopiaapp\n"\
"CONFIG -= buildQuicklaunch\n"\
"DESTDIR = $QPEDIR/image/opt/Qtopia/bin\n"\
"TARGET = $2\n"\
"HEADERS = $2.h\n"\
"SOURCES = $2.cpp\n"\
"SOURCES += main.cpp\n"\
"INTERFACES = $1.ui\n"\
>$2.pro
# Generate Makefile
qmake -o Makefile -spec $QPEDIR/mkspecs/qws/linux-generic-g++ $2.pro
# Generate .desktop file
echo -e \
"[Desktop Entry]\n"\
"Version=1.0\n"\
"Name=$2\n"\
"Comment[]=Your comment goes here.\n"\
"Exec=$2\n"\
"Type=Applicatioin"\
>$QPEDIR/image/opt/Qtopia/apps/JC-SYSTEMS/$2.desktop
if [ -f $2.png ]; then
cp $2.png $QPEDIR/image/opt/Qtopia/pics/
echo -e "Icon=$2" >> $QPEDIR/image/opt/Qtopia/apps/JC-SYSTEMS/$2.desktop
else
echo -e "Icon=qtlogo" >> $QPEDIR/image/opt/Qtopia/apps/JC-SYSTEMS/$2.desktop
fi |
|