[utilities/kdebugsettings] /: USe ecm_add_qml_module

Laurent Montel <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit b769e3c080598ed29b889d54c649efe506f92472 by Laurent Montel.
Committed on 20/07/2026 at 18:35.
Pushed by mlaurent into branch 'master'.

USe ecm_add_qml_module

M  +2    -0    CMakeLists.txt
M  +32   -12   src/quickapps/CMakeLists.txt
M  +3    -2    src/quickapps/main.cpp
R  +1    -1    src/quickapps/qml/AboutPage.qml [from: src/quickapps/contents/ui/AboutPage.qml - 088% similarity]
R  +0    -0    src/quickapps/qml/ActionMenuItem.qml [from: src/quickapps/contents/ui/ActionMenuItem.qml - 100% similarity]
R  +1    -1    src/quickapps/qml/CustomRulesPage.qml [from: src/quickapps/contents/ui/CustomRulesPage.qml - 098% similarity]
R  +1    -1    src/quickapps/qml/EditCustomRuleDialog.qml [from: src/quickapps/contents/ui/EditCustomRuleDialog.qml - 097% similarity]
R  +1    -1    src/quickapps/qml/EnvironmentVariableRulesPage.qml [from: src/quickapps/contents/ui/EnvironmentVariableRulesPage.qml - 095% similarity]
R  +0    -0    src/quickapps/qml/GlobalMenu.qml [from: src/quickapps/contents/ui/GlobalMenu.qml - 100% similarity]
R  +1    -1    src/quickapps/qml/KDEApplicationRulesPage.qml [from: src/quickapps/contents/ui/KDEApplicationRulesPage.qml - 098% similarity]
R  +5    -5    src/quickapps/qml/Main.qml [from: src/quickapps/contents/ui/main.qml - 084% similarity]
R  +0    -0    src/quickapps/qml/MainPage.qml [from: src/quickapps/contents/ui/MainPage.qml - 100% similarity]
D  +0    -17   src/quickapps/resources.qrc

https://invent.kde.org/utilities/kdebugsettings/-/commit/b769e3c080598ed29b889d54c649efe506f92472

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7e2fbcc4..cf49d5f0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -160,6 +160,8 @@ if(BUILD_QUICK_VERSION)
             Quick
             QuickControls2
     )
+    include(ECMQmlModule)
+
     if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
         add_definitions(-DQT_QML_DEBUG)
     endif()
diff --git a/src/quickapps/CMakeLists.txt b/src/quickapps/CMakeLists.txt
index 844ed1ba..fc1bce98 100644
--- a/src/quickapps/CMakeLists.txt
+++ b/src/quickapps/CMakeLists.txt
@@ -6,8 +6,27 @@ target_sources(
     kdebugsettingsquick
     PRIVATE
         main.cpp
-        resources.qrc
+    #resources.qrc
 )
+
+ecm_add_qml_module(kdebugsettingsquick
+    URI "org.kde.kdebugsettings" GENERATE_PLUGIN_SOURCE DEPENDENCIES QtQuick
+)
+
+ecm_target_qml_sources(kdebugsettingsquick SOURCES
+    qml/AboutPage.qml
+    qml/ActionMenuItem.qml
+    qml/CustomRulesPage.qml
+    qml/EditCustomRuleDialog.qml
+    qml/EnvironmentVariableRulesPage.qml
+    qml/GlobalMenu.qml
+    qml/KDEApplicationRulesPage.qml
+    qml/MainPage.qml
+    qml/Main.qml
+)
+
+ecm_finalize_qml_module(kdebugsettingsquick)
+
 if(COMPILE_WITH_UNITY_CMAKE_SUPPORT)
     set_target_properties(
         kdebugsettingsquick
@@ -19,21 +38,22 @@ endif()
 
 target_link_libraries(
     kdebugsettingsquick
-    KF6::I18n
-    KF6::CoreAddons
-    libkdebugsettingscore
-    Qt::Quick
-    Qt::QuickControls2
-    Qt::Widgets
-    KF6::IconThemes
-    KF6::ConfigWidgets
+    PRIVATE
+        KF6::I18n
+        KF6::CoreAddons
+        libkdebugsettingscore
+        Qt::Quick
+        Qt::QuickControls2
+        Qt::Widgets
+        KF6::IconThemes
+        KF6::ConfigWidgets
 )
 if(TARGET KF6::DBusAddons)
-    target_link_libraries(kdebugsettingsquick KF6::DBusAddons)
+    target_link_libraries(kdebugsettingsquick PRIVATE KF6::DBusAddons)
 else()
-    target_link_libraries(kdebugsettingsquick KDAB::kdsingleapplication)
+    target_link_libraries(kdebugsettingsquick PRIVATE KDAB::kdsingleapplication)
 endif()
-target_link_libraries(kdebugsettingsquick KF6::I18nQml)
+target_link_libraries(kdebugsettingsquick PRIVATE KF6::I18nQml)
 
 install(
     TARGETS
diff --git a/src/quickapps/main.cpp b/src/quickapps/main.cpp
index c284bec0..89d1ef7f 100644
--- a/src/quickapps/main.cpp
+++ b/src/quickapps/main.cpp
@@ -131,10 +131,11 @@ int main(int argc, char **argv)
             return engine->toScriptValue(KAboutData::applicationData());
         });
         engine.rootContext()->setContextObject(new KLocalizedQmlContext(&engine));
-        engine.load(QUrl(u"qrc:///main.qml"_s));
+        engine.loadFromModule("org.kde.kdebugsettings", "Main");
+
         // Exit on QML load error.
         if (engine.rootObjects().isEmpty()) {
-            qWarning() << " Error during loading main.qml";
+            qWarning() << " Error during loading Main.qml";
             return 1;
         }
         return app.exec();
diff --git a/src/quickapps/contents/ui/AboutPage.qml b/src/quickapps/qml/AboutPage.qml
similarity index 88%
rename from src/quickapps/contents/ui/AboutPage.qml
rename to src/quickapps/qml/AboutPage.qml
index 7923fe4f..9200783f 100644
--- a/src/quickapps/contents/ui/AboutPage.qml
+++ b/src/quickapps/qml/AboutPage.qml
@@ -3,7 +3,7 @@
 
 import QtQuick
 import org.kde.kirigami as Kirigami
-import org.kde.kdebugsettings 1.0
+import org.kde.kdebugsettings
 import org.kde.kirigamiaddons.formcard 1.0 as FormCard
 
 FormCard.AboutPage {
diff --git a/src/quickapps/contents/ui/ActionMenuItem.qml b/src/quickapps/qml/ActionMenuItem.qml
similarity index 100%
rename from src/quickapps/contents/ui/ActionMenuItem.qml
rename to src/quickapps/qml/ActionMenuItem.qml
diff --git a/src/quickapps/contents/ui/CustomRulesPage.qml b/src/quickapps/qml/CustomRulesPage.qml
similarity index 98%
rename from src/quickapps/contents/ui/CustomRulesPage.qml
rename to src/quickapps/qml/CustomRulesPage.qml
index 50936fd9..2bf3fac0 100644
--- a/src/quickapps/contents/ui/CustomRulesPage.qml
+++ b/src/quickapps/qml/CustomRulesPage.qml
@@ -7,7 +7,7 @@ import QtQuick.Controls as QQC2
 import org.kde.kirigami as Kirigami
 import org.kde.kirigamiaddons.delegates 1.0 as Delegates
 
-import org.kde.kdebugsettings 1.0
+import org.kde.kdebugsettings
 
 Kirigami.ScrollablePage {
     id: page2
diff --git a/src/quickapps/contents/ui/EditCustomRuleDialog.qml b/src/quickapps/qml/EditCustomRuleDialog.qml
similarity index 97%
rename from src/quickapps/contents/ui/EditCustomRuleDialog.qml
rename to src/quickapps/qml/EditCustomRuleDialog.qml
index 81a09fae..143ae98b 100644
--- a/src/quickapps/contents/ui/EditCustomRuleDialog.qml
+++ b/src/quickapps/qml/EditCustomRuleDialog.qml
@@ -4,7 +4,7 @@ import QtQuick
 import org.kde.kirigami as Kirigami
 import QtQuick.Controls as QQC2
 import QtQuick.Layouts
-import org.kde.kdebugsettings 1.0
+import org.kde.kdebugsettings
 Kirigami.Dialog {
     id: dialog
     title: i18n("Edit Custom Rule")
diff --git a/src/quickapps/contents/ui/EnvironmentVariableRulesPage.qml b/src/quickapps/qml/EnvironmentVariableRulesPage.qml
similarity index 95%
rename from src/quickapps/contents/ui/EnvironmentVariableRulesPage.qml
rename to src/quickapps/qml/EnvironmentVariableRulesPage.qml
index d583bcd9..f89ed535 100644
--- a/src/quickapps/contents/ui/EnvironmentVariableRulesPage.qml
+++ b/src/quickapps/qml/EnvironmentVariableRulesPage.qml
@@ -5,7 +5,7 @@ import QtQuick
 import QtQuick.Layouts
 import QtQuick.Controls as QQC2
 import org.kde.kirigami as Kirigami
-import org.kde.kdebugsettings 1.0
+import org.kde.kdebugsettings
 
 Kirigami.Page {
     id: root
diff --git a/src/quickapps/contents/ui/GlobalMenu.qml b/src/quickapps/qml/GlobalMenu.qml
similarity index 100%
rename from src/quickapps/contents/ui/GlobalMenu.qml
rename to src/quickapps/qml/GlobalMenu.qml
diff --git a/src/quickapps/contents/ui/KDEApplicationRulesPage.qml b/src/quickapps/qml/KDEApplicationRulesPage.qml
similarity index 98%
rename from src/quickapps/contents/ui/KDEApplicationRulesPage.qml
rename to src/quickapps/qml/KDEApplicationRulesPage.qml
index d0eac386..856bd3b7 100644
--- a/src/quickapps/contents/ui/KDEApplicationRulesPage.qml
+++ b/src/quickapps/qml/KDEApplicationRulesPage.qml
@@ -6,7 +6,7 @@ import QtQuick.Layouts
 import QtQuick.Controls as QQC2
 import org.kde.kirigami as Kirigami
 
-import org.kde.kdebugsettings 1.0
+import org.kde.kdebugsettings
 import org.kde.kirigamiaddons.delegates as Delegates
 Kirigami.ScrollablePage {
     id: page
diff --git a/src/quickapps/contents/ui/main.qml b/src/quickapps/qml/Main.qml
similarity index 84%
rename from src/quickapps/contents/ui/main.qml
rename to src/quickapps/qml/Main.qml
index 9b05e169..3a9aad10 100644
--- a/src/quickapps/contents/ui/main.qml
+++ b/src/quickapps/qml/Main.qml
@@ -5,7 +5,7 @@ import QtQuick
 import QtQuick.Controls as QQC2
 import org.kde.kirigami as Kirigami
 
-import org.kde.kdebugsettings 1.0
+import org.kde.kdebugsettings
 
 Kirigami.ApplicationWindow {
     id: root
@@ -26,24 +26,24 @@ Kirigami.ApplicationWindow {
     Kirigami.Action {
         id: goToKdeApplicationCategories
         text: i18nc("@action", "Show KDE Application Categories")
-        onTriggered: { pageStack.layers.push("qrc:/KDEApplicationRulesPage.qml") }
+        onTriggered: { pageStack.layers.push(Qt.resolvedUrl("KDEApplicationRulesPage.qml")) }
     }
     Kirigami.Action {
         id: goToCustomCategories
         text: i18nc("@action", "Show Custom Categories")
-        onTriggered: { pageStack.layers.push("qrc:/CustomRulesPage.qml") }
+        onTriggered: { pageStack.layers.push(Qt.resolvedUrl("CustomRulesPage.qml")) }
     }
     Kirigami.Action {
         id: goToEnviromnentCategories
         text: i18nc("@action", "Show Environment Categories")
-        onTriggered: { pageStack.layers.push("qrc:/EnvironmentVariableRulesPage.qml") }
+        onTriggered: { pageStack.layers.push(Qt.resolvedUrl("EnvironmentVariableRulesPage.qml")) }
     }
     Kirigami.Action {
         id: aboutAction
         displayHint: Kirigami.DisplayHint.AlwaysHide
         icon.name: "debug-run"
         text: i18nc("@action opens about app page", "About")
-        onTriggered: { pageStack.layers.push("qrc:/AboutPage.qml") }
+        onTriggered: { pageStack.layers.push(Qt.resolvedUrl("AboutPage.qml")) }
     }
 
     Kirigami.Action {
diff --git a/src/quickapps/contents/ui/MainPage.qml b/src/quickapps/qml/MainPage.qml
similarity index 100%
rename from src/quickapps/contents/ui/MainPage.qml
rename to src/quickapps/qml/MainPage.qml
diff --git a/src/quickapps/resources.qrc b/src/quickapps/resources.qrc
deleted file mode 100644
index c0d24141..00000000
--- a/src/quickapps/resources.qrc
+++ /dev/null
@@ -1,17 +0,0 @@
-<!--
-    SPDX-FileCopyrightText: Laurent Montel <[email protected]>
-    SPDX-License-Identifier: CC0-1.0
--->
-<RCC>
-    <qresource prefix="/">
-        <file alias="main.qml">contents/ui/main.qml</file>
-        <file alias="MainPage.qml">contents/ui/MainPage.qml</file>
-        <file alias="AboutPage.qml">contents/ui/AboutPage.qml</file>
-        <file alias="GlobalMenu.qml">contents/ui/GlobalMenu.qml</file>
-        <file alias="ActionMenuItem.qml">contents/ui/ActionMenuItem.qml</file>
-        <file alias="CustomRulesPage.qml">contents/ui/CustomRulesPage.qml</file>
-        <file alias="EnvironmentVariableRulesPage.qml">contents/ui/EnvironmentVariableRulesPage.qml</file>
-        <file alias="KDEApplicationRulesPage.qml">contents/ui/KDEApplicationRulesPage.qml</file>
-        <file alias="EditCustomRuleDialog.qml">contents/ui/EditCustomRuleDialog.qml</file>
-    </qresource>
-</RCC>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.