|
1 Qt 4.5.0-garden |
|
2 --------------- |
|
3 |
|
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. |
|
7 |
|
8 Up to and including change: b7621555cb1d1c97967dd40d63dd7e85a418407c |
|
9 |
|
10 Lists just S60 fixes, for general 4.5.0 changes go to: |
|
11 |
|
12 http://qt.nokia.com/developer/changes/changes-4.5.0 |
|
13 |
|
14 Some of the changes listed in this file include issue tracking numbers |
|
15 corresponding to tasks in the Task Tracker: |
|
16 |
|
17 http://qt.nokia.com/developer/task-tracker |
|
18 |
|
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. |
|
23 |
|
24 **************************************************************************** |
|
25 * New features * |
|
26 **************************************************************************** |
|
27 |
|
28 New modules |
|
29 ----------- |
|
30 |
|
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. |
|
38 |
|
39 New classes |
|
40 ------------ |
|
41 |
|
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. |
|
47 |
|
48 Ported classes |
|
49 -------------- |
|
50 |
|
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. |
|
55 |
|
56 - QClipboard |
|
57 * Provides access to the window system clipboard. |
|
58 |
|
59 - QSysInfo |
|
60 * QSysInfo class provides information about the system. |
|
61 |
|
62 Features |
|
63 -------- |
|
64 |
|
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. |
|
73 |
|
74 - Drag-n-Drop |
|
75 * At the moment works only within same Qt process. |
|
76 |
|
77 - STL support for QtS60 |
|
78 * use -stl switch when configuring Qt. |
|
79 |
|
80 Optimizations |
|
81 ------------- |
|
82 |
|
83 |
|
84 **************************************************************************** |
|
85 * Build issues * |
|
86 **************************************************************************** |
|
87 |
|
88 - Fixed compilation on private S60 platforms by adding neccessary include paths. |
|
89 - Fix compiler error if --gnu flag is given to RVCT. |
|
90 |
|
91 |
|
92 **************************************************************************** |
|
93 * Changes to existing classes * |
|
94 **************************************************************************** |
|
95 |
|
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. |
|
107 |
|
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. |
|
115 |
|
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. |
|
119 |
|
120 - qeventdispatcher_s60.cpp |
|
121 * Stopped using Active Objects to recieve events, we get them from |
|
122 C*AppUi and CCoeControl instead. |
|
123 |
|
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. |
|
138 |
|
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). |
|
143 |
|
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. |
|
147 |
|
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. |
|
154 |
|
155 - QColumnView |
|
156 * Fixed a typo in one instance of QT_NO_QCOLUMNVIEW. |
|
157 |
|
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. |
|
166 |
|
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. |
|
174 |
|
175 - QGraphicsSystem |
|
176 * QRasterPixmapData(...) is specified as default pixmap data for S60. |
|
177 |
|
178 - QPixmap |
|
179 * Improved grabWindow(...) when it comes to selecting client rect. |
|
180 |
|
181 - QDirModel |
|
182 * Returns root dir name similary as done in Windows |
|
183 |
|
184 - QFSFileEngine |
|
185 * copy(...) now uses Symbian native copy implementation which is more efficient |
|
186 and doesn't leave temp files behind |
|
187 |
|
188 - QLocale |
|
189 * Now has Symbian system locale support. |
|
190 |
|
191 **************************************************************************** |
|
192 * Examples and demos * |
|
193 **************************************************************************** |
|
194 |
|
195 **************************************************************************** |
|
196 * Tools * |
|
197 **************************************************************************** |
|
198 |
|
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. |
|
230 |
|
231 |
|
232 -configure |
|
233 * Defaults for FREETYPE and SCRIPTTOOLS set to "no". |
|
234 |
|
235 **************************************************************************** |
|
236 * Plugins * |
|
237 **************************************************************************** |
|
238 |
|
239 **************************************************************************** |
|
240 * Important Behavior Changes * |
|
241 **************************************************************************** |