diff options
author | Nick Dedekind <nick.dedekind@canonical.com> | 2016-01-15 12:08:41 +0000 |
---|---|---|
committer | Nick Dedekind <nick.dedekind@canonical.com> | 2016-01-15 12:08:41 +0000 |
commit | 97b75c99800fed0de7600169c99893c4be25a1c9 (patch) | |
tree | 81ed46731f31356fc0e7a309aa2f2fcc80fa22bc /libqmenumodel/src/unitymenumodel.cpp | |
parent | e6e4babce2ed63c327f85180d77e24dc6a330c11 (diff) | |
parent | 523db871138277062675db9108cbcb3ca61da5e1 (diff) | |
download | qmenumodel-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.cpp | 14 |
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; } |