* Source incompatible changes *
****************************************************************************
+- QAtomicInt's and QAtomicPointer's non-atomic convenience methods
+ (i.e., operator=, operator int / operator T*, operator!, operator==,
+ operator!= and operator->) have been removed as they did implicit
+ loads and stores of unspecified memory ordering. Code dealing with
+ is expected to use load(), loadAquire(), store() and storeRelease()
+ as necessary instead.
- QObject
* The signatures of the connectNotify() and disconnectNotify() functions
in Qt4, so these methods return a bool now. If your code used the undocumented
QBool, simply replace it with bool.
+- The old macros TRUE and FALSE have been removed, use true and false instead.
+
- qIsDetached<> has been removed without replacement.
- The return type of QFlags<Enum>::operator int() now matches the Enum's underlying
or use static_cast<int>(Qt::SolidLine) to create a QVariant of type int with
the same value as the enum.
+- QLocale:
+ * The historical language and country names were updated to their modern values,
+ some deprecated names were dropped or mapped to their modern alternatives.
+
- QTestLib:
* The plain-text, xml and lightxml test output formats have been changed to
show a test result for every row of test data in data-driven tests. In
- QAbstractPageSetupDialog has been removed.
+- QThread::terminated() has been removed, since its emission cannot be guaranteed.
+
+- QPrintEngine - Removed the PPK_SuppressSystemPrintStatus key as no longer used.
+
+- QCoreApplication::Type and QApplication::type() have been removed. These
+ Qt3 legacy application types did not match the application types
+ available in Qt5. Use for example qobject_cast instead to dynamically
+ find out the exact application type.
+
+- The following QStyle implementations have been made internal:
+ * QFusionStyle
+ * QGtkStyle
+ * QMacStyle
+ * QWindowsCEStyle
+ * QWindowsMobileStyle
+ * QWindowsStyle
+ * QWindowsVistaStyle
+ * QWindowsXPStyle
+ Instead of creating instances or inheriting these classes directly, use:
+ * QStyleFactory for creating instances of specific styles
+ * QProxyStyle for customizing existing style implementations
+ * QCommonStyle as a base for implementing full custom styles.
+
****************************************************************************
* General *
****************************************************************************
- The Unicode Data and Algorithms has been updated to match the
Unicode Standard of version 6.2. For more information see http://www.unicode.org/
+- The QLocale data has been updated to CLDR 22.1.
+ For more information see http://cldr.unicode.org/
+
Third party components
----------------------
flags are now enabled by default on all platforms, for the sqlite3 copy under
the 3rdparty directory.
+Legal
+-----
+
+ - Copyright of Qt has been transferred to Digia Plc.
****************************************************************************
* Library *
variable. qInstallMsgHandler() has been deprecated, and should be replaced with
qInstallMessageHandler().
+* QTextBoundaryFinder
+ - [QTBUG-6498] The word start and word end boundaries detection is now
+ unaware of surrounding white space characters.
+ - SoftHyphen enum value has been added to specify a line break opportunity
+ at a soft hyphen (SHY) character.
+ - MandatoryBreak enum value has been added to specify a mandatory (aka "hard") line breaks.
+ - Source-incompatible change: Since the behavior of boundaryReasons() method
+ has been changed a lot, StartWord/EndWord enum values were intentionally replaced
+ with StartOfItem/EndOfItem ones to force the affected code be revised.
+
+* Softkeys API was removed. The following functions and enums were removed:
+ - QAction::setSoftKeyRole()
+ - QAction::softKeyRole()
+ - QAction::SoftKeyRole
+ - Qt::WA_MergeSoftkeys
+ - Qt::WA_MergeSoftkeysRecursively
+ - Qt::WindowSoftkeysVisibleHint
+ - Qt::WindowSoftkeysRespondHint
+
+* QLocale
+ - [QTBUG-27987] Constructing a QLocale object with the short locale id has been improved.
+
+* QObject
+ - Added overloads of connect() to connect using pointers to member function
+ - Added QObject::isSignalConnected()
+
QtGui
-----
* Accessibility has been refactored. The hierachy of accessible objects is implemented via
the existent image data will be invalidated, so that isNull() is guaranteed
to return true in this case.
+* Behavioral change regarding QPainter fill rules when not using antialiased
+ painting: The fill rules have changed so that the aliased and antialiased
+ coordinate systems match. Earlier there used to be an offset of slightly less
+ than half a pixel when doing sub-pixel rendering, in order to be consistent
+ with the old X11 paint engine. The new behavior should be more predictable and
+ gives the same consistent rounding for images / pixmaps as for paths and
+ rectangle filling. It's possible to still get the old behavior by setting the
+ QPainter::Qt4CompatiblePainting render hint.
+
+* Behavioral change regarding QPen: The default QPen constructors now create a
+ 1-width non-cosmetic pen as opposed to a 0-width cosmetic pen. The old
+ behavior can be emulated by setting the QPainter::Qt4CompatiblePainting
+ render hint when painting.
+
QtWidgets
---------
+* A new style QFusionStyle has been introduced, while QPlastiqueStyle, QCleanlooksStyle,
+ QCDEStyle and QMotifStyle have been removed. The older styles will be
+ made available to applications as a standalone source package.
+
* QInputContext removed as well as related getters and setters on QWidget and QApplication.
Input contexts are now platform specific.
the proper Qt API: due to the version bump, QStyle will try to use the additional
QStyleOption members, which are left default-initialized.
-* QHeaderView - The following functions have been obsoleted.
+* QHeaderView has been refactored and the following functions have been obsoleted:
* void setMovable(bool movable) - use void setSectionsMovable(bool movable) instead.
* ResizeMode resizeMode(int logicalindex) const -
use sectionResizeMode(int logicalindex) instead.
+ * setSortIndicator will no longer emit sortIndicatorChanged when the sort indicator is unchanged.
+
* QDateEdit and QTimeEdit have re-gained a USER property. These were originally removed
before Qt 4.7.0, and are re-added for 5.0. This means that the userProperty for
those classes are now QDate and QTime respectively, not QDateTime as they have been
by QAbstractProxyModel and related classes. A copy of QProxyModel is available
in the UiHelpers library.
+* The virtual methods QApplication::commitData and QApplication::saveState, used for session
+ management, no longer exist.
+ Connect to the commitDataRequest and saveStateRequest signals instead.
+ The new isSessionSaving() method can be used in the cases where the closeEvent of your
+ window needs to know whether it is being called during shutdown.
+
* [QTBUG-20503] QFileSystemModel no longer masks out write permissions from the permissions
returned from permissions() or data(FilePermissions), even if in read-only mode
(QFileSystemModel::isReadOnly()).
+* [QTBUG-158 QTBUG-428 QTBUG-26501] QComboBox::currentText improvements
+ Restored currentText as USER property.
+ New setter setCurrentText(), marked as WRITE method, usable by QItemDelegate and QDataWidgetMapper.
+ New signal currentTextChanged() marked as NOTIFY method.
+
QtNetwork
---------
* QHostAddress::isLoopback() API added. Returns true if the address is
QGLWidget and a QOpenGLFramebufferObject. It is recommended that applications
using QGLPixelBuffer for offscreen rendering to a texture switch to using
QOpenGLFramebufferObject directly instead, for improved performance.
+* The default major version of QGLFormat has been changed to 2 to be aligned
+ with QSurfaceFormat. Applications that want to use a different version should
+ explicitly request it using QGLFormat::setVersion().
+* void QGLContext::generateFontDisplayLists(const QFont& font, int listBase)
+ and int QGLWidget::fontDisplayListBase(const QFont & fnt, int listBase)
+ which were deprecated in Qt 4 have been removed.
+* Previously deprecated default value listBase parameter has been removed from
+ both QGLWidget::renderText() functions.
+* In order to ensure support on more platforms, stricter requirements have been
+ introduced for doing threaded OpenGL. First, you must call makeCurrent() at
+ least once per swapBuffers() call, so that the platform has a chance to
+ synchronize resizes to the OpenGL surface. Second, before doing makeCurrent()
+ or swapBuffers() in a separate thread, you must call
+ QGLContext::moveToThread(QThread *) to explicitly let Qt know in which thread
+ a QGLContext is currently being used. You also need to make sure that the
+ context is not current in the current thread before moving it to a different
+ thread.
QtScript
--------
and modelReset() signals suffice to inform views that they must reinterrogate
the model.
-* QSqlTableModel::selectRow(): This is a new method that refreshes a single
+* QSqlTableModel::select() is now a slot.
+
+* QSqlTableModel::selectRow(): This is a new slot that refreshes a single
row in the model from the database.
* QSqlTableModel edit strategies OnFieldChange/OnRowChange QTBUG-2875
* [QTBUG-20785] The moc now has a -b<file> option to #include an additional
file at the beginning of the generated file.
-
+* moc is now able to fully understand and expands preprocessor macros.
- uic