| 1 |
Qt 4.5.2-tower |
| 2 |
--------------- |
| 3 |
|
| 4 |
The Qt for S60 "Tower" release is the fifth pre-release from the Qt for |
| 5 |
S60 porting project. "Tower" is based on the Qt 4.5 codebase (mostly Qt 4.5.2). |
| 6 |
|
| 7 |
This list of changes lists S60 specific fixes only, |
| 8 |
for general 4.5.x changes go to: |
| 9 |
|
| 10 |
http://qt.nokia.com/developer/changes/changes-4.5.0 |
| 11 |
http://qt.nokia.com/developer/changes/changes-4.5.1 |
| 12 |
http://qt.nokia.com/developer/changes/changes-4.5.2 (partially in Tower) |
| 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 |
- Input methods |
| 32 |
* Added events to support opening and closing the virtual keyboard, called |
| 33 |
software input panel in Qt. |
| 34 |
* Added an option to QApplication to choose between single or double click |
| 35 |
input panel activation. |
| 36 |
* Added input method hints API to Qt. These can be used to instruct input methods |
| 37 |
to only allow certain characters or tailor their appearance. |
| 38 |
* Added Qt::ImAnchorPosition to support querying for selections through input |
| 39 |
methods. |
| 40 |
* Added QInputMethodEvent::Selection to support setting the selection through |
| 41 |
input methods. |
| 42 |
|
| 43 |
- Phonon |
| 44 |
* The Phonon library is now part of Qt, but it comes without a backend. |
| 45 |
This means that applications can build and run against the Phonon |
| 46 |
library, but there is currently no S60 backend plugin providing actual |
| 47 |
multimedia playback. Possible alternatives such as Helix and MMF are |
| 48 |
being investigated. |
| 49 |
|
| 50 |
- QtSql |
| 51 |
* Implemented QtSql module with sqlite3 backend. For now backend is |
| 52 |
provided only in binary format. |
| 53 |
|
| 54 |
- QtWebkit |
| 55 |
* Experimental webkit build for S60. Can be enabled by passing -webkit |
| 56 |
to configure. |
| 57 |
|
| 58 |
New classes |
| 59 |
------------ |
| 60 |
|
| 61 |
- QScopedPointer |
| 62 |
* Smart pointer, which deletes pointer when destroyed. |
| 63 |
|
| 64 |
Ported classes |
| 65 |
-------------- |
| 66 |
|
| 67 |
- QColormap |
| 68 |
* Added basic implementation of QColormap for Symbian. |
| 69 |
|
| 70 |
- QLocalSocket and QLocalServer |
| 71 |
* Added support for QLocalSocket and QLocalServer on Symbian. |
| 72 |
|
| 73 |
- QSound |
| 74 |
* Implemented CMdaAudioPlayerUtility based Symbian backend for QSound. |
| 75 |
|
| 76 |
Features |
| 77 |
-------- |
| 78 |
|
| 79 |
- QApplication |
| 80 |
* Implemented QApplication::beep() for Symbian. |
| 81 |
|
| 82 |
- QPixmap |
| 83 |
* Added supported for converting to/from CFbsBitmap |
| 84 |
|
| 85 |
- QSslSocket |
| 86 |
* Added support for -openssl option i.e. runtime resolving of OpenSSL |
| 87 |
symbols. |
| 88 |
|
| 89 |
- QWidget |
| 90 |
* Basic widgets are now navigatable and usable via keypad on SDK 3 |
| 91 |
FP 1 and FP 2. |
| 92 |
* Widgets can now be made semi-transparent on systems that support it |
| 93 |
using Qt::WA_TranslucentBackground. |
| 94 |
|
| 95 |
- Exception safety |
| 96 |
* Improving the exception safety of Qt, not yet complete. |
| 97 |
* Added support for translating between Symbian leaves and standard C++ |
| 98 |
exceptions. |
| 99 |
|
| 100 |
Optimizations |
| 101 |
------------- |
| 102 |
|
| 103 |
- qdrawhelper |
| 104 |
* Optimized drawing operations for RVCT builds, particulary for ARMV6. |
| 105 |
|
| 106 |
- QFont |
| 107 |
* Use cached DPI for metrics. |
| 108 |
|
| 109 |
- qwidget_s60.cpp |
| 110 |
* Avoid unnecessary calls to FocusChanged in Symbian. |
| 111 |
|
| 112 |
- qwindowsurface_s60.cpp |
| 113 |
* Avoid updating raster buffer pointer on window hide |
| 114 |
|
| 115 |
Documentation |
| 116 |
------------- |
| 117 |
|
| 118 |
- exceptionsafety.qdoc |
| 119 |
* A guide to exception safety in Qt. |
| 120 |
|
| 121 |
- symbian-exceptionsafety.qdoc |
| 122 |
* A guide to integrating exception safety in Qt with Symbian. |
| 123 |
|
| 124 |
**************************************************************************** |
| 125 |
* Code clean-up * |
| 126 |
**************************************************************************** |
| 127 |
|
| 128 |
- Cleanup qeventdispatcher_unix.cpp |
| 129 |
* 247268: All qeventdispatcher_unix.cpp changes were reverted since |
| 130 |
this file is not anymore used in Symbian OS branch. |
| 131 |
|
| 132 |
- Cleanup QtNetwork workarounds implemented earlier due to Open C bugs. |
| 133 |
* 247287: Removed getaddrinfo workaround. |
| 134 |
* 247288: Removed waitForConnected workaround. |
| 135 |
* 247289: Removed qt_socket_accept workaround. |
| 136 |
* 247290: Removed qt_socket_connect workaround. |
| 137 |
* 247290: Removed E32IONREAD workaround. |
| 138 |
* 247293: Removed nativeHasPendingDatagrams workaround. |
| 139 |
* 247295: Removed QNativeSocketEnginePrivate::nativeRead EPIPE |
| 140 |
workaround. |
| 141 |
|
| 142 |
- Other code clean-ups |
| 143 |
* 247278: Removed unnecessary includes from qbackingstore.cpp. |
| 144 |
* Fixed Q_OS_SYMBIAN ifdef usage in qfiledialog_p.h. |
| 145 |
* 247272: Removed qtestnetworkservers.h dependency, used |
| 146 |
network-settings.h. |
| 147 |
* Revert "Work around compiler bug on Nokia Metrowerks compiler." |
| 148 |
* Remove UI highlights being inverted colors based on highlight text |
| 149 |
colors. |
| 150 |
|
| 151 |
**************************************************************************** |
| 152 |
* Build issues * |
| 153 |
**************************************************************************** |
| 154 |
|
| 155 |
- Macros |
| 156 |
* QT_NO_DEBUG now properly defined in release mode. |
| 157 |
|
| 158 |
- QTest |
| 159 |
* Fixed testlib export macros for RVCT builds. |
| 160 |
|
| 161 |
- Namespaces |
| 162 |
* Now builds when -qtnamespace option is defined. |
| 163 |
|
| 164 |
**************************************************************************** |
| 165 |
* Changes to existing classes * |
| 166 |
**************************************************************************** |
| 167 |
|
| 168 |
- QApplication |
| 169 |
* 252798: Fixed layout when orientation changed via |
| 170 |
AknAppUi::SetOrientationL. |
| 171 |
* Generating MouseEvents has gone through several changes. |
| 172 |
* qt_init() has been changed: auto flush is always enabled for |
| 173 |
window server sessions on 3.1 SDK for both UDEB and UREL. |
| 174 |
* Added support for '-graphics-system' command line option |
| 175 |
|
| 176 |
- QCoeFepInputContext (non-public) |
| 177 |
* Fixes FEP crash when changing the focused Qt widget to NULL. |
| 178 |
* Fixed a bug where the virtual keyboard could not be opened if there |
| 179 |
was only one input widget. |
| 180 |
* Fixed a crash in FEP when exiting application. |
| 181 |
|
| 182 |
- QDebug |
| 183 |
* Fixed debug printing (incl. qWarning, qFatal) for strings longer |
| 184 |
than 256 characters. |
| 185 |
* introduce a breakpoint to get the emulator to stop in the debugger |
| 186 |
when qFatal is called |
| 187 |
|
| 188 |
- QDesktopServices |
| 189 |
* Fixed forwardslash/backslash usage as an path separator. |
| 190 |
* Switched QDesktopServices mail-to URL handling to RSendAs in Symbian, |
| 191 |
due to the fact that CSendUi requires extensive capabilities to work |
| 192 |
correctly. Currently e-mail sending with qdesktopservices::openUrl |
| 193 |
works in Symbian only if e-mail account already exists. |
| 194 |
|
| 195 |
- QDesktopWidget |
| 196 |
* 253930: Implement proper resize behavior and emit necessary signals. |
| 197 |
|
| 198 |
- QEventDispatcherSymbian (non-public) |
| 199 |
* Lowered the timeout for reprioritizing the process to 100ms. |
| 200 |
* Fixed ASSERT panic in Symbian event dispatcher. |
| 201 |
* 246600: Fix problem in eventdispatcher destructor / AO canceling. |
| 202 |
* Fixed active scheduler removal when calling QThread::terminate. |
| 203 |
* Fix to Open C bug: select sometimes returns -1 and errno is |
| 204 |
ECONNREFUSED. |
| 205 |
* Fix a crash when using QEventLoop::ExcludeSocketNotifiers flag. |
| 206 |
* Changed to round robin scheduling for Qt's active objects. Other |
| 207 |
active objects will still be scheduled like before. |
| 208 |
* Fixed crash if events are posted before QApplication construction |
| 209 |
|
| 210 |
- QFontDataBase |
| 211 |
* Now, also fonts from the user's /resources/fonts directories are |
| 212 |
available. |
| 213 |
|
| 214 |
- QFontEngine |
| 215 |
* Fix the vertical advance of glyph metrics. |
| 216 |
|
| 217 |
- QFontMetrics |
| 218 |
* Fixed the boundingRect calculation for text. |
| 219 |
|
| 220 |
- QGraphicsView |
| 221 |
* Added support for virtual keyboard to the the viewport. |
| 222 |
|
| 223 |
- QGraphicsTextItem |
| 224 |
* Added support for virtual keyboard. |
| 225 |
|
| 226 |
- QHostInfo |
| 227 |
* Added support for host lookups with multiple ipv4 addresses. |
| 228 |
|
| 229 |
- QInputContext |
| 230 |
* Added QInputContext::s60FilterEvent(). |
| 231 |
|
| 232 |
- QIoDevice |
| 233 |
* Fixed compilation error when QIODEVICE_DEBUG is defined. |
| 234 |
|
| 235 |
- QKeyMapper (non-public) |
| 236 |
* Fixed a broken keymapping where Enter key would be mapped to Tab. |
| 237 |
|
| 238 |
- QLocale |
| 239 |
* Removed workaround for missing tzname symbol, fixes QLocal timeZone |
| 240 |
implementation for Symbian. |
| 241 |
|
| 242 |
- QLocalSocket |
| 243 |
* Connecting to QLocalServer is always done in blocking mode. |
| 244 |
|
| 245 |
- QMenuBar |
| 246 |
* Native menus are handled properly even when application has multiple |
| 247 |
QMainWindows. |
| 248 |
* Fixed a bug causing both native and qt menu to be created. |
| 249 |
* Fix for disappearing options menu after coming back from dialog. |
| 250 |
|
| 251 |
- QNativeSocketEnginePrivate (non-public) |
| 252 |
* Socket connect and listen failure is indicated in exception set. |
| 253 |
(Workaround to Open C bug) |
| 254 |
|
| 255 |
- QNetworkInterface |
| 256 |
* Fixed R-handle leak in Symbian version of qnetworkinterface_unix.cpp. |
| 257 |
* Introduced a new qnetworkinterface_symbian.cpp, because there wasn't |
| 258 |
really anything common to UNIX equivalent. |
| 259 |
|
| 260 |
- QPixmap |
| 261 |
* Added fromSymbianCFbsBitmap() and toSymbianCFbsBitmap(). |
| 262 |
|
| 263 |
- QPlainTextEdit |
| 264 |
* Added support for virtual keyboard. |
| 265 |
|
| 266 |
- QPluginLoader |
| 267 |
* QPluginLoader will look for plugin stubs from the same folder on other |
| 268 |
drives if it can't find them from the indicated drive. |
| 269 |
|
| 270 |
- QS60Style |
| 271 |
* Added subElementRect implementation for SE_ItemViewItemCheckIndicator. |
| 272 |
* Added support for E90 layouts. |
| 273 |
* Added support for QScrollArea, QTextEditor, QGroupBox, QTreeView, |
| 274 |
QToolBar and QDial styling. |
| 275 |
* Better support for theme and layout changes. |
| 276 |
* Better support for themed palettes and themed text colors. |
| 277 |
* Better support for multiselection in item views. |
| 278 |
* Better theming for QTable and QPanel. |
| 279 |
* Better support of highlight graphics and texts for QLists, QTreeViews, |
| 280 |
QCalendarWidgets and QComboBoxes. |
| 281 |
* Support polishing fonts. Fonts are no longer changed within the drawing |
| 282 |
code. |
| 283 |
* Draw spinbox arrowbuttons side-by-side, instead one on top of the other. |
| 284 |
* Harmonize widget drawing so that widgets are of similar height. |
| 285 |
* Support check states for QLists and QPushButtons. |
| 286 |
* Support flat QPushButtons. |
| 287 |
* Support busy indicator. |
| 288 |
* Support QScrollBar pressed state. |
| 289 |
* Support QPushButton disabled theme graphics. |
| 290 |
* Separate theme background for QDialogs. |
| 291 |
* Clarify QToolButton pressed state. |
| 292 |
* Removed linedrawing of panels and groupboxes. |
| 293 |
* Fix palette-polution for a style that is activated from an application |
| 294 |
after S60Style has been in use. |
| 295 |
* Fix for frame masks with color depth other than EGrey2. |
| 296 |
* Fix for squeezed QTabBars. |
| 297 |
* Fix memory leak when color skinning graphics. |
| 298 |
* Show focus/Editfocus visualization for KeyPad navigation on |
| 299 |
SDK 3 FP 1 and FP 2. |
| 300 |
* Fix for overwriting user specified palettes. |
| 301 |
|
| 302 |
- QSelectThread (non-public) |
| 303 |
* We force monitoring sockets exception status as well, and not |
| 304 |
just read/write. |
| 305 |
* Notification related to the particular socket signaled via exception |
| 306 |
fd_set will be mapped to the appropriate read/write notification. |
| 307 |
|
| 308 |
- QTemporaryFile |
| 309 |
* Fixed temporary file rename in Symbian OS. |
| 310 |
|
| 311 |
- QTest |
| 312 |
* Disable keypad navigation for autotests by default |
| 313 |
|
| 314 |
- QTextEdit |
| 315 |
* Added support for virtual keyboard. |
| 316 |
|
| 317 |
- QThread |
| 318 |
* Fixed thread termination in Symbian OS. |
| 319 |
|
| 320 |
- QUdpSocket |
| 321 |
* Updated BindFlag documentation to reflect behaviour on Symbian OS. |
| 322 |
* Wrote hack for QUdpSocket::writeDatagram return value in Symbian OS. |
| 323 |
|
| 324 |
- QWidget |
| 325 |
* Added API for setting softkeys. |
| 326 |
* Fixed background painting. Background can now be overwritten from |
| 327 |
setting the respective palette role. |
| 328 |
* Add support for Qt::WA_TranslucentBackground. |
| 329 |
|
| 330 |
- Many classes |
| 331 |
* Improved exception safety. |
| 332 |
|
| 333 |
**************************************************************************** |
| 334 |
* Examples and demos * |
| 335 |
**************************************************************************** |
| 336 |
|
| 337 |
- Anomaly browser |
| 338 |
* Added to demonstrate QtWebkit usage. |
| 339 |
|
| 340 |
- Deform, Pathstroke, and Wiggly |
| 341 |
* Removed Symbian specific animation timer fixes since more generic |
| 342 |
fix was made to event dispatcher. |
| 343 |
|
| 344 |
- DesktopServices |
| 345 |
* Implemented content filters for desktopservices example. |
| 346 |
* Added error handling to qdesktopservices example when openUrl fails. |
| 347 |
|
| 348 |
- Drilldown |
| 349 |
* Added to demonstrate QtSql usage in Symbian OS. |
| 350 |
|
| 351 |
- Fluidlauncher |
| 352 |
* Removed ugly workaround to make emulator deployment work correctly, |
| 353 |
since the issue has been fixed in qmake. |
| 354 |
* Included drilldown to demonstrate QtSql usage. |
| 355 |
* Updated screenshots to S60 style. |
| 356 |
* Added softkeys example. |
| 357 |
* Added Anomaly browser to fluidlauncher. |
| 358 |
|
| 359 |
- Ftp |
| 360 |
* Enabled default IAP setting for FTP example. |
| 361 |
* IAP dialog will show after FTP UI is on screen. |
| 362 |
* If active IAP exist that one will be used. |
| 363 |
|
| 364 |
- SecureSocketClient |
| 365 |
* Fixed build issue caused by lack of cursor. |
| 366 |
|
| 367 |
- Softkeys |
| 368 |
* New example showing how to use softkeys API in QWidget. |
| 369 |
|
| 370 |
**************************************************************************** |
| 371 |
* Tools * |
| 372 |
**************************************************************************** |
| 373 |
|
| 374 |
- configure |
| 375 |
* -cetest is no longer a supported switch for configure. |
| 376 |
* -stl option is enabled by default for Symbian OS |
| 377 |
* -openssl option is enabled by default for Symbian OS. |
| 378 |
* -fpu option enables vfpu type selection for ARM targets. |
| 379 |
|
| 380 |
- qmake |
| 381 |
* Support for generating Symbian "test" targets: CONFIG += symbian_test. |
| 382 |
* Support for Symbian Build System, version 2 (aka Raptor) via |
| 383 |
symbian-sbsv2 mkspec. |
| 384 |
* PAGED keyword is added to all MMP files by default, except in S60 3.1 |
| 385 |
builds. |
| 386 |
* Read-only flag is no longer preserved when deploying files into |
| 387 |
emulator environment. |
| 388 |
* Changed the timestamp to ISO format in all files generated |
| 389 |
by qmake for symbian-* mkspecs. |
| 390 |
* Qt's VERSION variable will now generate VERSION keyword in mmp files. |
| 391 |
* Made Open C include paths handling bit more robust. |
| 392 |
* Support both Symbian Foundation header structure in /epoc32/include, |
| 393 |
as well as old Symbian/S60 structure |
| 394 |
|
| 395 |
- Release package creation |
| 396 |
* Removed the obsolete script to create release package. |
| 397 |
|
| 398 |
- Createpackage script |
| 399 |
* Now creates packages with .sis suffix. |
| 400 |
|
| 401 |
- Patch_capabilities script |
| 402 |
* Will now patch also vendor id in binaries and the UID in the pkg file. |
| 403 |
|
| 404 |
|
| 405 |
**************************************************************************** |
| 406 |
* Documentation * |
| 407 |
**************************************************************************** |
| 408 |
|
| 409 |
- qmake-manual |
| 410 |
* 250370: Added documentation for ICON keyword. |
| 411 |
|
| 412 |
**************************************************************************** |
| 413 |
* Plugins * |
| 414 |
**************************************************************************** |
| 415 |
|
| 416 |
- S60 version specific plugins |
| 417 |
* Isolated S60 version dependent functionality to S60 version specific |
| 418 |
plugins (qts60plugin_x_y.dll) to make it possible for single build to |
| 419 |
run on any supported device, even if with reduced functionality on |
| 420 |
some. |
| 421 |
|
| 422 |
**************************************************************************** |
| 423 |
* Important Behavior Changes * |
| 424 |
**************************************************************************** |
| 425 |
|
| 426 |
- Qt libs |
| 427 |
* Qt libs are now built with "All -Tcb" capabilities always. It is now |
| 428 |
always necessary to run patch_capabilities.pl script if self-signing |
| 429 |
of Qt libs is desired. |
| 430 |
* QtCore and QtSql made UNPAGED when installed via SIS file as a |
| 431 |
workaround for an obscure crash when they are paged. |
| 432 |
* qt_libs.pro updated to reflect Open C dependencies, as Qt requires |
| 433 |
1.5.0 and newer release. |
| 434 |
* Qt libs are now build with the "STDCPP" mmp flag. On platforms from |
| 435 |
TB9.2, Qt code will throw std::bad_alloc exceptions on allocation |
| 436 |
failure. |