[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