From c0c3066d25678a92bcb2932b6595d019e9613d27 Mon Sep 17 00:00:00 2001 From: Dan Ackers Date: Mon, 21 Jun 2021 11:19:40 +0300 Subject: Port qtdeviceutilities to use declarative types Task-number: QTBUG-94426 Change-Id: I9ac17f38eccff96e25a6c1d40998b222d349274d Reviewed-by: Teemu Holappa --- src/settingsui/settingsuiplugin/CMakeLists.txt | 45 +++++++++---------- src/settingsui/settingsuiplugin/icons.qrc | 12 ----- src/settingsui/settingsuiplugin/plugin.cpp | 34 +------------- src/settingsui/settingsuiplugin/plugin_p.h | 56 ++++++++++++++++++++++++ src/settingsui/settingsuiplugin/plugins.qmltypes | 32 -------------- src/settingsui/settingsuiplugin/qmldir | 4 -- src/settingsui/settingsuiplugin/settingsui.qrc | 31 ------------- 7 files changed, 80 insertions(+), 134 deletions(-) delete mode 100644 src/settingsui/settingsuiplugin/icons.qrc create mode 100644 src/settingsui/settingsuiplugin/plugin_p.h delete mode 100644 src/settingsui/settingsuiplugin/plugins.qmltypes delete mode 100644 src/settingsui/settingsuiplugin/qmldir delete mode 100644 src/settingsui/settingsuiplugin/settingsui.qrc (limited to 'src/settingsui/settingsuiplugin') diff --git a/src/settingsui/settingsuiplugin/CMakeLists.txt b/src/settingsui/settingsuiplugin/CMakeLists.txt index 0f72bc0..6ab5bf7 100644 --- a/src/settingsui/settingsuiplugin/CMakeLists.txt +++ b/src/settingsui/settingsuiplugin/CMakeLists.txt @@ -1,27 +1,7 @@ ##################################################################### ## settingsuiplugin Plugin: ##################################################################### - -qt_internal_add_qml_module(settingsuiplugin - URI "QtDeviceUtilities.SettingsUI" - VERSION "${CMAKE_PROJECT_VERSION}" - CLASS_NAME SettingsUIQmlPlugin - PLUGIN_TARGET settingsuiplugin - NO_GENERATE_PLUGIN_SOURCE - NO_PLUGIN_OPTIONAL - NO_GENERATE_QMLTYPES - INSTALL_SOURCE_QMLTYPES "plugins.qmltypes" - SOURCES - plugin.cpp - PUBLIC_LIBRARIES - Qt::Core - Qt::Gui - Qt::Qml - Qt::Quick -) - -# Resources: -set(settingsui_resource_files +set(settingsui_qml_files "../common/CustomSwitch.qml" "../common/CustomTableView.qml" "../common/HandwritingModeButton.qml" @@ -40,6 +20,28 @@ set(settingsui_resource_files "SettingsDelegate.qml" "SettingsHeader.qml" "SettingsTitleItem.qml" + "pluginMain.qml" +) + +qt_internal_add_qml_module(settingsuiplugin + URI "QtDeviceUtilities.SettingsUI" + VERSION "${CMAKE_PROJECT_VERSION}" + PLUGIN_TARGET settingsuiplugin + PAST_MAJOR_VERSIONS 2 + SOURCES + plugin.cpp + plugin_p.h + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick + QML_FILES + ${settingsui_qml_files} +) + +# Resources: +set(settingsui_resource_files "icons/Alert_yellow_1x.png" "icons/FloatingButton_Active.png" "icons/FloatingButton_Available.png" @@ -48,7 +50,6 @@ set(settingsui_resource_files "icons/Wifi_lightgray_2x.png" "newIcons/back_icon.svg" "newIcons/network_icon.svg" - "pluginMain.qml" ) qt_internal_add_resource(settingsuiplugin "settingsui" diff --git a/src/settingsui/settingsuiplugin/icons.qrc b/src/settingsui/settingsuiplugin/icons.qrc deleted file mode 100644 index c6944ca..0000000 --- a/src/settingsui/settingsuiplugin/icons.qrc +++ /dev/null @@ -1,12 +0,0 @@ - - - icons/Alert_yellow_1x.png - icons/FloatingButton_Active.png - icons/FloatingButton_Available.png - icons/FloatingButton_Unavailable.png - icons/WifiAnim_black_2x.png - icons/Wifi_lightgray_2x.png - newIcons/back_icon.svg - newIcons/network_icon.svg - - diff --git a/src/settingsui/settingsuiplugin/plugin.cpp b/src/settingsui/settingsuiplugin/plugin.cpp index 3ea37ad..8ac64e1 100644 --- a/src/settingsui/settingsuiplugin/plugin.cpp +++ b/src/settingsui/settingsuiplugin/plugin.cpp @@ -26,17 +26,7 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ -#include -#include - -static void initResources() -{ -#ifdef QT_STATIC - Q_INIT_RESOURCE(qmake_QtDeviceUtilities_SettingsUI); -#endif - Q_INIT_RESOURCE(settingsui); -} - +#include "plugin_p.h" /*! \qmlmodule QtDeviceUtilities.SettingsUI \title Qt Device Utilities: Settings UI @@ -80,25 +70,3 @@ static void initResources() There is no need to import the various \c {DeviceUtilities.*} modules and to declare a custom settings UI, unless specifically required. */ - -QT_BEGIN_NAMESPACE - -class SettingsUIQmlPlugin : public QQmlExtensionPlugin -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") - -public: - SettingsUIQmlPlugin(QObject *parent = nullptr) : QQmlExtensionPlugin(parent) { initResources(); } - void registerTypes(const char *uri) override - { - // @uri QtDeviceUtilities.SettingsUI - Q_ASSERT(uri == QLatin1String("QtDeviceUtilities.SettingsUI")); - qmlRegisterType(QUrl("qrc:/pluginMain.qml"), uri, 2, 0, "SettingsUI"); - } - -}; - -QT_END_NAMESPACE - -#include "plugin.moc" diff --git a/src/settingsui/settingsuiplugin/plugin_p.h b/src/settingsui/settingsuiplugin/plugin_p.h new file mode 100644 index 0000000..46f2119 --- /dev/null +++ b/src/settingsui/settingsuiplugin/plugin_p.h @@ -0,0 +1,56 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Device Utilities module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL$ +** 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 General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef SETTINGSUIPLUGIN_H +#define SETTINGSUIPLUGIN_H +#include +#include + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists for the convenience +// of other Qt classes. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +QT_BEGIN_NAMESPACE + +struct SettingsUiComponent +{ + Q_GADGET + QML_NAMED_ELEMENT(SettingsUI) + QML_ADDED_IN_VERSION(2, 0) +}; + +QT_END_NAMESPACE + +#endif //SETTINGSUIPLUGIN_H diff --git a/src/settingsui/settingsuiplugin/plugins.qmltypes b/src/settingsui/settingsuiplugin/plugins.qmltypes deleted file mode 100644 index a3bdbd9..0000000 --- a/src/settingsui/settingsuiplugin/plugins.qmltypes +++ /dev/null @@ -1,32 +0,0 @@ -import QtQuick.tooling 1.2 - -// This file describes the plugin-supplied types contained in the library. -// It is used for QML tooling purposes only. -// -// This file was auto-generated by: -// 'qmlplugindump -nonrelocatable QtDeviceUtilities.SettingsUI 1.0' - -Module { - dependencies: ["QtQuick 2.8"] - Component { - prototype: "QQuickRectangle" - name: "QtDeviceUtilities.SettingsUI/SettingsUI 1.0" - exports: ["QtDeviceUtilities.SettingsUI/SettingsUI 1.0"] - exportMetaObjectRevisions: [0] - isComposite: true - defaultProperty: "data" - Property { name: "__initialized"; type: "bool" } - Property { name: "service"; type: "QVariant" } - Property { name: "margin"; type: "int" } - Property { name: "spacing"; type: "int" } - Property { name: "titleFontSize"; type: "int" } - Property { name: "subTitleFontSize"; type: "int" } - Property { name: "valueFontSize"; type: "int" } - Property { name: "fieldHeight"; type: "int" } - Property { name: "fieldTextHeight"; type: "int" } - Property { name: "buttonHeight"; type: "int" } - Property { name: "model"; type: "QUrl" } - Signal { name: "closed" } - Method { name: "init"; type: "QVariant" } - } -} diff --git a/src/settingsui/settingsuiplugin/qmldir b/src/settingsui/settingsuiplugin/qmldir deleted file mode 100644 index 88d0e45..0000000 --- a/src/settingsui/settingsuiplugin/qmldir +++ /dev/null @@ -1,4 +0,0 @@ -module QtDeviceUtilities.SettingsUI -plugin settingsuiplugin -classname SettingsUIQmlPlugin -typeinfo plugins.qmltypes diff --git a/src/settingsui/settingsuiplugin/settingsui.qrc b/src/settingsui/settingsuiplugin/settingsui.qrc deleted file mode 100644 index 7c8b661..0000000 --- a/src/settingsui/settingsuiplugin/settingsui.qrc +++ /dev/null @@ -1,31 +0,0 @@ - - - pluginMain.qml - ../common/CustomTableView.qml - ../common/HandwritingModeButton.qml - ../network/AddressListEntry.qml - ../network/ComboBoxEntry.qml - ../network/EditWiredSettings.qml - ../network/IpAddressTextField.qml - ../network/NetworkDetails.qml - ../network/NetworkSettings.qml - ../network/WifiSelectorDelegate.qml - ../network/WifiSettings.qml - ../network/WifiSignalMonitor.qml - ../network/WiredSettings.qml - ../common/CustomSwitch.qml - ../network/NetworkListView.qml - ../network/PassphraseEnter.qml - SettingsHeader.qml - SettingsDelegate.qml - SettingsTitleItem.qml - icons/Alert_yellow_1x.png - icons/FloatingButton_Active.png - icons/FloatingButton_Available.png - icons/FloatingButton_Unavailable.png - icons/WifiAnim_black_2x.png - icons/Wifi_lightgray_2x.png - newIcons/back_icon.svg - newIcons/network_icon.svg - - -- cgit v1.2.3