- g_application_set_action_group (app, G_ACTION_GROUP (actions));
- g_object_unref (actions);
+static void
+describe_and_activate_action (GActionGroup *group,
+ const gchar *name)
+{
+ const GVariantType *param_type;
+ GVariant *state;
+ gboolean enabled;
+ gchar *tmp;
+
+ param_type = g_action_group_get_action_parameter_type (group, name);
+ state = g_action_group_get_action_state (group, name);
+ enabled = g_action_group_get_action_enabled (group, name);
+
+ g_print ("action name: %s\n", name);
+ tmp = param_type ? g_variant_type_dup_string (param_type) : NULL;
+ g_print ("parameter type: %s\n", tmp ? tmp : "<none>");
+ g_free (tmp);
+ g_print ("state type: %s\n",
+ state ? g_variant_get_type_string (state) : "<none>");
+ tmp = state ? g_variant_print (state, FALSE) : NULL;
+ g_print ("state: %s\n", tmp ? tmp : "<none>");
+ g_free (tmp);
+ g_print ("enabled: %s\n", enabled ? "true" : "false");
+
+ if (state != NULL)
+ g_variant_unref (state);
+
+ g_action_group_activate_action (group, name, NULL);