Qtopia - 4.0.0-EAR Release Notes
Introduction
The Qtopia 4.0.0 Early Access release provides a preview of the Qtopia Platform 4.0. The API is considered relatively stable, however, some changes will be made prior to the final release. Foreseen changes to the API are listed in these release notes. The Early Access Release is not indicative of the performance or quality of the final release.
Enhancements
- Addressbook:
- AbUtil class has been deleted. All functionality is via the AddressBook or the PIM libraries.
- AbTable class has been deleted and replaced with ContactListView/Model.
- SIM contacts are now handled separately from phone contacts and have separate editing dialogs.
- All the details of writing to/from the SIM are now handled by PIM library.
- SpeedDial (settings program): now uses a unified interface for both touch-screen and keypad modes.
- QThumbnail: A new class QThumbnail has been added to the Qtopia library to replace and make public, the internal Image class in Qtopia 2.x. It allows generation of thumbnails of large images with added efficiency for JPEG images. That is, for JPEG images there is no need to load/decode/scale and entire image to produce a thumbnail.
- QSound:
- QSound replaces the Sound class in Qtopia 2.x
- Sound::playLoop() can be effectively replaced by the following calls:
- QSound::setLoops(-1)
- QSound::play()
- Sound::soundAlarm() has moved to Qtopia::soundAlarm()
Previously once a Sound is played it will continue to play through after destruction. QSound however will stop playing at destruction. To ensure the whole sound is played make sure the life of the object is longer than the sound.
- The APIs of QDocumentSelector and QImageDocumentSelector (previously FileSelector and ImageSelector) have been updated to improve symmetry of the two classes.
- Content Database
Two SQL tables - schema in contentlnk.sql* containing an authoritative list of current content . For removable media a temporary (in memory) table is created and is kept up to date with src/server/contentserver.*
- The qdl service has been renamed to QDL
- several of the Qtopia documention pages have been rewritten including:
Known Issues
- The linux-sharp-g++ configuration does not build at the moment.
- AddressBook: Contact editor - left and right keys do not change tabs, unless focus is on the tabs themselves.
- QImageDocumentSelector and QImageDocumentSelectorDialog:
- The current selection becomes invalid when changing categories.
- signal documentHeld( const DocLnk&, const QPoint& ) is not currently supported.
- QPixmapCache not yet utilized. Unlike Qtopia 2.x the class does not reuse previously loaded thumbnails.
- Media Player:
- Media player classes are undergoing major changes and should not be used including classes in:
- libraries/qtopia
- mediaplayerplug-ininterface.h
- mediarecorderplug-ininterface.h
- libraries/mediaplayer/*
These classes used by the Music, Videos and Voice Notes applications
- Qtopia PIM Library
- Both Tasks and Calendar data require porting to the new design.
- Calendar data still is based on XML format
- Syncing support is unimplemented.
- Contacts application
- Some GUI elements related to copying/importing to and from a SIM card may change.
- Some GUI elements related to importing XML data may change.
- Qtopia Desktop GUI design for Contacts yet to determined.
- Input methods
- Loading and interaction of different input methods such as, having a pen based and keypad based input method active simultaneously, is yet to be finalized.
- Widget-based input methods (keyboard, handwriting, unipicker) will be integrated into dictionary lookup method of fshandwriting and pkim.
- Stroke drawing for full screen handwriting input method will be updated to be made to use transparent strokes, currently strokes are opaque.
- Documentation
- Qtopia services documentation is not complete.
- Support to integrate documentation into Qt Assistant is not available.
- Documentation on the new build system for Qtopia 4 is not complete.
- Remedying the use of inline XPM pixmaps in source code is not complete.
- ContextBar has become QSoftMenuBar
- ContextMenu has been eliminated and standard QMenus are used.
- QSoftMenuBar has functions for binding a QMenu to the menu key, for example:
QMenu *menu = QSoftMenuBar::menuFor(widget);
or
QMenu *menu = new QMenu();
QSoftMenuBar::addMenuTo(widget, menu)
Known Future Modifications
- Some Qtopia 2 classes still remain in the Qtopia API. These will be removed before the Qtopia 4 final release. Only classes starting with 'Q' may be considered stable.
- The ImageCollection (imagecollection_p.h) class will change significantly as functionality is added to the new documents API.
- QWSSoundServer:
- (Qt) gui/embedded/qsoundqss_qws.h classes are likely to change
- The following tasks that were to be completed in phase 1 have been deferred until phase 2 or 3:
- Port global pixmap cache
- Port dynamic screen transformation
- Port appservices (phase 2)
- Port pluginmgr (phase 2)
- Port rotation
- The following tasks that were to be completed in phase 1 have been identified as requiring redesign and have been deferred until phase 3.
- Port network
- Port network plug-ins
- Qtopia PIM Library
- XML-based internal files for Contacts may require changes to come inline with SIM and SQL-based contact access.
- File and class names of internal classes (defined in _p.h headers) may change. For example:
- contactio_p.h -> qcontactio_p.h
- contactio.cpp -> qcontactio.cpp
- ContactIO -> QContactIO
- Deprecation of AppLnk, DocLnk and the existing scanning algorithm
- AppLnk and DocLnk remain in the Qtopia 4 EA release, however the use of AppLnk and DocLnk will be deprecated and they will be removed from the library in the final release.
- Existing AppLnk & DocLnk calls will be ported to QContentMetaInfo
- DRM control of documents to be transparent to Applications.
- $QPEDIR/src/server/documentlist.* will be removed.
- New Qtopia document and file access paradigm:
- Applications will not use QMimeType and QStorageMetaInfo directly, instead create a QContentMetaInfoSet with appropriate filters and use that plus CategoryBroker for meta-information about storing files
- Installation of new applications, and Qtopia's make install process will update the database
- {at install time} with the meta-information of installed applications. This will improve boot time, as scanning for applications is only required to confirm the database, and the UI can be displayed directly from the database, updating if necessary