[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>