static void plugin_action (GAction *action, GVariant *parameter, gpointer data) { const char *action_name; const char *css_to_load; GtkCssProvider *css_provider; action_name = g_action_get_name (action); if (strcmp (action_name, "red") == 0) css_to_load = red_css; else if (strcmp (action_name, "black") == 0) css_to_load = black_css; else { g_critical ("Unknown action name: %s", action_name); return; } g_message ("Color: %s", g_action_get_name (action)); css_provider = gtk_css_provider_new (); gtk_css_provider_load_from_data (css_provider, css_to_load, -1); gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), GTK_STYLE_PROVIDER (css_provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); }
static void on_menu_toggle_changed(GSimpleAction *action, GVariant *value, gpointer user_data) { WorkraveApplet *applet = WORKRAVE_APPLET(user_data); gboolean new_state = g_variant_get_boolean(value); int index = lookup_menu_index_by_action(g_action_get_name(G_ACTION(action))); if (index == -1) { return; } g_simple_action_set_state(action, value); GDBusProxy *proxy = workrave_timerbox_control_get_control_proxy(applet->priv->timerbox_control); if (proxy != NULL) { g_dbus_proxy_call(proxy, menu_data[index].dbuscmd, g_variant_new("(b)", new_state), G_DBUS_CALL_FLAGS_NO_AUTO_START, -1, NULL, (GAsyncReadyCallback) dbus_call_finish, &applet); } }
static void activate (GSimpleAction *action, GVariant *parameter, gpointer user_data) { g_print ("%s activated\n", g_action_get_name (G_ACTION (action))); }
static void gstyle_color_panel_actions_toggle_page (GSimpleAction *action, GVariant *variant, gpointer user_data) { GstyleColorPanel *self = (GstyleColorPanel *)user_data; g_autoptr (GVariant) value = NULL; g_autofree gchar *page_name = NULL; const gchar *name; gboolean state; g_assert (GSTYLE_IS_COLOR_PANEL (self)); value = g_action_get_state (G_ACTION (action)); state = g_variant_get_boolean (value); name = g_action_get_name(G_ACTION (action)); if (!g_str_has_prefix (name, "toggle-")) return; page_name = g_strdup (&name [7]); g_simple_action_set_state (action, g_variant_new_boolean (!state)); if (!state) { _gstyle_color_panel_update_prefs_page (self, page_name); gtk_stack_set_visible_child_name (self->prefs_stack, page_name); } gstyle_slidein_reveal_slide (GSTYLE_SLIDEIN (self->prefs_slidein), !gstyle_slidein_get_revealed (GSTYLE_SLIDEIN (self->prefs_slidein))); }
static void activate_action (GAction *action, GVariant *parameter, gpointer data) { g_print ("action %s activated\n", g_action_get_name (action)); }
static GAction * get_corresponding_window_action (GtkApplication *app, GAction *action) { GList *windows = gtk_application_get_windows (app); const char *name; name = g_action_get_name (G_ACTION (action)); return g_action_map_lookup_action (G_ACTION_MAP (windows->data), name); }
/** * rb_source_search_add_to_menu: * @menu: #GMenu instance to populate * @action_namespace: muxer namespace for the action ("app" or "win") * @action: search action to attach the menu item to * @name: name of the search instance to add * * Adds a registered search instance to a search menu. */ void rb_source_search_add_to_menu (GMenu *menu, const char *action_namespace, GAction *action, const char *name) { GMenuItem *item; RBSourceSearch *search; char *action_name; search = rb_source_search_get_by_name (name); g_assert (search != NULL); if (action_namespace != NULL) { action_name = g_strdup_printf ("%s.%s", action_namespace, g_action_get_name (action)); } else { action_name = g_strdup (g_action_get_name (action)); } item = g_menu_item_new (rb_source_search_get_description (search), NULL); g_menu_item_set_action_and_target (item, action_name, "s", name); g_menu_append_item (menu, item); g_free (action_name); }
static void activate_toggle (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GVariant *old_state, *new_state; old_state = g_action_get_state (G_ACTION (action)); new_state = g_variant_new_boolean (!g_variant_get_boolean (old_state)); g_print ("Toggle action %s activated, state changes from %d to %d\n", g_action_get_name (G_ACTION (action)), g_variant_get_boolean (old_state), g_variant_get_boolean (new_state)); g_simple_action_set_state (action, new_state); g_variant_unref (old_state); }
static void activate_toggle_action (GAction *action, GVariant *parameter, gpointer data) { GVariant *state; gboolean b; g_print ("action %s activated\n", g_action_get_name (action)); state = g_action_get_state (action); b = g_variant_get_boolean (state); g_variant_unref (state); g_action_set_state (action, g_variant_new_boolean (!b)); g_print ("state change %d -> %d\n", b, !b); }
static void activate_radio (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GVariant *old_state, *new_state; old_state = g_action_get_state (G_ACTION (action)); new_state = g_variant_new_string (g_variant_get_string (parameter, NULL)); g_print ("Radio action %s activated, state changes from %s to %s\n", g_action_get_name (G_ACTION (action)), g_variant_get_string (old_state, NULL), g_variant_get_string (new_state, NULL)); g_simple_action_set_state (action, new_state); g_variant_unref (old_state); }
/************************ MESSAGE INFO DIALOG that prints the selected action */ void bmd_prev_clicked (GSimpleAction *action, GVariant *parameter, gpointer data) { const gchar *name; GtkWidget *dialog; bmd_widgets *a = (bmd_widgets *) data; name = g_action_get_name (G_ACTION (action)); dialog = gtk_message_dialog_new (GTK_WINDOW (a->window), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "Action %s was selected!", name); g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_widget_show (dialog); }
static void action_activated (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GtkWindow *parent = user_data; GtkWidget *dialog; dialog = gtk_message_dialog_new (parent, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "Activated action `%s`", g_action_get_name (G_ACTION (action))); g_signal_connect_swapped (dialog, "response", G_CALLBACK (gtk_widget_destroy), dialog); gtk_widget_show_all (dialog); }
static void show_action_dialog (GSimpleAction *action) { const gchar *name; GtkWidget *dialog; name = g_action_get_name (G_ACTION (action)); dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "You activated action: \"%s\"", name); g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_widget_show (dialog); }
static void plugin_action (GAction *action, GVariant *parameter, gpointer data) { GApplication *app; GList *list; GtkWindow *window; GtkWidget *text; GdkRGBA color; app = g_application_get_default (); list = gtk_application_get_windows (GTK_APPLICATION (app)); window = GTK_WINDOW (list->data); text = g_object_get_data ((GObject*)window, "plugman-text"); gdk_rgba_parse (&color, g_action_get_name (action)); gtk_widget_override_color (text, 0, &color); }
static void show_action_infobar (GSimpleAction *action, GVariant *parameter, gpointer window) { GtkWidget *infobar; GtkWidget *message; gchar *text; const gchar *name; const gchar *value; name = g_action_get_name (G_ACTION (action)); value = g_variant_get_string (parameter, NULL); message = g_object_get_data (G_OBJECT (window), "message"); infobar = g_object_get_data (G_OBJECT (window), "infobar"); text = g_strdup_printf ("You activated radio action: \"%s\".\n" "Current value: %s", name, value); gtk_label_set_text (GTK_LABEL (message), text); gtk_widget_show (infobar); g_free (text); }
void on_action_mark_all_read (GSimpleAction *action, GVariant *parameter, gpointer user_data) { nodePtr feedlist; gboolean confirm_mark_read; gboolean do_mark_read = TRUE; if (!g_strcmp0 (g_action_get_name (G_ACTION (action)), "mark-all-feeds-read")) feedlist = feedlist_get_root (); else if (user_data) feedlist = (nodePtr) user_data; else feedlist = feedlist_get_selected (); conf_get_bool_value (CONFIRM_MARK_ALL_READ, &confirm_mark_read); if (confirm_mark_read) { gint result; GtkMessageDialog *confirm_dialog = GTK_MESSAGE_DIALOG (liferea_dialog_new ("mark_read_dialog")); GtkWidget *dont_ask_toggle = liferea_dialog_lookup (GTK_WIDGET (confirm_dialog), "dontAskAgainToggle"); const gchar *feed_title = (feedlist_get_root () == feedlist) ? _("all feeds"):node_get_title (feedlist); gchar *primary_message = g_strdup_printf (_("Mark %s as read ?"), feed_title); g_object_set (confirm_dialog, "text", primary_message, NULL); g_free (primary_message); gtk_message_dialog_format_secondary_text (confirm_dialog, _("Are you sure you want to mark all items in %s as read ?"), feed_title); conf_bind (CONFIRM_MARK_ALL_READ, dont_ask_toggle, "active", G_SETTINGS_BIND_DEFAULT | G_SETTINGS_BIND_INVERT_BOOLEAN); result = gtk_dialog_run (GTK_DIALOG (confirm_dialog)); if (result != GTK_RESPONSE_OK) do_mark_read = FALSE; gtk_widget_destroy (GTK_WIDGET (confirm_dialog)); } if (do_mark_read) feedlist_mark_all_read (feedlist); }
static void on_menu_command(GSimpleAction *action, GVariant *parameter, gpointer user_data) { WorkraveApplet *applet = WORKRAVE_APPLET(user_data); int index = lookup_menu_index_by_action(g_action_get_name(G_ACTION(action))); if (index == -1) { return; } GDBusProxy *proxy = workrave_timerbox_control_get_control_proxy(applet->priv->timerbox_control); if (proxy != NULL) { g_dbus_proxy_call(proxy, menu_data[index].dbuscmd, NULL, menu_data[index].autostart ? G_DBUS_CALL_FLAGS_NONE : G_DBUS_CALL_FLAGS_NO_AUTO_START, -1, NULL, (GAsyncReadyCallback) dbus_call_finish, applet); } }