| Qt 5.2 introduces many new features and improvements as well as bugfixes |
| over the 5.1.x series. For more details, refer to the online documentation |
| included in this distribution. The documentation is also available online: |
| |
| http://qt-project.org/doc/qt-5.2 |
| |
| The Qt version 5.2 series is binary compatible with the 5.1.x series. |
| Applications compiled for 5.1 will continue to run with 5.2. |
| |
| Some of the changes listed in this file include issue tracking numbers |
| corresponding to tasks in the Qt Bug Tracker: |
| |
| http://bugreports.qt-project.org/ |
| |
| Each of these identifiers can be entered in the bug tracker to obtain more |
| information about a particular change. |
| |
| **************************************************************************** |
| * General * |
| **************************************************************************** |
| |
| General Improvements |
| -------------------- |
| |
| Third party components |
| ---------------------- |
| |
| **************************************************************************** |
| * Important Behavior Changes * |
| **************************************************************************** |
| |
| - QSGMaterialShader::compile() will not be called on all instances anymore. |
| To enforce the old behavior, set the QSGMaterial::CustomCompilation flag. |
| |
| - QSGMaterialShader::activate() and QSGMaterialShader::deactivate() are |
| no longer responsible for calling glEnableVertexAttribPointer(), |
| glDisableVertexAttribPointer() and binding the shader program. This is |
| now done by the renderer. Reimplementations of these functions which |
| are not calling the baseclass will need to take this into account. |
| |
| - The scene graph now requires a call to QSGNode::markDirty() with the |
| flag QSGNode::DirtySubtreeBlocked whenever the state of |
| QSGNode::isSubtreeBlocked() is changed. |
| |
| - When assigning double precision floating point values to integer properties, |
| the engine now truncates instead of rounding. This is consistent with the |
| ECMAScript specification's way of converting doubles to ints. |
| |
| - Comparing value based types with the JS strictly equal operator will |
| now behave similar to the corresponding C++ == operator. Ie. two |
| QPoints exposed on the JS side will be strictly equal if their values |
| are equal. This brings the behavior of value based types in JS closer |
| to what one would expect and more inline with primitive values in |
| Javascript. |
| |
| - QTBUG-32838: Setting the model property of ListView, GridView or PathView to |
| an empty model will now correctly reset currentIndex to -1. In prior versions |
| currentIndex was set to 0 regardless of the actual number of rows in the model |
| when the model property was changed after the view's initialization. |
| |
| - QtQuick.Window will now correctly use Window.AutomaticVisibility by |
| default, analogous to QWindow::show(), resulting in eg. maximized |
| windows by default on iOS/Android. |
| |
| - QtQuick.Window will now warn when setting conflicting visible and visibility |
| properties, as this use-case is broken with the current QWindow implementation |
| of the two properties. |
| |
| **************************************************************************** |
| * Library * |
| **************************************************************************** |
| |
| QtQml |
| ------ |
| New types and properties in this version can be accessed using |
| "import QtQml 2.2". |
| |
| - New class QQmlFileSelectors allows applying a QFileSelector to QML assets |
| and types. One is automatically set on QQmlApplicationEngines from now on, |
| plain QQmlEngines must set their own in order to be affected. |
| |
| - QML Singletons can now be defined in QML using the "pragma Singleton" |
| directive, combined with a singleton entry in a qmldir file. |
| |
| - The Locale type (from Qt.local()) is now available from the QtQml import as |
| well as from the QtQuick import. |
| |
| - New qmlProtectModule function for preventing type injection into built-in |
| QML modules. |
| |
| - Qt.application gained several new members |
| * enumeration "state" replaces boolean "active", so as to indicate more |
| states than just active/inactive |
| * strings "organization" and "domain" added, exposing those properties |
| from QCoreApplication. |
| |
| QtQuick |
| ------ |
| New types and properties in this version can be accessed using |
| "import QtQuick 2.2". |
| |
| - New scene graph renderer should reduce state changes, number of draw calls, |
| CPU->GPU bandwidth and generally improve performance. |
| |
| - QTBUG-33993: There is now one render thread per window in QtQuick. |
| |
| - Textures in the scene graph can now be entered into an atlas, facilitating |
| in better batching in the renderer. Atlas textures are enabled by passing |
| QQuickWindow::TextureCanUseAtlas to QQuickWindow::createTextureFromImage() |
| |
| - New "Animator" types available for running QtQuick animations on the render |
| thread. This allows certain animations to continue when the GUI thread is |
| blocked. |
| |
| - Text gained a hoveredLink signal. |
| |
| - TextEdit gained an append method for easier programmatic text controls. |
| |
| - TextInput gained an editingFinished signal. |
| |
| - Drag and DropArea elements now handle drag'n'drop from other applications. |
| |
| - Screen type gained a pixelDensity property, deprecating logicalPixelDensity, |
| as logicalPixelDensity is less portable across some mobile platforms. |
| |
| - QTBUG-34368: Click signals are no longer propagated to disabled MouseAreas |
| |
| - QTBUG-33644: Windows created dynamically now respond appropriately when |
| modality is set. |
| |
| - QTBUG-33699: PathView now follows the same pattern as Flickable for |
| grabbing the mouse. |
| |
| - QTBUG-32078: qmlClearTypeRegistrations now works when using QtQuick. |
| |
| - QTBUG-33112: Setting an items state too early no longer crashes. |
| |
| - QTBUG-32920: Dragging a MouseArea nested in a Flickable now works with touch |
| to mouse translation. |
| |
| - QTBUG-32513: Crash fix when changing image source repeatedly. |
| |
| - QTBUG-32750: Fix over-clipping text on smaller fonts. |
| |
| **************************************************************************** |
| * Database Drivers * |
| **************************************************************************** |
| |
| |
| **************************************************************************** |
| * Platform Specific Changes * |
| **************************************************************************** |
| |
| |
| **************************************************************************** |
| * Compiler Specific Changes * |
| **************************************************************************** |
| |
| |
| **************************************************************************** |
| * Tools * |
| **************************************************************************** |
| |
| - qmltestrunner: qtest context property is deprecated. Use QTestRootObject |
| from Qt.test.qtestroot instead. |
| |
| **************************************************************************** |
| * Plugins * |
| **************************************************************************** |
| |
| - A new experimental QML Settings type provides means for applications to |
| manage persistent settings in a platform-independent manner. The type is |
| made available by importing the Qt.labs.settings 1.0 module. Note: types in |
| the Qt.labs module are not guaranteed to remain compatible in future |
| versions. |
| |
| - Qt.labs.folderlistmodel FolderListModel type gained showFiles and |
| showHidden properties in Qt.labs.folderlistmodel 2.1. |
| |
| - QML-backed plugins, like QtQuick.Dialogs, now only deploy QML files in debug |
| mode. In release mode QML files are built into the plugin and referenced via |
| qrc URLs. |
| |
| - New FontDialog and MessageDialog types available in QtQuick.Dialogs 1.1 |
| |
| - ColorDialog added currentColor property in QtQuick.Dialogs 1.1 |