fix: notification interface

pull/66/head
kate 4 years ago
parent 1018777c35
commit 3bb95408d4

@ -18,15 +18,19 @@
*/ */
#include "notifications.h" #include "notifications.h"
#include <QSettings>
#include <QDBusInterface>
#include <QDBusPendingCall>
Notifications::Notifications(QObject *parent) Notifications::Notifications(QObject *parent)
: QObject(parent) : QObject(parent)
, m_iface("com.cutefish.Notification",
"/Notification",
"com.cutefish.Notification", QDBusConnection::sessionBus())
{ {
QSettings settings(QSettings::UserScope, "cutefishos", "notification"); m_doNotDisturb = m_iface.property("doNotDisturb").toBool();
m_doNotDisturb = settings.value("DoNotDisturb", false).toBool();
QDBusConnection::sessionBus().connect("com.cutefish.Notification",
"/Notification",
"com.cutefish.Notification",
"doNotDisturbChanged", this, SLOT(onDBusDoNotDisturbChanged()));
} }
bool Notifications::doNotDisturb() const bool Notifications::doNotDisturb() const
@ -48,3 +52,9 @@ void Notifications::setDoNotDisturb(bool enabled)
emit doNotDisturbChanged(); emit doNotDisturbChanged();
} }
void Notifications::onDBusDoNotDisturbChanged()
{
m_doNotDisturb = m_iface.property("doNotDisturb").toBool();
emit doNotDisturbChanged();
}

@ -21,6 +21,8 @@
#define NOTIFICATIONS_H #define NOTIFICATIONS_H
#include <QObject> #include <QObject>
#include <QDBusInterface>
#include <QDBusPendingCall>
class Notifications : public QObject class Notifications : public QObject
{ {
@ -33,10 +35,14 @@ public:
bool doNotDisturb() const; bool doNotDisturb() const;
void setDoNotDisturb(bool enabled); void setDoNotDisturb(bool enabled);
private slots:
void onDBusDoNotDisturbChanged();
signals: signals:
void doNotDisturbChanged(); void doNotDisturbChanged();
private: private:
QDBusInterface m_iface;
bool m_doNotDisturb; bool m_doNotDisturb;
}; };

Loading…
Cancel
Save