dist/changes-4.5.0-garden
changeset 0 1918ee327afb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dist/changes-4.5.0-garden	Mon Jan 11 14:00:40 2010 +0000
@@ -0,0 +1,241 @@
+Qt 4.5.0-garden
+---------------
+
+The Qt for S60 "Garden" release is the fourth pre-release from the
+Qt for S60 porting project. "Garden" is based on the Qt 4.5 codebase
+and release focus has been on proper GUI integration.
+
+Up to and including change: b7621555cb1d1c97967dd40d63dd7e85a418407c
+
+Lists just S60 fixes, for general 4.5.0 changes go to:
+
+  http://qt.nokia.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://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
+-----------
+
+- qtmain
+  * Added a small static library called qtmain which is linked in
+    automatically for Qt applications on S60. qtmain includes an
+    implementation of E32Main() that sets up Qt correctly for S60. This
+    means that Qt no longer links to libcrt0.lib but uses qtmain instead.
+    However, if you are not linking against QtGui, you'll still have to
+    link to libcrt0.
+
+New classes
+------------
+
+- QS60Style
+    * Native look for Qt applications on S60 3.1 and later versions. The
+      style picks up the current theme parts, palettes and font settings
+      through the skinserver and uses these when painting in Qt.
+      The layout data for different resolutions is considered.
+
+Ported classes
+--------------
+
+- QDesktopServices
+    * Provides methods for accessing common desktop services: Opening the
+      browser with an url, launching documents with the standard application
+      and getting default system directories.
+
+- QClipboard
+    * Provides access to the window system clipboard.
+
+- QSysInfo
+    * QSysInfo class provides information about the system.
+
+Features
+--------
+
+- Input methods
+    * QInputMethodEvent will now be generated by Qt.
+      To use it, widgets must set the attribute WA_InputMethodEnabled and
+      implement QWidget::inputMethodQuery(...).
+    * Qt will use the underlaying FEP framework from S60.
+    * Multitap and T9 supported.
+    * Virtual keyboard for touch phones is supported.
+    * Most of the Qt widgets already have support for input methods.
+
+- Drag-n-Drop
+  * At the moment works only within same Qt process.
+
+- STL support for QtS60
+  * use -stl switch when configuring Qt.
+
+Optimizations
+-------------
+
+
+****************************************************************************
+*                          Build issues                                    *
+****************************************************************************
+
+- Fixed compilation on private S60 platforms by adding neccessary include paths.
+- Fix compiler error if --gnu flag is given to RVCT.
+
+
+****************************************************************************
+*                          Changes to existing classes                     *
+****************************************************************************
+
+- qapplication_s60.cpp (non-public)
+    * Simplified by introduction of qtmain.
+    * added CCoeControl to be the native representation of QWidget.
+    * Use window group from CEikonEnv instead of creating our own.
+    * No need to create/destroy RWsSession, this is now done by the Avkon
+      application.
+    * Handle pointer events from QSymbianControl.
+    * Stopped using QETWidget for translation, now handled by
+      QSymbianControl.
+    * MouseButtonDblClick mapped to EModifierDoubleClick (after dblclick
+      Symbian will send mouseButtonRelease.
+
+- QApplication
+    * Implemented setDoubleClickInterval(...).
+    * Improved widgetAt().
+    * Added support for resizing widget's when the screen orientation
+      changes from portrait to landscape. For fullscreen and maximized
+      widgets this will ensure that they look correct in the new screen
+      layout.
+
+- qwindowsurface_s60.cpp (non-public)
+    * Stopped creating our own CWindowGc based on the RWindow and get
+      SystemGc from the CCoeControl we are currently painting on instead.
+
+- qeventdispatcher_s60.cpp
+    * Stopped using Active Objects to recieve events, we get them from
+      C*AppUi and CCoeControl instead.
+
+- QWidget
+    * Proper implementation for QDesktopWidget::availableGeometry.
+    * Improved raising and lowering widgets.
+    * Implemented setWindowTitle(...).
+    * Implemented QWidget::setWindowIcon(...) and made it to react to
+      different statuspane layouts.
+    * Improved focus handling (improved setFocus_sys).
+    * Fixed native window scrolling. Only use accelerated scroll if we are
+      scrolling a window owning widget.
+    * Improved setWindowState(...).
+    * Added implementation for createDefaultWindowSurface_sys().
+    * Added implementation for setMask_sys().
+    * Not creating a backing store for the top level widget (saves memory).
+    * winId() now returns a CCoeControl instead of RWindow.
+
+- QMenuBar
+    * Added support for using native S60 menues.
+    * Supported infinite level of menues inside menues.
+    * Supported checkboxes next to menu items).
+
+- QtCore and QtGui
+    * link to CONE and Uikon libraries and stop linking to glib and gthread.
+    * Renamed qt_deployment.pro to qt_libs.pro as it is more consistent.
+
+- Event loop / Event dispatcher
+    * We now integrate with the native loop, allowing CActiveScheduler and
+      QEventLoop to be used interchangably.
+    * Enabled posted events to work from the Symbian active scheduler too.
+    * Enable use of QEventLoop::ExcludeSocketEvents on Symbian.
+    * Improved handling of zero timers.
+
+- QColumnView
+    * Fixed a typo in one instance of QT_NO_QCOLUMNVIEW.
+
+- font rendering
+    * Speed increase
+    * Correctly render RTL text
+    * Proper shaping of complex writing systems
+    * Automatic font linking (aka merging) of different writing systems
+    * Rudimentary fallback glyph outline support
+    * Defaults to Symbians native (usually iType based) font rendering.
+      Alternatively, supports FreeType. Configure with -qt-freetype.
+
+- qcore_symbian_p.h (non-public)
+    * Added helper functions to convert QRect <-> TRect.
+    * Renamed qstringToTPtrC to qt_QString2TPtrC.
+    * Added helper function qt_TDisplayMode2Format.
+    * Added helper function to convert QSize <-> TSize.
+    * Added helper function to convert QString ->HBufC.
+    * Added helper function to convert TDesC -> QString.
+
+- QGraphicsSystem
+    * QRasterPixmapData(...) is specified as default pixmap data for S60.
+
+- QPixmap
+    * Improved grabWindow(...) when it comes to selecting client rect.
+
+- QDirModel
+    * Returns root dir name similary as done in Windows
+
+- QFSFileEngine
+    * copy(...) now uses Symbian native copy implementation which is more efficient
+      and doesn't leave temp files behind
+
+- QLocale
+    * Now has Symbian system locale support.
+
+****************************************************************************
+*                          Examples and demos                              *
+****************************************************************************
+
+****************************************************************************
+*                          Tools                                           *
+****************************************************************************
+
+- qmake
+    * Support for QMAKE_EXTRA_TARGETS and QMAKE_EXTRA_COMPILERS variables.
+    * Support BLD_INF_RULES variable. Adds entries to generated bld.inf file
+    * Added 'make' targets '<build>-<platform>' 'distclean' and 'run'
+    * New platform_paths.prf and data_caging_paths.prf contain several
+      variables and replacement functions for including known paths.
+    * The .pro file qt_libs.pro was moved to src/s60installs.
+    * Support for ICON variable for setting application icon.
+    * Support for RSS_RULES variable, which enables entries to be added to
+      generated application registration files.
+    * When bulding qmake and other bootstrapped tools we now use
+      "-warnings on" instead of "-warnings all".
+    * Improved error message if calls to $$system() fails.
+    * Fixed several issues when qmake is built for platform win32-mwc.
+    * Moved mocing step to the build step so it is not longer required to
+      do "abld build" or "abld makefile" to remoc.
+    * Improved "make clean".
+    * Increased max heap to 8Mb.
+    * Enabled __CC_ARM flag used by some versions of RVCT.
+    * Removed hard coded INCLUDEPATH from qmake - developer can control
+      the whole include path hierachy.
+    * Symbian export mechanism is no longer used for emulator deployment,
+      instead copy commands are generated to wrapper makefile and
+      executed during final phase of building, after post link.
+    * Removed -O1 flag from WINSCW builds.
+    * Added qmake function (size) to ask number of items in QStringList.
+    * Qt demos are now installed to QtDemos folder in S60 emulator.
+    * Qt examples are now installed to QtExamples folder in S60 emulator/HW.
+    * Plugin stubs suffix changed to ".qtplugin".
+    * Paths containing $${EPOCROOT}/epoc32 will now properly generate
+      absolute paths in mmps.
+
+
+-configure
+    * Defaults for FREETYPE and SCRIPTTOOLS set to "no".
+
+****************************************************************************
+*                          Plugins                                         *
+****************************************************************************
+
+****************************************************************************
+*                   Important Behavior Changes                             *
+****************************************************************************