diff options
author | Matthias Clasen <mclasen@redhat.com> | 2011-12-09 13:17:35 -0500 |
---|---|---|
committer | Ryan Lortie <desrt@desrt.ca> | 2011-12-19 12:51:11 -0500 |
commit | 744f87fc12d77aabbb363917183904acc81c8e8c (patch) | |
tree | fa56e3b9d4e490ed4b485d44cab43fe31427c102 /examples | |
parent | cc14811ec0b52e5cd988a8c501671f21c27c145b (diff) | |
download | gtk+-744f87fc12d77aabbb363917183904acc81c8e8c.tar.gz |
Add an action too
Diffstat (limited to 'examples')
-rw-r--r-- | examples/plugman.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/examples/plugman.c b/examples/plugman.c index e7b5256cb1..11a821008b 100644 --- a/examples/plugman.c +++ b/examples/plugman.c @@ -210,12 +210,26 @@ find_plugin_menu (void) } static void +red_action (GAction *action, + GVariant *parameter, + gpointer data) +{ + g_print ("Here is where we turn the text red\n"); +} + +static void enable_red_plugin (void) { GMenu *plugin_menu; + GAction *action; g_print ("Enabling 'Red' plugin\n"); + action = (GAction *)g_simple_action_new ("red-action", NULL); + g_signal_connect (action, "activate", G_CALLBACK (red_action), NULL); + g_action_map_add_action (G_ACTION_MAP (g_application_get_default ()), action); + g_print ("Actions of 'Red' plugin added\n"); + plugin_menu = find_plugin_menu (); if (plugin_menu) { @@ -223,7 +237,7 @@ enable_red_plugin (void) GMenuItem *item; section = g_menu_new (); - g_menu_insert (section, 0, "Turn text red", "app.turn-text-red"); + g_menu_insert (section, 0, "Turn text red", "app.red-action"); item = g_menu_item_new_section (NULL, (GMenuModel*)section); g_menu_item_set_attribute (item, "id", "s", "red"); g_menu_append_item (plugin_menu, item); @@ -244,6 +258,8 @@ disable_red_plugin (void) g_print ("Disabling 'Red' plugin\n"); + g_action_map_remove_action (G_ACTION_MAP (g_application_get_default ()), "app.red-action"); + plugin_menu = find_plugin_menu (); if (plugin_menu) { |