diff --git a/quicksettings/powermenu/CMakeLists.txt b/quicksettings/powermenu/CMakeLists.txt index 1c081e83..68053676 100644 --- a/quicksettings/powermenu/CMakeLists.txt +++ b/quicksettings/powermenu/CMakeLists.txt @@ -1,16 +1,13 @@ # SPDX-FileCopyrightText: 2022 Devin Lin # SPDX-License-Identifier: GPL-2.0-or-later -set(powermenuplugin_SRCS - powermenuplugin.cpp - powermenuutil.cpp -) - -add_library(powermenuplugin ${powermenuplugin_SRCS}) - find_package(LibKWorkspace) -target_link_libraries(powermenuplugin +ecm_add_qml_module(powermenuplugin URI "org.kde.plasma.quicksetting.powermenu" GENERATE_PLUGIN_SOURCE) + +target_sources(powermenuplugin PRIVATE powermenuutil.cpp) + +target_link_libraries(powermenuplugin PRIVATE Qt::Core Qt::Qml Qt::Quick @@ -18,11 +15,7 @@ target_link_libraries(powermenuplugin PW::KWorkspace ) -set_property(TARGET powermenuplugin PROPERTY LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/plasma/quicksetting/powermenu) -file(COPY qmldir DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/plasma/quicksetting/powermenu) - -install(TARGETS powermenuplugin DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/plasma/quicksetting/powermenu) -install(FILES qmldir ${qml_SRC} DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/plasma/quicksetting/powermenu) +ecm_finalize_qml_module(powermenuplugin) plasma_install_package(package org.kde.plasma.quicksetting.powermenu quicksettings) diff --git a/quicksettings/powermenu/package/contents/ui/main.qml b/quicksettings/powermenu/package/contents/ui/main.qml index f8305078..74a7da93 100644 --- a/quicksettings/powermenu/package/contents/ui/main.qml +++ b/quicksettings/powermenu/package/contents/ui/main.qml @@ -4,7 +4,7 @@ * SPDX-License-Identifier: LGPL-2.0-or-later */ -import org.kde.plasma.quicksetting.powermenu 1.0 as PowerMenu +import org.kde.plasma.quicksetting.powermenu as PowerMenu import org.kde.plasma.private.mobileshell.quicksettingsplugin as QS QS.QuickSetting { diff --git a/quicksettings/powermenu/powermenuplugin.cpp b/quicksettings/powermenu/powermenuplugin.cpp deleted file mode 100644 index f8b83cf2..00000000 --- a/quicksettings/powermenu/powermenuplugin.cpp +++ /dev/null @@ -1,23 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022 by Devin Lin - * - * SPDX-License-Identifier: GPL-2.0-or-later - */ - -#include "powermenuplugin.h" - -#include -#include - -#include "powermenuutil.h" - -void PowerMenuPlugin::registerTypes(const char *uri) -{ - Q_ASSERT(QLatin1String(uri) == QLatin1String("org.kde.plasma.quicksetting.powermenu")); - - qmlRegisterSingletonType(uri, 1, 0, "PowerMenuUtil", [](QQmlEngine *, QJSEngine *) { - return new PowerMenuUtil; - }); -} - -//#include "moc_powermenuplugin.cpp" diff --git a/quicksettings/powermenu/powermenuplugin.h b/quicksettings/powermenu/powermenuplugin.h deleted file mode 100644 index c4c72fce..00000000 --- a/quicksettings/powermenu/powermenuplugin.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022 by Devin Lin - * - * SPDX-License-Identifier: GPL-2.0-or-later - */ - -#pragma once - -#include - -#include -#include - -class PowerMenuPlugin : public QQmlExtensionPlugin -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") - -public: - void registerTypes(const char *uri) override; -}; diff --git a/quicksettings/powermenu/powermenuutil.h b/quicksettings/powermenu/powermenuutil.h index 484edf8c..fc5fa131 100644 --- a/quicksettings/powermenu/powermenuutil.h +++ b/quicksettings/powermenu/powermenuutil.h @@ -7,10 +7,13 @@ #pragma once #include +#include class PowerMenuUtil : public QObject { Q_OBJECT + QML_ELEMENT + QML_SINGLETON public: PowerMenuUtil(QObject *parent = nullptr); diff --git a/quicksettings/powermenu/qmldir b/quicksettings/powermenu/qmldir deleted file mode 100644 index bf9028bd..00000000 --- a/quicksettings/powermenu/qmldir +++ /dev/null @@ -1,6 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Devin Lin -# SPDX-License-Identifier: GPL-2.0-or-later - -module org.kde.plasma.quicksetting.powermenu -plugin powermenuplugin -classname PowerMenuPlugin