diff options
Diffstat (limited to 'libqmenumodel/src/qdbusactiongroup.h')
-rw-r--r-- | libqmenumodel/src/qdbusactiongroup.h | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/libqmenumodel/src/qdbusactiongroup.h b/libqmenumodel/src/qdbusactiongroup.h index 0292a8f..dde33a4 100644 --- a/libqmenumodel/src/qdbusactiongroup.h +++ b/libqmenumodel/src/qdbusactiongroup.h @@ -24,6 +24,7 @@ #include <QObject> #include <QVariant> +#include <QEvent> class QStateAction; @@ -69,6 +70,8 @@ protected: virtual void serviceAppear(GDBusConnection *connection); virtual void serviceVanish(GDBusConnection *connection); + virtual bool event(QEvent* e); + private: GActionGroup *m_actionGroup; int m_signalActionAddId; @@ -89,4 +92,33 @@ private: static void onActionStateChanged(GDBusActionGroup *ag, gchar *name, GVariant *value, gpointer data); }; -#endif +class DBusActionEvent : public QEvent +{ +public: + QString name; + +protected: + DBusActionEvent(const QString& name, QEvent::Type type); +}; + +class DBusActionVisiblityEvent : public DBusActionEvent +{ +public: + static const QEvent::Type eventType; + DBusActionVisiblityEvent(const QString& name, bool visible); + + bool visible; +}; + + +class DBusActionStateEvent : public DBusActionEvent +{ +public: + static const QEvent::Type eventType; + + DBusActionStateEvent(const QString& name, const QVariant& state); + + QVariant state; +}; + +#endif // QDBUSACTIONGROUP_H |