[Qt] Draft FreePascal Maemo binding
Den Jean
Den.Jean at telenet.be
Thu Jun 10 21:59:32 CEST 2010
Hi,
I created a Qt binding for the Maemo 5 Qt 4.6.2 (N900 PR 1.2)
* http://users.telenet.be/Jan.Van.hijfte/qtforfpc/maemo5_bin-qt4pas-
V2.2RC_Qt4.6.2.tar.gz
* http://users.telenet.be/Jan.Van.hijfte/qtforfpc/splitbuild-maemo5_qt4pas-
V2.2RC_Qt4.6.2.tar.gz
* http://users.telenet.be/Jan.Van.hijfte/qtforfpc/maemo5_demos-
V2.2RC_Qt4.6.2.tar.gz
This binding can already be used to create Free Pascal
Qt4 Maemo5 applications. Screenshot of small included demo:
http://users.telenet.be/Jan.Van.hijfte/qtforfpc/maemo_qt4.png
However Lazarus LCL/Qt needs some changes to allow for
Lazarus LCL/Qt Maemo applications
The following screenshot shows a LCL/Qt Maemo sample.
When the application is run with another style (./project1 -style plastik)
the application looks identical to the designer representation.
http://users.telenet.be/Jan.Van.hijfte/qtforfpc/maemo_lcl_qt4.png
Patch for Lazarus:
http://users.telenet.be/Jan.Van.hijfte/qtforfpc/maemo.diff.txt.tar.gz
The patch accommodates for the following:
* Qt on N900 Maemo5 is compiled w/o support for:
- printing
- trayicon
* Qt on N900 Maemo is compiled w/o deprecated functions.
The following list shows the deprecated functions used by
LCL/Qt and their new counterpart.
- QRegion_numRects -> QRegion_rectCount
- QImage_numBytes -> QImage_byteCount
- QPaintDevice_numColors -> QPaintDevice_colorCount
I acknowledge that the patch can be considered as
fairly intrusive, if you know a better way, be my guest.
Detailed instructions are not ready yet for this Release Candidate.
For the adventurous:
- the binding can be compiled in scratchbox. It is just Qt C++ code,
no need for fpc in scratchbox. Nokia has excellent documentation
for the installation of scratchox. After a full installation do a
fakeroot apt-get install libqt4-dev
- copy the library to /opt/usr/lib and make links to /usr/lib ("optify").
- Strip the library first to shave of some bytes.
- compilation can be done on the device (fast enough) or using
fpc cross compilation outside scratchbox. Add a -dMAEMO5 to
ppcarm to enable the maemo specific functions in qt4.pas.
kind regards,
Den Jean
More information about the Qt
mailing list