From 2291decf1d2a2a6cb88f600c3371bcecda0e51c7 Mon Sep 17 00:00:00 2001 From: Nick Dedekind Date: Fri, 19 Feb 2016 11:06:04 +0000 Subject: use logging categories --- libqmenumodel/src/unitymenumodel.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'libqmenumodel/src/unitymenumodel.cpp') diff --git a/libqmenumodel/src/unitymenumodel.cpp b/libqmenumodel/src/unitymenumodel.cpp index 63d5e5b..67fe95d 100644 --- a/libqmenumodel/src/unitymenumodel.cpp +++ b/libqmenumodel/src/unitymenumodel.cpp @@ -22,6 +22,7 @@ #include "unitymenumodelevents.h" #include "unitymenuaction.h" #include "unitymenuactionevents.h" +#include "logging.h" #include #include @@ -33,6 +34,8 @@ extern "C" { #include "gtk/gtksimpleactionobserver.h" } +Q_LOGGING_CATEGORY(unitymenumodel, "qmenumodel.unitymenumodel", QtWarningMsg) + G_DEFINE_QUARK (UNITY_MENU_MODEL, unity_menu_model) G_DEFINE_QUARK (UNITY_SUBMENU_MODEL, unity_submenu_model) G_DEFINE_QUARK (UNITY_MENU_ITEM_EXTENDED_ATTRIBUTES, unity_menu_item_extended_attributes) @@ -654,7 +657,7 @@ bool UnityMenuModel::loadExtendedAttributes(int position, const QVariantMap &sch GVariant *value = gtk_menu_tracker_item_get_attribute_value (item, name.toUtf8(), NULL); if (value == NULL) { - qWarning("loadExtendedAttributes: menu item does not contain '%s'", it.key().toUtf8().constData()); + qCDebug(unitymenumodel, "loadExtendedAttributes: menu item does not contain '%s'", it.key().toUtf8().constData()); continue; } @@ -662,7 +665,7 @@ bool UnityMenuModel::loadExtendedAttributes(int position, const QVariantMap &sch if (qvalue.isValid()) extendedAttrs->insert(qtify_name (name.toUtf8()), qvalue); else - qWarning("loadExtendedAttributes: key '%s' is of type '%s' (expected '%s')", + qCWarning(unitymenumodel, "loadExtendedAttributes: key '%s' is of type '%s' (expected '%s')", name.toUtf8().constData(), g_variant_get_type_string(value), type.constData()); g_variant_unref (value); -- cgit v1.2.3 From 4ad605553fa905edb3a78578fa01dba6c2819176 Mon Sep 17 00:00:00 2001 From: Nick Dedekind Date: Tue, 23 Feb 2016 14:35:57 +0000 Subject: only log critical --- libqmenumodel/src/unitymenumodel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libqmenumodel/src/unitymenumodel.cpp') diff --git a/libqmenumodel/src/unitymenumodel.cpp b/libqmenumodel/src/unitymenumodel.cpp index 67fe95d..70412a4 100644 --- a/libqmenumodel/src/unitymenumodel.cpp +++ b/libqmenumodel/src/unitymenumodel.cpp @@ -34,7 +34,7 @@ extern "C" { #include "gtk/gtksimpleactionobserver.h" } -Q_LOGGING_CATEGORY(unitymenumodel, "qmenumodel.unitymenumodel", QtWarningMsg) +Q_LOGGING_CATEGORY(unitymenumodel, "qmenumodel.unitymenumodel", QtCriticalMsg) G_DEFINE_QUARK (UNITY_MENU_MODEL, unity_menu_model) G_DEFINE_QUARK (UNITY_SUBMENU_MODEL, unity_submenu_model) @@ -657,7 +657,7 @@ bool UnityMenuModel::loadExtendedAttributes(int position, const QVariantMap &sch GVariant *value = gtk_menu_tracker_item_get_attribute_value (item, name.toUtf8(), NULL); if (value == NULL) { - qCDebug(unitymenumodel, "loadExtendedAttributes: menu item does not contain '%s'", it.key().toUtf8().constData()); + qCWarning(unitymenumodel, "loadExtendedAttributes: menu item does not contain '%s'", it.key().toUtf8().constData()); continue; } -- cgit v1.2.3 From 1e9cf635d3074b82759b0edab44ba4549af5085e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Fri, 14 Oct 2016 17:29:10 +0200 Subject: UnityMenuModel add support for activating and changing state with a variant string parameter --- libqmenumodel/src/unitymenumodel.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'libqmenumodel/src/unitymenumodel.cpp') diff --git a/libqmenumodel/src/unitymenumodel.cpp b/libqmenumodel/src/unitymenumodel.cpp index 70412a4..6e9a5f7 100644 --- a/libqmenumodel/src/unitymenumodel.cpp +++ b/libqmenumodel/src/unitymenumodel.cpp @@ -715,6 +715,40 @@ void UnityMenuModel::activate(int index, const QVariant& parameter) } } +static QVariant parseVariantString(const QString& string) +{ + QVariant qvariant; + GVariant *gvariant; + GError *error = NULL; + + if (string.isEmpty()) { + return qvariant; + } + + gvariant = g_variant_parse (NULL, string.toStdString().c_str(), NULL, NULL, &error); + + if (error) { + qWarning() << "Impossible to parse" << string << "as variant string:"<< error->message; + g_error_free (error); + return qvariant; + } + + qvariant = Converter::toQVariant(gvariant); + g_variant_unref (gvariant); + + return qvariant; +} + +void UnityMenuModel::activateByVariantString(int index, const QString& parameter) +{ + activate(index, parseVariantString(parameter)); +} + +void UnityMenuModel::changeStateByVariantString(int index, const QString& parameter) +{ + changeState(index, parseVariantString(parameter)); +} + void UnityMenuModel::changeState(int index, const QVariant& parameter) { GSequenceIter *it; -- cgit v1.2.3 From 462b8422fd363d6ef3b6882459926a87ca389fe0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Fri, 14 Oct 2016 17:40:18 +0200 Subject: UnityMenuModel: avoid copying the string to a new std one --- libqmenumodel/src/unitymenumodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libqmenumodel/src/unitymenumodel.cpp') diff --git a/libqmenumodel/src/unitymenumodel.cpp b/libqmenumodel/src/unitymenumodel.cpp index 6e9a5f7..a407ac1 100644 --- a/libqmenumodel/src/unitymenumodel.cpp +++ b/libqmenumodel/src/unitymenumodel.cpp @@ -725,7 +725,7 @@ static QVariant parseVariantString(const QString& string) return qvariant; } - gvariant = g_variant_parse (NULL, string.toStdString().c_str(), NULL, NULL, &error); + gvariant = g_variant_parse (NULL, string.toUtf8().data(), NULL, NULL, &error); if (error) { qWarning() << "Impossible to parse" << string << "as variant string:"<< error->message; -- cgit v1.2.3 From 33b75336e5148b7dcf6113dcfe59d58ee38f9481 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Sat, 15 Oct 2016 02:04:05 +0200 Subject: UnityMenuModel: avoid initializing an empty QVariant if not needed --- libqmenumodel/src/unitymenumodel.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'libqmenumodel/src/unitymenumodel.cpp') diff --git a/libqmenumodel/src/unitymenumodel.cpp b/libqmenumodel/src/unitymenumodel.cpp index a407ac1..4c238d8 100644 --- a/libqmenumodel/src/unitymenumodel.cpp +++ b/libqmenumodel/src/unitymenumodel.cpp @@ -717,12 +717,11 @@ void UnityMenuModel::activate(int index, const QVariant& parameter) static QVariant parseVariantString(const QString& string) { - QVariant qvariant; GVariant *gvariant; GError *error = NULL; if (string.isEmpty()) { - return qvariant; + return QVariant(); } gvariant = g_variant_parse (NULL, string.toUtf8().data(), NULL, NULL, &error); @@ -730,10 +729,10 @@ static QVariant parseVariantString(const QString& string) if (error) { qWarning() << "Impossible to parse" << string << "as variant string:"<< error->message; g_error_free (error); - return qvariant; + return QVariant(); } - qvariant = Converter::toQVariant(gvariant); + const QVariant& qvariant = Converter::toQVariant(gvariant); g_variant_unref (gvariant); return qvariant; -- cgit v1.2.3 From 1adf4a6c1c9a978d1853612bf994f622599ea29a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Tue, 18 Oct 2016 11:44:04 +0200 Subject: Converter: move parseVariantString here from UnityMenuModel --- libqmenumodel/src/unitymenumodel.cpp | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) (limited to 'libqmenumodel/src/unitymenumodel.cpp') diff --git a/libqmenumodel/src/unitymenumodel.cpp b/libqmenumodel/src/unitymenumodel.cpp index 4c238d8..5e8c8e3 100644 --- a/libqmenumodel/src/unitymenumodel.cpp +++ b/libqmenumodel/src/unitymenumodel.cpp @@ -715,37 +715,14 @@ void UnityMenuModel::activate(int index, const QVariant& parameter) } } -static QVariant parseVariantString(const QString& string) -{ - GVariant *gvariant; - GError *error = NULL; - - if (string.isEmpty()) { - return QVariant(); - } - - gvariant = g_variant_parse (NULL, string.toUtf8().data(), NULL, NULL, &error); - - if (error) { - qWarning() << "Impossible to parse" << string << "as variant string:"<< error->message; - g_error_free (error); - return QVariant(); - } - - const QVariant& qvariant = Converter::toQVariant(gvariant); - g_variant_unref (gvariant); - - return qvariant; -} - void UnityMenuModel::activateByVariantString(int index, const QString& parameter) { - activate(index, parseVariantString(parameter)); + activate(index, Converter::toQVariantFromVariantString(parameter)); } void UnityMenuModel::changeStateByVariantString(int index, const QString& parameter) { - changeState(index, parseVariantString(parameter)); + changeState(index, Converter::toQVariantFromVariantString(parameter)); } void UnityMenuModel::changeState(int index, const QVariant& parameter) -- cgit v1.2.3 From 307efb494989e3be1086731dc591c886d5f57583 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Tue, 25 Oct 2016 19:57:38 +0200 Subject: UnityMenuModel: use conversion with gschema in unity actions --- libqmenumodel/src/unitymenumodel.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libqmenumodel/src/unitymenumodel.cpp') diff --git a/libqmenumodel/src/unitymenumodel.cpp b/libqmenumodel/src/unitymenumodel.cpp index 5e8c8e3..695d053 100644 --- a/libqmenumodel/src/unitymenumodel.cpp +++ b/libqmenumodel/src/unitymenumodel.cpp @@ -692,6 +692,8 @@ void UnityMenuModel::activate(int index, const QVariant& parameter) { GSequenceIter *it; GtkMenuTrackerItem *item; + GVariant *value; + const GVariantType *parameter_type; it = g_sequence_get_iter_at_pos (priv->items, index); if (g_sequence_iter_is_end (it)) { @@ -707,7 +709,9 @@ void UnityMenuModel::activate(int index, const QVariant& parameter) gchar *action; action = gtk_menu_tracker_item_get_action_name (item); - g_action_group_activate_action (G_ACTION_GROUP (priv->muxer), action, Converter::toGVariant(parameter)); + parameter_type = g_action_group_get_action_parameter_type (G_ACTION_GROUP (priv->muxer), action); + value = Converter::toGVariantWithSchema(parameter, g_variant_type_peek_string (parameter_type)); + g_action_group_activate_action (G_ACTION_GROUP (priv->muxer), action, value); g_free (action); } else { -- cgit v1.2.3 From 0d1bfd69b848b2c86b48a3de198bc7dad9c96441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Tue, 25 Oct 2016 20:01:23 +0200 Subject: UnityMenuModel: avoid copy on assignment --- libqmenumodel/src/unitymenumodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libqmenumodel/src/unitymenumodel.cpp') diff --git a/libqmenumodel/src/unitymenumodel.cpp b/libqmenumodel/src/unitymenumodel.cpp index 695d053..aac1d92 100644 --- a/libqmenumodel/src/unitymenumodel.cpp +++ b/libqmenumodel/src/unitymenumodel.cpp @@ -661,7 +661,7 @@ bool UnityMenuModel::loadExtendedAttributes(int position, const QVariantMap &sch continue; } - QVariant qvalue = attributeToQVariant(value, type); + const QVariant &qvalue = attributeToQVariant(value, type); if (qvalue.isValid()) extendedAttrs->insert(qtify_name (name.toUtf8()), qvalue); else -- cgit v1.2.3