on xenial help sign in
logging & review fixes
c1d4d9dNick Dedekind
plugins/Unity/ApplicationMenu/applicationmenuregistry.cpp+24−8
@@ -19,6 +19,10 @@
19#include <QQmlEngine>
19#include <QQmlEngine>
20#include <QDebug>
20#include <QDebug>
21
21
22+Q_LOGGING_CATEGORY(UNITY_APPMENU, "unity.appmenu", QtDebugMsg)
23+
24+#define DEBUG_MSG qCDebug(UNITY_APPMENU).nospace().noquote() << "ApplicationMenuRegistry::" << __func__
25+#define WARNING_MSG qCWarning(UNITY_APPMENU).nospace().noquote() << "ApplicationMenuRegistry::" << __func__
22
26
23ApplicationMenuRegistry::ApplicationMenuRegistry(QObject *parent)
27ApplicationMenuRegistry::ApplicationMenuRegistry(QObject *parent)
24 : QObject(parent)
28 : QObject(parent)
@@ -39,18 +43,23 @@ void ApplicationMenuRegistry::RegisterAppMenu(pid_t processId,
39 const QDBusObjectPath &actionObjectPath,
43 const QDBusObjectPath &actionObjectPath,
40 const QString &service)
44 const QString &service)
41{
45{
42− qDebug() << "RegisterApplicationMenu" << processId << " @ " << service << menuObjectPath.path() << actionObjectPath.path();
46+ DEBUG_MSG << "(pid=" << processId
47+ << ", menuPath=" << menuObjectPath.path()
48+ << ", actionPath=" << actionObjectPath.path()
49+ << ", service=" << service;
43
50
44 QMultiMap<pid_t, MenuServicePath*>::iterator i = m_appMenus.find(processId);
51 QMultiMap<pid_t, MenuServicePath*>::iterator i = m_appMenus.find(processId);
45 while (i != m_appMenus.end() && i.key() == processId) {
52 while (i != m_appMenus.end() && i.key() == processId) {
46 if (i.value()->m_menuPath == menuObjectPath.path().toUtf8()) {
53 if (i.value()->m_menuPath == menuObjectPath.path().toUtf8()) {
47− qWarning() << "Already have a menu for application:" << processId << service << menuObjectPath.path();
54+ WARNING_MSG << "Already have a menu for application (pid= " << processId
55+ << ", service=" << service
56+ << ", menuPath=" << menuObjectPath.path() << ")";
48 return;
57 return;
49 }
58 }
50 ++i;
59 ++i;
51 }
60 }
52
61
53− auto menu = new MenuServicePath(service.toUtf8(), menuObjectPath.path().toUtf8(), actionObjectPath.path().toUtf8());
62+ auto menu = new MenuServicePath(service, menuObjectPath, actionObjectPath);
54 QQmlEngine::setObjectOwnership(menu, QQmlEngine::CppOwnership);
63 QQmlEngine::setObjectOwnership(menu, QQmlEngine::CppOwnership);
55
64
56 m_appMenus.insert(processId, menu);
65 m_appMenus.insert(processId, menu);
@@ -59,7 +68,8 @@ void ApplicationMenuRegistry::RegisterAppMenu(pid_t processId,
59
68
60void ApplicationMenuRegistry::UnregisterAppMenu(pid_t processId, const QDBusObjectPath &menuObjectPath)
69void ApplicationMenuRegistry::UnregisterAppMenu(pid_t processId, const QDBusObjectPath &menuObjectPath)
61{
70{
71+ DEBUG_MSG << "(pid=" << processId
62− qDebug() << "RegisterApplicationMenu" << processId << " @ " << menuObjectPath.path();
72+ << ", menuPath=" << menuObjectPath.path();
63
73
64 QMultiMap<pid_t, MenuServicePath*>::iterator i = m_appMenus.find(processId);
74 QMultiMap<pid_t, MenuServicePath*>::iterator i = m_appMenus.find(processId);
65 while (i != m_appMenus.end() && i.key() == processId) {
75 while (i != m_appMenus.end() && i.key() == processId) {
@@ -78,18 +88,23 @@ void ApplicationMenuRegistry::RegisterSurfaceMenu(const QString &surfaceId,
78 const QDBusObjectPath &actionObjectPath,
88 const QDBusObjectPath &actionObjectPath,
79 const QString &service)
89 const QString &service)
80{
90{
81− qDebug() << "RegisterSurfaceMenu" << surfaceId << " @ " << service << menuObjectPath.path() << actionObjectPath.path();
91+ DEBUG_MSG << "(surfaceId=" << surfaceId
92+ << ", menuPath=" << menuObjectPath.path()
93+ << ", actionPath=" << actionObjectPath.path()
94+ << ", service=" << service;
82
95
83 QMultiMap<QString, MenuServicePath*>::iterator i = m_surfaceMenus.find(surfaceId);
96 QMultiMap<QString, MenuServicePath*>::iterator i = m_surfaceMenus.find(surfaceId);
84 while (i != m_surfaceMenus.end() && i.key() == surfaceId) {
97 while (i != m_surfaceMenus.end() && i.key() == surfaceId) {
85 if (i.value()->m_menuPath == menuObjectPath.path().toUtf8()) {
98 if (i.value()->m_menuPath == menuObjectPath.path().toUtf8()) {
86− qWarning() << "Already have a menu for surface:" << surfaceId << service << menuObjectPath.path();
99+ WARNING_MSG << "Already have a menu for surface (surfaceId= " << surfaceId
100+ << ", service=" << service
101+ << ", menuPath=" << menuObjectPath.path() << ")";
87 return;
102 return;
88 }
103 }
89 ++i;
104 ++i;
90 }
105 }
91
106
92− auto menu = new MenuServicePath(service.toUtf8(), menuObjectPath.path().toUtf8(), actionObjectPath.path().toUtf8());
107+ auto menu = new MenuServicePath(service, menuObjectPath, actionObjectPath);
93 QQmlEngine::setObjectOwnership(menu, QQmlEngine::CppOwnership);
108 QQmlEngine::setObjectOwnership(menu, QQmlEngine::CppOwnership);
94
109
95 m_surfaceMenus.insert(surfaceId, menu);
110 m_surfaceMenus.insert(surfaceId, menu);
@@ -98,7 +113,8 @@ void ApplicationMenuRegistry::RegisterSurfaceMenu(const QString &surfaceId,
98
113
99void ApplicationMenuRegistry::UnregisterSurfaceMenu(const QString &surfaceId, const QDBusObjectPath &menuObjectPath)
114void ApplicationMenuRegistry::UnregisterSurfaceMenu(const QString &surfaceId, const QDBusObjectPath &menuObjectPath)
100{
115{
116+ DEBUG_MSG << "(surfaceId=" << surfaceId
101− qDebug() << "UnregisterSurfaceMenu" << surfaceId << " @ " << menuObjectPath.path();
117+ << ", menuPath=" << menuObjectPath.path();
102
118
103 QMultiMap<QString, MenuServicePath*>::iterator i = m_surfaceMenus.find(surfaceId);
119 QMultiMap<QString, MenuServicePath*>::iterator i = m_surfaceMenus.find(surfaceId);
104 while (i != m_surfaceMenus.end() && i.key() == surfaceId) {
120 while (i != m_surfaceMenus.end() && i.key() == surfaceId) {
plugins/Unity/ApplicationMenu/applicationmenuregistry.h+8−6
@@ -22,6 +22,8 @@
22#include <QDBusObjectPath>
22#include <QDBusObjectPath>
23#include <QtQml>
23#include <QtQml>
24
24
25+Q_DECLARE_LOGGING_CATEGORY(UNITY_APPMENU)
26+
25class MenuServicePath : public QObject
27class MenuServicePath : public QObject
26{
28{
27 Q_OBJECT
29 Q_OBJECT
@@ -29,12 +31,12 @@ class MenuServicePath : public QObject
29 Q_PROPERTY(QByteArray menuPath MEMBER m_menuPath CONSTANT)
31 Q_PROPERTY(QByteArray menuPath MEMBER m_menuPath CONSTANT)
30 Q_PROPERTY(QByteArray actionPath MEMBER m_actionPath CONSTANT)
32 Q_PROPERTY(QByteArray actionPath MEMBER m_actionPath CONSTANT)
31public:
33public:
32− explicit MenuServicePath(const QByteArray &service,
34+ explicit MenuServicePath(const QString &service,
33− const QByteArray &menuPath,
35+ const QDBusObjectPath &menuPath,
34− const QByteArray &actionPath)
36+ const QDBusObjectPath &actionPath)
35− : m_service(service)
37+ : m_service(service.toUtf8())
36− , m_menuPath(menuPath)
38+ , m_menuPath(menuPath.path().toUtf8())
37− , m_actionPath(actionPath)
39+ , m_actionPath(actionPath.path().toUtf8())
38 {}
40 {}
39
41
40 const QByteArray m_service;
42 const QByteArray m_service;
plugins/Unity/ApplicationMenu/dbusapplicationmenuregistry.cpp+2−2
@@ -24,10 +24,10 @@ DBusApplicationMenuRegistry::DBusApplicationMenuRegistry(QObject *parent)
24
24
25 QDBusConnection connection = QDBusConnection::sessionBus();
25 QDBusConnection connection = QDBusConnection::sessionBus();
26 if (!connection.registerObject("/com/ubuntu/MenuRegistrar", this)) {
26 if (!connection.registerObject("/com/ubuntu/MenuRegistrar", this)) {
27− qWarning() << "Unable to register DBus object /com/ubuntu/MenuRegistrar";
27+ qCWarning(UNITY_APPMENU) << "Unable to register DBus object /com/ubuntu/MenuRegistrar";
28 }
28 }
29 if (!connection.registerService("com.ubuntu.MenuRegistrar")) {
29 if (!connection.registerService("com.ubuntu.MenuRegistrar")) {
30− qWarning() << "Unable to register DBus service com.ubuntu.MenuRegistrar";
30+ qCWarning(UNITY_APPMENU) << "Unable to register DBus service com.ubuntu.MenuRegistrar";
31 }
31 }
32}
32}
33
33
plugins/Unity/ApplicationMenu/plugin.cpp+3−3
@@ -19,7 +19,7 @@
19
19
20#include <QtQml>
20#include <QtQml>
21
21
22−static QObject *service_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
22+static QObject *menuRegistry(QQmlEngine *engine, QJSEngine *scriptEngine)
23{
23{
24 Q_UNUSED(engine)
24 Q_UNUSED(engine)
25 Q_UNUSED(scriptEngine)
25 Q_UNUSED(scriptEngine)
@@ -31,12 +31,12 @@ void ApplicationMenuPlugin::registerTypes(const char *uri)
31 Q_ASSERT(uri == QLatin1String("Unity.ApplicationMenu"));
31 Q_ASSERT(uri == QLatin1String("Unity.ApplicationMenu"));
32
32
33 qmlRegisterUncreatableType<MenuServicePath>(uri, 0, 1, "MenuServicePath", "You cannot create a MenuServicePath");
33 qmlRegisterUncreatableType<MenuServicePath>(uri, 0, 1, "MenuServicePath", "You cannot create a MenuServicePath");
34− qmlRegisterSingletonType<DBusApplicationMenuRegistry>(uri, 0, 1, "ApplicationMenuRegistry", service_provider);
34+ qmlRegisterSingletonType<DBusApplicationMenuRegistry>(uri, 0, 1, "ApplicationMenuRegistry", menuRegistry);
35}
35}
36
36
37void ApplicationMenuPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
37void ApplicationMenuPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
38{
38{
39 QQmlExtensionPlugin::initializeEngine(engine, uri);
39 QQmlExtensionPlugin::initializeEngine(engine, uri);
40
40
41− service_provider(nullptr, nullptr);
41+ menuRegistry(nullptr, nullptr);
42}
42}
tests/mocks/Unity/ApplicationMenu/plugin.cpp+3−3
@@ -19,7 +19,7 @@
19
19
20#include <QtQml>
20#include <QtQml>
21
21
22−static QObject *service_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
22+static QObject *menuRegistry(QQmlEngine *engine, QJSEngine *scriptEngine)
23{
23{
24 Q_UNUSED(engine)
24 Q_UNUSED(engine)
25 Q_UNUSED(scriptEngine)
25 Q_UNUSED(scriptEngine)
@@ -31,12 +31,12 @@ void ApplicationMenuPlugin::registerTypes(const char *uri)
31 Q_ASSERT(uri == QLatin1String("Unity.ApplicationMenu"));
31 Q_ASSERT(uri == QLatin1String("Unity.ApplicationMenu"));
32
32
33 qmlRegisterUncreatableType<MenuServicePath>(uri, 0, 1, "MenuServicePath", "You cannot create a MenuServicePath");
33 qmlRegisterUncreatableType<MenuServicePath>(uri, 0, 1, "MenuServicePath", "You cannot create a MenuServicePath");
34− qmlRegisterSingletonType<ApplicationMenuRegistry>(uri, 0, 1, "ApplicationMenuRegistry", service_provider);
34+ qmlRegisterSingletonType<ApplicationMenuRegistry>(uri, 0, 1, "ApplicationMenuRegistry", menuRegistry);
35}
35}
36
36
37void ApplicationMenuPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
37void ApplicationMenuPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
38{
38{
39 QQmlExtensionPlugin::initializeEngine(engine, uri);
39 QQmlExtensionPlugin::initializeEngine(engine, uri);
40
40
41− service_provider(nullptr, nullptr);
41+ menuRegistry(nullptr, nullptr);
42}
42}