|
|
|
-----------------------------------------------
|
|
|
|
Kde scons template quickstart
|
|
|
|
Author: Thomas Nagy
|
|
|
|
Date: 2005-04-04
|
|
|
|
-----------------------------------------------
|
|
|
|
|
|
|
|
This README file explains basic concepts necessary
|
|
|
|
for starting with this application template.
|
|
|
|
|
|
|
|
|
|
|
|
** Building and installing **
|
|
|
|
|
|
|
|
* To configure the application run "scons configure"
|
|
|
|
In some rare cases you may need to add flags:
|
|
|
|
scons configure qtincludes=/usr/include/qt3/include kdeincludes=/usr/lib/trinity/include
|
|
|
|
|
|
|
|
* After building, launch the application and test the dcop
|
|
|
|
interface by using the command (search a bit) :
|
|
|
|
dcop
|
|
|
|
dcop appname-...
|
|
|
|
dcop appname-... instancenumber
|
|
|
|
dcop appname-... instancenumber switch_colors
|
|
|
|
dcop appname switch_colors
|
|
|
|
Or launch kdcop and search in the menus for your program
|
|
|
|
name and double-click on 'switch_colors()'
|
|
|
|
|
|
|
|
* The usual targets call the following scons commands :
|
|
|
|
make -> scons
|
|
|
|
make clean -> scons -c
|
|
|
|
make install -> scons install
|
|
|
|
make uninstall -> scons -c install
|
|
|
|
make dist -> scons dist
|
|
|
|
|
|
|
|
* To build apps, use KDEprogram, KDEshlib, etc.
|
|
|
|
these functions are documented at the bottom of kde.py
|
|
|
|
More information can be found in the QUICKSTART
|
|
|
|
|
|
|
|
* The scons scripts for building kde applications originate
|
|
|
|
from the 'bksys' distribution. It contains several other examples
|
|
|
|
that detail the kpart building and the dcop interface
|
|
|
|
processing :
|
|
|
|
http://www.kde-apps.org/content/show.php?content=19243
|
|
|
|
|
|
|
|
* Extending the scons scripts for building the application :
|
|
|
|
The scons scripts are actually python scripts, so all the
|
|
|
|
usual tricks apply : 'for' and 'while' loops, 'if', 'else' ..
|
|
|
|
consult :
|
|
|
|
http://www.python.org for more information about python
|
|
|
|
http://www.scons.org for more informationabout scons
|
|
|
|
|
|
|
|
* Simplify your life : install the project in your home directory for
|
|
|
|
testing purposes.
|
|
|
|
scons configure prefix=/home/user/dummyfolder/
|
|
|
|
In the end when you finished the development you can
|
|
|
|
rm -rf /home/user/dummyfolder/
|
|
|
|
without fear.
|
|
|
|
|
|
|
|
|
|
|
|
** Technologies **
|
|
|
|
|
|
|
|
* Build the menus of your application easily
|
|
|
|
kde applications now use an xml file (*ui.rc file) to build the menus.
|
|
|
|
This allow a great customization of the application. However, when
|
|
|
|
programming the menu is shown only after a "make install"
|
|
|
|
|
|
|
|
For more details, consult :
|
|
|
|
http://devel-home.kde.org/~larrosa/tutorial/p9.html
|
|
|
|
http://developer.kde.org/documentation/tutorials/xmlui/preface.html
|
|
|
|
|
|
|
|
* Use KConfig XT to create your configuration dialogs and make
|
|
|
|
them more maintainable.
|
|
|
|
|
|
|
|
For that, you will need to write two simple configuration files
|
|
|
|
in the src directory : <myproject>.kcfg and a <settings>.kcfgc
|
|
|
|
The configure.in.in will need to be modified : change the line #MIN_CONFIG(3.0.0)
|
|
|
|
into #MIN_CONFIG(3.2.0)
|
|
|
|
|
|
|
|
Take an example on the many apps found in the tdegames source package and consult :
|
|
|
|
http://developer.kde.org/documentation/tutorials/kconfigxt/kconfigxt.html
|
|
|
|
|
|
|
|
* With KParts, you can embed other kde components in your program, or make your program
|
|
|
|
embeddable in other apps. For example, the kmplayer kpart can be called to play videos
|
|
|
|
in your app.
|
|
|
|
|
|
|
|
For more details, consult :
|
|
|
|
http://www-106.ibm.com/developerworks/library/l-kparts/
|
|
|
|
http://developer.kde.org/documentation/tutorials/dot/writing-plugins.html
|
|
|
|
http://developer.kde.org/documentation/tutorials/developing-a-plugin-structure/index.html
|
|
|
|
|
|
|
|
* With dcop, you can control your app from other applications
|
|
|
|
Make sure to include K_DCOP and a kdcop: section in your .h file
|
|
|
|
http://developer.kde.org/documentation/tutorials/dot/dcopiface/dcop-interface.html
|
|
|
|
|
|
|
|
|
|
|
|
** Documentation **
|
|
|
|
|
|
|
|
* For the translations :
|
|
|
|
refer to the file po/SConscript and po/messages.sh
|
|
|
|
|
|
|
|
1. Download a patched gettext which can be found at:
|
|
|
|
http://public.kde.planetmirror.com/pub/kde/devel/gettext-kde/
|
|
|
|
2. Install that gettext in ~/bin/
|
|
|
|
3. cd ~/yourproject, export PATH=~/bin:$PATH, export
|
|
|
|
KDEDIR=/where_your_KDE3_is
|
|
|
|
4. make -f admin/Makefile.common package-messages
|
|
|
|
5. make package-messages
|
|
|
|
6. Translate the po files (not the pot!!) with kbabel or xemacs
|
|
|
|
|
|
|
|
* Do not forget to write the documentation for your kde app
|
|
|
|
edit the documentation template index.docbook in doc/
|
|
|
|
|