From 1a89b84917b7706e212242259a19f4317c8c160f Mon Sep 17 00:00:00 2001 From: Nicolas Fella Date: Fri, 18 Apr 2025 22:13:55 +0200 Subject: [PATCH] Port record to declarative type registration --- quicksettings/record/CMakeLists.txt | 14 ++++------- .../record/package/contents/ui/main.qml | 2 +- quicksettings/record/qmldir | 7 ------ quicksettings/record/recordplugin.cpp | 23 ------------------- quicksettings/record/recordplugin.h | 21 ----------------- quicksettings/record/recordutil.h | 3 +++ 6 files changed, 8 insertions(+), 62 deletions(-) delete mode 100644 quicksettings/record/qmldir delete mode 100644 quicksettings/record/recordplugin.cpp delete mode 100644 quicksettings/record/recordplugin.h diff --git a/quicksettings/record/CMakeLists.txt b/quicksettings/record/CMakeLists.txt index c64c8f4b..72b3e52b 100644 --- a/quicksettings/record/CMakeLists.txt +++ b/quicksettings/record/CMakeLists.txt @@ -1,14 +1,11 @@ # SPDX-FileCopyrightText: 2022 Devin Lin # SPDX-License-Identifier: GPL-2.0-or-later -set(recordplugin_SRCS - recordplugin.cpp - recordutil.cpp -) +ecm_add_qml_module(recordplugin URI "org.kde.plasma.quicksetting.record" GENERATE_PLUGIN_SOURCE) -add_library(recordplugin ${recordplugin_SRCS}) +target_sources(recordplugin PRIVATE recordutil.cpp) -target_link_libraries(recordplugin +target_link_libraries(recordplugin PRIVATE Qt::Core Qt::DBus Qt::Qml @@ -20,11 +17,8 @@ target_link_libraries(recordplugin KF6::Notifications ) -set_property(TARGET recordplugin PROPERTY LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/plasma/quicksetting/record) -file(COPY qmldir DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/plasma/quicksetting/record) +ecm_finalize_qml_module(recordplugin) -install(TARGETS recordplugin DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/plasma/quicksetting/record) -install(FILES qmldir ${qml_SRC} DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/plasma/quicksetting/record) install(FILES plasma_mobile_quicksetting_record.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR}) plasma_install_package(package org.kde.plasma.quicksetting.record quicksettings) diff --git a/quicksettings/record/package/contents/ui/main.qml b/quicksettings/record/package/contents/ui/main.qml index dad68437..439113aa 100644 --- a/quicksettings/record/package/contents/ui/main.qml +++ b/quicksettings/record/package/contents/ui/main.qml @@ -7,7 +7,7 @@ import QtQuick.Window 2.15 import org.kde.plasma.private.mobileshell.state as MobileShellState import org.kde.pipewire.record 0.1 as PWRec import org.kde.taskmanager 0.1 as TaskManager -import org.kde.plasma.quicksetting.record 1.0 +import org.kde.plasma.quicksetting.record import org.kde.plasma.private.mobileshell.quicksettingsplugin as QS QS.QuickSetting { diff --git a/quicksettings/record/qmldir b/quicksettings/record/qmldir deleted file mode 100644 index 955e8753..00000000 --- a/quicksettings/record/qmldir +++ /dev/null @@ -1,7 +0,0 @@ -# SPDX-FileCopyrightText: 2022 Devin Lin -# SPDX-License-Identifier: GPL-2.0-or-later - -module org.kde.plasma.quicksetting.record -plugin recordplugin -classname RecordPlugin - diff --git a/quicksettings/record/recordplugin.cpp b/quicksettings/record/recordplugin.cpp deleted file mode 100644 index 92fccd66..00000000 --- a/quicksettings/record/recordplugin.cpp +++ /dev/null @@ -1,23 +0,0 @@ -/* - * SPDX-FileCopyrightText: 2022 by Devin Lin - * - * SPDX-License-Identifier: GPL-2.0-or-later - */ - -#include "recordplugin.h" - -#include -#include - -#include "recordutil.h" - -void RecordPlugin::registerTypes(const char *uri) -{ - Q_ASSERT(QLatin1String(uri) == QLatin1String("org.kde.plasma.quicksetting.record")); - - qmlRegisterSingletonType(uri, 1, 0, "RecordUtil", [](QQmlEngine *, QJSEngine *) { - return new RecordUtil; - }); -} - -//#include "moc_screenshotplugin.cpp" diff --git a/quicksettings/record/recordplugin.h b/quicksettings/record/recordplugin.h deleted file mode 100644 index 1892cd2f..00000000 --- a/quicksettings/record/recordplugin.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 RecordPlugin : public QQmlExtensionPlugin -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") - -public: - void registerTypes(const char *uri) override; -}; diff --git a/quicksettings/record/recordutil.h b/quicksettings/record/recordutil.h index 78ec40b0..b57142bc 100644 --- a/quicksettings/record/recordutil.h +++ b/quicksettings/record/recordutil.h @@ -8,10 +8,13 @@ #include #include +#include class RecordUtil : public QObject { Q_OBJECT + QML_ELEMENT + QML_SINGLETON public: RecordUtil(QObject *parent = nullptr);