Merge lp:~nick-dedekind/qmenumodel/desktop_menus into lp:qmenumodel

Proposed by Nick Dedekind
Status: Merged
Approved by: Lukáš Tinkl
Approved revision: 124
Merged at revision: 127
Proposed branch: lp:~nick-dedekind/qmenumodel/desktop_menus
Merge into: lp:qmenumodel
Diff against target: 140 lines (+37/-5)
5 files modified
debian/changelog (+8/-0)
libqmenumodel/src/qdbusactiongroup.cpp (+13/-0)
libqmenumodel/src/qdbusactiongroup.h (+3/-0)
libqmenumodel/src/unitymenuaction.cpp (+0/-2)
libqmenumodel/src/unitymenumodel.cpp (+13/-3)
To merge this branch: bzr merge lp:~nick-dedekind/qmenumodel/desktop_menus
Reviewer Review Type Date Requested Status
Lukáš Tinkl (community) Approve
PS Jenkins bot (community) continuous-integration Approve
Indicator Applet Developers Pending
Review via email: mp+282731@code.launchpad.net

Commit message

Added roles for submenu & shortcut. Added actions property to Group

Description of the change

Added roles for submenu & shortcut. Added actions property to Group

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

Just one minor inline nit, otherwise the code looks good

review: Needs Information
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

INline comment as well...

120. By Nick Dedekind

better boolean check

Revision history for this message
Nick Dedekind (nick-dedekind) wrote :

> INline comment as well...

Done.

121. By Nick Dedekind

version bump

Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

Text conflict in debian/changelog

review: Needs Fixing
122. By Nick Dedekind

merged with trunk

Revision history for this message
Nick Dedekind (nick-dedekind) wrote :

> Text conflict in debian/changelog

Merged.

123. By Nick Dedekind

fixed version file

124. By Nick Dedekind

added to changelog

Revision history for this message
Lukáš Tinkl (lukas-kde) wrote :

LGTM, works fine with the app menus silo

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'debian/changelog'
--- debian/changelog 2016-11-16 10:42:18 +0000
+++ debian/changelog 2016-12-09 17:11:53 +0000
@@ -1,3 +1,11 @@
1qmenumodel (0.2.11) UNRELEASED; urgency=medium
2
3 [ Nick Dedekind ]
4 * Added shortcut hasSubmenu and roles to UnityMenuModel
5 * Added actions property to Group
6
7 -- Nick Dedekind <nick.dedekind@canonical.com> Fri, 09 Dec 2016 17:11:01 +0000
8
1qmenumodel (0.2.10+17.04.20161116-0ubuntu1) zesty; urgency=medium9qmenumodel (0.2.10+17.04.20161116-0ubuntu1) zesty; urgency=medium
210
3 [ Florian Boucault ]11 [ Florian Boucault ]
412
=== modified file 'libqmenumodel/src/qdbusactiongroup.cpp'
--- libqmenumodel/src/qdbusactiongroup.cpp 2014-11-11 14:49:40 +0000
+++ libqmenumodel/src/qdbusactiongroup.cpp 2016-12-09 17:11:53 +0000
@@ -70,6 +70,18 @@
70 clear();70 clear();
71}71}
7272
73QStringList QDBusActionGroup::actions() const
74{
75 if (!m_actionGroup) return QStringList();
76 QStringList list;
77 gchar** actions = g_action_group_list_actions(m_actionGroup);
78 for (uint i = 0; actions[i]; i++) {
79 list << QString(actions[i]);
80 }
81 g_strfreev(actions);
82 return list;
83}
84
73/*!85/*!
74 \qmlmethod QDBusActionGroup::action(QString name)86 \qmlmethod QDBusActionGroup::action(QString name)
7587
@@ -258,6 +270,7 @@
258 } else {270 } else {
259 Q_EMIT actionVanish(dave->name);271 Q_EMIT actionVanish(dave->name);
260 }272 }
273 Q_EMIT actionsChanged();
261 } else if (e->type() == DBusActionStateEvent::eventType) {274 } else if (e->type() == DBusActionStateEvent::eventType) {
262 DBusActionStateEvent *dase = static_cast<DBusActionStateEvent*>(e);275 DBusActionStateEvent *dase = static_cast<DBusActionStateEvent*>(e);
263276
264277
=== modified file 'libqmenumodel/src/qdbusactiongroup.h'
--- libqmenumodel/src/qdbusactiongroup.h 2014-12-10 16:23:27 +0000
+++ libqmenumodel/src/qdbusactiongroup.h 2016-12-09 17:11:53 +0000
@@ -42,11 +42,13 @@
42 Q_PROPERTY(QString objectPath READ objectPath WRITE setObjectPath NOTIFY objectPathChanged)42 Q_PROPERTY(QString objectPath READ objectPath WRITE setObjectPath NOTIFY objectPathChanged)
43 Q_PROPERTY(int status READ status NOTIFY statusChanged)43 Q_PROPERTY(int status READ status NOTIFY statusChanged)
44 Q_PROPERTY(ActionStateParser* actionStateParser READ actionStateParser WRITE setActionStateParser NOTIFY actionStateParserChanged)44 Q_PROPERTY(ActionStateParser* actionStateParser READ actionStateParser WRITE setActionStateParser NOTIFY actionStateParserChanged)
45 Q_PROPERTY(QStringList actions READ actions NOTIFY actionsChanged)
4546
46public:47public:
47 QDBusActionGroup(QObject *parent=0);48 QDBusActionGroup(QObject *parent=0);
48 ~QDBusActionGroup();49 ~QDBusActionGroup();
4950
51 QStringList actions() const;
50 void updateActionState(const QString &name, const QVariant &state);52 void updateActionState(const QString &name, const QVariant &state);
51 void activateAction(const QString &name, const QVariant &parameter);53 void activateAction(const QString &name, const QVariant &parameter);
52 bool hasAction(const QString &name);54 bool hasAction(const QString &name);
@@ -67,6 +69,7 @@
67 void actionVanish(const QString &name);69 void actionVanish(const QString &name);
68 void actionStateChanged(const QString &name, QVariant state);70 void actionStateChanged(const QString &name, QVariant state);
69 void actionStateParserChanged(ActionStateParser* parser);71 void actionStateParserChanged(ActionStateParser* parser);
72 void actionsChanged();
7073
71public Q_SLOTS:74public Q_SLOTS:
72 void start();75 void start();
7376
=== modified file 'libqmenumodel/src/unitymenuaction.cpp'
--- libqmenumodel/src/unitymenuaction.cpp 2014-07-04 07:38:02 +0000
+++ libqmenumodel/src/unitymenuaction.cpp 2016-12-09 17:11:53 +0000
@@ -20,8 +20,6 @@
20#include "unitymenumodel.h"20#include "unitymenumodel.h"
21#include "unitymenuactionevents.h"21#include "unitymenuactionevents.h"
2222
23#include <QDebug>
24
25UnityMenuAction::UnityMenuAction(QObject* parent)23UnityMenuAction::UnityMenuAction(QObject* parent)
26 : QObject(parent),24 : QObject(parent),
27 m_valid(false),25 m_valid(false),
2826
=== modified file 'libqmenumodel/src/unitymenumodel.cpp'
--- libqmenumodel/src/unitymenumodel.cpp 2016-10-25 18:01:23 +0000
+++ libqmenumodel/src/unitymenumodel.cpp 2016-12-09 17:11:53 +0000
@@ -27,6 +27,7 @@
27#include <QIcon>27#include <QIcon>
28#include <QQmlComponent>28#include <QQmlComponent>
29#include <QCoreApplication>29#include <QCoreApplication>
30#include <QKeySequence>
3031
31extern "C" {32extern "C" {
32 #include "gtk/gtkactionmuxer.h"33 #include "gtk/gtkactionmuxer.h"
@@ -53,7 +54,9 @@
53 ActionStateRole,54 ActionStateRole,
54 IsCheckRole,55 IsCheckRole,
55 IsRadioRole,56 IsRadioRole,
56 IsToggledRole57 IsToggledRole,
58 ShortcutRole,
59 HasSubmenuRole
57};60};
5861
59class UnityMenuModelPrivate62class UnityMenuModelPrivate
@@ -483,7 +486,13 @@
483 return gtk_menu_tracker_item_get_role (item) == GTK_MENU_TRACKER_ITEM_ROLE_RADIO;486 return gtk_menu_tracker_item_get_role (item) == GTK_MENU_TRACKER_ITEM_ROLE_RADIO;
484487
485 case IsToggledRole:488 case IsToggledRole:
486 return gtk_menu_tracker_item_get_toggled (item) == TRUE ? true : false;489 return gtk_menu_tracker_item_get_toggled (item) != FALSE;
490
491 case ShortcutRole:
492 return QKeySequence(gtk_menu_tracker_item_get_accel (item), QKeySequence::NativeText);
493
494 case HasSubmenuRole:
495 return gtk_menu_tracker_item_get_has_submenu (item) != FALSE;
487496
488 default:497 default:
489 return QVariant();498 return QVariant();
@@ -500,7 +509,6 @@
500 return QModelIndex();509 return QModelIndex();
501}510}
502511
503#include <QtDebug>
504QHash<int, QByteArray> UnityMenuModel::roleNames() const512QHash<int, QByteArray> UnityMenuModel::roleNames() const
505{513{
506 QHash<int, QByteArray> names;514 QHash<int, QByteArray> names;
@@ -516,6 +524,8 @@
516 names[IsCheckRole] = "isCheck";524 names[IsCheckRole] = "isCheck";
517 names[IsRadioRole] = "isRadio";525 names[IsRadioRole] = "isRadio";
518 names[IsToggledRole] = "isToggled";526 names[IsToggledRole] = "isToggled";
527 names[ShortcutRole] = "shortcut";
528 names[HasSubmenuRole] = "hasSubmenu";
519529
520 return names;530 return names;
521}531}

Subscribers

People subscribed via source and target branches