4 The Qt for S60 "Garden" release is the fourth pre-release from the
5 Qt for S60 porting project. "Garden" is based on the Qt 4.5 codebase
6 and release focus has been on proper GUI integration.
8 Up to and including change: b7621555cb1d1c97967dd40d63dd7e85a418407c
10 Lists just S60 fixes, for general 4.5.0 changes go to:
12 http://qt.nokia.com/developer/changes/changes-4.5.0
14 Some of the changes listed in this file include issue tracking numbers
15 corresponding to tasks in the Task Tracker:
17 http://qt.nokia.com/developer/task-tracker
19 Each of these identifiers can be entered in the task tracker to obtain
20 more information about a particular change. Sometimes the task is internal
21 and cannot be viewed by the public, a lot of them are non-public for Qt for
24 ****************************************************************************
26 ****************************************************************************
32 * Added a small static library called qtmain which is linked in
33 automatically for Qt applications on S60. qtmain includes an
34 implementation of E32Main() that sets up Qt correctly for S60. This
35 means that Qt no longer links to libcrt0.lib but uses qtmain instead.
36 However, if you are not linking against QtGui, you'll still have to
43 * Native look for Qt applications on S60 3.1 and later versions. The
44 style picks up the current theme parts, palettes and font settings
45 through the skinserver and uses these when painting in Qt.
46 The layout data for different resolutions is considered.
52 * Provides methods for accessing common desktop services: Opening the
53 browser with an url, launching documents with the standard application
54 and getting default system directories.
57 * Provides access to the window system clipboard.
60 * QSysInfo class provides information about the system.
66 * QInputMethodEvent will now be generated by Qt.
67 To use it, widgets must set the attribute WA_InputMethodEnabled and
68 implement QWidget::inputMethodQuery(...).
69 * Qt will use the underlaying FEP framework from S60.
70 * Multitap and T9 supported.
71 * Virtual keyboard for touch phones is supported.
72 * Most of the Qt widgets already have support for input methods.
75 * At the moment works only within same Qt process.
77 - STL support for QtS60
78 * use -stl switch when configuring Qt.
84 ****************************************************************************
86 ****************************************************************************
88 - Fixed compilation on private S60 platforms by adding neccessary include paths.
89 - Fix compiler error if --gnu flag is given to RVCT.
92 ****************************************************************************
93 * Changes to existing classes *
94 ****************************************************************************
96 - qapplication_s60.cpp (non-public)
97 * Simplified by introduction of qtmain.
98 * added CCoeControl to be the native representation of QWidget.
99 * Use window group from CEikonEnv instead of creating our own.
100 * No need to create/destroy RWsSession, this is now done by the Avkon
102 * Handle pointer events from QSymbianControl.
103 * Stopped using QETWidget for translation, now handled by
105 * MouseButtonDblClick mapped to EModifierDoubleClick (after dblclick
106 Symbian will send mouseButtonRelease.
109 * Implemented setDoubleClickInterval(...).
110 * Improved widgetAt().
111 * Added support for resizing widget's when the screen orientation
112 changes from portrait to landscape. For fullscreen and maximized
113 widgets this will ensure that they look correct in the new screen
116 - qwindowsurface_s60.cpp (non-public)
117 * Stopped creating our own CWindowGc based on the RWindow and get
118 SystemGc from the CCoeControl we are currently painting on instead.
120 - qeventdispatcher_s60.cpp
121 * Stopped using Active Objects to recieve events, we get them from
122 C*AppUi and CCoeControl instead.
125 * Proper implementation for QDesktopWidget::availableGeometry.
126 * Improved raising and lowering widgets.
127 * Implemented setWindowTitle(...).
128 * Implemented QWidget::setWindowIcon(...) and made it to react to
129 different statuspane layouts.
130 * Improved focus handling (improved setFocus_sys).
131 * Fixed native window scrolling. Only use accelerated scroll if we are
132 scrolling a window owning widget.
133 * Improved setWindowState(...).
134 * Added implementation for createDefaultWindowSurface_sys().
135 * Added implementation for setMask_sys().
136 * Not creating a backing store for the top level widget (saves memory).
137 * winId() now returns a CCoeControl instead of RWindow.
140 * Added support for using native S60 menues.
141 * Supported infinite level of menues inside menues.
142 * Supported checkboxes next to menu items).
145 * link to CONE and Uikon libraries and stop linking to glib and gthread.
146 * Renamed qt_deployment.pro to qt_libs.pro as it is more consistent.
148 - Event loop / Event dispatcher
149 * We now integrate with the native loop, allowing CActiveScheduler and
150 QEventLoop to be used interchangably.
151 * Enabled posted events to work from the Symbian active scheduler too.
152 * Enable use of QEventLoop::ExcludeSocketEvents on Symbian.
153 * Improved handling of zero timers.
156 * Fixed a typo in one instance of QT_NO_QCOLUMNVIEW.
160 * Correctly render RTL text
161 * Proper shaping of complex writing systems
162 * Automatic font linking (aka merging) of different writing systems
163 * Rudimentary fallback glyph outline support
164 * Defaults to Symbians native (usually iType based) font rendering.
165 Alternatively, supports FreeType. Configure with -qt-freetype.
167 - qcore_symbian_p.h (non-public)
168 * Added helper functions to convert QRect <-> TRect.
169 * Renamed qstringToTPtrC to qt_QString2TPtrC.
170 * Added helper function qt_TDisplayMode2Format.
171 * Added helper function to convert QSize <-> TSize.
172 * Added helper function to convert QString ->HBufC.
173 * Added helper function to convert TDesC -> QString.
176 * QRasterPixmapData(...) is specified as default pixmap data for S60.
179 * Improved grabWindow(...) when it comes to selecting client rect.
182 * Returns root dir name similary as done in Windows
185 * copy(...) now uses Symbian native copy implementation which is more efficient
186 and doesn't leave temp files behind
189 * Now has Symbian system locale support.
191 ****************************************************************************
192 * Examples and demos *
193 ****************************************************************************
195 ****************************************************************************
197 ****************************************************************************
200 * Support for QMAKE_EXTRA_TARGETS and QMAKE_EXTRA_COMPILERS variables.
201 * Support BLD_INF_RULES variable. Adds entries to generated bld.inf file
202 * Added 'make' targets '<build>-<platform>' 'distclean' and 'run'
203 * New platform_paths.prf and data_caging_paths.prf contain several
204 variables and replacement functions for including known paths.
205 * The .pro file qt_libs.pro was moved to src/s60installs.
206 * Support for ICON variable for setting application icon.
207 * Support for RSS_RULES variable, which enables entries to be added to
208 generated application registration files.
209 * When bulding qmake and other bootstrapped tools we now use
210 "-warnings on" instead of "-warnings all".
211 * Improved error message if calls to $$system() fails.
212 * Fixed several issues when qmake is built for platform win32-mwc.
213 * Moved mocing step to the build step so it is not longer required to
214 do "abld build" or "abld makefile" to remoc.
215 * Improved "make clean".
216 * Increased max heap to 8Mb.
217 * Enabled __CC_ARM flag used by some versions of RVCT.
218 * Removed hard coded INCLUDEPATH from qmake - developer can control
219 the whole include path hierachy.
220 * Symbian export mechanism is no longer used for emulator deployment,
221 instead copy commands are generated to wrapper makefile and
222 executed during final phase of building, after post link.
223 * Removed -O1 flag from WINSCW builds.
224 * Added qmake function (size) to ask number of items in QStringList.
225 * Qt demos are now installed to QtDemos folder in S60 emulator.
226 * Qt examples are now installed to QtExamples folder in S60 emulator/HW.
227 * Plugin stubs suffix changed to ".qtplugin".
228 * Paths containing $${EPOCROOT}/epoc32 will now properly generate
229 absolute paths in mmps.
233 * Defaults for FREETYPE and SCRIPTTOOLS set to "no".
235 ****************************************************************************
237 ****************************************************************************
239 ****************************************************************************
240 * Important Behavior Changes *
241 ****************************************************************************