From 31f8103187d2e27b1bb76eaed10dc9c9be226c90 Mon Sep 17 00:00:00 2001 From: Renato Araujo Oliveira Filho Date: Thu, 6 Sep 2012 16:43:27 -0300 Subject: Implemented QDBusActionGroup. --- src/QMenuModel/qdbusmenumodel.h | 58 ++++++++++++++--------------------------- 1 file changed, 19 insertions(+), 39 deletions(-) (limited to 'src/QMenuModel/qdbusmenumodel.h') diff --git a/src/QMenuModel/qdbusmenumodel.h b/src/QMenuModel/qdbusmenumodel.h index e9d2461..975e72d 100644 --- a/src/QMenuModel/qdbusmenumodel.h +++ b/src/QMenuModel/qdbusmenumodel.h @@ -1,65 +1,45 @@ #ifndef QDBUSMENUMODEL_H #define QDBUSMENUMODEL_H +#include "qdbusobject.h" #include "qmenumodel.h" #include -class QDBusMenuModel : public QMenuModel +class QDBusMenuModel : public QMenuModel, public QDbusObject { Q_OBJECT Q_PROPERTY(int busType READ busType WRITE setIntBusType NOTIFY busTypeChanged) Q_PROPERTY(QString busName READ busName WRITE setBusName NOTIFY busNameChanged) Q_PROPERTY(QString objectPath READ objectPath WRITE setObjectPath NOTIFY objectPathChanged) + Q_PROPERTY(int status READ status NOTIFY statusChanged) public: - enum BusType { - None = 0, - SessionBus, - SystemBus, - LastBusType - }; - QDBusMenuModel(QObject *parent=0); - ~QDBusMenuModel(); - - BusType busType() const; - void setBusType(BusType type); - - QString busName() const; - void setBusName(const QString &busName); + ~QDBusMenuModel(); - QString objectPath() const; - void setObjectPath(const QString &busName); - - bool isConnected() const; +Q_SIGNALS: + void busTypeChanged(); + void busNameChanged(); + void objectPathChanged(); + void statusChanged(); public Q_SLOTS: - void connect(); - void disconnect(); + void start(); + void stop(); +protected: + virtual void serviceAppear(GDBusConnection *connection); + virtual void serviceVanish(GDBusConnection *connection); -Q_SIGNALS: - void busTypeChanged(BusType type); - void busNameChanged(const QString &busNameChanged); - void objectPathChanged(const QString &objectPath); - - void connected(); - void disconnected(); - void connectionError(const QString &errorMessage); + virtual void busTypeChanged(BusType type); + virtual void busNameChanged(const QString &busNameChanged); + virtual void objectPathChanged(const QString &objectPath); + virtual void statusChanged(ConnectionStatus status); private: - guint m_watchId; - BusType m_busType; - QString m_busName; - QString m_objectPath; - - // workaround to support busType as int + // workaround to support int as bustType void setIntBusType(int busType); - - // glib slots - static void onServiceAppeared(GDBusConnection *connection, const gchar *name, const gchar *name_owner, gpointer data); - static void onServiceFanished(GDBusConnection *connection, const gchar *name, gpointer data); }; #endif -- cgit v1.2.3