blob: afb94174dea1fbeab3852f4f039f511010816d36 [file] [log] [blame]
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\page whatsnew52.html
\title What's New in Qt 5.2
\brief Lists the new features in Qt 5.2
Qt 5.2 introduces many changes for helping developers continue creating
wonderful applications, easily and with less code. As well in this release,
focus is placed on bug fixing and new features, while maintaining
compatibility with Qt 5.1 and 5.0.
This page is a summary of new features. For specific API changes, the
\l{List of API Changes} section contains links to new and obsolete classes.
\section1 New Modules
\list
\li \l{Qt Android Extras}
\li \l{Qt Bluetooth}
\li \l{Qt Mac Extras}
\li \l{Qt NFC}
\li \l{Qt Positioning}
\li \l{Qt Windows Extras}
\endlist
For more information, visit the \l{All Modules} page.
\section1 Support for New Platforms
\section2 Android
\list
\li Full support for camera and recording
\li Low-latency audio (QAudioInput, QAudioOutput)
\li Command-line deployment tool
\li JNI convenience API
\li OpenSSL support
\endlist
For more information, visit the \l{Qt for Android} page.
\section2 iOS
\list
\li Media player support
\li Basic camera support (only viewfinder and image capture)
\li Low-latency audio (QAudioInput, QAudioOutput)
\endlist
For more information, visit the \l{Qt for iOS} page.
\section1 Qt Creator Updates
Qt Creator 3.0 is released along with Qt 5.2. In Qt Creator 3.0, the
following were added:
\list
\li Initial iOS support
\li API cleanup
\li Enhanced Android support
\li Initial debugging backend for the \l{The LLDB Debugger}{LLDB Debugger} (OS X)
\endlist
\section1 Installation Updates
In 5.2, there are new reference installers for OS X:
\list
\li Android
\li iOS
\endlist
There is also a new target binary for Windows, OS X, and Linux:
\list
\li Qt for Android ARMv5
\endlist
The installers are available from the \l{Downloads} page.
\section1 New Features in Qt 5.2
\section2 Qt Core Module
\list
\li Added class QCommandLineParser for command-line arguments parsing
\li Added new overload to QObject::connect() to add a context object when connecting to a lambda
\li Added new QStringRef methods; left, right, mid
\li Added QLoggingCategory/qCDebug, qCWarning, and other macros to configure what gets logged at runtime
\li Added class QTimeZone to support time zones using Olsen time zone IDs
\li Added support to QDateTime for new Qt::TimeSpec of Qt::TimeZone and Qt::OffsetFromUTC
\li Added new class QCollator to provide advanced platform-based collation
\li Added more I/O redirection possibilities to QProcess
\li Added iteration capability to containers in QVariant
\li Added dereferencing to QObject for smart pointers in QVariant
\li Added QFileSelector to ease the selection of files when running in a different platform
\endlist
\section2 Qt GUI Module
\list
\li Added applicationState() function and applicationStateChanged() signal to QGuiApplication
\li Added QOpenGLTexture class
\endlist
\section2 Qt Widgets Module
\list
\li Added support for embedded clear button commonly used for item view filtering and side actions to QLineEdit
\li Added methods based on QUrl to QFileDialog
\li Added new QKeySequenceEdit class
\li Restored session-management support from Qt4
\li Restored basic startup-notification support on Unix
\li Added placeholderText property to QTextEdit
\li Added getMultiLineText static method to QInputDialog
\li Added tabBarClicked and tabBarDoubleClicked signals to QTabBar
\endlist
\section2 Qt Print Support Module
\list
\li Added advanced CUPS features on Linux including server-side page
range selection, odd and even page selection, pages-per-sheet, job
scheduling, and banner pages.
\endlist
\section2 Qt QML Module
\list
\li Added new property to \l{QtQml::Qt::application}{Qt.application}: state
\li Added ability to define QML singletons with QML files
\li Added QQmlFileSelector for applying file selectors to support certain styles of cross-platform development
\li Added a supported method for launching QML-only applications for the QML binary runtimes
\li New V4 JS engine
\endlist
\section2 Qt Quick Module
\list
\li Added a new \l{Qt Quick Scene Graph}{scenegraph} renderer for improved performance
\li Added texture atlas support in SceneGraph
\li Added new \e animator types, which can run animations on the scene graph's render thread.
\li Support for external drag-and-drop
\endlist
\section2 Qt Quick Controls Module
\list
\li Added support for an editable combo box
\li Added support for multi-selection in \l [QtQuickControls1] TableView
\li Added support for setting columns movable in \l [QtQuickControls1] TableView
\li Added \l [QtQuickControls1] Switch type
\li Added \l [QtQuickControls1] BusyIndicator type
\li Simplified deployment
\endlist
\section2 Qt Quick Dialogs Module
\list
\li Added a new FontDialog type
\endlist
\section2 Qt Quick Layouts Module
\list
\li Added baseline support to layout
\endlist
\section2 Qt Network Module
\list
\li Added public methods to pre-TCP and pre-SSL-connect to QNetworkAccessManager
\li Added API to persist and resume SSL sessions to QSslConfiguration
\li Added support for allowing for debugging SSL traffic with Wireshark or tcpdump
\li Add public member bearerTypeFamily() to QNetworkConfiguration
\endlist
\section2 moc New Features
\list
\li Added \c -M argument to add plugin metadata from the command line
\endlist
\section2 Accessibility New Features
\list
\li Enabled accessibility on Mac
\li Made the APIs public so that it is possible to implement accessibility for custom widgets
\li Basic accessibility support for Android
\endlist
\section2 WebKit New Features
\list
\li Added CSS blending
\li Improved the threaded garbage collection
\li Added support for LLInt on x87 (old x86 without SSE2)
\li Added Improvements to standard support in HTML5 Canvas, CSS Grid, CSS Shapes, CSS filters, and other features
\endlist
\section1 List of API Changes
The pages below contain a list of API changes in Qt 5.2
\list
\li \l{New Classes and Functions in Qt 5.2}
\li \l{Obsolete Classes}
\endlist
\section1 Additions to Other Qt 5 Releases
\list
\li \l{What's New in Qt 5.4}
\li \l{What's New in Qt 5.3}
\li \l{What's New in Qt 5.1}
\li \l{What's New in Qt 5.0}
\endlist
*/
/*!
\page newclasses52.html
\title New Classes and Functions in Qt 5.2
\brief A list of new C++ APIs in Qt 5.2
This page contains a comprehensive list of all new classes and functions
introduced in Qt 5.2. Links to new APIs in previous Qt 5 releases are found
at the bottom of this page.
\sincelist 5.2
\section1 Additions to Other Qt 5 Releases
\list
\li \l{What's New in Qt 5.6}
\li \l{What's New in Qt 5.5}
\li \l{What's New in Qt 5.4}
\li \l{What's New in Qt 5.3}
\li \l{What's New in Qt 5.1}
\li \l{What's New in Qt 5.0}
\endlist
*/