Port record to declarative type registration

This commit is contained in:
Nicolas Fella 2025-04-18 22:13:55 +02:00
parent f344399ae9
commit 1a89b84917
6 changed files with 8 additions and 62 deletions

View file

@ -1,14 +1,11 @@
# SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org> # SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org>
# SPDX-License-Identifier: GPL-2.0-or-later # SPDX-License-Identifier: GPL-2.0-or-later
set(recordplugin_SRCS ecm_add_qml_module(recordplugin URI "org.kde.plasma.quicksetting.record" GENERATE_PLUGIN_SOURCE)
recordplugin.cpp
recordutil.cpp
)
add_library(recordplugin ${recordplugin_SRCS}) target_sources(recordplugin PRIVATE recordutil.cpp)
target_link_libraries(recordplugin target_link_libraries(recordplugin PRIVATE
Qt::Core Qt::Core
Qt::DBus Qt::DBus
Qt::Qml Qt::Qml
@ -20,11 +17,8 @@ target_link_libraries(recordplugin
KF6::Notifications KF6::Notifications
) )
set_property(TARGET recordplugin PROPERTY LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/plasma/quicksetting/record) ecm_finalize_qml_module(recordplugin)
file(COPY qmldir DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/plasma/quicksetting/record)
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}) install(FILES plasma_mobile_quicksetting_record.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR})
plasma_install_package(package org.kde.plasma.quicksetting.record quicksettings) plasma_install_package(package org.kde.plasma.quicksetting.record quicksettings)

View file

@ -7,7 +7,7 @@ import QtQuick.Window 2.15
import org.kde.plasma.private.mobileshell.state as MobileShellState import org.kde.plasma.private.mobileshell.state as MobileShellState
import org.kde.pipewire.record 0.1 as PWRec import org.kde.pipewire.record 0.1 as PWRec
import org.kde.taskmanager 0.1 as TaskManager 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 import org.kde.plasma.private.mobileshell.quicksettingsplugin as QS
QS.QuickSetting { QS.QuickSetting {

View file

@ -1,7 +0,0 @@
# SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org>
# SPDX-License-Identifier: GPL-2.0-or-later
module org.kde.plasma.quicksetting.record
plugin recordplugin
classname RecordPlugin

View file

@ -1,23 +0,0 @@
/*
* SPDX-FileCopyrightText: 2022 by Devin Lin <devin@kde.org>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "recordplugin.h"
#include <QQmlContext>
#include <QQuickItem>
#include "recordutil.h"
void RecordPlugin::registerTypes(const char *uri)
{
Q_ASSERT(QLatin1String(uri) == QLatin1String("org.kde.plasma.quicksetting.record"));
qmlRegisterSingletonType<RecordUtil>(uri, 1, 0, "RecordUtil", [](QQmlEngine *, QJSEngine *) {
return new RecordUtil;
});
}
//#include "moc_screenshotplugin.cpp"

View file

@ -1,21 +0,0 @@
/*
* SPDX-FileCopyrightText: 2022 by Devin Lin <devin@kde.org>
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#pragma once
#include <QUrl>
#include <QQmlEngine>
#include <QQmlExtensionPlugin>
class RecordPlugin : public QQmlExtensionPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
public:
void registerTypes(const char *uri) override;
};

View file

@ -8,10 +8,13 @@
#include <QObject> #include <QObject>
#include <QVariantMap> #include <QVariantMap>
#include <qqmlregistration.h>
class RecordUtil : public QObject class RecordUtil : public QObject
{ {
Q_OBJECT Q_OBJECT
QML_ELEMENT
QML_SINGLETON
public: public:
RecordUtil(QObject *parent = nullptr); RecordUtil(QObject *parent = nullptr);