[gtk+] app: share function to normalise detailed action name
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] app: share function to normalise detailed action name
- Date: Fri, 22 Apr 2016 11:47:39 +0000 (UTC)
commit 3b988ce5239252b0a6c64e0a77eb8ed666f081b2
Author: Sébastien Wilmet <swilmet gnome org>
Date: Wed Apr 20 17:13:26 2016 +0200
app: share function to normalise detailed action name
Put the function in gtkactionmuxer.c, where
gtk_print_action_and_target() is implemented.
https://bugzilla.gnome.org/show_bug.cgi?id=764879
gtk/gtkactionmuxer.c | 20 ++++++++++++++++++++
gtk/gtkactionmuxer.h | 4 +++-
gtk/gtkapplication.c | 23 +----------------------
gtk/gtkapplicationaccels.c | 25 ++-----------------------
4 files changed, 26 insertions(+), 46 deletions(-)
---
diff --git a/gtk/gtkactionmuxer.c b/gtk/gtkactionmuxer.c
index d8edef0..df51524 100644
--- a/gtk/gtkactionmuxer.c
+++ b/gtk/gtkactionmuxer.c
@@ -930,3 +930,23 @@ gtk_print_action_and_target (const gchar *action_namespace,
return g_string_free (result, FALSE);
}
+gchar *
+gtk_normalise_detailed_action_name (const gchar *detailed_action_name)
+{
+ GError *error = NULL;
+ gchar *action_and_target;
+ gchar *action_name;
+ GVariant *target;
+
+ g_action_parse_detailed_name (detailed_action_name, &action_name, &target, &error);
+ g_assert_no_error (error);
+
+ action_and_target = gtk_print_action_and_target (NULL, action_name, target);
+
+ if (target)
+ g_variant_unref (target);
+
+ g_free (action_name);
+
+ return action_and_target;
+}
diff --git a/gtk/gtkactionmuxer.h b/gtk/gtkactionmuxer.h
index 39e9bf2..b696fff 100644
--- a/gtk/gtkactionmuxer.h
+++ b/gtk/gtkactionmuxer.h
@@ -56,11 +56,13 @@ void gtk_action_muxer_set_primary_accel (GtkActi
const gchar * gtk_action_muxer_get_primary_accel (GtkActionMuxer *muxer,
const gchar *action_and_target);
-/* No better place for this... */
+/* No better place for these... */
gchar * gtk_print_action_and_target (const gchar *action_namespace,
const gchar *action_name,
GVariant *target);
+gchar * gtk_normalise_detailed_action_name (const gchar *detailed_action_name);
+
G_END_DECLS
#endif /* __GTK_ACTION_MUXER_H__ */
diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c
index 667e731..b514e99 100644
--- a/gtk/gtkapplication.c
+++ b/gtk/gtkapplication.c
@@ -1308,27 +1308,6 @@ gtk_application_list_action_descriptions (GtkApplication *application)
return gtk_application_accels_list_action_descriptions (application->priv->accels);
}
-static gchar *
-normalise_detailed_name (const gchar *detailed_action_name)
-{
- GError *error = NULL;
- gchar *action_and_target;
- gchar *action_name;
- GVariant *target;
-
- g_action_parse_detailed_name (detailed_action_name, &action_name, &target, &error);
- g_assert_no_error (error);
-
- action_and_target = gtk_print_action_and_target (NULL, action_name, target);
-
- if (target)
- g_variant_unref (target);
-
- g_free (action_name);
-
- return action_and_target;
-}
-
/**
* gtk_application_set_accels_for_action:
* @application: a #GtkApplication
@@ -1364,7 +1343,7 @@ gtk_application_set_accels_for_action (GtkApplication *application,
detailed_action_name,
accels);
- action_and_target = normalise_detailed_name (detailed_action_name);
+ action_and_target = gtk_normalise_detailed_action_name (detailed_action_name);
gtk_action_muxer_set_primary_accel (application->priv->muxer, action_and_target, accels[0]);
g_free (action_and_target);
diff --git a/gtk/gtkapplicationaccels.c b/gtk/gtkapplicationaccels.c
index afbac9a..7809940 100644
--- a/gtk/gtkapplicationaccels.c
+++ b/gtk/gtkapplicationaccels.c
@@ -40,27 +40,6 @@ struct _GtkApplicationAccels
G_DEFINE_TYPE (GtkApplicationAccels, gtk_application_accels, G_TYPE_OBJECT)
-static gchar *
-normalise_detailed_name (const gchar *detailed_action_name)
-{
- GError *error = NULL;
- gchar *action_and_target;
- gchar *action_name;
- GVariant *target;
-
- g_action_parse_detailed_name (detailed_action_name, &action_name, &target, &error);
- g_assert_no_error (error);
-
- action_and_target = gtk_print_action_and_target (NULL, action_name, target);
-
- if (target)
- g_variant_unref (target);
-
- g_free (action_name);
-
- return action_and_target;
-}
-
static AccelKey *
accel_key_copy (const AccelKey *source)
{
@@ -205,7 +184,7 @@ gtk_application_accels_set_accels_for_action (GtkApplicationAccels *accels,
AccelKey *keys, *old_keys;
gint i, n;
- action_and_target = normalise_detailed_name (detailed_action_name);
+ action_and_target = gtk_normalise_detailed_action_name (detailed_action_name);
n = accelerators ? g_strv_length ((gchar **) accelerators) : 0;
@@ -261,7 +240,7 @@ gtk_application_accels_get_accels_for_action (GtkApplicationAccels *accels,
gchar **result;
gint n, i = 0;
- action_and_target = normalise_detailed_name (detailed_action_name);
+ action_and_target = gtk_normalise_detailed_action_name (detailed_action_name);
keys = g_hash_table_lookup (accels->action_to_accels, action_and_target);
if (!keys)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]