437 lines
16 KiB
Plaintext
437 lines
16 KiB
Plaintext
|
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.
|