forked from AuroraMiddleware/gtk
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.
This commit is contained in:
parent
9a2f7338df
commit
1424dd9786
@ -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,
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user