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 (mostly Qt 4.5.2).+ −
+ −
This list of changes lists S60 specific fixes only,+ −
for general 4.5.x changes go to:+ −
+ −
http://qt.nokia.com/developer/changes/changes-4.5.0+ −
http://qt.nokia.com/developer/changes/changes-4.5.1+ −
http://qt.nokia.com/developer/changes/changes-4.5.2 (partially in Tower)+ −
+ −
Some of the changes listed in this file include issue tracking numbers+ −
corresponding to tasks in the Task Tracker:+ −
+ −
http://qt.nokia.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+ −
-----------+ −
+ −
- Input methods+ −
* Added events to support opening and closing the virtual keyboard, called+ −
software input panel in Qt.+ −
* Added an option to QApplication to choose between single or double click+ −
input panel activation.+ −
* Added input method hints API to Qt. These can be used to instruct input methods+ −
to only allow certain characters or tailor their appearance.+ −
* Added Qt::ImAnchorPosition to support querying for selections through input+ −
methods.+ −
* Added QInputMethodEvent::Selection to support setting the selection through+ −
input methods.+ −
+ −
- Phonon+ −
* The Phonon library is now part of Qt, but it comes without a backend.+ −
This means that applications can build and run against the Phonon+ −
library, but there is currently no S60 backend plugin providing actual+ −
multimedia playback. Possible alternatives such as Helix and MMF are+ −
being investigated.+ −
+ −
- 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.+ −
+ −
New classes+ −
------------+ −
+ −
- QScopedPointer+ −
* Smart pointer, which deletes pointer when destroyed.+ −
+ −
Ported classes+ −
--------------+ −
+ −
- QColormap+ −
* Added basic implementation of QColormap for Symbian.+ −
+ −
- QLocalSocket and QLocalServer+ −
* Added support for QLocalSocket and QLocalServer on Symbian.+ −
+ −
- QSound+ −
* Implemented CMdaAudioPlayerUtility based Symbian backend for QSound.+ −
+ −
Features+ −
--------+ −
+ −
- QApplication+ −
* Implemented QApplication::beep() for Symbian.+ −
+ −
- QPixmap+ −
* Added supported for converting to/from CFbsBitmap+ −
+ −
- QSslSocket+ −
* Added support for -openssl option i.e. runtime resolving of OpenSSL+ −
symbols.+ −
+ −
- QWidget+ −
* Basic widgets are now navigatable and usable via keypad on SDK 3+ −
FP 1 and FP 2.+ −
* Widgets can now be made semi-transparent on systems that support it+ −
using Qt::WA_TranslucentBackground.+ −
+ −
- Exception safety+ −
* Improving the exception safety of Qt, not yet complete.+ −
* Added support for translating between Symbian leaves and standard C+++ −
exceptions.+ −
+ −
Optimizations+ −
-------------+ −
+ −
- qdrawhelper+ −
* Optimized drawing operations for RVCT builds, particulary for ARMV6.+ −
+ −
- QFont+ −
* Use cached DPI for metrics.+ −
+ −
- qwidget_s60.cpp+ −
* Avoid unnecessary calls to FocusChanged in Symbian.+ −
+ −
- qwindowsurface_s60.cpp+ −
* Avoid updating raster buffer pointer on window hide+ −
+ −
Documentation+ −
-------------+ −
+ −
- exceptionsafety.qdoc+ −
* A guide to exception safety in Qt.+ −
+ −
- symbian-exceptionsafety.qdoc+ −
* A guide to integrating exception safety in Qt with 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 *+ −
****************************************************************************+ −
+ −
- Macros+ −
* QT_NO_DEBUG now properly defined in release mode.+ −
+ −
- QTest+ −
* Fixed testlib export macros for RVCT builds.+ −
+ −
- Namespaces+ −
* Now builds when -qtnamespace option is defined.+ −
+ −
****************************************************************************+ −
* Changes to existing classes *+ −
****************************************************************************+ −
+ −
- QApplication+ −
* 252798: Fixed layout when orientation changed via+ −
AknAppUi::SetOrientationL.+ −
* Generating MouseEvents has gone through several changes.+ −
* qt_init() has been changed: auto flush is always enabled for+ −
window server sessions on 3.1 SDK for both UDEB and UREL.+ −
* Added support for '-graphics-system' command line option+ −
+ −
- QCoeFepInputContext (non-public)+ −
* Fixes FEP crash when changing the focused Qt widget to NULL.+ −
* Fixed a bug where the virtual keyboard could not be opened if there+ −
was only one input widget.+ −
* Fixed a crash in FEP when exiting application.+ −
+ −
- QDebug+ −
* Fixed debug printing (incl. qWarning, qFatal) for strings longer+ −
than 256 characters.+ −
* introduce a breakpoint to get the emulator to stop in the debugger + −
when qFatal is called+ −
+ −
- QDesktopServices+ −
* Fixed forwardslash/backslash usage as an path separator.+ −
* 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.+ −
+ −
- QDesktopWidget+ −
* 253930: Implement proper resize behavior and emit necessary signals.+ −
+ −
- QEventDispatcherSymbian (non-public)+ −
* Lowered the timeout for reprioritizing the process to 100ms.+ −
* 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.+ −
* Fix a crash when using QEventLoop::ExcludeSocketNotifiers flag.+ −
* Changed to round robin scheduling for Qt's active objects. Other+ −
active objects will still be scheduled like before.+ −
* Fixed crash if events are posted before QApplication construction+ −
+ −
- QFontDataBase+ −
* Now, also fonts from the user's /resources/fonts directories are+ −
available.+ −
+ −
- QFontEngine+ −
* Fix the vertical advance of glyph metrics.+ −
+ −
- QFontMetrics+ −
* Fixed the boundingRect calculation for text.+ −
+ −
- QGraphicsView+ −
* Added support for virtual keyboard to the the viewport.+ −
+ −
- QGraphicsTextItem+ −
* Added support for virtual keyboard.+ −
+ −
- QHostInfo+ −
* Added support for host lookups with multiple ipv4 addresses.+ −
+ −
- QInputContext+ −
* Added QInputContext::s60FilterEvent().+ −
+ −
- QIoDevice+ −
* Fixed compilation error when QIODEVICE_DEBUG is defined.+ −
+ −
- QKeyMapper (non-public)+ −
* Fixed a broken keymapping where Enter key would be mapped to Tab.+ −
+ −
- QLocale+ −
* Removed workaround for missing tzname symbol, fixes QLocal timeZone+ −
implementation for Symbian.+ −
+ −
- QLocalSocket+ −
* Connecting to QLocalServer is always done in blocking mode.+ −
+ −
- QMenuBar+ −
* Native menus are handled properly even when application has multiple+ −
QMainWindows.+ −
* Fixed a bug causing both native and qt menu to be created.+ −
* Fix for disappearing options menu after coming back from dialog.+ −
+ −
- QNativeSocketEnginePrivate (non-public)+ −
* Socket connect and listen failure is indicated in exception set.+ −
(Workaround to Open C bug)+ −
+ −
- 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.+ −
+ −
- QPixmap+ −
* Added fromSymbianCFbsBitmap() and toSymbianCFbsBitmap().+ −
+ −
- QPlainTextEdit+ −
* Added support for virtual keyboard.+ −
+ −
- QPluginLoader+ −
* QPluginLoader will look for plugin stubs from the same folder on other+ −
drives if it can't find them from the indicated drive.+ −
+ −
- 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.+ −
* Show focus/Editfocus visualization for KeyPad navigation on+ −
SDK 3 FP 1 and FP 2.+ −
* Fix for overwriting user specified palettes.+ −
+ −
- QSelectThread (non-public)+ −
* We force monitoring sockets exception status as well, and not+ −
just read/write.+ −
* Notification related to the particular socket signaled via exception+ −
fd_set will be mapped to the appropriate read/write notification.+ −
+ −
- QTemporaryFile+ −
* Fixed temporary file rename in Symbian OS.+ −
+ −
- QTest+ −
* Disable keypad navigation for autotests by default+ −
+ −
- QTextEdit+ −
* Added support for virtual keyboard.+ −
+ −
- QThread+ −
* Fixed thread termination in Symbian OS.+ −
+ −
- QUdpSocket+ −
* Updated BindFlag documentation to reflect behaviour on Symbian OS.+ −
* Wrote hack for QUdpSocket::writeDatagram return value in Symbian OS.+ −
+ −
- QWidget+ −
* Added API for setting softkeys.+ −
* Fixed background painting. Background can now be overwritten from+ −
setting the respective palette role.+ −
* Add support for Qt::WA_TranslucentBackground.+ −
+ −
- Many classes+ −
* Improved exception safety.+ −
+ −
****************************************************************************+ −
* Examples and demos *+ −
****************************************************************************+ −
+ −
- Anomaly browser + −
* Added to demonstrate QtWebkit usage.+ −
+ −
- Deform, Pathstroke, and Wiggly+ −
* Removed Symbian specific animation timer fixes since more generic+ −
fix was made to event dispatcher.+ −
+ −
- DesktopServices+ −
* Implemented content filters for desktopservices example.+ −
* Added error handling to qdesktopservices example when openUrl fails.+ −
+ −
- Drilldown+ −
* Added to demonstrate QtSql usage in Symbian OS.+ −
+ −
- 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.+ −
* Added softkeys example.+ −
* Added Anomaly browser to fluidlauncher.+ −
+ −
- Ftp+ −
* Enabled default IAP setting for FTP example.+ −
* IAP dialog will show after FTP UI is on screen.+ −
* If active IAP exist that one will be used.+ −
+ −
- SecureSocketClient+ −
* Fixed build issue caused by lack of cursor.+ −
+ −
- Softkeys+ −
* New example showing how to use softkeys API in QWidget.+ −
+ −
****************************************************************************+ −
* Tools *+ −
****************************************************************************+ −
+ −
- 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.+ −
+ −
- 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.+ −
* Support both Symbian Foundation header structure in /epoc32/include,+ −
as well as old Symbian/S60 structure+ −
+ −
- 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 in binaries and the UID in the pkg file. + −
+ −
+ −
****************************************************************************+ −
* Documentation *+ −
****************************************************************************+ −
+ −
- 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 when installed via SIS file as a + −
workaround for an obscure crash when they are paged.+ −
* qt_libs.pro updated to reflect Open C dependencies, as Qt requires+ −
1.5.0 and newer release.+ −
* Qt libs are now build with the "STDCPP" mmp flag. On platforms from + −
TB9.2, Qt code will throw std::bad_alloc exceptions on allocation+ −
failure.+ −