[gtk/shortcut-action-parse: 1/2] Add an api to parse shortcut actions
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/shortcut-action-parse: 1/2] Add an api to parse shortcut actions
- Date: Sat, 4 Apr 2020 02:42:59 +0000 (UTC)
commit 1424dd9786999a50f7351805a418bfb8f3bdd221
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Apr 3 22:41:15 2020 -0400
Add an api to parse shortcut actions
This is so we can test this code. While doing it
I also fixed the missing else that was caused it
not to work.
gtk/gtkshortcutaction.c | 24 +++++++++++++++++++++---
gtk/gtkshortcutaction.h | 3 +++
2 files changed, 24 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkshortcutaction.c b/gtk/gtkshortcutaction.c
index 176fe5fa5a..c1357d04e8 100644
--- a/gtk/gtkshortcutaction.c
+++ b/gtk/gtkshortcutaction.c
@@ -44,6 +44,10 @@
* - #GtkNamedAction: a shortcut action that calls gtk_widget_activate_action()
* - #GtkGActionAction: a shortcut action that activates a given #GAction
* - #GtkNothingAction: a shortcut action that does nothing
+*
+* # GtkShortcutAction as GtkBuildable
+*
+* GtkShortcut
*/
#include "config.h"
@@ -180,9 +184,7 @@ string_is_function (const char *string,
}
GtkShortcutAction *
-gtk_shortcut_action_parse_builder (GtkBuilder *builder,
- const char *string,
- GError **error)
+gtk_shortcut_action_parse_string (const char *string)
{
GtkShortcutAction *result;
char *arg;
@@ -204,6 +206,22 @@ gtk_shortcut_action_parse_builder (GtkBuilder *builder,
result = gtk_signal_action_new (arg);
g_free (arg);
}
+ else
+ return NULL;
+
+ return result;
+}
+
+GtkShortcutAction *
+gtk_shortcut_action_parse_builder (GtkBuilder *builder,
+ const char *string,
+ GError **error)
+{
+ GtkShortcutAction *result;
+
+ result = gtk_shortcut_action_parse_string (string);
+
+ if (!result)
{
g_set_error (error,
GTK_BUILDER_ERROR, GTK_BUILDER_ERROR_INVALID_VALUE,
diff --git a/gtk/gtkshortcutaction.h b/gtk/gtkshortcutaction.h
index d599344922..2fa2760324 100644
--- a/gtk/gtkshortcutaction.h
+++ b/gtk/gtkshortcutaction.h
@@ -60,6 +60,9 @@ GDK_DECLARE_INTERNAL_TYPE (GtkShortcutAction, gtk_shortcut_action, GTK, SHORTCUT
GDK_AVAILABLE_IN_ALL
char * gtk_shortcut_action_to_string (GtkShortcutAction *self);
+GDK_AVAILABLE_IN_ALL
+GtkShortcutAction * gtk_shortcut_action_parse_string (const char * string);
+
GDK_AVAILABLE_IN_ALL
void gtk_shortcut_action_print (GtkShortcutAction *self,
GString *string);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]