1313#include < qtmetamacros.h>
1414#include < qtypes.h>
1515
16+ #include " ../../core/doc.hpp"
1617#include " ../../core/imageprovider.hpp"
1718#include " ../../core/qsmenu.hpp"
1819#include " ../properties.hpp"
@@ -115,11 +116,16 @@ class DBusMenu: public QObject {
115116public:
116117 explicit DBusMenu (const QString& service, const QString& path, QObject* parent = nullptr );
117118
118- dbus::DBusPropertyGroup properties;
119- dbus::DBusProperty<quint32> version {this ->properties , " Version" };
120- dbus::DBusProperty<QString> textDirection {this ->properties , " TextDirection" , " " , false };
121- dbus::DBusProperty<QString> status {this ->properties , " Status" };
122- dbus::DBusProperty<QStringList> iconThemePath {this ->properties , " IconThemePath" , {}, false };
119+ QS_DBUS_BINDABLE_PROPERTY_GROUP (DBusMenu, properties);
120+
121+ signals:
122+ QSDOC_HIDE void iconThemePathChanged ();
123+
124+ public:
125+ Q_OBJECT_BINDABLE_PROPERTY (DBusMenu, quint32, version);
126+ Q_OBJECT_BINDABLE_PROPERTY (DBusMenu, QString, textDirection);
127+ Q_OBJECT_BINDABLE_PROPERTY (DBusMenu, QString, status);
128+ Q_OBJECT_BINDABLE_PROPERTY (DBusMenu, QStringList, iconThemePath, &DBusMenu::iconThemePathChanged);
123129
124130 void prepareToShow (qint32 item, qint32 depth);
125131 void updateLayout (qint32 parent, qint32 depth);
@@ -141,6 +147,11 @@ private slots:
141147private:
142148 void updateLayoutRecursive (const DBusMenuLayout& layout, DBusMenuItem* parent, qint32 depth);
143149
150+ QS_DBUS_PROPERTY_BINDING (DBusMenu, pVersion, version, properties, " Version" );
151+ QS_DBUS_PROPERTY_BINDING (DBusMenu, pTextDirection, textDirection, properties, " TextDirection" );
152+ QS_DBUS_PROPERTY_BINDING (DBusMenu, pStatus, status, properties, " Status" );
153+ QS_DBUS_PROPERTY_BINDING (DBusMenu, pIconThemePath, iconThemePath, properties, " IconThemePath" );
154+
144155 DBusMenuInterface* interface = nullptr ;
145156};
146157
0 commit comments