38
41
QString menuPath() const { return m_menuPath;}
43
void aboutToShow(quint64 tag);
41
46
UbuntuGMenuModelExporter(QObject *parent);
43
48
GMenuItem *createSubmenu(QPlatformMenu* platformMenu, UbuntuPlatformMenuItem* forItem);
44
GMenuItem *createMenuItem(QPlatformMenuItem* platformMenuItem);
49
GMenuItem *createMenuItem(QPlatformMenuItem* platformMenuItem, GMenu *parentMenu);
45
50
GMenuItem *createSection(QList<QPlatformMenuItem*>::const_iterator iter, QList<QPlatformMenuItem*>::const_iterator end);
46
void addAction(const QByteArray& name, UbuntuPlatformMenuItem* gplatformItem);
51
void addAction(const QByteArray& name, UbuntuPlatformMenuItem* gplatformItem, GMenu *parentMenu);
48
53
void addSubmenuItems(UbuntuPlatformMenu* gplatformMenu, GMenu* menu);
49
54
void processItemForGMenu(QPlatformMenuItem* item, GMenu* gmenu);
58
void timerEvent(QTimerEvent *e) override;
54
61
GDBusConnection *m_connection;
55
62
GMenu *m_gmainMenu;
56
63
GSimpleActionGroup *m_gactionGroup;
57
QSet<QByteArray> m_actions;
58
64
guint m_exportedModel;
59
65
guint m_exportedActions;
66
QtUbuntuExtraActionHandler *m_qtubuntuExtraHandler;
60
67
QTimer m_structureTimer;
61
68
QString m_menuPath;
63
QVector<QMetaObject::Connection> m_propertyConnections;
70
// UbuntuPlatformMenu::tag -> UbuntuPlatformMenu
71
QMap<quint64, UbuntuPlatformMenu*> m_submenusWithTag;
73
// UbuntuPlatformMenu -> reload TimerId (startTimer)
74
QHash<UbuntuPlatformMenu*, int> m_reloadMenuTimers;
76
QHash<UbuntuPlatformMenu*, GMenu*> m_gmenusForMenus;
78
QHash<GMenu*, QSet<QByteArray>> m_actions;
79
QHash<GMenu*, QVector<QMetaObject::Connection>> m_propertyConnections;
66
83
// Class which exports a qt platform menu bar.