Qt 4.5.2-tower --------------- The Qt for S60 "Tower" release is the fifth pre-release from the Qt for S60 porting project. "Tower" is based on the Qt 4.5 codebase. Up to and including SHA: not yet started :D Lists just S60 fixes, for general 4.5.0 changes go to: http://www.qtsoftware.com/developer/changes/changes-4.5.0 Some of the changes listed in this file include issue tracking numbers corresponding to tasks in the Task Tracker: http://qtsoftware.com/developer/task-tracker Each of these identifiers can be entered in the task tracker to obtain more information about a particular change. Sometimes the task is internal and cannot be viewed by the public, a lot of them are non-public for Qt for S60 at the moment. **************************************************************************** * New features * **************************************************************************** New modules ----------- - QtSql * Implemented QtSql module with sqlite3 backend. For now backend is provided only in binary format. - QtWebkit * Experimental webkit build for s60. Can be enabled by passing -webkit to configure. - Phonon * todo New classes ------------ - todo * todo Ported classes -------------- - QSound * Implemented CMdaAudioPlayerUtility based Symbian backend for QSound. - QLocalSocket and QLocalServer * Added support for QLocalSocket and QLocalServer on Symbian Features -------- - QApplication * Implemented QApplication::beep() for Symbian - QSslSocket * Added support for -openssl option i.e. runtime resolving of OpenSSL symbols - todo * todo Optimizations ------------- - qdrawhelper * Optimized drawing operations for RVCT builds, particulary for ARMV6. - qwidget_s60.cpp * Avoid unnecessary calls to FocusChanged in Symbian **************************************************************************** * Code clean-up * **************************************************************************** - Cleanup qeventdispatcher_unix.cpp * 247268: All qeventdispatcher_unix.cpp changes were reverted since, this file is not anymore used in Symbian OS branch. - Cleanup QtNetwork workarounds implemented earlier due to Open C bugs. * 247287: Removed getaddrinfo workaround * 247288: Removed waitForConnected workaround * 247289: Removed qt_socket_accept workaround * 247290: Removed qt_socket_connect workaround * 247290: Removed E32IONREAD workaround * 247293: Removed nativeHasPendingDatagrams workaround * 247295: Removed QNativeSocketEnginePrivate::nativeRead EPIPE workaround - Other code clean-ups * 247278: Removed unnecessary includes from qbackingstore.cpp. * Fixed Q_OS_SYMBIAN ifdef usage in qfiledialog_p.h * 247272: Removed qtestnetworkservers.h dependency, used network-settings.h * Revert "Work around compiler bug on Nokia Metrowerks compiler." * Remove UI highlights being inverted colors based on highlight text colors. **************************************************************************** * Build issues * **************************************************************************** - QTest * Fixed testlib export macros for RVCT builds. - namespaces * Now builds when -qtnamespace option is defined **************************************************************************** * Changes to existing classes * **************************************************************************** - QDesktopServices * Fixed forwardslash/backslash usage as an path separator - QPluginLoader * QPluginLoader will look for plugin stubs from the same folder on other drives if it can't find them from the indicated drive. - QEventDispatcher * Lowered the timeout for reprioritizing the process to 100ms - QNetworkInterface * Fixed R-handle leak in Symbian version of qnetworkinterface_unix.cpp * Introduced a new qnetworkinterface_symbian.cpp, because there wasn't really anything common to UNIX equivalent - QHostInfo * Added support for host lookups with multiple ipv4 addresses. - QUdpSocket * Updated BindFlag documentation to reflect behaviour on Symbian OS - QLocale * Removed workaround for missing tzname symbol, fixes QLocal timeZone implementation for Symbian. - QTemporaryFile * Fixed temporary file rename in Symbian OS. - QThread * Fix for thread termination in Symbian OS. - QIoDevice * Fixed compilation error when QIODEVICE_DEBUG is defined. - QS60Style * Added subElementRect implementation for SE_ItemViewItemCheckIndicator. * Added support for E90 layouts. * Added support for QScrollArea, QTextEditor, QGroupBox, QTreeView, QToolBar and QDial styling. * Better support for theme and layout changes. * Better support for themed palettes and themed text colors. * Better support for multiselection in item views. * Better theming for QTable and QPanel. * Better support of highlight graphics and texts for QLists, QTreeViews, QCalendarWidgets and QComboBoxes. * Support polishing fonts. Fonts are no longer changed within the drawing code. * Draw spinbox arrowbuttons side-by-side, instead one on top of the other. * Harmonize widget drawing so that widgets are of similar height. * Support check states for QLists and QPushButtons. * Support flat QPushButtons. * Support busy indicator. * Support QScrollBar pressed state. * Support QPushButton disabled theme graphics. * Separate theme background for QDialogs. * Clarify QToolButton pressed state. * Removed linedrawing of panels and groupboxes. * Fix palette-polution for a style that is activated from an application after S60Style has been in use. * Fix for frame masks with color depth other than EGrey2. * Fix for squeezed QTabBars. * Fix memory leak when color skinning graphics. - QDesktopServices * Switched QDesktopServices mail-to URL handling to RSendAs in Symbian, due to the fact that CSendUi requires extensive capabilities to work correctly. Currently e-mail sending with qdesktopservices::openUrl works in Symbian only if e-mail account already exists. - QCoeFepInputContext (non-public) * Fixes FEP crash when changing the focused Qt widget to NULL. - QApplication * 252798: Fixed layout when orientation changed via AknAppUi::SetOrientationL. * Generating MouseEvents has gone through several changes - QUdpSocket * Wrote hack for QUdpSocket::writeDatagram return value in Symbian OS. - QNativeSocketEnginePrivate (non-public) * Changed select to listen also expectfds in Symbain OS for given sockets (Workaround to Open C bug). * Fix to Open C bug: Socket connect failure is indicated exception set. - QEventDispatcherSymbian (non-public) * Fixed ASSERT panic in Symbian event dispatcher * 246600: Fix problem in eventdispatcher destructor / AO canceling * Fixed active scheduler removal when calling QThread::terminate * Fix to Open C bug: select sometimes returns -1 and errno is ECONNREFUSED **************************************************************************** * Examples and demos * **************************************************************************** - Drilldown * Added to demonstrate QtSql usage in Symbian OS - Deform, Pathstroke, and Wiggly * Removed Symbian specific animation timer fixes since more generic fix was made to event dispatcher. - Ftp * Enabled default iap setting for FTP example - DesktopServices * Implemented content filters for desktopservices example. * Added error handling to qdesktopservices example when openUrl fails. - SecureSocketClient * Fixed build issue caused by lack of cursor. - Fluidlauncher * Removed ugly workaround to make emulator deployment work correctly, since the issue has been fixed in qmake. * Included drilldown to demonstrate QtSql usage * Updated screenshots to S60 style **************************************************************************** * Tools * **************************************************************************** - qmake * Support for generating Symbian "test" targets: CONFIG += symbian_test. * Support for Symbian Build System, version 2 (aka Raptor) via symbian-sbsv2 mkspec. * PAGED keyword is added to all MMP files by default, except in S60 3.1 builds. * Read-only flag is no longer preserved when deploying files into emulator environment. * Changed the timestamp to ISO format in all files generated by qmake for symbian-* mkspecs. * Qt's VERSION variable will now generate VERSION keyword in mmp files. * Made Open C include paths handling bit more robust. - configure * -cetest is no longer a supported switch for configure. * -stl option is enabled by default for Symbian OS * -openssl option is enabled by default for Symbian OS. * -fpu option enables vfpu type selection for ARM targets. - Release package creation * Removed the obsolete script to create release package. - Createpackage script * Now creates packages with .sis suffix. - Patch_capabilities script * Will now patch also vendor id. **************************************************************************** * Documnetation * **************************************************************************** - qmake-manual * 250370: Added documentation for ICON keyword **************************************************************************** * Plugins * **************************************************************************** - S60 version specific plugins * Isolated S60 version dependent functionality to S60 version specific plugins (qts60plugin_x_y.dll) to make it possible for single build to run on any supported device, even if with reduced functionality on some. **************************************************************************** * Important Behavior Changes * **************************************************************************** - Qt libs * Qt libs are now built with "All -Tcb" capabilities always. It is now always necessary to run patch_capabilities.pl script if self-signing of Qt libs is desired. * QtCore and QtSql made UNPAGED as workaround for an obscure crash when they are paged. - todo * todo