diff --git a/doc/config/qtdoc.qdocconf b/doc/config/qtdoc.qdocconf index 520b98530..6c1b1b7b1 100644 --- a/doc/config/qtdoc.qdocconf +++ b/doc/config/qtdoc.qdocconf @@ -74,6 +74,9 @@ macro.qtver = "$QT_VER" macro.qtmajorversion = "$QT_VER" macro.qtmajorversion.match = "^(\\d+)" +macro.qt5 = "\\l{https://doc.qt.io/qt-5/\1}{\2}" +macro.qtbug = "\\l{https://bugreports.qt.io/browse/\1}{\1}" + # Config to enable YouTube links in the offline documentation {HTML.extraimages,qhp.QtDoc.extraFiles} += images/wPcVlP_wrew.jpg diff --git a/doc/src/extras-changes.qdoc b/doc/src/extras-changes.qdoc new file mode 100644 index 000000000..b2b4eee92 --- /dev/null +++ b/doc/src/extras-changes.qdoc @@ -0,0 +1,167 @@ +/**************************************************************************** +** +** Copyright (C) 2021 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 extras-changes-qt6.html + \title Changes to Qt Extras Modules + \brief Migrate away from Extras Modules + \ingroup changes-qt-5-to-6 + + Qt 6 is a result of the conscious effort to make the framework more + efficient and easy to use. + + We try to maintain binary and source compatibility for all the public + APIs in each release. But some changes were inevitable in an effort to + make Qt a better framework. + + One of those changes was to remove the platform-specific Extras modules, + to ensure a cohesive cross-platform story and future for Qt 6. Most of the + the functionality offered by these modules are replaced by a similar functionality + in other Qt modules. This guide summarizes those alternatives, and provides guidance + for the cases where Qt does not offer a replacement API. + + \section1 Changes to Qt Mac Extras + + \section2 QtMac namespace + + Most members of the QtMac namespace have \qt5{qtmac-obsolete.html} + {explicit replacements}. The \qt5{qtmac-obsolete.html#fromCGImageRef} + {\c QtMac::fromCGImageRef} function has been removed due to lack of + known clients of the API. + + \section2 QMacPasteboardMime + + The \qt5{qmacpasteboardmime.html}{\c QMacPasteboardMime} class has been + removed due to warranting a cross-platform solution. See \qtbug QTBUG-93632 + for details. + + \section2 QMacToolBar + + The \qt5{qmactoolbar.html}{\c QMacToolBar} and \qt5{qmactoolbaritem.html} + {\c QMacToolBarItem} classes have been removed. Use QToolBar as a replacement. + + \section1 Changes to Qt Windows Extras + + \section2 QtWin namespace + + Many members of the QtWin namespace have \qt5{qtwin-obsolete.html} + {explicit replacements}. To use these replacements with Qt Widgets + or Qt Quick, operate on the QWindow representation of the relevant + widget or control. + + The remaining functions have been removed: + + \section3 errorStringFromHresult + + Only used internally in WinExtras. No other known clients of the API. + + \section3 colorizationColor/isCompositionOpaque + + Concept exists on other platforms (tint/accent color). Warrants new + cross-platform API, for example a new QPalette role or platform theme + property. + + \section3 setWindowFlip3DPolicy + + Windows 7 feature. No longer supported in Windows 10. + + \section3 extendFrameIntoClientArea + + Similar functionality exists on other platforms. Warrants cross-platform + QWindow API to control the relationship between the client area and the non-client area + (frame/titlebar). See \qtbug QTBUG-94010 for details. + + \section3 enableBlurBehind + + Deprecated as of Windows 8. + + \section3 taskbarActivateTab and taskbar(Add/Delete)Tab + + No known clients of the API. + + \section2 QWinMime + + The \qt5{qwinmime.html}{\c QWinMime} class has been removed due to + warranting a cross-platform solution. See \qtbug QTBUG-93632 for details. + + \section2 QWinJumpList + + The \qt5{qwinjumplist.html}{\c QWinJumpList}, \qt5{qwinjumplistcategory.html} + {\c QWinJumpListCategory}, and \qt5{qwinjumplistitem.html}{\c QWinJumpListItem} + classes have been removed due to warranting a cross-platform solution. + See \qtbug QTBUG-94007 for details. + + \section2 QWinTaskbarButton + + The \qt5{qwintaskbarbutton.html}{\c QWinTaskbarButton} and \qt5{qwintaskbarprogress.html} + {\c QWinTaskbarProgress} classes have been removed due to warranting a cross-platform + solution. See \qtbug QTBUG-94009 and \qtbug QTBUG-94008 for details. + + \section2 QWinThumbnailToolBar + + The \qt5{qwinthumbnailtoolbar.html}{\c QWinThumbnailToolBar} and + \qt5{qwinthumbnailtoolbarbutton.html}{\c QWinThumbnailToolBarButton} + classes have been removed due to lack of known clients of the API. + + \section1 Changes to Qt X11 Extras + + The \qt5{qx11info.html}{\c QX11Info} class has been removed. + + Clients that still rely on the functionality can include the private + header \c {} as a stopgap solution. + To enable private headers use \c {QT += core-private} with \c qmake, + or add a project dependency to \c Qt::CorePrivate with \c CMake. + + \section1 Changes to Qt Android Extras + + Key functionality from the module has been brought over to other + Qt modules. + + Clients that still rely on missing functionality can include the private + header \c {} as a stopgap solution. + To enable private headers use \c {QT += core-private} with \c qmake, + or add a project dependency to \c Qt::CorePrivate with \c CMake. + + \section2 QAndroidJniObject and QAndroidJniEnvironment + + The \qt5{qandroidjniobject.html}{\c QAndroidJniObject} and + \qt5{qandroidjnienvironment.html}{\c QAndroidJniEnvironment} + classes have been replaced by \l QJniObject and \l QJniEnvironment + respectively. + + The \qt5{qandroidjniexceptioncleaner.html}{\c QAndroidJniExceptionCleaner} + class is no longer needed. See QJniEnvironment::checkAndClearExceptions() + for a replacement. + + \section2 QtAndroid namespace + + Many members of the QtAndroid namespace have replacements in the + \l QAndroidApplication native interface. + + The permission request APIs have been replaced by the cross-platform + \l QCoreApplication::requestPermission() API. +*/ diff --git a/doc/src/whatsnew/whatsnew60.qdoc b/doc/src/whatsnew/whatsnew60.qdoc index 565fe9819..26ee3f49b 100644 --- a/doc/src/whatsnew/whatsnew60.qdoc +++ b/doc/src/whatsnew/whatsnew60.qdoc @@ -69,7 +69,7 @@ \row \li Qt Android Extras \li \c androidextras - \li + \li See \l {Changes to Extras Modules} \row \li Qt Bluetooth \li \c bluetooth @@ -93,7 +93,7 @@ \row \li Qt Mac Extras \li \c macextras - \li + \li See \l {Changes to Extras Modules} \row \li Qt Multimedia \li \c multimedia @@ -168,11 +168,11 @@ \row \li Qt Windows Extras \li \c winextras - \li + \li See \l {Changes to Extras Modules} \row \li Qt X11 Extras \li \c x11extras - \li + \li See \l {Changes to Extras Modules} \row \li Qt XML Patterns \li \c xmlpatterns