diff options
Diffstat (limited to 'src/imports')
47 files changed, 2482 insertions, 251 deletions
diff --git a/src/imports/.prev_CMakeLists.txt b/src/imports/.prev_CMakeLists.txt new file mode 100644 index 00000000..9bec7cd4 --- /dev/null +++ b/src/imports/.prev_CMakeLists.txt @@ -0,0 +1,10 @@ +# Generated from imports.pro. + +add_subdirectory(controls) +add_subdirectory(calendar) +add_subdirectory(platform) +add_subdirectory(templates) +add_subdirectory(controls/fusion) +add_subdirectory(controls/imagine) +add_subdirectory(controls/material) +add_subdirectory(controls/universal) diff --git a/src/imports/CMakeLists.txt b/src/imports/CMakeLists.txt new file mode 100644 index 00000000..9bec7cd4 --- /dev/null +++ b/src/imports/CMakeLists.txt @@ -0,0 +1,10 @@ +# Generated from imports.pro. + +add_subdirectory(controls) +add_subdirectory(calendar) +add_subdirectory(platform) +add_subdirectory(templates) +add_subdirectory(controls/fusion) +add_subdirectory(controls/imagine) +add_subdirectory(controls/material) +add_subdirectory(controls/universal) diff --git a/src/imports/calendar/CMakeLists.txt b/src/imports/calendar/CMakeLists.txt new file mode 100644 index 00000000..bc9e7f08 --- /dev/null +++ b/src/imports/calendar/CMakeLists.txt @@ -0,0 +1,67 @@ +# Generated from calendar.pro. + +##################################################################### +## qtlabscalendarplugin Plugin: +##################################################################### + +qt_add_qml_module(qtlabscalendarplugin + URI "Qt.labs.calendar" + VERSION "1.0" + CLASSNAME QtLabsCalendarPlugin + SOURCES + qquickcalendar.cpp qquickcalendar_p.h + qquickcalendarmodel.cpp qquickcalendarmodel_p.h + qquickdayofweekmodel.cpp qquickdayofweekmodel_p.h + qquickdayofweekrow.cpp qquickdayofweekrow_p.h + qquickmonthgrid.cpp qquickmonthgrid_p.h + qquickmonthmodel.cpp qquickmonthmodel_p.h + qquickweeknumbercolumn.cpp qquickweeknumbercolumn_p.h + qquickweeknumbermodel.cpp qquickweeknumbermodel_p.h + qtlabscalendarplugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickPrivate + Qt::QuickTemplates2Private + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +#### Keys ignored in scope 1:.:.:calendar.pro:<TRUE>: +# IMPORT_VERSION = "1.0" +# OTHER_FILES = "qmldir" +# TARGETPATH = "Qt/labs/calendar" + +## Scopes: +##################################################################### + +set(qml_files + "DayOfWeekRow.qml" + "MonthGrid.qml" + "WeekNumberColumn.qml" +) +set_source_files_properties(DayOfWeekRow.qml PROPERTIES + QT_QML_SOURCE_VERSION "1.0" +) +set_source_files_properties(MonthGrid.qml PROPERTIES + QT_QML_SOURCE_VERSION "1.0" +) +set_source_files_properties(WeekNumberColumn.qml PROPERTIES + QT_QML_SOURCE_VERSION "1.0" +) + +qt6_target_qml_files(qtlabscalendarplugin + FILES + ${qml_files} +) +qt_add_docs(qtlabscalendarplugin + doc/qtlabscalendar.qdocconf +) + diff --git a/src/imports/controls/.prev_CMakeLists.txt b/src/imports/controls/.prev_CMakeLists.txt new file mode 100644 index 00000000..e017f0fe --- /dev/null +++ b/src/imports/controls/.prev_CMakeLists.txt @@ -0,0 +1,146 @@ +# Generated from controls.pro. + +##################################################################### +## qtquickcontrols2plugin Plugin: +##################################################################### + +add_qml_module(qtquickcontrols2plugin + TARGET_PATH "QtQuick/Controls.2" + URI "QtQuick.Controls" + VERSION "2.${CMAKE_PROJECT_VERSION_MINOR}" + DESIGNER_SUPPORTED + CLASSNAME QtQuickControls2Plugin + DEPENDENCIES + QtQuick.Templates/2.5 + SKIP_TYPE_REGISTRATION + SOURCES + qquickdefaultbusyindicator.cpp qquickdefaultbusyindicator_p.h + qquickdefaultdial.cpp qquickdefaultdial_p.h + qquickdefaultprogressbar.cpp qquickdefaultprogressbar_p.h + qquickdefaultstyle.cpp qquickdefaultstyle_p.h + qquickdefaulttheme.cpp qquickdefaulttheme_p.h + qtquickcontrols2plugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +# Resources: +set(qtquickcontrols2plugin_resource_files + "images/arrow-indicator.png" + "images/arrow-indicator@2x.png" + "images/arrow-indicator@3x.png" + "images/arrow-indicator@4x.png" + "images/check.png" + "images/check@2x.png" + "images/check@3x.png" + "images/check@4x.png" + "images/dial-indicator.png" + "images/dial-indicator@2x.png" + "images/dial-indicator@3x.png" + "images/dial-indicator@4x.png" + "images/double-arrow.png" + "images/double-arrow@2x.png" + "images/double-arrow@3x.png" + "images/double-arrow@4x.png" + "images/drop-indicator.png" + "images/drop-indicator@2x.png" + "images/drop-indicator@3x.png" + "images/drop-indicator@4x.png" +) + +add_qt_resource(qtquickcontrols2plugin "qtquickcontrols2plugin" + PREFIX + "/qt-project.org/imports/QtQuick/Controls.2" + FILES + ${qtquickcontrols2plugin_resource_files} +) + + +#### Keys ignored in scope 1:.:.:controls.pro:<TRUE>: +# IMPORT_VERSION = "2.$$QT_MINOR_VERSION" +# OTHER_FILES = "qmldir" "$$QML_FILES" "$$PWD/snippets/*.qml" "$$PWD/src/*.qdoc" "$$PWD/src/calendar/*.qdoc" "$$PWD/src/templates/*.qdoc" +# TARGETPATH = "QtQuick/Controls.2" +# _REQUIREMENTS = "qtConfig(quickcontrols2-default)" + +## Scopes: +##################################################################### + +set(qml_files + "AbstractButton.qml" + "Action.qml" + "ActionGroup.qml" + "ApplicationWindow.qml" + "BusyIndicator.qml" + "Button.qml" + "ButtonGroup.qml" + "CheckBox.qml" + "CheckDelegate.qml" + "ComboBox.qml" + "Container.qml" + "Control.qml" + "DelayButton.qml" + "Dial.qml" + "Dialog.qml" + "DialogButtonBox.qml" + "Drawer.qml" + "Frame.qml" + "GroupBox.qml" + "ItemDelegate.qml" + "Label.qml" + "Menu.qml" + "MenuBar.qml" + "MenuBarItem.qml" + "MenuItem.qml" + "MenuSeparator.qml" + "Page.qml" + "PageIndicator.qml" + "Pane.qml" + "Popup.qml" + "ProgressBar.qml" + "RadioButton.qml" + "RadioDelegate.qml" + "RangeSlider.qml" + "RoundButton.qml" + "ScrollBar.qml" + "ScrollIndicator.qml" + "ScrollView.qml" + "Slider.qml" + "SpinBox.qml" + "SplitView.qml" + "StackView.qml" + "SwipeDelegate.qml" + "Switch.qml" + "SwitchDelegate.qml" + "SwipeView.qml" + "TabBar.qml" + "TabButton.qml" + "TextArea.qml" + "TextField.qml" + "ToolBar.qml" + "ToolButton.qml" + "ToolSeparator.qml" + "ToolTip.qml" + "Tumbler.qml" +) + +qt6_target_qml_files(qtquickcontrols2plugin + FILES + ${qml_files} +) +add_qt_docs(qtquickcontrols2plugin + doc/qtquickcontrols.qdocconf +) + diff --git a/src/imports/controls/ApplicationWindow.qml b/src/imports/controls/ApplicationWindow.qml index 4686a298..85dfd279 100644 --- a/src/imports/controls/ApplicationWindow.qml +++ b/src/imports/controls/ApplicationWindow.qml @@ -43,7 +43,7 @@ import QtQuick.Templates 2.12 as T T.ApplicationWindow { id: window - color: palette.window + color: window.palette.window overlay.modal: Rectangle { color: Color.transparent(window.palette.shadow, 0.5) diff --git a/src/imports/controls/CMakeLists.txt b/src/imports/controls/CMakeLists.txt new file mode 100644 index 00000000..626155f8 --- /dev/null +++ b/src/imports/controls/CMakeLists.txt @@ -0,0 +1,319 @@ +# Generated from controls.pro. + +##################################################################### +## qtquickcontrols2plugin Plugin: +##################################################################### + +qt_add_qml_module(qtquickcontrols2plugin + TARGET_PATH "QtQuick/Controls.2" + URI "QtQuick.Controls" + VERSION "2.${CMAKE_PROJECT_VERSION_MINOR}" + DESIGNER_SUPPORTED + CLASSNAME QtQuickControls2Plugin + DEPENDENCIES + QtQuick.Templates/2.5 + SKIP_TYPE_REGISTRATION + SOURCES + qquickdefaultbusyindicator.cpp qquickdefaultbusyindicator_p.h + qquickdefaultdial.cpp qquickdefaultdial_p.h + qquickdefaultprogressbar.cpp qquickdefaultprogressbar_p.h + qquickdefaultstyle.cpp qquickdefaultstyle_p.h + qquickdefaulttheme.cpp qquickdefaulttheme_p.h + qtquickcontrols2plugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +# Resources: +set(qtquickcontrols2plugin_resource_files + "images/arrow-indicator.png" + "images/arrow-indicator@2x.png" + "images/arrow-indicator@3x.png" + "images/arrow-indicator@4x.png" + "images/check.png" + "images/check@2x.png" + "images/check@3x.png" + "images/check@4x.png" + "images/dial-indicator.png" + "images/dial-indicator@2x.png" + "images/dial-indicator@3x.png" + "images/dial-indicator@4x.png" + "images/double-arrow.png" + "images/double-arrow@2x.png" + "images/double-arrow@3x.png" + "images/double-arrow@4x.png" + "images/drop-indicator.png" + "images/drop-indicator@2x.png" + "images/drop-indicator@3x.png" + "images/drop-indicator@4x.png" +) + +qt_add_resource(qtquickcontrols2plugin "qtquickcontrols2plugin" + PREFIX + "/qt-project.org/imports/QtQuick/Controls.2" + FILES + ${qtquickcontrols2plugin_resource_files} +) + + +#### Keys ignored in scope 1:.:.:controls.pro:<TRUE>: +# IMPORT_VERSION = "2.$$QT_MINOR_VERSION" +# OTHER_FILES = "qmldir" "$$QML_FILES" "$$PWD/snippets/*.qml" "$$PWD/src/*.qdoc" "$$PWD/src/calendar/*.qdoc" "$$PWD/src/templates/*.qdoc" +# TARGETPATH = "QtQuick/Controls.2" +# _REQUIREMENTS = "qtConfig(quickcontrols2-default)" + +## Scopes: +##################################################################### + +set(qml_files + "AbstractButton.qml" + "Action.qml" + "ActionGroup.qml" + "ApplicationWindow.qml" + "BusyIndicator.qml" + "Button.qml" + "ButtonGroup.qml" + "CheckBox.qml" + "CheckDelegate.qml" + "ComboBox.qml" + "Container.qml" + "Control.qml" + "DelayButton.qml" + "Dial.qml" + "Dialog.qml" + "DialogButtonBox.qml" + "Drawer.qml" + "Frame.qml" + "GroupBox.qml" + "HorizontalHeaderView.qml" + "ItemDelegate.qml" + "Label.qml" + "Menu.qml" + "MenuBar.qml" + "MenuBarItem.qml" + "MenuItem.qml" + "MenuSeparator.qml" + "Page.qml" + "PageIndicator.qml" + "Pane.qml" + "Popup.qml" + "ProgressBar.qml" + "RadioButton.qml" + "RadioDelegate.qml" + "RangeSlider.qml" + "RoundButton.qml" + "ScrollBar.qml" + "ScrollIndicator.qml" + "ScrollView.qml" + "Slider.qml" + "SpinBox.qml" + "SplitView.qml" + "StackView.qml" + "SwipeDelegate.qml" + "Switch.qml" + "SwitchDelegate.qml" + "SwipeView.qml" + "TabBar.qml" + "TabButton.qml" + "TextArea.qml" + "TextField.qml" + "ToolBar.qml" + "ToolButton.qml" + "ToolSeparator.qml" + "ToolTip.qml" + "Tumbler.qml" + "VerticalHeaderView.qml" +) +set_source_files_properties(AbstractButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Action.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ActionGroup.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ApplicationWindow.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(BusyIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Button.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ButtonGroup.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CheckBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CheckDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ComboBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Container.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Control.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(DelayButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Dial.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Dialog.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(DialogButtonBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Drawer.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Frame.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(GroupBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(HorizontalHeaderView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ItemDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Label.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Menu.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuBarItem.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuItem.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuSeparator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Page.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(PageIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Pane.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Popup.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ProgressBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RadioButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RadioDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RangeSlider.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RoundButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ScrollBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ScrollIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ScrollView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Slider.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SpinBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SplitView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(StackView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwipeDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Switch.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwitchDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwipeView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TabBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TabButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TextArea.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TextField.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolSeparator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolTip.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Tumbler.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(VerticalHeaderView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) + +qt6_target_qml_files(qtquickcontrols2plugin + FILES + ${qml_files} +) +qt_add_docs(qtquickcontrols2plugin + doc/qtquickcontrols.qdocconf +) + diff --git a/src/imports/controls/Dial.qml b/src/imports/controls/Dial.qml index cc4618a5..2fed1bca 100644 --- a/src/imports/controls/Dial.qml +++ b/src/imports/controls/Dial.qml @@ -43,9 +43,9 @@ T.Dial { id: control implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, - implicitContentWidth + leftPadding + rightPadding) || 184 // ### remove 184 in Qt 6 + implicitContentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, - implicitContentHeight + topPadding + bottomPadding) || 184 // ### remove 184 in Qt 6 + implicitContentHeight + topPadding + bottomPadding) background: DialImpl { implicitWidth: 184 diff --git a/src/imports/controls/Tumbler.qml b/src/imports/controls/Tumbler.qml index cd10263b..4d1abdd3 100644 --- a/src/imports/controls/Tumbler.qml +++ b/src/imports/controls/Tumbler.qml @@ -43,9 +43,9 @@ T.Tumbler { id: control implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, - implicitContentWidth + leftPadding + rightPadding) || 60 // ### remove 60 in Qt 6 + implicitContentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, - implicitContentHeight + topPadding + bottomPadding) || 200 // ### remove 200 in Qt 6 + implicitContentHeight + topPadding + bottomPadding) delegate: Text { text: modelData diff --git a/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-textual.qml b/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-textual.qml index daa54967..dd58b5ab 100644 --- a/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-textual.qml +++ b/src/imports/controls/doc/snippets/qtquickcontrols2-spinbox-textual.qml @@ -25,7 +25,7 @@ ** ****************************************************************************/ -import QtQuick 2.12 +import QtQuick 2.14 import QtQuick.Controls 2.12 //! [1] @@ -36,8 +36,8 @@ SpinBox { property var items: ["Small", "Medium", "Large"] - validator: RegExpValidator { - regExp: new RegExp("(Small|Medium|Large)", "i") + validator: RegularExpressionValidator { + regularExpression: new RegExp("(Small|Medium|Large)", "i") } textFromValue: function(value) { diff --git a/src/imports/controls/doc/src/qtquickcontrols2-palette.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-palette.qdoc deleted file mode 100644 index e4bac54a..00000000 --- a/src/imports/controls/doc/src/qtquickcontrols2-palette.qdoc +++ /dev/null @@ -1,107 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 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$ -** -****************************************************************************/ - -/*! - \qmlbasictype palette - \brief a palette of colors. - \target qtquickcontrols2-palette - - The \c palette type refers to a palette of colors for various roles. - - Available properties: - \table - \header - \li Property - \li Description - \row - \li \b palette.alternateBase : color - \li Used as the alternate background color in item views with alternating row colors. - \row - \li \b palette.base : color - \li Used mostly as the background color for text editor controls and items views. - It is usually white or another light color. - \row - \li \b palette.brightText : color - \li A text color that is very different from \c palette.windowText, and contrasts - well with e.g. \c palette.dark. Typically used for text that needs to be drawn - where \c palette.text, \c palette.windowText or \c palette.buttonText would - give poor contrast, such as on highlighted buttons. - \row - \li \b palette.button : color - \li The general button background color. This background can be different from - \c palette.window as some styles require a different background color for buttons. - \row - \li \b palette.buttonText : color - \li A foreground color used with the \c palette.button color. - \row - \li \b palette.dark : color - \li Darker than \c palette.button. - \row - \li \b palette.highlight : color - \li A color to indicate a selected item or the current item. - \row - \li \b palette.highlightedText : color - \li A text color that contrasts with \c palette.highlight. - \row - \li \b palette.light : color - \li Lighter than \c palette.button. - \row - \li \b palette.link : color - \li A text color used for hyperlinks. - \row - \li \b palette.linkVisited : color - \li A text color used for already visited hyperlinks. - \row - \li \b palette.mid : color - \li Between \c palette.button and \c palette.dark. - \row - \li \b palette.midlight : color - \li Between \c palette.button and \c palette.light. - \row - \li \b palette.shadow : color - \li A very dark color. - \row - \li \b palette.text : color - \li The foreground color used with \c palette.base. This is usually the same as - the \c palette.windowText, in which case it must provide good contrast with - \c palette.window and \c palette.base. - \row - \li \b palette.toolTipBase : color - \li Used as the background color for tooltips. - \row - \li \b palette.toolTipText : color - \li Used as the foreground color for tooltips. - \row - \li \b palette.window : color - \li A general background color. - \row - \li \b palette.windowText : color - \li A general foreground color. - \endtable - - \sa Control::palette, Popup::palette, ApplicationWindow::palette, QPalette::ColorRole -*/ diff --git a/src/imports/controls/fusion/.prev_CMakeLists.txt b/src/imports/controls/fusion/.prev_CMakeLists.txt new file mode 100644 index 00000000..2fb5b2a1 --- /dev/null +++ b/src/imports/controls/fusion/.prev_CMakeLists.txt @@ -0,0 +1,128 @@ +# Generated from fusion.pro. + +##################################################################### +## qtquickcontrols2fusionstyleplugin Plugin: +##################################################################### + +add_qml_module(qtquickcontrols2fusionstyleplugin + TARGET_PATH "QtQuick/Controls.2/Fusion" + URI "QtQuick.Controls.Fusion" + VERSION "2.${CMAKE_PROJECT_VERSION_MINOR}" + CLASSNAME QtQuickControls2FusionStylePlugin + DEPENDENCIES + QtQuick.Controls/2.5 + SKIP_TYPE_REGISTRATION + SOURCES + qquickfusionbusyindicator.cpp qquickfusionbusyindicator_p.h + qquickfusiondial.cpp qquickfusiondial_p.h + qquickfusionknob.cpp qquickfusionknob_p.h + qquickfusionstyle.cpp qquickfusionstyle_p.h + qquickfusiontheme.cpp qquickfusiontheme_p.h + qtquickcontrols2fusionstyleplugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +# Resources: +set(qtquickcontrols2fusionstyle_resource_files + "images/arrow.png" + "images/arrow@2x.png" + "images/arrow@3x.png" + "images/arrow@4x.png" + "images/checkmark.png" + "images/checkmark@2x.png" + "images/checkmark@3x.png" + "images/checkmark@4x.png" + "images/progressmask.png" + "images/progressmask@2x.png" + "images/progressmask@3x.png" + "images/progressmask@4x.png" +) + +add_qt_resource(qtquickcontrols2fusionstyleplugin "qtquickcontrols2fusionstyle" + PREFIX + "/qt-project.org/imports/QtQuick/Controls.2/Fusion" + FILES + ${qtquickcontrols2fusionstyle_resource_files} +) + + +#### Keys ignored in scope 1:.:.:fusion.pro:<TRUE>: +# IMPORT_NAME = "QtQuick.Controls.Fusion" +# IMPORT_VERSION = "2.$$QT_MINOR_VERSION" +# OTHER_FILES = "qmldir" "$$QML_FILES" +# TARGETPATH = "QtQuick/Controls.2/Fusion" +# _REQUIREMENTS = "qtConfig(quickcontrols2-fusion)" + +set(qml_files + "ApplicationWindow.qml" + "BusyIndicator.qml" + "Button.qml" + "ButtonPanel.qml" + "CheckBox.qml" + "CheckDelegate.qml" + "CheckIndicator.qml" + "ComboBox.qml" + "DelayButton.qml" + "Dial.qml" + "Dialog.qml" + "DialogButtonBox.qml" + "Drawer.qml" + "Frame.qml" + "GroupBox.qml" + "ItemDelegate.qml" + "Label.qml" + "Menu.qml" + "MenuBar.qml" + "MenuBarItem.qml" + "MenuItem.qml" + "MenuSeparator.qml" + "Page.qml" + "PageIndicator.qml" + "Pane.qml" + "Popup.qml" + "ProgressBar.qml" + "RadioButton.qml" + "RadioDelegate.qml" + "RadioIndicator.qml" + "RangeSlider.qml" + "RoundButton.qml" + "ScrollBar.qml" + "ScrollIndicator.qml" + "Slider.qml" + "SliderGroove.qml" + "SliderHandle.qml" + "SpinBox.qml" + "SplitView.qml" + "SwipeDelegate.qml" + "SwitchDelegate.qml" + "SwitchIndicator.qml" + "Switch.qml" + "TabBar.qml" + "TabButton.qml" + "TextArea.qml" + "TextField.qml" + "ToolBar.qml" + "ToolButton.qml" + "ToolSeparator.qml" + "ToolTip.qml" + "Tumbler.qml" +) + +qt6_target_qml_files(qtquickcontrols2fusionstyleplugin + FILES + ${qml_files} +) diff --git a/src/imports/controls/fusion/ApplicationWindow.qml b/src/imports/controls/fusion/ApplicationWindow.qml index 9079403e..30c921cb 100644 --- a/src/imports/controls/fusion/ApplicationWindow.qml +++ b/src/imports/controls/fusion/ApplicationWindow.qml @@ -43,7 +43,7 @@ import QtQuick.Controls.Fusion.impl 2.12 T.ApplicationWindow { id: window - color: palette.window + color: window.palette.window overlay.modal: Rectangle { color: Fusion.topShadow diff --git a/src/imports/controls/fusion/CMakeLists.txt b/src/imports/controls/fusion/CMakeLists.txt new file mode 100644 index 00000000..59b06842 --- /dev/null +++ b/src/imports/controls/fusion/CMakeLists.txt @@ -0,0 +1,292 @@ +# Generated from fusion.pro. + +##################################################################### +## qtquickcontrols2fusionstyleplugin Plugin: +##################################################################### + +qt_add_qml_module(qtquickcontrols2fusionstyleplugin + TARGET_PATH "QtQuick/Controls.2/Fusion" + URI "QtQuick.Controls.Fusion" + VERSION "2.${CMAKE_PROJECT_VERSION_MINOR}" + CLASSNAME QtQuickControls2FusionStylePlugin + DEPENDENCIES + QtQuick.Controls/2.5 + SKIP_TYPE_REGISTRATION + SOURCES + qquickfusionbusyindicator.cpp qquickfusionbusyindicator_p.h + qquickfusiondial.cpp qquickfusiondial_p.h + qquickfusionknob.cpp qquickfusionknob_p.h + qquickfusionstyle.cpp qquickfusionstyle_p.h + qquickfusiontheme.cpp qquickfusiontheme_p.h + qtquickcontrols2fusionstyleplugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +# Resources: +set(qtquickcontrols2fusionstyle_resource_files + "images/arrow.png" + "images/arrow@2x.png" + "images/arrow@3x.png" + "images/arrow@4x.png" + "images/checkmark.png" + "images/checkmark@2x.png" + "images/checkmark@3x.png" + "images/checkmark@4x.png" + "images/progressmask.png" + "images/progressmask@2x.png" + "images/progressmask@3x.png" + "images/progressmask@4x.png" +) + +qt_add_resource(qtquickcontrols2fusionstyleplugin "qtquickcontrols2fusionstyle" + PREFIX + "/qt-project.org/imports/QtQuick/Controls.2/Fusion" + FILES + ${qtquickcontrols2fusionstyle_resource_files} +) + + +#### Keys ignored in scope 1:.:.:fusion.pro:<TRUE>: +# IMPORT_NAME = "QtQuick.Controls.Fusion" +# IMPORT_VERSION = "2.$$QT_MINOR_VERSION" +# OTHER_FILES = "qmldir" "$$QML_FILES" +# TARGETPATH = "QtQuick/Controls.2/Fusion" +# _REQUIREMENTS = "qtConfig(quickcontrols2-fusion)" + +set(qml_files + "ApplicationWindow.qml" + "BusyIndicator.qml" + "Button.qml" + "ButtonPanel.qml" + "CheckBox.qml" + "CheckDelegate.qml" + "CheckIndicator.qml" + "ComboBox.qml" + "DelayButton.qml" + "Dial.qml" + "Dialog.qml" + "DialogButtonBox.qml" + "Drawer.qml" + "Frame.qml" + "GroupBox.qml" + "HorizontalHeaderView.qml" + "ItemDelegate.qml" + "Label.qml" + "Menu.qml" + "MenuBar.qml" + "MenuBarItem.qml" + "MenuItem.qml" + "MenuSeparator.qml" + "Page.qml" + "PageIndicator.qml" + "Pane.qml" + "Popup.qml" + "ProgressBar.qml" + "RadioButton.qml" + "RadioDelegate.qml" + "RadioIndicator.qml" + "RangeSlider.qml" + "RoundButton.qml" + "ScrollBar.qml" + "ScrollIndicator.qml" + "Slider.qml" + "SliderGroove.qml" + "SliderHandle.qml" + "SpinBox.qml" + "SplitView.qml" + "SwipeDelegate.qml" + "SwitchDelegate.qml" + "SwitchIndicator.qml" + "Switch.qml" + "TabBar.qml" + "TabButton.qml" + "TextArea.qml" + "TextField.qml" + "ToolBar.qml" + "ToolButton.qml" + "ToolSeparator.qml" + "ToolTip.qml" + "Tumbler.qml" + "VerticalHeaderView.qml" +) +set_source_files_properties(ApplicationWindow.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(BusyIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Button.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ButtonPanel.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CheckBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CheckDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CheckIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ComboBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(DelayButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Dial.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Dialog.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(DialogButtonBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Drawer.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Frame.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(GroupBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(HorizontalHeaderView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ItemDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Label.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Menu.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuBarItem.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuItem.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuSeparator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Page.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(PageIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Pane.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Popup.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ProgressBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RadioButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RadioDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RadioIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RangeSlider.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RoundButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ScrollBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ScrollIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Slider.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SliderGroove.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SliderHandle.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SpinBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SplitView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwipeDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwitchDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwitchIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Switch.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TabBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TabButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TextArea.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TextField.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolSeparator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolTip.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Tumbler.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(VerticalHeaderView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) + +qt6_target_qml_files(qtquickcontrols2fusionstyleplugin + FILES + ${qml_files} +) diff --git a/src/imports/controls/fusion/ComboBox.qml b/src/imports/controls/fusion/ComboBox.qml index d8ef1888..1eeacf8b 100644 --- a/src/imports/controls/fusion/ComboBox.qml +++ b/src/imports/controls/fusion/ComboBox.qml @@ -145,7 +145,6 @@ T.ComboBox { height: Math.min(contentItem.implicitHeight + 2, control.Window.height - topMargin - bottomMargin) topMargin: 6 bottomMargin: 6 - palette: control.palette padding: 1 contentItem: ListView { diff --git a/src/imports/controls/fusion/Dial.qml b/src/imports/controls/fusion/Dial.qml index a1337242..bf8021e5 100644 --- a/src/imports/controls/fusion/Dial.qml +++ b/src/imports/controls/fusion/Dial.qml @@ -45,14 +45,13 @@ T.Dial { id: control implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, - implicitContentWidth + leftPadding + rightPadding) || 100 // ### remove 100 in Qt 6 + implicitContentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, - implicitContentHeight + topPadding + bottomPadding) || 100 // ### remove 100 in Qt 6 + implicitContentHeight + topPadding + bottomPadding) background: DialImpl { implicitWidth: 100 implicitHeight: 100 - palette: control.palette highlight: control.visualFocus } @@ -61,7 +60,6 @@ T.Dial { y: control.background.y + control.background.height / 2 - control.handle.height / 2 width: control.width / 7 height: control.height / 7 - palette: control.palette transform: [ Translate { y: -Math.min(control.background.width, control.background.height) * 0.42 + control.handle.height diff --git a/src/imports/controls/fusion/Tumbler.qml b/src/imports/controls/fusion/Tumbler.qml index 0129f06c..c26bd145 100644 --- a/src/imports/controls/fusion/Tumbler.qml +++ b/src/imports/controls/fusion/Tumbler.qml @@ -45,9 +45,9 @@ T.Tumbler { id: control implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, - implicitContentWidth + leftPadding + rightPadding) || 60 // ### remove 60 in Qt 6 + implicitContentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, - implicitContentHeight + topPadding + bottomPadding) || 200 // ### remove 200 in Qt 6 + implicitContentHeight + topPadding + bottomPadding) delegate: Text { text: modelData diff --git a/src/imports/controls/fusion/qquickfusiondial.cpp b/src/imports/controls/fusion/qquickfusiondial.cpp index 50436634..eb6f21ad 100644 --- a/src/imports/controls/fusion/qquickfusiondial.cpp +++ b/src/imports/controls/fusion/qquickfusiondial.cpp @@ -38,6 +38,8 @@ #include <QtGui/qpainter.h> #include <QtGui/private/qmath_p.h> +#include <QtQuick/private/qquickpalette_p.h> +#include <QtQuick/private/qquickitem_p.h> QT_BEGIN_NAMESPACE @@ -60,20 +62,6 @@ void QQuickFusionDial::setHighlight(bool highlight) update(); } -QPalette QQuickFusionDial::palette() const -{ - return m_palette; -} - -void QQuickFusionDial::setPalette(const QPalette &palette) -{ - if (palette == m_palette) - return; - - m_palette = palette; - update(); -} - // based on QStyleHelper::drawDial() void QQuickFusionDial::paint(QPainter *painter) { @@ -82,7 +70,7 @@ void QQuickFusionDial::paint(QPainter *painter) if (width <= 0 || height <= 0 || !isVisible()) return; - QColor buttonColor = m_palette.button().color(); + QColor buttonColor = QQuickItemPrivate::get(this)->palette()->button(); const bool enabled = isEnabled(); qreal r = qMin(width, height) / 2.0; r -= r/50; @@ -137,7 +125,7 @@ void QQuickFusionDial::paint(QPainter *painter) painter->drawEllipse(br.adjusted(1, 1, -1, -1)); if (m_highlight) { - QColor highlight = m_palette.highlight().color(); + QColor highlight = QQuickItemPrivate::get(this)->palette()->highlight(); highlight.setHsv(highlight.hue(), qMin(160, highlight.saturation()), qMax(230, highlight.value())); diff --git a/src/imports/controls/fusion/qquickfusiondial_p.h b/src/imports/controls/fusion/qquickfusiondial_p.h index 740545d8..07c80cdb 100644 --- a/src/imports/controls/fusion/qquickfusiondial_p.h +++ b/src/imports/controls/fusion/qquickfusiondial_p.h @@ -48,7 +48,6 @@ // We mean it. // -#include <QtGui/qpalette.h> #include <QtQuick/qquickpainteditem.h> QT_BEGIN_NAMESPACE @@ -57,7 +56,6 @@ class QQuickFusionDial : public QQuickPaintedItem { Q_OBJECT Q_PROPERTY(bool highlight READ highlight WRITE setHighlight FINAL) - Q_PROPERTY(QPalette palette READ palette WRITE setPalette FINAL) public: explicit QQuickFusionDial(QQuickItem *parent = nullptr); @@ -65,14 +63,10 @@ public: bool highlight() const; void setHighlight(bool highlight); - QPalette palette() const; - void setPalette(const QPalette &palette); - void paint(QPainter *painter) override; private: bool m_highlight = false; - QPalette m_palette; }; QT_END_NAMESPACE diff --git a/src/imports/controls/fusion/qquickfusionknob.cpp b/src/imports/controls/fusion/qquickfusionknob.cpp index 9f1824a6..a641d190 100644 --- a/src/imports/controls/fusion/qquickfusionknob.cpp +++ b/src/imports/controls/fusion/qquickfusionknob.cpp @@ -38,26 +38,15 @@ #include <QtCore/qmath.h> #include <QtGui/qpainter.h> +#include <QtQuick/private/qquickpalette_p.h> +#include <QtQuick/private/qquickitem_p.h> QT_BEGIN_NAMESPACE QQuickFusionKnob::QQuickFusionKnob(QQuickItem *parent) : QQuickPaintedItem(parent) { -} - -QPalette QQuickFusionKnob::palette() const -{ - return m_palette; -} - -void QQuickFusionKnob::setPalette(const QPalette &palette) -{ - if (palette == m_palette) - return; - - m_palette = palette; - update(); + connect(this, &QQuickItem::paletteChanged, this, [this](){ update(); }); } // extracted from QStyleHelper::drawDial() @@ -68,7 +57,7 @@ void QQuickFusionKnob::paint(QPainter *painter) if (w <= 0 || h <= 0) return; - QColor color = m_palette.color(QPalette::Button); + QColor color = QQuickItemPrivate::get(this)->palette()->button(); color.setHsv(color.hue(), qMin(140, color .saturation()), qMax(180, color.value())); diff --git a/src/imports/controls/fusion/qquickfusionknob_p.h b/src/imports/controls/fusion/qquickfusionknob_p.h index 062aaf21..85e5f53e 100644 --- a/src/imports/controls/fusion/qquickfusionknob_p.h +++ b/src/imports/controls/fusion/qquickfusionknob_p.h @@ -48,7 +48,6 @@ // We mean it. // -#include <QtGui/qpalette.h> #include <QtQuick/qquickpainteditem.h> QT_BEGIN_NAMESPACE @@ -56,18 +55,11 @@ QT_BEGIN_NAMESPACE class QQuickFusionKnob : public QQuickPaintedItem { Q_OBJECT - Q_PROPERTY(QPalette palette READ palette WRITE setPalette FINAL) public: explicit QQuickFusionKnob(QQuickItem *parent = nullptr); - QPalette palette() const; - void setPalette(const QPalette &palette); - void paint(QPainter *painter) override; - -private: - QPalette m_palette; }; QT_END_NAMESPACE diff --git a/src/imports/controls/fusion/qquickfusionstyle.cpp b/src/imports/controls/fusion/qquickfusionstyle.cpp index 364f8a75..95064aa4 100644 --- a/src/imports/controls/fusion/qquickfusionstyle.cpp +++ b/src/imports/controls/fusion/qquickfusionstyle.cpp @@ -41,6 +41,8 @@ #include <QtGui/qpa/qplatformtheme.h> #include <QtGui/private/qguiapplication_p.h> +#include <QtQuick/private/qquickpalette_p.h> + QT_BEGIN_NAMESPACE QQuickFusionStyle::QQuickFusionStyle(QObject *parent) @@ -68,22 +70,22 @@ QColor QQuickFusionStyle::innerContrastLine() return QColor(255, 255, 255, 30); } -QColor QQuickFusionStyle::highlight(const QPalette &palette) +QColor QQuickFusionStyle::highlight(QQuickPalette *palette) { - return palette.color(QPalette::Highlight); + return palette->highlight(); } -QColor QQuickFusionStyle::highlightedText(const QPalette &palette) +QColor QQuickFusionStyle::highlightedText(QQuickPalette *palette) { - return palette.color(QPalette::HighlightedText); + return palette->highlightedText(); } -QColor QQuickFusionStyle::outline(const QPalette &palette) +QColor QQuickFusionStyle::outline(QQuickPalette *palette) { - return palette.window().color().darker(140); + return palette->window().darker(140); } -QColor QQuickFusionStyle::highlightedOutline(const QPalette &palette) +QColor QQuickFusionStyle::highlightedOutline(QQuickPalette *palette) { QColor highlightedOutline = highlight(palette).darker(125); if (highlightedOutline.value() > 160) @@ -91,17 +93,17 @@ QColor QQuickFusionStyle::highlightedOutline(const QPalette &palette) return highlightedOutline; } -QColor QQuickFusionStyle::tabFrameColor(const QPalette &palette) +QColor QQuickFusionStyle::tabFrameColor(QQuickPalette *palette) { return buttonColor(palette).lighter(104); } -QColor QQuickFusionStyle::buttonColor(const QPalette &palette, bool highlighted, bool down, bool hovered) +QColor QQuickFusionStyle::buttonColor(QQuickPalette *palette, bool highlighted, bool down, bool hovered) { - QColor buttonColor = palette.button().color(); + QColor buttonColor = palette->button(); int val = qGray(buttonColor.rgb()); buttonColor = buttonColor.lighter(100 + qMax(1, (180 - val)/6)); - buttonColor.setHsv(buttonColor.hue(), buttonColor.saturation() * 0.75, buttonColor.value()); + buttonColor.setHsv(buttonColor.hue(), int(buttonColor.saturation() * 0.75), buttonColor.value()); if (highlighted) buttonColor = mergedColors(buttonColor, highlightedOutline(palette).lighter(130), 90); if (!hovered) @@ -111,7 +113,7 @@ QColor QQuickFusionStyle::buttonColor(const QPalette &palette, bool highlighted, return buttonColor; } -QColor QQuickFusionStyle::buttonOutline(const QPalette &palette, bool highlighted, bool enabled) +QColor QQuickFusionStyle::buttonOutline(QQuickPalette *palette, bool highlighted, bool enabled) { QColor darkOutline = enabled && highlighted ? highlightedOutline(palette) : outline(palette); return !enabled ? darkOutline.lighter(115) : darkOutline; @@ -137,7 +139,7 @@ QColor QQuickFusionStyle::mergedColors(const QColor &colorA, const QColor &color return tmp; } -QColor QQuickFusionStyle::grooveColor(const QPalette &palette) +QColor QQuickFusionStyle::grooveColor(QQuickPalette *palette) { QColor color = buttonColor(palette); color.setHsv(color.hue(), diff --git a/src/imports/controls/fusion/qquickfusionstyle_p.h b/src/imports/controls/fusion/qquickfusionstyle_p.h index e0a99cc6..0e7526ee 100644 --- a/src/imports/controls/fusion/qquickfusionstyle_p.h +++ b/src/imports/controls/fusion/qquickfusionstyle_p.h @@ -53,6 +53,8 @@ QT_BEGIN_NAMESPACE +class QQuickPalette; + class QQuickFusionStyle : public QObject { Q_OBJECT @@ -69,17 +71,17 @@ public: static QColor topShadow(); static QColor innerContrastLine(); - Q_INVOKABLE static QColor highlight(const QPalette &palette); - Q_INVOKABLE static QColor highlightedText(const QPalette &palette); - Q_INVOKABLE static QColor outline(const QPalette &palette); - Q_INVOKABLE static QColor highlightedOutline(const QPalette &palette); - Q_INVOKABLE static QColor tabFrameColor(const QPalette &palette); - Q_INVOKABLE static QColor buttonColor(const QPalette &palette, bool highlighted = false, bool down = false, bool hovered = false); - Q_INVOKABLE static QColor buttonOutline(const QPalette &palette, bool highlighted = false, bool enabled = true); + Q_INVOKABLE static QColor highlight(QQuickPalette *palette); + Q_INVOKABLE static QColor highlightedText(QQuickPalette *palette); + Q_INVOKABLE static QColor outline(QQuickPalette *palette); + Q_INVOKABLE static QColor highlightedOutline(QQuickPalette *palette); + Q_INVOKABLE static QColor tabFrameColor(QQuickPalette *palette); + Q_INVOKABLE static QColor buttonColor(QQuickPalette *palette, bool highlighted = false, bool down = false, bool hovered = false); + Q_INVOKABLE static QColor buttonOutline(QQuickPalette *palette, bool highlighted = false, bool enabled = true); Q_INVOKABLE static QColor gradientStart(const QColor &baseColor); Q_INVOKABLE static QColor gradientStop(const QColor &baseColor); Q_INVOKABLE static QColor mergedColors(const QColor &colorA, const QColor &colorB, int factor = 50); - Q_INVOKABLE static QColor grooveColor(const QPalette &palette); + Q_INVOKABLE static QColor grooveColor(QQuickPalette *palette); }; QT_END_NAMESPACE diff --git a/src/imports/controls/fusion/qtquickcontrols2fusionstyleplugin.cpp b/src/imports/controls/fusion/qtquickcontrols2fusionstyleplugin.cpp index dcba73fe..985945cf 100644 --- a/src/imports/controls/fusion/qtquickcontrols2fusionstyleplugin.cpp +++ b/src/imports/controls/fusion/qtquickcontrols2fusionstyleplugin.cpp @@ -73,10 +73,10 @@ QtQuickControls2FusionStylePlugin::QtQuickControls2FusionStylePlugin(QObject *pa void QtQuickControls2FusionStylePlugin::registerTypes(const char *uri) { qmlRegisterModule(uri, 2, 3); // Qt 5.10->2.3 - qmlRegisterModule(uri, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(uri, 2, 15); // Qt 5.12->2.12, 5.13->2.13... QByteArray import = QByteArray(uri) + ".impl"; - qmlRegisterModule(import, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(import, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterSingletonType<QQuickFusionStyle>(import, 2, 3, "Fusion", styleSingleton); diff --git a/src/imports/controls/imagine/.prev_CMakeLists.txt b/src/imports/controls/imagine/.prev_CMakeLists.txt new file mode 100644 index 00000000..5deb1489 --- /dev/null +++ b/src/imports/controls/imagine/.prev_CMakeLists.txt @@ -0,0 +1,122 @@ +# Generated from imagine.pro. + +##################################################################### +## qtquickcontrols2imaginestyleplugin Plugin: +##################################################################### + +add_qml_module(qtquickcontrols2imaginestyleplugin + TARGET_PATH "QtQuick/Controls.2/Imagine" + URI "QtQuick.Controls.Imagine" + VERSION "2.${CMAKE_PROJECT_VERSION_MINOR}" + CLASSNAME QtQuickControls2ImagineStylePlugin + DEPENDENCIES + QtQuick.Controls/2.5 + QtGraphicalEffects/1.0 + SKIP_TYPE_REGISTRATION + SOURCES + qquickimageselector.cpp qquickimageselector_p.h + qquickimaginestyle.cpp qquickimaginestyle_p.h + qquickimaginetheme.cpp qquickimaginetheme_p.h + qquickninepatchimage.cpp qquickninepatchimage_p.h + qtquickcontrols2imaginestyleplugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +file(GLOB resource_glob_0 RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "images/*.png") +foreach(file IN LISTS resource_glob_0) + set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/${file}" PROPERTIES QT_RESOURCE_ALIAS "${file}") +endforeach() + +file(GLOB resource_glob_1 RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "images/*.webp") +foreach(file IN LISTS resource_glob_1) + set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/${file}" PROPERTIES QT_RESOURCE_ALIAS "${file}") +endforeach() + +# Resources: +set(qmake_qtquickcontrols2imaginestyle_resource_files + ${resource_glob_0} + ${resource_glob_1} +) + +add_qt_resource(qtquickcontrols2imaginestyleplugin "qmake_qtquickcontrols2imaginestyle" + PREFIX + "qt-project.org/imports/QtQuick/Controls.2/Imagine" + FILES + ${qmake_qtquickcontrols2imaginestyle_resource_files} +) + + +#### Keys ignored in scope 1:.:.:imagine.pro:<TRUE>: +# IMPORT_NAME = "QtQuick.Controls.Imagine" +# IMPORT_VERSION = "2.$$QT_MINOR_VERSION" +# OTHER_FILES = "qmldir" "$$QML_FILES" +# TARGETPATH = "QtQuick/Controls.2/Imagine" +# _REQUIREMENTS = "qtConfig(quickcontrols2-imagine)" + +set(qml_files + "ApplicationWindow.qml" + "BusyIndicator.qml" + "Button.qml" + "CheckBox.qml" + "CheckDelegate.qml" + "ComboBox.qml" + "DelayButton.qml" + "Dial.qml" + "Dialog.qml" + "DialogButtonBox.qml" + "Drawer.qml" + "Frame.qml" + "GroupBox.qml" + "ItemDelegate.qml" + "Label.qml" + "Menu.qml" + "MenuItem.qml" + "MenuSeparator.qml" + "PageIndicator.qml" + "Page.qml" + "Pane.qml" + "Popup.qml" + "ProgressBar.qml" + "RadioButton.qml" + "RadioDelegate.qml" + "RangeSlider.qml" + "RoundButton.qml" + "ScrollBar.qml" + "ScrollIndicator.qml" + "Slider.qml" + "SpinBox.qml" + "SplitView.qml" + "StackView.qml" + "SwipeDelegate.qml" + "SwipeView.qml" + "Switch.qml" + "SwitchDelegate.qml" + "TextField.qml" + "TextArea.qml" + "TabBar.qml" + "TabButton.qml" + "ToolBar.qml" + "ToolButton.qml" + "ToolSeparator.qml" + "ToolTip.qml" + "Tumbler.qml" +) + +qt6_target_qml_files(qtquickcontrols2imaginestyleplugin + FILES + ${qml_files} +) diff --git a/src/imports/controls/imagine/CMakeLists.txt b/src/imports/controls/imagine/CMakeLists.txt new file mode 100644 index 00000000..ee7e8242 --- /dev/null +++ b/src/imports/controls/imagine/CMakeLists.txt @@ -0,0 +1,268 @@ +# Generated from imagine.pro. + +##################################################################### +## qtquickcontrols2imaginestyleplugin Plugin: +##################################################################### + +qt_add_qml_module(qtquickcontrols2imaginestyleplugin + TARGET_PATH "QtQuick/Controls.2/Imagine" + URI "QtQuick.Controls.Imagine" + VERSION "2.${CMAKE_PROJECT_VERSION_MINOR}" + CLASSNAME QtQuickControls2ImagineStylePlugin + DEPENDENCIES + QtQuick.Controls/2.5 + QtGraphicalEffects/1.0 + SKIP_TYPE_REGISTRATION + SOURCES + qquickimageselector.cpp qquickimageselector_p.h + qquickimaginestyle.cpp qquickimaginestyle_p.h + qquickimaginetheme.cpp qquickimaginetheme_p.h + qquickninepatchimage.cpp qquickninepatchimage_p.h + qtquickcontrols2imaginestyleplugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +file(GLOB resource_glob_0 RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "images/*.png") +foreach(file IN LISTS resource_glob_0) + set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/${file}" PROPERTIES QT_RESOURCE_ALIAS "${file}") +endforeach() + +file(GLOB resource_glob_1 RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "images/*.webp") +foreach(file IN LISTS resource_glob_1) + set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/${file}" PROPERTIES QT_RESOURCE_ALIAS "${file}") +endforeach() + +# Resources: +set(qmake_qtquickcontrols2imaginestyle_resource_files + ${resource_glob_0} + ${resource_glob_1} +) + +qt_add_resource(qtquickcontrols2imaginestyleplugin "qmake_qtquickcontrols2imaginestyle" + PREFIX + "qt-project.org/imports/QtQuick/Controls.2/Imagine" + FILES + ${qmake_qtquickcontrols2imaginestyle_resource_files} +) + + +#### Keys ignored in scope 1:.:.:imagine.pro:<TRUE>: +# IMPORT_NAME = "QtQuick.Controls.Imagine" +# IMPORT_VERSION = "2.$$QT_MINOR_VERSION" +# OTHER_FILES = "qmldir" "$$QML_FILES" +# TARGETPATH = "QtQuick/Controls.2/Imagine" +# _REQUIREMENTS = "qtConfig(quickcontrols2-imagine)" + +set(qml_files + "ApplicationWindow.qml" + "BusyIndicator.qml" + "Button.qml" + "CheckBox.qml" + "CheckDelegate.qml" + "ComboBox.qml" + "DelayButton.qml" + "Dial.qml" + "Dialog.qml" + "DialogButtonBox.qml" + "Drawer.qml" + "Frame.qml" + "GroupBox.qml" + "HorizontalHeaderView.qml" + "ItemDelegate.qml" + "Label.qml" + "Menu.qml" + "MenuItem.qml" + "MenuSeparator.qml" + "PageIndicator.qml" + "Page.qml" + "Pane.qml" + "Popup.qml" + "ProgressBar.qml" + "RadioButton.qml" + "RadioDelegate.qml" + "RangeSlider.qml" + "RoundButton.qml" + "ScrollBar.qml" + "ScrollIndicator.qml" + "Slider.qml" + "SpinBox.qml" + "SplitView.qml" + "StackView.qml" + "SwipeDelegate.qml" + "SwipeView.qml" + "Switch.qml" + "SwitchDelegate.qml" + "TextField.qml" + "TextArea.qml" + "TabBar.qml" + "TabButton.qml" + "ToolBar.qml" + "ToolButton.qml" + "ToolSeparator.qml" + "ToolTip.qml" + "Tumbler.qml" + "VerticalHeaderView.qml" +) +set_source_files_properties(ApplicationWindow.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(BusyIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Button.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CheckBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CheckDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ComboBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(DelayButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Dial.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Dialog.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(DialogButtonBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Drawer.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Frame.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(GroupBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(HorizontalHeaderView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ItemDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Label.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Menu.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuItem.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuSeparator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(PageIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Page.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Pane.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Popup.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ProgressBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RadioButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RadioDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RangeSlider.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RoundButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ScrollBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ScrollIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Slider.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SpinBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SplitView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(StackView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwipeDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwipeView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Switch.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwitchDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TextField.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TextArea.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TabBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TabButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolSeparator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolTip.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Tumbler.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(VerticalHeaderView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) + +qt6_target_qml_files(qtquickcontrols2imaginestyleplugin + FILES + ${qml_files} +) diff --git a/src/imports/controls/imagine/Tumbler.qml b/src/imports/controls/imagine/Tumbler.qml index 12025cc5..b53b6265 100644 --- a/src/imports/controls/imagine/Tumbler.qml +++ b/src/imports/controls/imagine/Tumbler.qml @@ -45,9 +45,9 @@ T.Tumbler { id: control implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, - implicitContentWidth + leftPadding + rightPadding) || 60 // ### remove 60 in Qt 6 + implicitContentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, - implicitContentHeight + topPadding + bottomPadding) || 200 // ### remove 200 in Qt 6 + implicitContentHeight + topPadding + bottomPadding) topInset: background ? -background.topInset || 0 : 0 leftInset: background ? -background.leftInset || 0 : 0 diff --git a/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp b/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp index 71c013d5..41fd0e85 100644 --- a/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp +++ b/src/imports/controls/imagine/qtquickcontrols2imaginestyleplugin.cpp @@ -67,11 +67,11 @@ QtQuickControls2ImagineStylePlugin::QtQuickControls2ImagineStylePlugin(QObject * void QtQuickControls2ImagineStylePlugin::registerTypes(const char *uri) { - qmlRegisterModule(uri, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(uri, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterUncreatableType<QQuickImagineStyle>(uri, 2, 3, "Imagine", tr("Imagine is an attached property")); QByteArray import = QByteArray(uri) + ".impl"; - qmlRegisterModule(import, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(import, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterType<QQuickAnimatedImageSelector>(import, 2, 3, "AnimatedImageSelector"); qmlRegisterType<QQuickImageSelector>(import, 2, 3, "ImageSelector"); diff --git a/src/imports/controls/material/.prev_CMakeLists.txt b/src/imports/controls/material/.prev_CMakeLists.txt new file mode 100644 index 00000000..15fe3519 --- /dev/null +++ b/src/imports/controls/material/.prev_CMakeLists.txt @@ -0,0 +1,136 @@ +# Generated from material.pro. + +##################################################################### +## qtquickcontrols2materialstyleplugin Plugin: +##################################################################### + +add_qml_module(qtquickcontrols2materialstyleplugin + TARGET_PATH "QtQuick/Controls.2/Material" + URI "QtQuick.Controls.Material" + VERSION "2.${CMAKE_PROJECT_VERSION_MINOR}" + CLASSNAME QtQuickControls2MaterialStylePlugin + DEPENDENCIES + QtQuick.Controls/2.5 + SKIP_TYPE_REGISTRATION + SOURCES + qquickmaterialbusyindicator.cpp qquickmaterialbusyindicator_p.h + qquickmaterialprogressbar.cpp qquickmaterialprogressbar_p.h + qquickmaterialripple.cpp qquickmaterialripple_p.h + qquickmaterialstyle.cpp qquickmaterialstyle_p.h + qquickmaterialtheme.cpp qquickmaterialtheme_p.h + qtquickcontrols2materialstyleplugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +# Resources: +set(qtquickcontrols2materialstyleplugin_resource_files + "images/arrow-indicator.png" + "images/arrow-indicator@2x.png" + "images/arrow-indicator@3x.png" + "images/arrow-indicator@4x.png" + "images/check.png" + "images/check@2x.png" + "images/check@3x.png" + "images/check@4x.png" + "images/drop-indicator.png" + "images/drop-indicator@2x.png" + "images/drop-indicator@3x.png" + "images/drop-indicator@4x.png" + "shaders/+glslcore/RectangularGlow.frag" + "shaders/+hlsl/RectangularGlow.frag" + "shaders/+qsb/RectangularGlow.frag" + "shaders/RectangularGlow.frag" +) + +add_qt_resource(qtquickcontrols2materialstyleplugin "qtquickcontrols2materialstyleplugin" + PREFIX + "/qt-project.org/imports/QtQuick/Controls.2/Material" + FILES + ${qtquickcontrols2materialstyleplugin_resource_files} +) + + +#### Keys ignored in scope 1:.:.:material.pro:<TRUE>: +# IMPORT_NAME = "QtQuick.Controls.Material" +# IMPORT_VERSION = "2.$$QT_MINOR_VERSION" +# OTHER_FILES = "qmldir" "$$QML_FILES" +# TARGETPATH = "QtQuick/Controls.2/Material" +# _REQUIREMENTS = "qtConfig(quickcontrols2-material)" + +set(qml_files + "ApplicationWindow.qml" + "BoxShadow.qml" + "BusyIndicator.qml" + "Button.qml" + "CheckBox.qml" + "CheckDelegate.qml" + "CheckIndicator.qml" + "ComboBox.qml" + "CursorDelegate.qml" + "DelayButton.qml" + "Dial.qml" + "Dialog.qml" + "DialogButtonBox.qml" + "Drawer.qml" + "ElevationEffect.qml" + "Frame.qml" + "GroupBox.qml" + "ItemDelegate.qml" + "Label.qml" + "Menu.qml" + "MenuBar.qml" + "MenuBarItem.qml" + "MenuItem.qml" + "MenuSeparator.qml" + "Page.qml" + "PageIndicator.qml" + "Pane.qml" + "Popup.qml" + "ProgressBar.qml" + "RadioButton.qml" + "RadioDelegate.qml" + "RadioIndicator.qml" + "RangeSlider.qml" + "RoundButton.qml" + "RectangularGlow.qml" + "ScrollBar.qml" + "ScrollIndicator.qml" + "Slider.qml" + "SliderHandle.qml" + "SpinBox.qml" + "SplitView.qml" + "StackView.qml" + "SwipeDelegate.qml" + "SwipeView.qml" + "Switch.qml" + "SwitchDelegate.qml" + "SwitchIndicator.qml" + "TabBar.qml" + "TabButton.qml" + "TextArea.qml" + "TextField.qml" + "ToolBar.qml" + "ToolButton.qml" + "ToolSeparator.qml" + "ToolTip.qml" + "Tumbler.qml" +) + +qt6_target_qml_files(qtquickcontrols2materialstyleplugin + FILES + ${qml_files} +) diff --git a/src/imports/controls/material/CMakeLists.txt b/src/imports/controls/material/CMakeLists.txt new file mode 100644 index 00000000..1270bfc6 --- /dev/null +++ b/src/imports/controls/material/CMakeLists.txt @@ -0,0 +1,312 @@ +# Generated from material.pro. + +##################################################################### +## qtquickcontrols2materialstyleplugin Plugin: +##################################################################### + +qt_add_qml_module(qtquickcontrols2materialstyleplugin + TARGET_PATH "QtQuick/Controls.2/Material" + URI "QtQuick.Controls.Material" + VERSION "2.${CMAKE_PROJECT_VERSION_MINOR}" + CLASSNAME QtQuickControls2MaterialStylePlugin + DEPENDENCIES + QtQuick.Controls/2.5 + SKIP_TYPE_REGISTRATION + SOURCES + qquickmaterialbusyindicator.cpp qquickmaterialbusyindicator_p.h + qquickmaterialprogressbar.cpp qquickmaterialprogressbar_p.h + qquickmaterialripple.cpp qquickmaterialripple_p.h + qquickmaterialstyle.cpp qquickmaterialstyle_p.h + qquickmaterialtheme.cpp qquickmaterialtheme_p.h + qtquickcontrols2materialstyleplugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +# Resources: +set(qtquickcontrols2materialstyleplugin_resource_files + "images/arrow-indicator.png" + "images/arrow-indicator@2x.png" + "images/arrow-indicator@3x.png" + "images/arrow-indicator@4x.png" + "images/check.png" + "images/check@2x.png" + "images/check@3x.png" + "images/check@4x.png" + "images/drop-indicator.png" + "images/drop-indicator@2x.png" + "images/drop-indicator@3x.png" + "images/drop-indicator@4x.png" + "shaders/+glslcore/RectangularGlow.frag" + "shaders/+hlsl/RectangularGlow.frag" + "shaders/+qsb/RectangularGlow.frag" + "shaders/RectangularGlow.frag" +) + +qt_add_resource(qtquickcontrols2materialstyleplugin "qtquickcontrols2materialstyleplugin" + PREFIX + "/qt-project.org/imports/QtQuick/Controls.2/Material" + FILES + ${qtquickcontrols2materialstyleplugin_resource_files} +) + + +#### Keys ignored in scope 1:.:.:material.pro:<TRUE>: +# IMPORT_NAME = "QtQuick.Controls.Material" +# IMPORT_VERSION = "2.$$QT_MINOR_VERSION" +# OTHER_FILES = "qmldir" "$$QML_FILES" +# TARGETPATH = "QtQuick/Controls.2/Material" +# _REQUIREMENTS = "qtConfig(quickcontrols2-material)" + +set(qml_files + "ApplicationWindow.qml" + "BoxShadow.qml" + "BusyIndicator.qml" + "Button.qml" + "CheckBox.qml" + "CheckDelegate.qml" + "CheckIndicator.qml" + "ComboBox.qml" + "CursorDelegate.qml" + "DelayButton.qml" + "Dial.qml" + "Dialog.qml" + "DialogButtonBox.qml" + "Drawer.qml" + "ElevationEffect.qml" + "Frame.qml" + "GroupBox.qml" + "HorizontalHeaderView.qml" + "ItemDelegate.qml" + "Label.qml" + "Menu.qml" + "MenuBar.qml" + "MenuBarItem.qml" + "MenuItem.qml" + "MenuSeparator.qml" + "Page.qml" + "PageIndicator.qml" + "Pane.qml" + "Popup.qml" + "ProgressBar.qml" + "RadioButton.qml" + "RadioDelegate.qml" + "RadioIndicator.qml" + "RangeSlider.qml" + "RoundButton.qml" + "RectangularGlow.qml" + "ScrollBar.qml" + "ScrollIndicator.qml" + "Slider.qml" + "SliderHandle.qml" + "SpinBox.qml" + "SplitView.qml" + "StackView.qml" + "SwipeDelegate.qml" + "SwipeView.qml" + "Switch.qml" + "SwitchDelegate.qml" + "SwitchIndicator.qml" + "TabBar.qml" + "TabButton.qml" + "TextArea.qml" + "TextField.qml" + "ToolBar.qml" + "ToolButton.qml" + "ToolSeparator.qml" + "ToolTip.qml" + "Tumbler.qml" + "VerticalHeaderView.qml" +) +set_source_files_properties(ApplicationWindow.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(BoxShadow.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(BusyIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Button.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CheckBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CheckDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CheckIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ComboBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CursorDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(DelayButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Dial.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Dialog.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(DialogButtonBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Drawer.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ElevationEffect.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Frame.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(GroupBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(HorizontalHeaderView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ItemDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Label.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Menu.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuBarItem.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuItem.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuSeparator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Page.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(PageIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Pane.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Popup.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ProgressBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RadioButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RadioDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RadioIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RangeSlider.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RoundButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RectangularGlow.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ScrollBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ScrollIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Slider.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SliderHandle.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SpinBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SplitView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(StackView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwipeDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwipeView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Switch.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwitchDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwitchIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TabBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TabButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TextArea.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TextField.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolSeparator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolTip.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Tumbler.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(VerticalHeaderView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) + +qt6_target_qml_files(qtquickcontrols2materialstyleplugin + FILES + ${qml_files} +) diff --git a/src/imports/controls/material/Dial.qml b/src/imports/controls/material/Dial.qml index 1f80a7fe..706261fc 100644 --- a/src/imports/controls/material/Dial.qml +++ b/src/imports/controls/material/Dial.qml @@ -43,9 +43,9 @@ T.Dial { id: control implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, - implicitContentWidth + leftPadding + rightPadding) || 100 // ### remove 100 in Qt 6 + implicitContentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, - implicitContentHeight + topPadding + bottomPadding) || 100 // ### remove 100 in Qt 6 + implicitContentHeight + topPadding + bottomPadding) background: Rectangle { implicitWidth: 100 diff --git a/src/imports/controls/material/Tumbler.qml b/src/imports/controls/material/Tumbler.qml index 30d66c58..973b4a68 100644 --- a/src/imports/controls/material/Tumbler.qml +++ b/src/imports/controls/material/Tumbler.qml @@ -44,9 +44,9 @@ T.Tumbler { id: control implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, - implicitContentWidth + leftPadding + rightPadding) || 60 // ### remove 60 in Qt 6 + implicitContentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, - implicitContentHeight + topPadding + bottomPadding) || 200 // ### remove 200 in Qt 6 + implicitContentHeight + topPadding + bottomPadding) delegate: Text { text: modelData diff --git a/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp b/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp index eb0e6c87..d8cc04dd 100644 --- a/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp +++ b/src/imports/controls/material/qtquickcontrols2materialstyleplugin.cpp @@ -68,11 +68,11 @@ QtQuickControls2MaterialStylePlugin::QtQuickControls2MaterialStylePlugin(QObject void QtQuickControls2MaterialStylePlugin::registerTypes(const char *uri) { - qmlRegisterModule(uri, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(uri, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterUncreatableType<QQuickMaterialStyle>(uri, 2, 0, "Material", tr("Material is an attached property")); QByteArray import = QByteArray(uri) + ".impl"; - qmlRegisterModule(import, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(import, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterType<QQuickMaterialBusyIndicator>(import, 2, 0, "BusyIndicatorImpl"); qmlRegisterType<QQuickMaterialProgressBar>(import, 2, 0, "ProgressBarImpl"); diff --git a/src/imports/controls/qtquickcontrols2plugin.cpp b/src/imports/controls/qtquickcontrols2plugin.cpp index 9fe82ba2..6730848f 100644 --- a/src/imports/controls/qtquickcontrols2plugin.cpp +++ b/src/imports/controls/qtquickcontrols2plugin.cpp @@ -79,6 +79,7 @@ public: ~QtQuickControls2Plugin(); void registerTypes(const char *uri) override; + void unregisterTypes() override; QString name() const override; void initializeTheme(QQuickTheme *theme) override; @@ -94,7 +95,8 @@ QtQuickControls2Plugin::QtQuickControls2Plugin(QObject *parent) : QQuickStylePlu QtQuickControls2Plugin::~QtQuickControls2Plugin() { - QQuickStylePrivate::reset(); + // Intentionally empty: we use register/unregisterTypes() to do + // initialization and cleanup, as plugins are not unloaded on macOS. } static bool isDefaultStyle(const QString &style) @@ -120,13 +122,9 @@ void QtQuickControls2Plugin::registerTypes(const char *uri) stylePlugin->initializeTheme(theme); qDeleteAll(stylePlugins); - // Register the latest version, even if there are no new types or new revisions for existing types yet. - // Before Qt 5.12, we would do the following: - // - // qmlRegisterModule(uri, 2, QT_VERSION_MINOR - 7); // Qt 5.7->2.0, 5.8->2.1, 5.9->2.2... - // - // However, we want to align with the rest of Qt Quick which uses Qt's minor version. - qmlRegisterModule(uri, 2, QT_VERSION_MINOR); + // The minor version used to be the current Qt 5 minor. For compatibility it is the last + // Qt 5 release. + qmlRegisterModule(uri, 2, 15); // QtQuick.Controls 2.0 (originally introduced in Qt 5.7) qmlRegisterType(resolvedUrl(QStringLiteral("AbstractButton.qml")), uri, 2, 0, "AbstractButton"); @@ -202,14 +200,10 @@ void QtQuickControls2Plugin::registerTypes(const char *uri) qmlRegisterType(resolvedUrl(QStringLiteral("HorizontalHeaderView.qml")), uri, 2, 15, "HorizontalHeaderView"); qmlRegisterType(resolvedUrl(QStringLiteral("VerticalHeaderView.qml")), uri, 2, 15, "VerticalHeaderView"); - // Register the latest version, even if there are no new types or new revisions for existing types yet. - // Before Qt 5.12, we would do the following: - // - // qmlRegisterModule(import, 2, QT_VERSION_MINOR - 7); // Qt 5.7->2.0, 5.8->2.1, 5.9->2.2... - // - // However, we want to align with the rest of Qt Quick which uses Qt's minor version. + // The minor version used to be the current Qt 5 minor. For compatibility it is the last + // Qt 5 release. const QByteArray import = QByteArray(uri) + ".impl"; - qmlRegisterModule(import, 2, QT_VERSION_MINOR); + qmlRegisterModule(import, 2, 15); // QtQuick.Controls.impl 2.0 (Qt 5.7) qmlRegisterType<QQuickDefaultBusyIndicator>(import, 2, 0, "BusyIndicatorImpl"); @@ -246,6 +240,12 @@ void QtQuickControls2Plugin::registerTypes(const char *uri) qmlRegisterRevision<QQuickText, 6>(import, 2, 3); } +void QtQuickControls2Plugin::unregisterTypes() +{ + QQuickStylePlugin::unregisterTypes(); + QQuickStylePrivate::reset(); +} + QString QtQuickControls2Plugin::name() const { return QStringLiteral("Default"); diff --git a/src/imports/controls/universal/.prev_CMakeLists.txt b/src/imports/controls/universal/.prev_CMakeLists.txt new file mode 100644 index 00000000..f78b6e49 --- /dev/null +++ b/src/imports/controls/universal/.prev_CMakeLists.txt @@ -0,0 +1,130 @@ +# Generated from universal.pro. + +##################################################################### +## qtquickcontrols2universalstyleplugin Plugin: +##################################################################### + +add_qml_module(qtquickcontrols2universalstyleplugin + TARGET_PATH "QtQuick/Controls.2/Universal" + URI "QtQuick.Controls.Universal" + VERSION "2.${CMAKE_PROJECT_VERSION_MINOR}" + CLASSNAME QtQuickControls2UniversalStylePlugin + DEPENDENCIES + QtQuick.Controls/2.5 + SKIP_TYPE_REGISTRATION + SOURCES + qquickuniversalbusyindicator.cpp qquickuniversalbusyindicator_p.h + qquickuniversalfocusrectangle.cpp qquickuniversalfocusrectangle_p.h + qquickuniversalprogressbar.cpp qquickuniversalprogressbar_p.h + qquickuniversalstyle.cpp qquickuniversalstyle_p.h + qquickuniversaltheme.cpp qquickuniversaltheme_p.h + qtquickcontrols2universalstyleplugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +# Resources: +set(qtquickcontrols2universalstyleplugin_resource_files + "images/checkmark.png" + "images/checkmark@2x.png" + "images/checkmark@3x.png" + "images/checkmark@4x.png" + "images/downarrow.png" + "images/downarrow@2x.png" + "images/downarrow@3x.png" + "images/downarrow@4x.png" + "images/leftarrow.png" + "images/leftarrow@2x.png" + "images/leftarrow@3x.png" + "images/leftarrow@4x.png" + "images/rightarrow.png" + "images/rightarrow@2x.png" + "images/rightarrow@3x.png" + "images/rightarrow@4x.png" +) + +add_qt_resource(qtquickcontrols2universalstyleplugin "qtquickcontrols2universalstyleplugin" + PREFIX + "/qt-project.org/imports/QtQuick/Controls.2/Universal" + FILES + ${qtquickcontrols2universalstyleplugin_resource_files} +) + + +#### Keys ignored in scope 1:.:.:universal.pro:<TRUE>: +# IMPORT_NAME = "QtQuick.Controls.Universal" +# IMPORT_VERSION = "2.$$QT_MINOR_VERSION" +# OTHER_FILES = "qmldir" "$$QML_FILES" +# TARGETPATH = "QtQuick/Controls.2/Universal" +# _REQUIREMENTS = "qtConfig(quickcontrols2-universal)" + +set(qml_files + "ApplicationWindow.qml" + "BusyIndicator.qml" + "Button.qml" + "CheckBox.qml" + "CheckDelegate.qml" + "CheckIndicator.qml" + "ComboBox.qml" + "DelayButton.qml" + "Dial.qml" + "Dialog.qml" + "DialogButtonBox.qml" + "Drawer.qml" + "Frame.qml" + "GroupBox.qml" + "ItemDelegate.qml" + "Label.qml" + "Menu.qml" + "MenuBar.qml" + "MenuBarItem.qml" + "MenuItem.qml" + "MenuSeparator.qml" + "Page.qml" + "PageIndicator.qml" + "Pane.qml" + "Popup.qml" + "ProgressBar.qml" + "RadioButton.qml" + "RadioDelegate.qml" + "RadioIndicator.qml" + "RangeSlider.qml" + "RoundButton.qml" + "ScrollBar.qml" + "ScrollIndicator.qml" + "Slider.qml" + "SpinBox.qml" + "SplitView.qml" + "StackView.qml" + "SwipeDelegate.qml" + "SwitchDelegate.qml" + "SwitchIndicator.qml" + "Switch.qml" + "TabBar.qml" + "TabButton.qml" + "TextArea.qml" + "TextField.qml" + "ToolBar.qml" + "ToolButton.qml" + "ToolSeparator.qml" + "ToolTip.qml" + "Tumbler.qml" +) + +qt6_target_qml_files(qtquickcontrols2universalstyleplugin + FILES + ${qml_files} +) diff --git a/src/imports/controls/universal/CMakeLists.txt b/src/imports/controls/universal/CMakeLists.txt new file mode 100644 index 00000000..cf0464f3 --- /dev/null +++ b/src/imports/controls/universal/CMakeLists.txt @@ -0,0 +1,288 @@ +# Generated from universal.pro. + +##################################################################### +## qtquickcontrols2universalstyleplugin Plugin: +##################################################################### + +qt_add_qml_module(qtquickcontrols2universalstyleplugin + TARGET_PATH "QtQuick/Controls.2/Universal" + URI "QtQuick.Controls.Universal" + VERSION "2.${CMAKE_PROJECT_VERSION_MINOR}" + CLASSNAME QtQuickControls2UniversalStylePlugin + DEPENDENCIES + QtQuick.Controls/2.5 + SKIP_TYPE_REGISTRATION + SOURCES + qquickuniversalbusyindicator.cpp qquickuniversalbusyindicator_p.h + qquickuniversalfocusrectangle.cpp qquickuniversalfocusrectangle_p.h + qquickuniversalprogressbar.cpp qquickuniversalprogressbar_p.h + qquickuniversalstyle.cpp qquickuniversalstyle_p.h + qquickuniversaltheme.cpp qquickuniversaltheme_p.h + qtquickcontrols2universalstyleplugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +# Resources: +set(qtquickcontrols2universalstyleplugin_resource_files + "images/checkmark.png" + "images/checkmark@2x.png" + "images/checkmark@3x.png" + "images/checkmark@4x.png" + "images/downarrow.png" + "images/downarrow@2x.png" + "images/downarrow@3x.png" + "images/downarrow@4x.png" + "images/leftarrow.png" + "images/leftarrow@2x.png" + "images/leftarrow@3x.png" + "images/leftarrow@4x.png" + "images/rightarrow.png" + "images/rightarrow@2x.png" + "images/rightarrow@3x.png" + "images/rightarrow@4x.png" +) + +qt_add_resource(qtquickcontrols2universalstyleplugin "qtquickcontrols2universalstyleplugin" + PREFIX + "/qt-project.org/imports/QtQuick/Controls.2/Universal" + FILES + ${qtquickcontrols2universalstyleplugin_resource_files} +) + + +#### Keys ignored in scope 1:.:.:universal.pro:<TRUE>: +# IMPORT_NAME = "QtQuick.Controls.Universal" +# IMPORT_VERSION = "2.$$QT_MINOR_VERSION" +# OTHER_FILES = "qmldir" "$$QML_FILES" +# TARGETPATH = "QtQuick/Controls.2/Universal" +# _REQUIREMENTS = "qtConfig(quickcontrols2-universal)" + +set(qml_files + "ApplicationWindow.qml" + "BusyIndicator.qml" + "Button.qml" + "CheckBox.qml" + "CheckDelegate.qml" + "CheckIndicator.qml" + "ComboBox.qml" + "DelayButton.qml" + "Dial.qml" + "Dialog.qml" + "DialogButtonBox.qml" + "Drawer.qml" + "Frame.qml" + "GroupBox.qml" + "HorizontalHeaderView.qml" + "ItemDelegate.qml" + "Label.qml" + "Menu.qml" + "MenuBar.qml" + "MenuBarItem.qml" + "MenuItem.qml" + "MenuSeparator.qml" + "Page.qml" + "PageIndicator.qml" + "Pane.qml" + "Popup.qml" + "ProgressBar.qml" + "RadioButton.qml" + "RadioDelegate.qml" + "RadioIndicator.qml" + "RangeSlider.qml" + "RoundButton.qml" + "ScrollBar.qml" + "ScrollIndicator.qml" + "Slider.qml" + "SpinBox.qml" + "SplitView.qml" + "StackView.qml" + "SwipeDelegate.qml" + "SwitchDelegate.qml" + "SwitchIndicator.qml" + "Switch.qml" + "TabBar.qml" + "TabButton.qml" + "TextArea.qml" + "TextField.qml" + "ToolBar.qml" + "ToolButton.qml" + "ToolSeparator.qml" + "ToolTip.qml" + "Tumbler.qml" + "VerticalHeaderView.qml" +) +set_source_files_properties(ApplicationWindow.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(BusyIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Button.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CheckBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CheckDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(CheckIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ComboBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(DelayButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Dial.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Dialog.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(DialogButtonBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Drawer.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Frame.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(GroupBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(HorizontalHeaderView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ItemDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Label.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Menu.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuBarItem.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuItem.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(MenuSeparator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Page.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(PageIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Pane.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Popup.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ProgressBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RadioButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RadioDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RadioIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RangeSlider.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(RoundButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ScrollBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ScrollIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Slider.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SpinBox.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SplitView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(StackView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwipeDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwitchDelegate.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(SwitchIndicator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Switch.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TabBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TabButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TextArea.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(TextField.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolBar.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolButton.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolSeparator.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(ToolTip.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(Tumbler.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) +set_source_files_properties(VerticalHeaderView.qml PROPERTIES + QT_QML_SKIP_QMLDIR_ENTRY TRUE +) + +qt6_target_qml_files(qtquickcontrols2universalstyleplugin + FILES + ${qml_files} +) diff --git a/src/imports/controls/universal/Dial.qml b/src/imports/controls/universal/Dial.qml index f45d912e..001c5a55 100644 --- a/src/imports/controls/universal/Dial.qml +++ b/src/imports/controls/universal/Dial.qml @@ -42,9 +42,9 @@ T.Dial { id: control implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, - implicitContentWidth + leftPadding + rightPadding) || 100 // ### remove 100 in Qt 6 + implicitContentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, - implicitContentHeight + topPadding + bottomPadding) || 100 // ### remove 100 in Qt 6 + implicitContentHeight + topPadding + bottomPadding) background: Rectangle { implicitWidth: 100 diff --git a/src/imports/controls/universal/Tumbler.qml b/src/imports/controls/universal/Tumbler.qml index d0e7b12f..ebbc746d 100644 --- a/src/imports/controls/universal/Tumbler.qml +++ b/src/imports/controls/universal/Tumbler.qml @@ -44,9 +44,9 @@ T.Tumbler { id: control implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, - implicitContentWidth + leftPadding + rightPadding) || 60 // ### remove 60 in Qt 6 + implicitContentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, - implicitContentHeight + topPadding + bottomPadding) || 200 // ### remove 200 in Qt 6 + implicitContentHeight + topPadding + bottomPadding) delegate: Text { text: modelData diff --git a/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp b/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp index 7a999b79..08cd5001 100644 --- a/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp +++ b/src/imports/controls/universal/qtquickcontrols2universalstyleplugin.cpp @@ -65,11 +65,11 @@ QtQuickControls2UniversalStylePlugin::QtQuickControls2UniversalStylePlugin(QObje void QtQuickControls2UniversalStylePlugin::registerTypes(const char *uri) { - qmlRegisterModule(uri, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(uri, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterUncreatableType<QQuickUniversalStyle>(uri, 2, 0, "Universal", tr("Universal is an attached property")); QByteArray import = QByteArray(uri) + ".impl"; - qmlRegisterModule(import, 2, QT_VERSION_MINOR); // Qt 5.12->2.12, 5.13->2.13... + qmlRegisterModule(import, 2, 15); // Qt 5.12->2.12, 5.13->2.13... qmlRegisterType<QQuickUniversalFocusRectangle>(import, 2, 0, "FocusRectangle"); qmlRegisterType<QQuickUniversalBusyIndicator>(import, 2, 0, "BusyIndicatorImpl"); diff --git a/src/imports/platform/CMakeLists.txt b/src/imports/platform/CMakeLists.txt new file mode 100644 index 00000000..40001e72 --- /dev/null +++ b/src/imports/platform/CMakeLists.txt @@ -0,0 +1,101 @@ +# Generated from platform.pro. + +##################################################################### +## qtlabsplatformplugin Plugin: +##################################################################### + +qt_add_qml_module(qtlabsplatformplugin + URI "Qt.labs.platform" + VERSION "1.0" + CLASSNAME QtLabsPlatformPlugin + SKIP_TYPE_REGISTRATION + SOURCES + qquickplatformcolordialog.cpp qquickplatformcolordialog_p.h + qquickplatformdialog.cpp qquickplatformdialog_p.h + qquickplatformfiledialog.cpp qquickplatformfiledialog_p.h + qquickplatformfolderdialog.cpp qquickplatformfolderdialog_p.h + qquickplatformfontdialog.cpp qquickplatformfontdialog_p.h + qquickplatformicon.cpp qquickplatformicon_p.h + qquickplatformiconloader.cpp qquickplatformiconloader_p.h + qquickplatformmenu.cpp qquickplatformmenu_p.h + qquickplatformmenubar.cpp qquickplatformmenubar_p.h + qquickplatformmenuitem.cpp qquickplatformmenuitem_p.h + qquickplatformmenuitemgroup.cpp qquickplatformmenuitemgroup_p.h + qquickplatformmenuseparator.cpp qquickplatformmenuseparator_p.h + qquickplatformmessagedialog.cpp qquickplatformmessagedialog_p.h + qquickplatformstandardpaths.cpp qquickplatformstandardpaths_p.h + qtlabsplatformplugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +#### Keys ignored in scope 1:.:.:platform.pro:<TRUE>: +# IMPORT_VERSION = "1.0" +# OTHER_FILES = "qmldir" +# TARGETPATH = "Qt/labs/platform" + +## Scopes: +##################################################################### + +qt_extend_target(qtlabsplatformplugin CONDITION TARGET Qt::Widgets + SOURCES + widgets/qwidgetplatform_p.h + PUBLIC_LIBRARIES + Qt::Widgets +) + +qt_extend_target(qtlabsplatformplugin CONDITION QT_FEATURE_systemtrayicon AND TARGET Qt::Widgets + SOURCES + widgets/qwidgetplatformsystemtrayicon.cpp widgets/qwidgetplatformsystemtrayicon_p.h +) + +qt_extend_target(qtlabsplatformplugin CONDITION TARGET Qt::Widgets AND (QT_FEATURE_colordialog OR QT_FEATURE_filedialog OR QT_FEATURE_fontdialog OR QT_FEATURE_messagebox) + SOURCES + widgets/qwidgetplatformdialog.cpp widgets/qwidgetplatformdialog_p.h +) + +qt_extend_target(qtlabsplatformplugin CONDITION QT_FEATURE_colordialog AND TARGET Qt::Widgets + SOURCES + widgets/qwidgetplatformcolordialog.cpp widgets/qwidgetplatformcolordialog_p.h +) + +qt_extend_target(qtlabsplatformplugin CONDITION QT_FEATURE_filedialog AND TARGET Qt::Widgets + SOURCES + widgets/qwidgetplatformfiledialog.cpp widgets/qwidgetplatformfiledialog_p.h +) + +qt_extend_target(qtlabsplatformplugin CONDITION QT_FEATURE_fontdialog AND TARGET Qt::Widgets + SOURCES + widgets/qwidgetplatformfontdialog.cpp widgets/qwidgetplatformfontdialog_p.h +) + +qt_extend_target(qtlabsplatformplugin CONDITION QT_FEATURE_menu AND TARGET Qt::Widgets + SOURCES + widgets/qwidgetplatformmenu.cpp widgets/qwidgetplatformmenu_p.h + widgets/qwidgetplatformmenuitem.cpp widgets/qwidgetplatformmenuitem_p.h +) + +qt_extend_target(qtlabsplatformplugin CONDITION QT_FEATURE_messagebox AND TARGET Qt::Widgets + SOURCES + widgets/qwidgetplatformmessagedialog.cpp widgets/qwidgetplatformmessagedialog_p.h +) + +qt_extend_target(qtlabsplatformplugin CONDITION QT_FEATURE_systemtrayicon + SOURCES + qquickplatformsystemtrayicon.cpp qquickplatformsystemtrayicon_p.h +) +qt_add_docs(qtlabsplatformplugin + doc/qtlabsplatform.qdocconf +) + diff --git a/src/imports/platform/qquickplatformdialog.cpp b/src/imports/platform/qquickplatformdialog.cpp index 2a785bbc..983c2766 100644 --- a/src/imports/platform/qquickplatformdialog.cpp +++ b/src/imports/platform/qquickplatformdialog.cpp @@ -407,3 +407,5 @@ QWindow *QQuickPlatformDialog::findParentWindow() const } QT_END_NAMESPACE + +#include "moc_qquickplatformdialog_p.cpp" diff --git a/src/imports/platform/qquickplatformmenu.cpp b/src/imports/platform/qquickplatformmenu.cpp index 1f5f52d7..8954d439 100644 --- a/src/imports/platform/qquickplatformmenu.cpp +++ b/src/imports/platform/qquickplatformmenu.cpp @@ -938,3 +938,5 @@ void QQuickPlatformMenu::updateIcon() } QT_END_NAMESPACE + +#include "moc_qquickplatformmenu_p.cpp" diff --git a/src/imports/platform/qquickplatformmenubar.cpp b/src/imports/platform/qquickplatformmenubar.cpp index 99757829..592a6bfe 100644 --- a/src/imports/platform/qquickplatformmenubar.cpp +++ b/src/imports/platform/qquickplatformmenubar.cpp @@ -328,3 +328,5 @@ void QQuickPlatformMenuBar::menus_clear(QQmlListProperty<QQuickPlatformMenu> *pr } QT_END_NAMESPACE + +#include "moc_qquickplatformmenubar_p.cpp" diff --git a/src/imports/platform/qquickplatformmenuitem.cpp b/src/imports/platform/qquickplatformmenuitem.cpp index fa3fdafb..e5741b6b 100644 --- a/src/imports/platform/qquickplatformmenuitem.cpp +++ b/src/imports/platform/qquickplatformmenuitem.cpp @@ -623,3 +623,5 @@ void QQuickPlatformMenuItem::updateIcon() } QT_END_NAMESPACE + +#include "moc_qquickplatformmenuitem_p.cpp" diff --git a/src/imports/platform/qquickplatformmenuitemgroup.cpp b/src/imports/platform/qquickplatformmenuitemgroup.cpp index 7e091881..e0773bb1 100644 --- a/src/imports/platform/qquickplatformmenuitemgroup.cpp +++ b/src/imports/platform/qquickplatformmenuitemgroup.cpp @@ -388,3 +388,5 @@ void QQuickPlatformMenuItemGroup::items_clear(QQmlListProperty<QQuickPlatformMen } QT_END_NAMESPACE + +#include "moc_qquickplatformmenuitemgroup_p.cpp" diff --git a/src/imports/platform/qquickplatformsystemtrayicon.cpp b/src/imports/platform/qquickplatformsystemtrayicon.cpp index da483822..4a96b38f 100644 --- a/src/imports/platform/qquickplatformsystemtrayicon.cpp +++ b/src/imports/platform/qquickplatformsystemtrayicon.cpp @@ -482,3 +482,5 @@ void QQuickPlatformSystemTrayIcon::updateIcon() } QT_END_NAMESPACE + +#include "moc_qquickplatformsystemtrayicon_p.cpp" diff --git a/src/imports/templates/CMakeLists.txt b/src/imports/templates/CMakeLists.txt new file mode 100644 index 00000000..4e6a80c4 --- /dev/null +++ b/src/imports/templates/CMakeLists.txt @@ -0,0 +1,36 @@ +# Generated from templates.pro. + +##################################################################### +## qtquicktemplates2plugin Plugin: +##################################################################### + +qt_add_qml_module(qtquicktemplates2plugin + TARGET_PATH "QtQuick/Templates.2" + URI "QtQuick.Templates" + VERSION "2.${CMAKE_PROJECT_VERSION_MINOR}" + CLASSNAME QtQuickTemplates2Plugin + DEPENDENCIES + QtQuick.Window/2.2 + SKIP_TYPE_REGISTRATION + SOURCES + qtquicktemplates2plugin.cpp + DEFINES + QT_NO_CAST_FROM_ASCII + QT_NO_CAST_TO_ASCII + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickPrivate + Qt::QuickTemplates2Private + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick +) + +#### Keys ignored in scope 1:.:.:templates.pro:<TRUE>: +# IMPORT_VERSION = "2.$$QT_MINOR_VERSION" +# OTHER_FILES = "qmldir" +# TARGETPATH = "QtQuick/Templates.2" diff --git a/src/imports/templates/qtquicktemplates2plugin.cpp b/src/imports/templates/qtquicktemplates2plugin.cpp index 3b085c56..28ce0bf0 100644 --- a/src/imports/templates/qtquicktemplates2plugin.cpp +++ b/src/imports/templates/qtquicktemplates2plugin.cpp @@ -68,7 +68,6 @@ #include <QtQuickTemplates2/private/qquickoverlay_p.h> #include <QtQuickTemplates2/private/qquickpage_p.h> #include <QtQuickTemplates2/private/qquickpageindicator_p.h> -#include <QtQuickTemplates2/private/qquickpaletteprovider_p.h> #include <QtQuickTemplates2/private/qquickpane_p.h> #include <QtQuickTemplates2/private/qquickpopup_p.h> #include <QtQuickTemplates2/private/qquickpopupanchors_p.h> @@ -102,6 +101,8 @@ #include <QtQuickTemplates2/private/qquicktumbler_p.h> #endif +#include <QtQuick/private/qquickpalette_p.h> + #if QT_CONFIG(shortcut) // qtdeclarative/src/quick/util/qquickshortcut.cpp typedef bool (*ShortcutContextMatcher)(QObject *, Qt::ShortcutContext); @@ -111,16 +112,6 @@ extern void qt_quick_set_shortcut_context_matcher(ShortcutContextMatcher matcher QT_BEGIN_NAMESPACE -static void initProviders() -{ - QQuickPaletteProvider::init(); -} - -static void cleanupProviders() -{ - QQuickPaletteProvider::cleanup(); -} - class QtQuickTemplates2Plugin: public QQmlExtensionPlugin { Q_OBJECT @@ -131,6 +122,7 @@ public: ~QtQuickTemplates2Plugin(); void registerTypes(const char *uri) override; + void unregisterTypes() override; private: bool registered; @@ -142,34 +134,26 @@ private: QtQuickTemplates2Plugin::QtQuickTemplates2Plugin(QObject *parent) : QQmlExtensionPlugin(parent), registered(false) { -#if QT_CONFIG(shortcut) - originalContextMatcher = qt_quick_shortcut_context_matcher(); - qt_quick_set_shortcut_context_matcher(QQuickShortcutContext::matcher); -#endif } QtQuickTemplates2Plugin::~QtQuickTemplates2Plugin() { - if (registered) - cleanupProviders(); - -#if QT_CONFIG(shortcut) - qt_quick_set_shortcut_context_matcher(originalContextMatcher); -#endif + // Intentionally empty: we use register/unregisterTypes() to do + // initialization and cleanup, as plugins are not unloaded on macOS. } void QtQuickTemplates2Plugin::registerTypes(const char *uri) { +#if QT_CONFIG(shortcut) + originalContextMatcher = qt_quick_shortcut_context_matcher(); + qt_quick_set_shortcut_context_matcher(QQuickShortcutContext::matcher); +#endif + registered = true; - initProviders(); - // Register the latest version, even if there are no new types or new revisions for existing types yet. - // Before Qt 5.12, we would do the following: - // - // qmlRegisterModule(uri, 2, QT_VERSION_MINOR - 7); // Qt 5.7->2.0, 5.8->2.1, 5.9->2.2... - // - // However, we want to align with the rest of Qt Quick which uses Qt's minor version. - qmlRegisterModule(uri, 2, QT_VERSION_MINOR); + // The minor version used to be the current Qt 5 minor. For compatibility it is the last + // Qt 5 release. + qmlRegisterModule(uri, 2, 15); // QtQuick.Templates 2.0 (originally introduced in Qt 5.7) qmlRegisterType<QQuickAbstractButton>(uri, 2, 0, "AbstractButton"); @@ -287,6 +271,9 @@ void QtQuickTemplates2Plugin::registerTypes(const char *uri) qmlRegisterRevision<QQuickText, 9>(uri, 2, 2); qmlRegisterRevision<QQuickTextInput, 9>(uri, 2, 2); qmlRegisterRevision<QQuickWindowQmlImpl, 3>(uri, 2, 2); + qmlRegisterRevision<QQuickWindowQmlImpl, 3>(uri, 2, 3); + qmlRegisterRevision<QQuickWindow, 3>(uri, 2, 3); + qmlRegisterRevision<QQuickItem, 3>(uri, 2, 3); // QtQuick.Templates 2.3 (new types and revisions in Qt 5.10) qmlRegisterType<QQuickAbstractButton, 3>(uri, 2, 3, "AbstractButton"); @@ -320,6 +307,9 @@ void QtQuickTemplates2Plugin::registerTypes(const char *uri) // make revisioned properties available to their subclasses (synced with Qt 5.10) qmlRegisterRevision<QQuickText, 10>(uri, 2, 3); qmlRegisterRevision<QQuickTextEdit, 10>(uri, 2, 3); + // For backward compatibility + qmlRegisterType<QQuickColorGroup, 13>(uri, 2, 13, "ColorGroup"); + qmlRegisterType<QQuickPalette, 13>(uri, 2, 13, "Palette"); // QtQuick.Templates 2.4 (new types and revisions in Qt 5.11) qmlRegisterType<QQuickAbstractButton, 4>(uri, 2, 4, "AbstractButton"); @@ -368,6 +358,13 @@ void QtQuickTemplates2Plugin::registerTypes(const char *uri) qmlRegisterType<QQuickVerticalHeaderView>(uri, 2, 15, "VerticalHeaderView"); } +void QtQuickTemplates2Plugin::unregisterTypes() +{ +#if QT_CONFIG(shortcut) + qt_quick_set_shortcut_context_matcher(originalContextMatcher); +#endif +} + QT_END_NAMESPACE #include "qtquicktemplates2plugin.moc" |