forked from Qortal/Brooklyn
54 lines
1.5 KiB
C++
54 lines
1.5 KiB
C++
/*
|
|
SPDX-FileCopyrightText: 2009 Marco Martin <notmart@gmail.com>
|
|
|
|
SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <kdedmodule.h>
|
|
|
|
#include <QDBusContext>
|
|
#include <QObject>
|
|
#include <QSet>
|
|
#include <QStringList>
|
|
|
|
class QDBusServiceWatcher;
|
|
|
|
class StatusNotifierWatcher : public KDEDModule, protected QDBusContext
|
|
{
|
|
Q_OBJECT
|
|
Q_PROPERTY(QStringList RegisteredStatusNotifierItems READ RegisteredStatusNotifierItems)
|
|
Q_PROPERTY(bool IsStatusNotifierHostRegistered READ IsStatusNotifierHostRegistered)
|
|
Q_PROPERTY(int ProtocolVersion READ ProtocolVersion)
|
|
|
|
public:
|
|
StatusNotifierWatcher(QObject *parent, const QList<QVariant> &);
|
|
~StatusNotifierWatcher() override;
|
|
|
|
QStringList RegisteredStatusNotifierItems() const;
|
|
|
|
bool IsStatusNotifierHostRegistered() const;
|
|
|
|
int ProtocolVersion() const;
|
|
|
|
public Q_SLOTS:
|
|
void RegisterStatusNotifierItem(const QString &service);
|
|
|
|
void RegisterStatusNotifierHost(const QString &service);
|
|
|
|
protected Q_SLOTS:
|
|
void serviceUnregistered(const QString &name);
|
|
|
|
Q_SIGNALS:
|
|
void StatusNotifierItemRegistered(const QString &service);
|
|
// TODO: decide if this makes sense, the systray itself could notice the vanishing of items, but looks complete putting it here
|
|
void StatusNotifierItemUnregistered(const QString &service);
|
|
void StatusNotifierHostRegistered();
|
|
void StatusNotifierHostUnregistered();
|
|
|
|
private:
|
|
QDBusServiceWatcher *m_serviceWatcher = nullptr;
|
|
QStringList m_registeredServices;
|
|
QSet<QString> m_statusNotifierHostServices;
|
|
}; |