dist/changes-4.5.2-tower
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     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.