mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-04-26 14:23:09 +00:00
Port flashlight to declarative type registration
This commit is contained in:
parent
2bf23313bc
commit
988c33a627
7 changed files with 12 additions and 66 deletions
|
|
@ -1,15 +1,14 @@
|
||||||
# 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(flashlightplugin_SRCS
|
ecm_add_qml_module(flashlightplugin
|
||||||
flashlightplugin.cpp
|
URI "org.kde.plasma.quicksetting.flashlight"
|
||||||
flashlightutil.cpp
|
GENERATE_PLUGIN_SOURCE
|
||||||
${DBUS_SRCS}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(flashlightplugin ${flashlightplugin_SRCS})
|
target_sources(flashlightplugin PRIVATE flashlightutil.cpp)
|
||||||
|
|
||||||
target_link_libraries(flashlightplugin
|
target_link_libraries(flashlightplugin PRIVATE
|
||||||
Qt::Core
|
Qt::Core
|
||||||
Qt::Qml
|
Qt::Qml
|
||||||
Qt::Quick
|
Qt::Quick
|
||||||
|
|
@ -22,12 +21,6 @@ target_link_libraries(flashlightplugin
|
||||||
udev
|
udev
|
||||||
)
|
)
|
||||||
|
|
||||||
set_property(TARGET flashlightplugin PROPERTY LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/plasma/quicksetting/flashlight)
|
ecm_finalize_qml_module(flashlightplugin)
|
||||||
file(COPY qmldir DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/org/kde/plasma/quicksetting/flashlight)
|
|
||||||
|
|
||||||
install(TARGETS flashlightplugin DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/plasma/quicksetting/flashlight)
|
|
||||||
install(FILES qmldir ${qml_SRC} DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/plasma/quicksetting/flashlight)
|
|
||||||
|
|
||||||
plasma_install_package(package org.kde.plasma.quicksetting.flashlight quicksettings)
|
plasma_install_package(package org.kde.plasma.quicksetting.flashlight quicksettings)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
/*
|
|
||||||
* SPDX-FileCopyrightText: 2022 by Devin Lin <devin@kde.org>
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "flashlightplugin.h"
|
|
||||||
|
|
||||||
#include <QQmlContext>
|
|
||||||
#include <QQuickItem>
|
|
||||||
|
|
||||||
#include "flashlightutil.h"
|
|
||||||
|
|
||||||
void FlashlightPlugin::registerTypes(const char *uri)
|
|
||||||
{
|
|
||||||
Q_ASSERT(QLatin1String(uri) == QLatin1String("org.kde.plasma.quicksetting.flashlight"));
|
|
||||||
|
|
||||||
qmlRegisterSingletonType<FlashlightUtil>(uri, 1, 0, "FlashlightUtil", [](QQmlEngine *, QJSEngine *) {
|
|
||||||
return new FlashlightUtil;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//#include "moc_flashlightplugin.cpp"
|
|
||||||
|
|
@ -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 FlashlightPlugin : public QQmlExtensionPlugin
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
|
|
||||||
|
|
||||||
public:
|
|
||||||
void registerTypes(const char *uri) override;
|
|
||||||
};
|
|
||||||
|
|
@ -9,9 +9,13 @@
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <libudev.h>
|
#include <libudev.h>
|
||||||
|
|
||||||
|
#include <qqmlregistration.h>
|
||||||
|
|
||||||
class FlashlightUtil : public QObject
|
class FlashlightUtil : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
QML_ELEMENT
|
||||||
|
QML_SINGLETON
|
||||||
Q_PROPERTY(bool torchEnabled READ torchEnabled NOTIFY torchChanged);
|
Q_PROPERTY(bool torchEnabled READ torchEnabled NOTIFY torchChanged);
|
||||||
Q_PROPERTY(bool available READ isAvailable CONSTANT);
|
Q_PROPERTY(bool available READ isAvailable CONSTANT);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick 2.15
|
||||||
|
|
||||||
import org.kde.plasma.quicksetting.flashlight 1.0
|
import org.kde.plasma.quicksetting.flashlight
|
||||||
import org.kde.plasma.private.mobileshell.quicksettingsplugin as QS
|
import org.kde.plasma.private.mobileshell.quicksettingsplugin as QS
|
||||||
|
|
||||||
QS.QuickSetting {
|
QS.QuickSetting {
|
||||||
|
|
|
||||||
|
|
@ -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.flashlight
|
|
||||||
plugin flashlightplugin
|
|
||||||
classname FlashlightPlugin
|
|
||||||
|
|
||||||
|
|
@ -5,7 +5,7 @@ import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
|
|
||||||
import org.kde.plasma.quicksetting.flashlight 1.0
|
import org.kde.plasma.quicksetting.flashlight
|
||||||
import org.kde.plasma.private.mobileshell as MobileShell
|
import org.kde.plasma.private.mobileshell as MobileShell
|
||||||
import org.kde.plasma.private.mobileshell.shellsettingsplugin as ShellSettings
|
import org.kde.plasma.private.mobileshell.shellsettingsplugin as ShellSettings
|
||||||
import org.kde.kirigami as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue