Add system module

pull/5/head
reionwong 4 years ago
parent 01ac677dae
commit 4f74b09192

@ -38,3 +38,4 @@ add_subdirectory(bluez)
add_subdirectory(mpris)
add_subdirectory(networkmanagement)
add_subdirectory(screen)
add_subdirectory(system)

@ -0,0 +1,19 @@
set(SCREEN_SRCS
wallpaper.cpp
wallpaper.h
plugin.cpp
)
find_package(Qt5 REQUIRED COMPONENTS DBus)
add_library(cutefishsystem_qmlplugins SHARED ${SCREEN_SRCS})
target_link_libraries (cutefishsystem_qmlplugins
Qt5::Core
Qt5::Quick
Qt5::Gui
Qt5::DBus
)
install(TARGETS cutefishsystem_qmlplugins DESTINATION ${INSTALL_QMLDIR}/Cutefish/System)
install(FILES qmldir DESTINATION ${INSTALL_QMLDIR}/Cutefish/System)

@ -0,0 +1,17 @@
#include <QQmlExtensionPlugin>
#include <QQmlEngine>
#include "wallpaper.h"
class QmlPlugins : public QQmlExtensionPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
public:
void registerTypes(const char * uri) override {
qmlRegisterType<Wallpaper>(uri, 1, 0, "Wallpaper");
}
};
#include "plugin.moc"

@ -0,0 +1,3 @@
module Cutefish.System
plugin cutefishsystem_qmlplugins

@ -0,0 +1,24 @@
#include "wallpaper.h"
Wallpaper::Wallpaper(QObject *parent)
: QObject(parent)
, m_interface("org.cutefish.Settings",
"/Theme", "org.cutefish.Theme",
QDBusConnection::sessionBus(), this)
{
if (m_interface.isValid()) {
connect(&m_interface, SIGNAL(wallpaperChanged(QString)), this, SLOT(onPathChanged(QString)));
}
}
QString Wallpaper::path() const
{
return m_interface.property("wallpaper").toString();
}
void Wallpaper::onPathChanged(QString path)
{
Q_UNUSED(path);
emit pathChanged();
}

@ -0,0 +1,28 @@
#ifndef WALLPAPER_H
#define WALLPAPER_H
#include <QObject>
#include <QDBusInterface>
class Wallpaper : public QObject
{
Q_OBJECT
Q_PROPERTY(QString path READ path NOTIFY pathChanged)
public:
explicit Wallpaper(QObject *parent = nullptr);
QString path() const;
signals:
void pathChanged();
private slots:
void onPathChanged(QString path);
private:
QDBusInterface m_interface;
QString m_wallpaper;
};
#endif // WALLPAPER_H
Loading…
Cancel
Save