aboutsummaryrefslogtreecommitdiff
path: root/libqmenumodel/src/unitymenumodel.cpp
diff options
context:
space:
mode:
authorNick Dedekind <nick.dedekind@canonical.com>2016-01-15 12:08:41 +0000
committerNick Dedekind <nick.dedekind@canonical.com>2016-01-15 12:08:41 +0000
commit97b75c99800fed0de7600169c99893c4be25a1c9 (patch)
tree81ed46731f31356fc0e7a309aa2f2fcc80fa22bc /libqmenumodel/src/unitymenumodel.cpp
parente6e4babce2ed63c327f85180d77e24dc6a330c11 (diff)
parent523db871138277062675db9108cbcb3ca61da5e1 (diff)
downloadqmenumodel-97b75c99800fed0de7600169c99893c4be25a1c9.tar.gz
qmenumodel-97b75c99800fed0de7600169c99893c4be25a1c9.tar.bz2
qmenumodel-97b75c99800fed0de7600169c99893c4be25a1c9.zip
Added roles for submenu & shortcut. Added actions
Diffstat (limited to 'libqmenumodel/src/unitymenumodel.cpp')
-rw-r--r--libqmenumodel/src/unitymenumodel.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/libqmenumodel/src/unitymenumodel.cpp b/libqmenumodel/src/unitymenumodel.cpp
index 63d5e5b..8b64ee2 100644
--- a/libqmenumodel/src/unitymenumodel.cpp
+++ b/libqmenumodel/src/unitymenumodel.cpp
@@ -26,6 +26,7 @@
#include <QIcon>
#include <QQmlComponent>
#include <QCoreApplication>
+#include <QKeySequence>
extern "C" {
#include "gtk/gtkactionmuxer.h"
@@ -50,7 +51,9 @@ enum MenuRoles {
ActionStateRole,
IsCheckRole,
IsRadioRole,
- IsToggledRole
+ IsToggledRole,
+ ShortcutRole,
+ HasSubmenuRole
};
class UnityMenuModelPrivate
@@ -482,6 +485,12 @@ QVariant UnityMenuModel::data(const QModelIndex &index, int role) const
case IsToggledRole:
return gtk_menu_tracker_item_get_toggled (item) == TRUE ? true : false;
+ case ShortcutRole:
+ return QKeySequence(gtk_menu_tracker_item_get_accel (item), QKeySequence::NativeText);
+
+ case HasSubmenuRole:
+ return gtk_menu_tracker_item_get_has_submenu (item) == TRUE ? true : false;
+
default:
return QVariant();
}
@@ -497,7 +506,6 @@ QModelIndex UnityMenuModel::parent(const QModelIndex &index) const
return QModelIndex();
}
-#include <QtDebug>
QHash<int, QByteArray> UnityMenuModel::roleNames() const
{
QHash<int, QByteArray> names;
@@ -513,6 +521,8 @@ QHash<int, QByteArray> UnityMenuModel::roleNames() const
names[IsCheckRole] = "isCheck";
names[IsRadioRole] = "isRadio";
names[IsToggledRole] = "isToggled";
+ names[ShortcutRole] = "shortcut";
+ names[HasSubmenuRole] = "hasSubmenu";
return names;
}