Carbon: QApplication auto test shows bug in event dispatcher
[qt-netbsd.git] / dist / changes-4.5.0-garden
blobce258e7630ebc13c324bf170319c1bbcb7eddd30
1 Qt 4.5.0-garden
2 ---------------
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
22 S60 at the moment.
24 ****************************************************************************
25 *                          New features                                    *
26 ****************************************************************************
28 New modules
29 -----------
31 - qtmain
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
37     link to libcrt0.
39 New classes
40 ------------
42 - QS60Style
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.
48 Ported classes
49 --------------
51 - QDesktopServices
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.
56 - QClipboard
57     * Provides access to the window system clipboard.
59 - QSysInfo
60     * QSysInfo class provides information about the system.
62 Features
63 --------
65 - Input methods
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.
74 - Drag-n-Drop
75   * At the moment works only within same Qt process.
77 - STL support for QtS60
78   * use -stl switch when configuring Qt.
80 Optimizations
81 -------------
84 ****************************************************************************
85 *                          Build issues                                    *
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
101       application.
102     * Handle pointer events from QSymbianControl.
103     * Stopped using QETWidget for translation, now handled by
104       QSymbianControl.
105     * MouseButtonDblClick mapped to EModifierDoubleClick (after dblclick
106       Symbian will send mouseButtonRelease.
108 - QApplication
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
114       layout.
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.
124 - QWidget
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.
139 - QMenuBar
140     * Added support for using native S60 menues.
141     * Supported infinite level of menues inside menues.
142     * Supported checkboxes next to menu items).
144 - QtCore and QtGui
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.
155 - QColumnView
156     * Fixed a typo in one instance of QT_NO_QCOLUMNVIEW.
158 - font rendering
159     * Speed increase
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.
175 - QGraphicsSystem
176     * QRasterPixmapData(...) is specified as default pixmap data for S60.
178 - QPixmap
179     * Improved grabWindow(...) when it comes to selecting client rect.
181 - QDirModel
182     * Returns root dir name similary as done in Windows
184 - QFSFileEngine
185     * copy(...) now uses Symbian native copy implementation which is more efficient
186       and doesn't leave temp files behind
188 - QLocale
189     * Now has Symbian system locale support.
191 ****************************************************************************
192 *                          Examples and demos                              *
193 ****************************************************************************
195 ****************************************************************************
196 *                          Tools                                           *
197 ****************************************************************************
199 - qmake
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.
232 -configure
233     * Defaults for FREETYPE and SCRIPTTOOLS set to "no".
235 ****************************************************************************
236 *                          Plugins                                         *
237 ****************************************************************************
239 ****************************************************************************
240 *                   Important Behavior Changes                             *
241 ****************************************************************************