| Qt 4.5.0-garden |
| --------------- |
| |
| The Qt for S60 "Garden" release is the fourth pre-release from the |
| Qt for S60 porting project. "Garden" is based on the Qt 4.5 codebase |
| and release focus has been on proper GUI integration. |
| |
| Up to and including change: b7621555cb1d1c97967dd40d63dd7e85a418407c |
| |
| Lists just S60 fixes, for general 4.5.0 changes go to: |
| |
| http://qt.nokia.com/developer/changes/changes-4.5.0 |
| |
| Some of the changes listed in this file include issue tracking numbers |
| corresponding to tasks in the Task Tracker: |
| |
| http://qt.nokia.com/developer/task-tracker |
| |
| Each of these identifiers can be entered in the task tracker to obtain |
| more information about a particular change. Sometimes the task is internal |
| and cannot be viewed by the public, a lot of them are non-public for Qt for |
| S60 at the moment. |
| |
| **************************************************************************** |
| * New features * |
| **************************************************************************** |
| |
| New modules |
| ----------- |
| |
| - qtmain |
| * Added a small static library called qtmain which is linked in |
| automatically for Qt applications on S60. qtmain includes an |
| implementation of E32Main() that sets up Qt correctly for S60. This |
| means that Qt no longer links to libcrt0.lib but uses qtmain instead. |
| However, if you are not linking against QtGui, you'll still have to |
| link to libcrt0. |
| |
| New classes |
| ------------ |
| |
| - QS60Style |
| * Native look for Qt applications on S60 3.1 and later versions. The |
| style picks up the current theme parts, palettes and font settings |
| through the skinserver and uses these when painting in Qt. |
| The layout data for different resolutions is considered. |
| |
| Ported classes |
| -------------- |
| |
| - QDesktopServices |
| * Provides methods for accessing common desktop services: Opening the |
| browser with an url, launching documents with the standard application |
| and getting default system directories. |
| |
| - QClipboard |
| * Provides access to the window system clipboard. |
| |
| - QSysInfo |
| * QSysInfo class provides information about the system. |
| |
| Features |
| -------- |
| |
| - Input methods |
| * QInputMethodEvent will now be generated by Qt. |
| To use it, widgets must set the attribute WA_InputMethodEnabled and |
| implement QWidget::inputMethodQuery(...). |
| * Qt will use the underlaying FEP framework from S60. |
| * Multitap and T9 supported. |
| * Virtual keyboard for touch phones is supported. |
| * Most of the Qt widgets already have support for input methods. |
| |
| - Drag-n-Drop |
| * At the moment works only within same Qt process. |
| |
| - STL support for QtS60 |
| * use -stl switch when configuring Qt. |
| |
| Optimizations |
| ------------- |
| |
| |
| **************************************************************************** |
| * Build issues * |
| **************************************************************************** |
| |
| - Fixed compilation on private S60 platforms by adding neccessary include paths. |
| - Fix compiler error if --gnu flag is given to RVCT. |
| |
| |
| **************************************************************************** |
| * Changes to existing classes * |
| **************************************************************************** |
| |
| - qapplication_s60.cpp (non-public) |
| * Simplified by introduction of qtmain. |
| * added CCoeControl to be the native representation of QWidget. |
| * Use window group from CEikonEnv instead of creating our own. |
| * No need to create/destroy RWsSession, this is now done by the Avkon |
| application. |
| * Handle pointer events from QSymbianControl. |
| * Stopped using QETWidget for translation, now handled by |
| QSymbianControl. |
| * MouseButtonDblClick mapped to EModifierDoubleClick (after dblclick |
| Symbian will send mouseButtonRelease. |
| |
| - QApplication |
| * Implemented setDoubleClickInterval(...). |
| * Improved widgetAt(). |
| * Added support for resizing widget's when the screen orientation |
| changes from portrait to landscape. For fullscreen and maximized |
| widgets this will ensure that they look correct in the new screen |
| layout. |
| |
| - qwindowsurface_s60.cpp (non-public) |
| * Stopped creating our own CWindowGc based on the RWindow and get |
| SystemGc from the CCoeControl we are currently painting on instead. |
| |
| - qeventdispatcher_s60.cpp |
| * Stopped using Active Objects to receive events, we get them from |
| C*AppUi and CCoeControl instead. |
| |
| - QWidget |
| * Proper implementation for QDesktopWidget::availableGeometry. |
| * Improved raising and lowering widgets. |
| * Implemented setWindowTitle(...). |
| * Implemented QWidget::setWindowIcon(...) and made it to react to |
| different statuspane layouts. |
| * Improved focus handling (improved setFocus_sys). |
| * Fixed native window scrolling. Only use accelerated scroll if we are |
| scrolling a window owning widget. |
| * Improved setWindowState(...). |
| * Added implementation for createDefaultWindowSurface_sys(). |
| * Added implementation for setMask_sys(). |
| * Not creating a backing store for the top level widget (saves memory). |
| * winId() now returns a CCoeControl instead of RWindow. |
| |
| - QMenuBar |
| * Added support for using native S60 menues. |
| * Supported infinite level of menues inside menues. |
| * Supported checkboxes next to menu items). |
| |
| - QtCore and QtGui |
| * link to CONE and Uikon libraries and stop linking to glib and gthread. |
| * Renamed qt_deployment.pro to qt_libs.pro as it is more consistent. |
| |
| - Event loop / Event dispatcher |
| * We now integrate with the native loop, allowing CActiveScheduler and |
| QEventLoop to be used interchangably. |
| * Enabled posted events to work from the Symbian active scheduler too. |
| * Enable use of QEventLoop::ExcludeSocketEvents on Symbian. |
| * Improved handling of zero timers. |
| |
| - QColumnView |
| * Fixed a typo in one instance of QT_NO_QCOLUMNVIEW. |
| |
| - font rendering |
| * Speed increase |
| * Correctly render RTL text |
| * Proper shaping of complex writing systems |
| * Automatic font linking (aka merging) of different writing systems |
| * Rudimentary fallback glyph outline support |
| * Defaults to Symbians native (usually iType based) font rendering. |
| Alternatively, supports FreeType. Configure with -qt-freetype. |
| |
| - qcore_symbian_p.h (non-public) |
| * Added helper functions to convert QRect <-> TRect. |
| * Renamed qstringToTPtrC to qt_QString2TPtrC. |
| * Added helper function qt_TDisplayMode2Format. |
| * Added helper function to convert QSize <-> TSize. |
| * Added helper function to convert QString ->HBufC. |
| * Added helper function to convert TDesC -> QString. |
| |
| - QGraphicsSystem |
| * QRasterPixmapData(...) is specified as default pixmap data for S60. |
| |
| - QPixmap |
| * Improved grabWindow(...) when it comes to selecting client rect. |
| |
| - QDirModel |
| * Returns root dir name similary as done in Windows |
| |
| - QFSFileEngine |
| * copy(...) now uses Symbian native copy implementation which is more efficient |
| and doesn't leave temp files behind |
| |
| - QLocale |
| * Now has Symbian system locale support. |
| |
| **************************************************************************** |
| * Examples and demos * |
| **************************************************************************** |
| |
| **************************************************************************** |
| * Tools * |
| **************************************************************************** |
| |
| - qmake |
| * Support for QMAKE_EXTRA_TARGETS and QMAKE_EXTRA_COMPILERS variables. |
| * Support BLD_INF_RULES variable. Adds entries to generated bld.inf file |
| * Added 'make' targets '<build>-<platform>' 'distclean' and 'run' |
| * New platform_paths.prf and data_caging_paths.prf contain several |
| variables and replacement functions for including known paths. |
| * The .pro file qt_libs.pro was moved to src/s60installs. |
| * Support for ICON variable for setting application icon. |
| * Support for RSS_RULES variable, which enables entries to be added to |
| generated application registration files. |
| * When bulding qmake and other bootstrapped tools we now use |
| "-warnings on" instead of "-warnings all". |
| * Improved error message if calls to $$system() fails. |
| * Fixed several issues when qmake is built for platform win32-mwc. |
| * Moved mocing step to the build step so it is not longer required to |
| do "abld build" or "abld makefile" to remoc. |
| * Improved "make clean". |
| * Increased max heap to 8Mb. |
| * Enabled __CC_ARM flag used by some versions of RVCT. |
| * Removed hard coded INCLUDEPATH from qmake - developer can control |
| the whole include path hierachy. |
| * Symbian export mechanism is no longer used for emulator deployment, |
| instead copy commands are generated to wrapper makefile and |
| executed during final phase of building, after post link. |
| * Removed -O1 flag from WINSCW builds. |
| * Added qmake function (size) to ask number of items in QStringList. |
| * Qt demos are now installed to QtDemos folder in S60 emulator. |
| * Qt examples are now installed to QtExamples folder in S60 emulator/HW. |
| * Plugin stubs suffix changed to ".qtplugin". |
| * Paths containing $${EPOCROOT}/epoc32 will now properly generate |
| absolute paths in mmps. |
| |
| |
| -configure |
| * Defaults for FREETYPE and SCRIPTTOOLS set to "no". |
| |
| **************************************************************************** |
| * Plugins * |
| **************************************************************************** |
| |
| **************************************************************************** |
| * Important Behavior Changes * |
| **************************************************************************** |