| 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 |
**************************************************************************** |