mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2024-11-30 07:46:51 +08:00
778 lines
33 KiB
Plaintext
778 lines
33 KiB
Plaintext
|
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.
|
||
|
|
||
|
****************************************************************************
|
||
|
* Important Behavior Changes *
|
||
|
****************************************************************************
|
||
|
|
||
|
- Qt is now compiled with qreal typedef'ed to double on all
|
||
|
platforms. qreal was a float on ARM chipsets before. This guarantees more
|
||
|
consistent behavior between all platforms Qt supports, but is binary
|
||
|
incompatible to Qt 5.1 on ARM. The old behavior can be restored by
|
||
|
passing -qreal float to configure.
|
||
|
- The supported date range in QDateTime has been reduced to about +/- 292
|
||
|
million years, the range supported by the number of msecs since the Unix
|
||
|
epoch of 1 Jan 1970 as stored in a qint64, and as able to be used in the
|
||
|
setMSecsSinceEpoch() and toMSecsSinceEpoch() methods.
|
||
|
|
||
|
- QUrl and QUrlQuery:
|
||
|
* [QTBUG-31660] QUrl no longer considers all delimiter characters
|
||
|
equivalent to their percent-encoded forms. Now, both classes always
|
||
|
keep all delimiters exactly as they were in the original URL text.
|
||
|
* [QTBUG-31660] QUrl no longer decodes %7B and %7D to "{" and "}" in the
|
||
|
output of toString()
|
||
|
* QUrl no longer supports QUrl::FullyDecoded mode in authority() and
|
||
|
userInfo(), nor QUrl::DecodedMode in setAuthority() and setUserInfo().
|
||
|
* [QTBUG-31945] QUrl no longer decodes %23 found in the fragment to "#"
|
||
|
in the output of toString(QUrl::FullyEncoded) or toEncoded()
|
||
|
* QUrl now defaults to decoded mode in the getters and setters for
|
||
|
userName, password, host, topLevelDomain, path and fileName. This
|
||
|
means a '%' in one of those fields is now returned (or set) as '%'
|
||
|
rather than "%25". In the unlikely case where the former behavior was
|
||
|
expected, pass PrettyDecoded to the getter and TolerantMode to the
|
||
|
setter.
|
||
|
* QUrl now normalizes the path given in setPath, removing ./ and ../ and
|
||
|
duplicate slashes.
|
||
|
|
||
|
- QWheelEvent has gained a "phase" attribute and may now be sent with
|
||
|
zero delta() in order to indicate beginning and end of transient
|
||
|
scrolling.
|
||
|
|
||
|
- Mac OS X framework builds of Qt no longer contain a Unix-like include/
|
||
|
directory; all headers are located in the frameworks. This may affect
|
||
|
3rd party build systems not based on qmake or cmake.
|
||
|
|
||
|
****************************************************************************
|
||
|
* Platform deprecation notice *
|
||
|
****************************************************************************
|
||
|
|
||
|
- The support for the old implementation of QAtomicInt and
|
||
|
QAtomicPointer is deprecated in Qt 5.2 and will be removed in Qt
|
||
|
5.3. Building with the following compilers or environments will not
|
||
|
be possible in Qt 5.3 or the build will suffer greatly in
|
||
|
performance, unless support is revived by writing new atomics code.
|
||
|
* Green Hills compiler for INTEGRITY
|
||
|
* Sun Studio compiler suite for Solaris
|
||
|
* IBM Visual Age compiler suite for AIX
|
||
|
* Kernel-mode VxWorks
|
||
|
|
||
|
Developers interested in picking up support should contact the
|
||
|
development mailing list at development@qt-project.org for more
|
||
|
information. Note that those platforms are currently not tested. Most
|
||
|
likely, they have further problems than just the atomics code.
|
||
|
|
||
|
****************************************************************************
|
||
|
* Library *
|
||
|
****************************************************************************
|
||
|
|
||
|
QtCore
|
||
|
------
|
||
|
|
||
|
- Added QCollator, a class to collate Unicode strings.
|
||
|
- Added QCommandLineParser, a class to parse command lines.
|
||
|
- Added QFileSelector, a class to select platform-specific file assets.
|
||
|
- Added QLoggingCategory and related functions for logging
|
||
|
- [QTBUG-23946] Fixed a bug that prevented Qt from being built in a
|
||
|
namespace on Mac OS X.
|
||
|
- Updated the locale database to CLDR 23.1
|
||
|
- Added support for ARMv8 64-bit mode.
|
||
|
|
||
|
- Metatype system (QMetaType & QVariant):
|
||
|
* Qt now handles metatypes automatically for std::vector, std::list,
|
||
|
std::pair and std::map
|
||
|
* The metatype system now supports registering explicit conversion
|
||
|
functions via QMetaType::registerConverter
|
||
|
* The metatype system now supports iteration over a container type via
|
||
|
QSequentialIterable and QAssociativeIterable
|
||
|
* Registering the same type name twice will now print only a warning (as
|
||
|
opposed to aborting the execution of the program)
|
||
|
|
||
|
- Qt Containers:
|
||
|
* In debug mode, the Qt containers will now verify whether the iterators
|
||
|
passed to most mutating functions belong to the iterator in question.
|
||
|
* Fixed a number of bugs that would modify shared containers when calling
|
||
|
erase(), under corner-case conditions.
|
||
|
|
||
|
- QtAlgorithms
|
||
|
With STL no longer being optional for building and using Qt, a number of parts
|
||
|
of QtAlgorithms no longer make sense, and have therefore been deprecated.
|
||
|
|
||
|
Replacements are available in the STL, and generally have much better
|
||
|
performance, but are not instantly source-compatible in all cases. For
|
||
|
instance, specialization of qLess or qSwap means that a direct port to
|
||
|
std::sort from qSort may not be possible, as std::sort does not use any of
|
||
|
them; a possible workaround is explicitly passing a qLess functor to
|
||
|
std::sort:
|
||
|
|
||
|
std::sort(container.begin(), container.end(), qLess<T>());
|
||
|
|
||
|
The functions in QtAlgorithms that have been deprecated, along with their
|
||
|
STL counterparts, are:
|
||
|
- qBinaryFind (std::binary_search / std::lower_bound)
|
||
|
- qCopy (std::copy)
|
||
|
- qCopyBackward (std::copy_backward)
|
||
|
- qEqual (std::equal)
|
||
|
- qFill (std::fill)
|
||
|
- qFind (std::find)
|
||
|
- qCount (std::count)
|
||
|
- qSort (std::sort)
|
||
|
- qStableSort (std::stable_sort)
|
||
|
- qLowerBound (std::lower_bound)
|
||
|
- qUpperBound (std::upper_bound)
|
||
|
- qLess (std::less)
|
||
|
- qGreater (std::greater)
|
||
|
|
||
|
- QByteArray:
|
||
|
* Added QByteArray::Base64Url and QByteArray::OmitTrailingEquals flags
|
||
|
for QByteArray::toBase64 and fromBase64.
|
||
|
* [QTBUG-34694] Fixed a bug that would cause QByteArray to overflow some
|
||
|
size calculations.
|
||
|
|
||
|
- QCoreApplication:
|
||
|
* [QTBUG-15379][QTBUG-30628] Fixed a bug that caused Qt to mis-parse a
|
||
|
command-line argument like -DKEY=\"VALUE\" on Windows.
|
||
|
|
||
|
- QDateTime:
|
||
|
* [QTBUG-26161][QTBUG-29666] Fully implement support for Qt::TimeSpec of
|
||
|
Qt::OffsetFromUTC, added new methods for offsetFromUTC(),
|
||
|
toTimeSpec(), and toOffsetFromUTC().
|
||
|
* Added convenience methods for fromMSecsSinceEpoch() and fromTime_t()
|
||
|
to take time spec to be used in returned datetime.
|
||
|
* Add method timeZoneAbbreviation() to return effective time zone
|
||
|
abbreviation.
|
||
|
* The debug datastream is now an ISO-like format instead of Qt::TextDate
|
||
|
* The Standard Time to Daylight Time transition for Qt::LocalTime is now
|
||
|
handled correctly. Any date set in the "missing" hour is now
|
||
|
considered invalid. All date math results that fall into the missing
|
||
|
hour will be automatically adjusted to a valid time in the following
|
||
|
hour.
|
||
|
* Added new method isDaylightTime() to return if the datetime is in
|
||
|
Daylight Time or not.
|
||
|
* Added support for a new Qt::TimeZone spec to be used with QTimeZone to
|
||
|
define times in a specific time zone.
|
||
|
* Added Qt::RFC2822Date format that can be passed to QDateTime and
|
||
|
QLocale formatters and parsers.
|
||
|
* Fixed a bug that caused QDate::toString() to return empty for dates
|
||
|
with years beyond 9999.
|
||
|
|
||
|
- QFileSystemWatcher:
|
||
|
* [QTBUG-33211] Fixed a bug that caused QFileSystemWatcher to emit change
|
||
|
notifications with the wrong path on Linux.
|
||
|
|
||
|
- QJson:
|
||
|
* [QTBUG-33229] The Writer and the Parser now fully accept non-character
|
||
|
unicode points.
|
||
|
* The Writer will no longer write inf, -inf and nan for infinites and NaN
|
||
|
values, which resulted in parsing back as strings. Instead, it will now
|
||
|
output null.
|
||
|
* The Writer now emits numeric values with full numeric precision. This
|
||
|
also allows QJson to support integer values with no loss of precision
|
||
|
up to 2^53.
|
||
|
|
||
|
- QJsonValue:
|
||
|
* Added QJsonValue::toInt(). QJsonValue can store 32-bit signed integers
|
||
|
with no loss of precision.
|
||
|
|
||
|
- QObject:
|
||
|
* New-style signal connections to functors, lambdas, and static functions
|
||
|
now works with a receiver object. The connection will be removed when
|
||
|
the either the sender or receiver objects are destroyed.
|
||
|
|
||
|
- QPluginLoader:
|
||
|
* QPluginLoader will no longer load the plugins on Mac OS X and iOS
|
||
|
systems when scanning for valid plugins.
|
||
|
* Added QPluginLoader::staticPlugins(), which returns the list of
|
||
|
built-in plugins (linked to the executable and any loaded libraries).
|
||
|
|
||
|
- QProcess:
|
||
|
* [QTBUG-32958] Fixed a bug that would cause QProcess to crash if
|
||
|
waitForStarted() were called after an unsuccessful start()
|
||
|
* Added QProcess::nullDevice(), which returns the platform's "blackhole"
|
||
|
device (/dev/null on Unix, NUL on Windows). This can be used with
|
||
|
QProcess::setStandardOutputFile.
|
||
|
* Added enum values QProcess::ForwardedOutputChannel and
|
||
|
QProcess::ForwardedErrorChannel, which allow for more fine-grained
|
||
|
control over which channel is forwarded and which one is captured.
|
||
|
* Added QProcess::ForwardedInputChannel, which allows for stdin to be
|
||
|
forwarded to this process's input.
|
||
|
* [QTBUG-32979] On Unix, QProcess now correctly forwards the siginfo_t
|
||
|
and context parameters of the signal handler to the previous handler.
|
||
|
|
||
|
- QScopedPointer:
|
||
|
* Added QScopedPointerDeleteLater, a new class that can be used as the
|
||
|
second template to QScopedPointer and will call deleteLater() on the
|
||
|
pointer when it goes out of scope.
|
||
|
|
||
|
- QSocketNotifier:
|
||
|
* Fixed a bug that caused socket notifiers not to be re-enabled after
|
||
|
they had been activated on BlackBerry.
|
||
|
|
||
|
- QStandardPaths:
|
||
|
* QStandardPaths::enableTestMode is deprecated and is replaced by
|
||
|
QStandardPaths::setTestModeEnabled.
|
||
|
* Added QStandardPaths::GenericConfigLocation, which refers to a location
|
||
|
where applications can store config files to be shared with other
|
||
|
applications.
|
||
|
|
||
|
- QThread:
|
||
|
* Added an advisory interrupt mechanism (QThread::requestInterruption and
|
||
|
QThread::isInterruptionRequested).
|
||
|
|
||
|
- QThreadPool:
|
||
|
* Added method clear() to remove any queued QRunnables.
|
||
|
* Fixed a number of race conditions.
|
||
|
|
||
|
- QTime:
|
||
|
* [QTBUG-30250] When calling QTime::toString(Qt::TextDate) and
|
||
|
QTime::toString(Qt::ISODate), milliseconds are now included in
|
||
|
the returned string. This also applies to
|
||
|
QDateTime::toString(Qt::TextDate) and
|
||
|
QDateTime::toString(ISODate).
|
||
|
* Added new methods fromMSecsSinceStartOfDay() to create a new QTime
|
||
|
from an msecs value, and msecsSinceStartOfDay() to return the QTime as
|
||
|
the number of msecs since the start of the day.
|
||
|
|
||
|
- QTimeZone:
|
||
|
* Added new QTimeZone class to support time tone calculations using the
|
||
|
host platform time zone database and the Olsen time zone ID's.
|
||
|
|
||
|
- QUrl:
|
||
|
* [QTBUG-33229] QUrl now fully accepts non-character unicode points;
|
||
|
they are encoded as percent characters; they can also be pretty
|
||
|
decoded
|
||
|
* Added QUrl::RemoveFilename flag which can be passed to path(),
|
||
|
authority() and toString() and will cause the filename part of the path
|
||
|
(the contents after the last '/') to be removed.
|
||
|
* Added QUrl::fileName(), which returns just the filename part of the
|
||
|
path.
|
||
|
* Added QUrl::NormalizePathSegments flag, which will cause QUrl to
|
||
|
remove "/./" or "/../" sequences as much as possible. It will not
|
||
|
remove "/../" from the beginning of the path.
|
||
|
* Added QUrl::adjusted(), which returns a new QUrl with certain parts of
|
||
|
the original URL removed or normalized.
|
||
|
* Added QUrl::matches(), which can be used to compare parts of two URLs
|
||
|
or to compare two URLs after normalization.
|
||
|
|
||
|
- QUtf8:
|
||
|
* [QTBUG-33229] UTF-8 now accepts non-character unicode points; these
|
||
|
are not replaced by the replacement character anymore
|
||
|
|
||
|
- QVariant:
|
||
|
* Fixed QVariant::canConvert with longlong
|
||
|
* Variant containing enum types can now be converted to integer
|
||
|
* [QTBUG-33981] Fixed a bug that would cause QPolygonF to be saved or
|
||
|
loaded incorrectly in QDataStream.
|
||
|
|
||
|
QtDBus
|
||
|
------
|
||
|
|
||
|
- Improved error handling so as to give more feedback to the developer when
|
||
|
certain marshalling or demarshalling actions fail.
|
||
|
- [QTBUG-27809] Fixed some race conditions related to delivering method
|
||
|
reply deliveries.
|
||
|
- Fixed a bug that made non-slot invokables not get listed in the
|
||
|
auto-generated introspections.
|
||
|
|
||
|
QtDeclarative
|
||
|
-------------
|
||
|
|
||
|
- ColorDialog:
|
||
|
* Added currentColor property.
|
||
|
|
||
|
- [QTBUG-32928] ShortcutOverride events now work for QQuickItem
|
||
|
subclasses
|
||
|
|
||
|
QtGui
|
||
|
-----
|
||
|
|
||
|
- Accessibility classes are now public allowing accessibility
|
||
|
information for custom widgets/QQuickItems
|
||
|
|
||
|
- Session Management:
|
||
|
* [QTBUG-28228] The new QPlatformSessionManager class brings back
|
||
|
the session management functionality. It allows the
|
||
|
implementation of platform specific behavior related to session
|
||
|
management. For platform that don't support this feature the
|
||
|
default behavior has not changed. Both X11 and Windows session
|
||
|
management are supported.
|
||
|
|
||
|
- QPolygonF:
|
||
|
* When a QVariant holds a QPolygonF() then it will be correctly seen as
|
||
|
a null QVariant.
|
||
|
|
||
|
- QImage:
|
||
|
* Added three byte-ordered RGBA8888 format that simplifies interaction
|
||
|
with OpenGL and other technologies that internally using RGBA formats.
|
||
|
|
||
|
- [QTBUG-27349] Reintroduced command line argument for positioning
|
||
|
windows (-geometry on X11, -qwindowgeometry on other platforms)
|
||
|
|
||
|
- [QTBUG-28832] Fixed regression from Qt 4 when using
|
||
|
QTextOption::ShowLineAndParagraphSeparators.
|
||
|
|
||
|
QtNetwork
|
||
|
---------
|
||
|
|
||
|
- API was added to store and resume TLS session tickets.
|
||
|
- The minimum support openssl version has been increased to openssl
|
||
|
1.0. The code to support older versions has not been removed, but is no
|
||
|
longer supported.
|
||
|
- An off-by-one error in NTLM proxy authentication has been fixed.
|
||
|
- Various improvements to reduce the memory used by qtnetwork have been
|
||
|
made.
|
||
|
- Improved support for HTTP proxy authentication.
|
||
|
- Support for preconnecting to servers before making HTTP and HTTPS
|
||
|
connections. This allows for much reduced latency when the hosts to be
|
||
|
connected to are known.
|
||
|
|
||
|
QtPrintSupport
|
||
|
--------------
|
||
|
|
||
|
- QPrintDialog:
|
||
|
* Added support for setting CUPS job options in the print dialog.
|
||
|
* Added support for setting CUPS Banner pages in the print dialog.
|
||
|
* Added support for setting CUPS Page Set (even/odd pages only) in the
|
||
|
print dialog.
|
||
|
* Added support for setting CUPS Pages Per Sheet and Pages Per Sheet
|
||
|
Layout options
|
||
|
* Added CUPS server-side print range support for apps that can't support
|
||
|
print range option themselves
|
||
|
|
||
|
QtSql
|
||
|
-----
|
||
|
|
||
|
Changes in Qt 5.1.0 (missing from released changelog dist/changes-5.1.0)
|
||
|
- [QTBUG-28088] Remove dependency of DB driver headers on qsqlcachedresult_p.h.
|
||
|
- Deprecate QSqlError setters. The constructor is sufficient, since it has
|
||
|
a parameter for each member variable.
|
||
|
- Rename the SQL driver header files to _p.h (make private)
|
||
|
The drivers were never public API. They were exposed by mistake in
|
||
|
public headers. What's more, they have #include'd a private header
|
||
|
(qsqlcachedresult_p.h) since at least Qt 4.5.1. That means no one used
|
||
|
those headers in Qt 4 (private headers weren't installed then) and
|
||
|
it's unlikely anyone did in 5.0.
|
||
|
- ODBC: Implemented lastInsertId() for some ODBC compatible databases.
|
||
|
- PSQL: Make lastInsertID work for tables without OIDs.
|
||
|
- [QTBUG-14904] SQLITE: Fix for Sql query aliases with dots
|
||
|
- [QTBUG-2192] ODBC: fix loss of milliseconds when binding QDateTime
|
||
|
- [QTBUG-30076] PSQL: escape backslashes only when server requires it
|
||
|
IMPORTANT: Applications that implemented their own workarounds must be
|
||
|
updated to avoid misbehavior and SQL injection vulnerabilities.
|
||
|
- [QTBUG-10569] ODBC: fixed QODBCResult::exec() return value for DELETE
|
||
|
operations when no rows are affected.
|
||
|
- ODBC: Fixed loss of column metadata on SQL_NO_DATA.
|
||
|
- QSqlTableModel: expose methods for getting primary values.
|
||
|
- ODBC: Fixed possible cause of spurious errors (commit af35ee291a1bbbc8)
|
||
|
|
||
|
Changes in Qt 5.2.0
|
||
|
- [QTBUG-29261] IBASE: Construct a valid QTime when creating timestamps for
|
||
|
iBase SQL driver.
|
||
|
- [QTBUG-33389] PSQL: Format QDateTime following ISO8601.
|
||
|
- Add QSQLITE_OPEN_URI option to QSQLITE driver
|
||
|
|
||
|
QtWidgets
|
||
|
---------
|
||
|
|
||
|
- Added class QKeySequenceEdit.
|
||
|
- Added QMaxCocoaViewContainer and QMacNativeWidget classes.
|
||
|
- [QTBUG-1016] Added API to control tool tip timing via:
|
||
|
* new QToolTip::showTip() overload
|
||
|
* QWidget::toolTipDuration() property.
|
||
|
* QStyle::SH_ToolTip_WakeUpDelay and SH_ToolTip_FallAsleepDelay
|
||
|
style hints.
|
||
|
- [QTBUG-30255] Fixed a bug where spans across empty cells in a grid
|
||
|
layout got broken.
|
||
|
- [QTBUG-31569] WA_QuitOnClose now works even if there are other
|
||
|
windows that don't have it set.
|
||
|
- [QTBUG-32788] Properly handles Qt::WidgetWithChildrenShortcut
|
||
|
shortcuts in MDI subwindows now.
|
||
|
- [QTBUG-33078] QWidget::setWindowOpacity() now works when called
|
||
|
before QWidget::show().
|
||
|
- [QTBUG-33104] Fixed a bug where layout items with a Preferred size
|
||
|
policy would be treated as fixed size, if mixed with Expanding
|
||
|
items having maximumSize set.
|
||
|
- [QTBUG-33247] Changed accessible trees and tables to always expose
|
||
|
hidden headers, instead of only exposing the visible headers.
|
||
|
- [QTBUG-34007] Fixed a crash in tablet support.
|
||
|
- Fixed a bug where the maximum size hint of a layout with spans was
|
||
|
wrong.
|
||
|
- Item delegates now cycle through all three states of tri-state
|
||
|
checkboxes, the same way QCheckBox itself does.
|
||
|
|
||
|
- QAbstractItemView:
|
||
|
* [QTBUG-7232] In ItemViews scrollbars will now by default only
|
||
|
scroll 1 pixel when scrollMode is set to scrollPerPixel. That is
|
||
|
it will (when scrollMode is scrollPerPixel) do what is stated in
|
||
|
the documentation, and no longer automatically adjust the
|
||
|
scrollbar's singleStep. The user can now control that value.
|
||
|
|
||
|
- QAbstractScrollArea:
|
||
|
* QAbstractScrollArea now has a SizeAdjustPolicy. If it is set to
|
||
|
AdjustToContents it will make use of the protected viewportSizeHint()
|
||
|
virtual function. This function returns a suggested size based on
|
||
|
contents. Note that although the viewportSizeHint() virtual function
|
||
|
was reserved in 5.0, user code was not supposed to be overriding it
|
||
|
(as the function was private and undocumented). Code that was
|
||
|
overriding viewportSizeHint() needs to be recompiled against 5.2 for
|
||
|
this feature to work correctly.
|
||
|
|
||
|
- QButtonGroup:
|
||
|
* [QTBUG-14857] Added buttonToggled() signals.
|
||
|
|
||
|
- QColorDialog:
|
||
|
* Added a web color QLineEdit.
|
||
|
* [QTBUG-14332] Added a screen color picker button.
|
||
|
* [QTBUG-31998] Does no longer create widgets when using the
|
||
|
platform dialog.
|
||
|
* [QTBUG-32054] Fixed a bug with keyboard navigation.
|
||
|
|
||
|
- QComboBox:
|
||
|
* [QTBUG-31146] Fixed selection of items with identical text in
|
||
|
popup completion.
|
||
|
* Added currentData() convenience function which allows to retrieve
|
||
|
the user data set for the current item.
|
||
|
|
||
|
- QCompleter:
|
||
|
* [QTBUG-3414] Added filterMode property.
|
||
|
* The activated() signal now passes invalid indexes instead of
|
||
|
random bogus ones when falling back to the completion prefix.
|
||
|
|
||
|
- QDesktopWidget:
|
||
|
* [QTBUG-32567] Fixed emission of workAreaResized() signal.
|
||
|
|
||
|
- QDialogButtonBox:
|
||
|
* Added a (StandardButtons,QWidget*) constructor.
|
||
|
|
||
|
- QDockWidget:
|
||
|
* [QTBUG-31044] The position of a dock widget is now kept when
|
||
|
undocking.
|
||
|
* [QTBUG-32260] Fixed a bug where visibilityChanged was signaled
|
||
|
wrongly in certain multi-screen setups.
|
||
|
|
||
|
- QFileDialog:
|
||
|
* setDefaultSuffix() now removes leading dot characters.
|
||
|
* Introduced DontUseCustomDirectoryIcons. This improves the file
|
||
|
dialog performance under Windows for the case where there are
|
||
|
lots of folders. Went from taking 60 seconds to 2 seconds, on a
|
||
|
SDCard with 10k folders.
|
||
|
* Added setMimeTypeFilters() for mimetype-based filtering, as an
|
||
|
alternative to pattern matching.
|
||
|
* Fixed removing of directories containing hidden or system files.
|
||
|
* Added QUrl-based API for remote files.
|
||
|
* [QTBUG-13182] Improved performance on Windows by
|
||
|
+ not resolving NTFS symlinks (15x speedup on pessimistic
|
||
|
workloads) and
|
||
|
+ using extensions over calling GetFileAttributesEx() in certain
|
||
|
cases.
|
||
|
* [QTBUG-29403] Fixed potential crash in destructor of
|
||
|
~QFileInfoGather in threaded applications.
|
||
|
* [QTBUG-34132] QFileDialog does no longer instantiate widgets if a
|
||
|
native dialog will be used instead. Therefore some accessors
|
||
|
which previously returned unused objects will now return null.
|
||
|
As before, you can set the DontUseNativeDialog option to ensure
|
||
|
that widgets will be created and used instead.
|
||
|
* [QTBUG-33039] Does no longer create widgets when using the
|
||
|
platform dialog.
|
||
|
|
||
|
- QFontComboBox:
|
||
|
* [QTBUG-1573] Made QFontComboBox locale-sensitive.
|
||
|
|
||
|
- QFontDialog:
|
||
|
* Now has finer-grained control over the types of fonts listed,
|
||
|
similar to what QFontComboBox already had.
|
||
|
|
||
|
- QGestureManager
|
||
|
* Now supports Mac OS X native gestures.
|
||
|
|
||
|
- QGraphicsView etc
|
||
|
* Fixed a crash in QGraphicsProxyWidget.
|
||
|
* [QTBUG-8061] Allow handling of mouseDoubleClickEvent in
|
||
|
QGraphicsItems.
|
||
|
* [QTBUG-19036] Make QGraphicsScene::items(QPointF) work using
|
||
|
Qt::{Contains,Intersets}ItemBoundingRect with items that contain
|
||
|
the point in the bounding rectangle, but not their (custom)
|
||
|
shape.
|
||
|
* [QTBUG-29945] Fixed drop-shadow and blur effects when using a
|
||
|
QGLWidget viewport.
|
||
|
|
||
|
- QGroupBox:
|
||
|
* [QTBUG-33610] The check indicator of a checkable group box is no
|
||
|
longer clipped when using a small title font.
|
||
|
|
||
|
- QHeaderView:
|
||
|
* Reduced memory usage by 33%.
|
||
|
* [QTBUG-4346] A maximumSize for sections has been introduced. The
|
||
|
maximum section size is by default the largest possible section
|
||
|
size which in Qt 5.2 has been limited to 1048575 pixels.
|
||
|
* [QTBUG-32203] Fixed a painting bug involving hidden and reordered
|
||
|
sections.
|
||
|
|
||
|
- QInputDialog:
|
||
|
* Added getMultiLineText static method.
|
||
|
|
||
|
- QLayout:
|
||
|
* Added replaceWidget() function.
|
||
|
|
||
|
- QLineEdit:
|
||
|
* [QTBUG-32061] The cursor is now positioned correctly in an empty
|
||
|
line edit with placeholder text.
|
||
|
* Keep placeholderText visible when focused, until text is added.
|
||
|
* Context-menu actions now have icons.
|
||
|
* Made it possible to add side widgets.
|
||
|
* Made it possible to add a clear button commonly used for item
|
||
|
view filtering as a side widget
|
||
|
|
||
|
- QListView:
|
||
|
* [QTBUG-1180] Dragging an item outside the QListView in icon mode
|
||
|
no longer loses the icon. Also fixed a bug where under certain
|
||
|
conditions code overriding QAbstractItemView::viewOptions() would
|
||
|
not be called.
|
||
|
* [QTBUG-21433] Fixed content size calculation when either
|
||
|
horizontal or vertical scroll bar policy is always off.
|
||
|
|
||
|
- QMacStyle:
|
||
|
* [QTBUG-31668] Fixed a case where multiple auto-default button
|
||
|
animations were running in parallel on OS X
|
||
|
|
||
|
- QMainWindow:
|
||
|
* Added takeCentalWidget() function.
|
||
|
|
||
|
- QMenu:
|
||
|
* Added QMenu::toNSMenu() conversion function (Mac only)
|
||
|
* Added QMenu::setAsDockMenu() and qt_mac_set_doc_menu(QMenu *menu)
|
||
|
functions (Mac only).
|
||
|
* [QTBUG-31664] Moving the mouse over a menu separator now closes
|
||
|
any open sub menus.
|
||
|
|
||
|
- QMenuBar:
|
||
|
* [QTBUG-32807] Menus now close again on second click.
|
||
|
* Added QMenuBar::toNSMenu() conversion function (Mac only)
|
||
|
|
||
|
- QMessageBox:
|
||
|
* May use native message boxes on some platforms now.
|
||
|
* setDetailedText() now works after show().
|
||
|
* [QTBUG-2450] Added setCheckBox() function.
|
||
|
* [QTBUG-6731] It is now possible to select some or all text from a
|
||
|
QMessageBox and copy it to the clipboard.
|
||
|
|
||
|
- QScrollBar:
|
||
|
* Transient scrollbars are now properly shown when starting
|
||
|
two-finger scrolling on OS X.
|
||
|
|
||
|
- QSizePolicy:
|
||
|
* Added a retainSizeWhenHidden attribute.
|
||
|
|
||
|
- QSpinBox:
|
||
|
* Values can now be displayed in different bases
|
||
|
(cf. displayIntegerBase property)
|
||
|
* [QTBUG-31602][QTBUG-34305] Fixed size calculation when
|
||
|
stylesheets are used.
|
||
|
|
||
|
- QSplashScreen:
|
||
|
* Added message(), a getter for the currently displayed message.
|
||
|
|
||
|
- QSplitter:
|
||
|
* Now gets the default value of opaqueResize property from (new)
|
||
|
QStyle::SH_Splitter_OpaqueResize styleHint.
|
||
|
|
||
|
- QStyle:
|
||
|
* Added SH_ToolTip_WakeUpDelay and SH_ToolTip_FallAsleepDelay.
|
||
|
* Fixed SH_ItemView_ActivateItemOnSingleClick not being retrieved
|
||
|
correctly from the platform theme.
|
||
|
|
||
|
- QSystemTrayIcon:
|
||
|
* [QTBUG-31762] Fixed position of system tray icon on Linux/X11
|
||
|
(except Unity).
|
||
|
* [QTBUG-33461] Increased the maximum length of a system tray
|
||
|
tooltip on Windows to what it was in Qt 4.
|
||
|
|
||
|
- QTableView:
|
||
|
* [QTBUG-4206] resizeToContents will now adjust to actual contents
|
||
|
and not just visible area. QHeaderView::setAutoResizePrecision()
|
||
|
has been introduced to control how precise the autoResize should
|
||
|
be.
|
||
|
|
||
|
- QTextEdit:
|
||
|
* Added placeholderText akin to QLineEdit.
|
||
|
* Context-menu actions now have icons.
|
||
|
|
||
|
- QToolTip:
|
||
|
* Added new showText() overload taking a duration.
|
||
|
|
||
|
- QTreeView:
|
||
|
* Added setTreePosition() function.
|
||
|
|
||
|
- QWidget:
|
||
|
* Added window{Title,Icon,IconText}Changed() signals.
|
||
|
* Added toolTipDuration property.
|
||
|
|
||
|
- QWindowContainer:
|
||
|
* [QTBUG-32177] Sets active window correctly now.
|
||
|
* [QTBUG-34138] Will not create native child widgets any more.
|
||
|
|
||
|
- QWindowsVistaStyle:
|
||
|
* [QTBUG-26503] Does no longer draw inapplicable scroll bar
|
||
|
grippers on Windows 8.
|
||
|
|
||
|
- QWizard:
|
||
|
* [QTBUG-26722] The default background pixmap works again on OS X.
|
||
|
* [QTBUG-29924] Gave all buttons an objectName().
|
||
|
|
||
|
****************************************************************************
|
||
|
* Platform Specific Changes *
|
||
|
****************************************************************************
|
||
|
|
||
|
|
||
|
Android
|
||
|
-------
|
||
|
|
||
|
- Project structure and deployment has changed with the introduction of
|
||
|
androiddeployqt. Source and build files are no longer mixed, and the
|
||
|
build files for the APK package should not be touched. Customizing
|
||
|
the build files is possible. Read the documentation for androiddeployqt
|
||
|
for more information.
|
||
|
- Status bar visibility is now controlled by Qt, so the window state will
|
||
|
override settings in the AndroidManifest.xml. The default is still to
|
||
|
show the status bar (QWindow::showMaximized()). Use
|
||
|
QWindow::showFullScreen() to hide it.
|
||
|
- Implemented support for accessibility on Android.
|
||
|
- Implemented support for native action bar backend for menu bars in
|
||
|
Qt Quick Controls and Qt Widgets.
|
||
|
- Implemented support for native popup menus and comboboxes in Qt Quick
|
||
|
Controls.
|
||
|
- Implemented support for native message boxes in Qt Widgets.
|
||
|
- Several improvements to handling dialogs and multiple top-level
|
||
|
windows in Qt Widgets.
|
||
|
- Implemented automatic inclusion of necessary permissions in manifest
|
||
|
when linking against Qt Multimedia.
|
||
|
- Fixed crash on startup when running on Android 4.4.
|
||
|
- Add requirement for Android SDK version 13 or higher for building
|
||
|
Qt application. Note that this is for building only. The application
|
||
|
can still be targeted for devices with SDK versions 9 and up.
|
||
|
- Default to target SDK version 14 to disable overflow button in
|
||
|
system navigation.
|
||
|
- New module: Qt Android Extras. Contains convenience APIs for using
|
||
|
JNI, and will in the future include support for Android-specific
|
||
|
features which do not fit in a cross-platform API.
|
||
|
- Implemented support for thread-affinity in qrand() functions.
|
||
|
- Fixed several problems with predictive text in soft keyboard.
|
||
|
- Made several improvements to stability.
|
||
|
- Implemented support for camera and low-latency audio in Qt Multimedia.
|
||
|
- Fixed driver-specific bugs in text rendering in Qt Quick 2.
|
||
|
- Added preference in default manifest for installing applications to
|
||
|
external storage if possible.
|
||
|
- Fixed delivery of key press event for the Back key.
|
||
|
- Fixed race condition when showing a window in full screen which would
|
||
|
cause it to not be maximized.
|
||
|
- Fixed input method hints.
|
||
|
- Made font point sizes compatible with the interpretation of point
|
||
|
sizes on iOS to ease sharing code between the two platforms.
|
||
|
- Added support for QAmbientTemperatureSensor, QPressureSensor
|
||
|
and QProximitySensor to Qt Sensors.
|
||
|
- Removed dependency on Qt Widgets in default build of Qt Quick Controls.
|
||
|
|
||
|
OS X
|
||
|
----
|
||
|
|
||
|
- Added QMaxCocoaViewContainer and QMacNativeWidget classes.
|
||
|
- Qt for OS X is now identified by the macro Q_OS_OSX. This complements the
|
||
|
existing Q_OS_DARWIN macro (which identifies the open source kernel and
|
||
|
could identify non-Apple products) and Q_OS_MAC, which is defined for
|
||
|
both OS X and iOS. The old macro Q_OS_MACX is now deprecated.
|
||
|
- Qt no longer complains about new versions of OS X that haven't been
|
||
|
released yet. This will allow Qt 5.2 and future versions to build on
|
||
|
future versions yet to be released. Note that those versions are not
|
||
|
supported until official announcement by the Qt Project.
|
||
|
- Added a number of functions to QtCore to convert to and from
|
||
|
CFString/NSString and QString, CFURL/NSURL and QUrl.
|
||
|
- QGestureManager now supports Mac OS X native gestures.
|
||
|
- Added QMenu::setAsDockMenu(), QMenu(Bar)::toNSMenu(),
|
||
|
qt_mac_set_doc_menu() functions.
|
||
|
- [QTBUG-26722] The QWizard default background pixmap works again.
|
||
|
|
||
|
BlackBerry
|
||
|
----------
|
||
|
|
||
|
- Cover windows (aka active frames) are now supported. Cover windows must
|
||
|
have the Qt::CoverWindow flag set. They are shown when the application
|
||
|
is minimized.
|
||
|
|
||
|
Windows
|
||
|
-------
|
||
|
|
||
|
- [QTBUG-33409][QTBUG-8764][QTBUG-10032] Fixed virtual key mapping on
|
||
|
Windows.
|
||
|
- QCoreApplication::arguments() changed the handling of single quotes, double quotes
|
||
|
and the backslash character, in order to match what argv[] contains.
|
||
|
In particular, single quotes are no longer removed from the argument string.
|
||
|
(QTBUG-15379, QTBUG-30628)
|
||
|
|
||
|
X11
|
||
|
---
|
||
|
|
||
|
- [QTBUG-31762] Fix position of system tray icon (except Unity)
|
||
|
- [QTBUG-27349] Reintroduced command line argument for positioning
|
||
|
windows (-geometry)
|
||
|
|
||
|
****************************************************************************
|
||
|
* Tools *
|
||
|
****************************************************************************
|
||
|
|
||
|
- configure
|
||
|
|
||
|
* Added option to disable the QtMultimedia WMF backend
|
||
|
* [Unix] Added option to build with gcov support
|
||
|
* Added -extprefix option to support Qt installing into a different
|
||
|
location than the on-device -prefix within the -sysroot.
|
||
|
* [QTBUG-33584][Unix] Fixed parsing of -device-option with equal signs.
|
||
|
|
||
|
- cmake config files
|
||
|
|
||
|
* [QTBUG-33145] Fixed usage of non-QtBase modules with Qt compiled from
|
||
|
source tarballs.
|
||
|
* [QTBUG-33223] Fixed header file location on multi-arch systems.
|
||
|
* Added support for automatic packaging of Qt plugins with cpack.
|
||
|
|
||
|
- qmake
|
||
|
|
||
|
* [QTBUG-491] Added saner approach to debug/release path rewriting.
|
||
|
* Added the parseJson() function.
|
||
|
* Added "osx" scope as an alias for "macx". Note that matching on the
|
||
|
makespec is generally deprecated - use "linux", "gcc", etc.
|
||
|
* Added support for .qmake.stash files which are really *just* caches.
|
||
|
* [Xcode] Added support for QMAKE_PRE_LINK and QMAKE_POST_LINK.
|
||
|
* [QTBUG-31129] Added installation of PDB files for dlltarget.
|
||
|
* [QTBUG-28102] Added support for querying disabled Qt features.
|
||
|
* Removed macx-clang-libc++* makespecs. libc++ is now handled automatically.
|
||
|
* [QTBUG-32912][MSVS] Fixed moc not being run in case of DBUS_ADAPTORS or
|
||
|
DBUS_INTERFACES being present.
|
||
|
* [QTBUG-30644] Fixed unsatisfied requires() breaking recursive targets.
|
||
|
* [QTBUG-31204] Fixed extra compilers not finding their inputs.
|
||
|
* [QTBUG-32885][MSVS] Made it possible to disable debug information.
|
||
|
* [QTBUG-33446][MSVS] Fixed generation of VS2010+ solution files.
|
||
|
* [QTBUG-32375][MSVS] Fixed output directory of nested projects.
|
||
|
* [QTBUG-34392][MSVS] Fixed /SAFESEH:NO with VS2010+.
|
||
|
* [QTBUG-34357][MSVS] Fixed breakage with multiple VS versions in PATH.
|
||
|
* [MSVS] Fixed sub-project dependency generation.
|
||
|
|
||
|
- moc
|
||
|
* Porting moc to QCommandLineParser has changed one specific option in its
|
||
|
command line handling: using the -f option without argument
|
||
|
is not supported anymore (it wasn't necessary, since including the header
|
||
|
file is the default behavior).
|
||
|
|