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 on_activate_toggle (GSimpleAction *action, GVariant *parameter, gpointer data) { GVariant *state = g_action_get_state (G_ACTION (action)); g_action_change_state (G_ACTION (action), g_variant_new_boolean (!g_variant_get_boolean (state))); g_variant_unref (state); }
static void ide_editor_spell__widget_mapped_cb (IdeEditorSpellWidget *self) { GActionGroup *group = NULL; GtkWidget *widget = GTK_WIDGET (self->view); g_autoptr (GVariant) value = NULL; g_assert (IDE_IS_EDITOR_SPELL_WIDGET (self)); while ((group == NULL) && (widget != NULL)) { group = gtk_widget_get_action_group (widget, "view"); widget = gtk_widget_get_parent (widget); } if (group != NULL && NULL != (self->view_spellchecking_action = g_action_map_lookup_action (G_ACTION_MAP (group), "spellchecking"))) { value = g_action_get_state (self->view_spellchecking_action); self->view_spellchecker_set = g_variant_get_boolean (value); gtk_switch_set_active (GTK_SWITCH (self->highlight_switch), self->view_spellchecker_set); } jump_to_next_misspelled_word (self); }
void on_feedlist_reduced_activate (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GVariant *state = g_action_get_state (G_ACTION (action)); gboolean val = !g_variant_get_boolean (state); feed_list_view_set_reduce_mode (val); g_simple_action_set_state (action, g_variant_new_boolean (val)); g_object_unref (state); }
static void action_toggle_state_cb (GSimpleAction *saction, GVariant *parameter, gpointer user_data) { GAction *action = G_ACTION (saction); GVariant *state = g_action_get_state (action); g_action_change_state (action, g_variant_new_boolean (!g_variant_get_boolean (state))); g_variant_unref (state); }
static void on_index_pane_toggle_action(GSimpleAction *action, GVariant *parameter, ReaderWindowPrivate *priv) { GVariant *action_state = g_action_get_state(G_ACTION(action)); gboolean active = !g_variant_get_boolean(action_state); g_simple_action_set_state(action, g_variant_new_boolean(active)); cainteoir_settings_set_boolean(priv->settings, "index", "visible", active); cainteoir_settings_save(priv->settings); reader_document_view_set_index_pane_visible(READER_DOCUMENT_VIEW(priv->view), active); }
static void update_app_menu_sensitivity (GApplication *application) { GVariant *state; FrWindowListMode list_mode; state = g_action_get_state (G_ACTION (GET_ACTION (PREF_LISTING_LIST_MODE))); list_mode = _g_enum_type_get_value_by_nick (FR_TYPE_WINDOW_LIST_MODE, g_variant_get_string (state, NULL))->value; g_variant_unref (state); g_simple_action_set_enabled (GET_ACTION (PREF_UI_VIEW_SIDEBAR), list_mode == FR_WINDOW_LIST_MODE_AS_DIR); }
void libbalsa_toggle_activated(GSimpleAction * action, GVariant * parameter, gpointer user_data) { GVariant *action_state; gboolean state; action_state = g_action_get_state(G_ACTION(action)); state = g_variant_get_boolean(action_state); g_action_change_state(G_ACTION(action), g_variant_new_boolean(!state)); g_variant_unref(action_state); }
static void action_toggle_state (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GVariant *state; gboolean new_state; state = g_action_get_state (G_ACTION (action)); new_state = !g_variant_get_boolean (state); g_action_change_state (G_ACTION (action), g_variant_new_boolean (new_state)); g_variant_unref (state); }
static void photos_application_action_toggle (GSimpleAction *simple, GVariant *parameter, gpointer user_data) { GVariant *state; GVariant *new_state; state = g_action_get_state (G_ACTION (simple)); if (state == NULL) return; new_state = g_variant_new ("b", !g_variant_get_boolean (state)); g_action_change_state (G_ACTION (simple), new_state); g_variant_unref (state); }
static void on_activate_search (GSimpleAction *action, GVariant *parameter, gpointer data) { GsmApplication *app = (GsmApplication *) data; GVariant *state = g_action_get_state (G_ACTION (action)); gboolean is_search_shortcut = g_variant_get_boolean (parameter); gboolean is_search_bar = gtk_search_bar_get_search_mode (app->search_bar); gtk_widget_set_visible (GTK_WIDGET (app->search_bar), is_search_bar || is_search_shortcut); if (is_search_shortcut && is_search_bar) { gtk_widget_grab_focus (GTK_WIDGET (app->search_entry)); } else { g_action_change_state (G_ACTION (action), g_variant_new_boolean (!g_variant_get_boolean (state))); } g_variant_unref (state); }
static void activate_toggle_action (GSimpleAction *action, GVariant *parameter, gpointer data) { GVariant *state = g_action_get_state (G_ACTION (action)); gboolean value = g_variant_get_boolean (state); GAction *win_action; win_action = get_corresponding_window_action (GTK_APPLICATION (data), G_ACTION (action)); g_action_change_state (win_action, g_variant_new_boolean (!value)); g_action_change_state (G_ACTION (action), g_variant_new_boolean (!value)); g_variant_unref (state); }
static gboolean actual_switch (gpointer user_data) { GSimpleAction *action = user_data; GVariant* v = g_action_get_state(G_ACTION(action)); gboolean state = g_variant_get_boolean (v); GVariant *new_state = g_variant_new_boolean (state == TRUE ? FALSE : TRUE); g_simple_action_set_state(action, new_state); g_variant_unref (v); g_message ("switching %d", state); return FALSE; }
void update_page_activities (GsmApplication *app) { const char *current_page = gtk_stack_get_visible_child_name (app->stack); if (strcmp (current_page, "processes") == 0) { GAction *search_action = g_action_map_lookup_action (G_ACTION_MAP (app->main_window), "search"); proctable_update (app); proctable_thaw (app); gtk_widget_show (GTK_WIDGET (app->end_process_button)); gtk_widget_show (GTK_WIDGET (app->search_button)); gtk_widget_show (GTK_WIDGET (app->process_menu_button)); update_sensitivity (app); if (g_variant_get_boolean (g_action_get_state (search_action))) gtk_widget_grab_focus (GTK_WIDGET (app->search_entry)); else gtk_widget_grab_focus (GTK_WIDGET (app->tree)); } else { proctable_freeze (app); gtk_widget_hide (GTK_WIDGET (app->end_process_button)); gtk_widget_hide (GTK_WIDGET (app->search_button)); gtk_widget_hide (GTK_WIDGET (app->process_menu_button)); update_sensitivity (app); } if (strcmp (current_page, "resources") == 0) { load_graph_start (app->cpu_graph); load_graph_start (app->mem_graph); load_graph_start (app->net_graph); } else { load_graph_stop (app->cpu_graph); load_graph_stop (app->mem_graph); load_graph_stop (app->net_graph); } if (strcmp (current_page, "disks") == 0) { disks_update (app); disks_thaw (app); } else { disks_freeze (app); } }
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); }
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); }
gboolean gth_window_get_action_state (GthWindow *window, const char *action_name) { GAction *action; GVariant *state; gboolean value; action = g_action_map_lookup_action (G_ACTION_MAP (window), action_name); g_return_val_if_fail (action != NULL, FALSE); state = g_action_get_state (action); value = g_variant_get_boolean (state); g_variant_unref (state); return value; }
gboolean photos_utils_get_selection_mode (void) { GAction *action; GApplication *app; g_autoptr (GVariant) state = NULL; gboolean selection_mode; app = g_application_get_default (); action = g_action_map_lookup_action (G_ACTION_MAP (app), "selection-mode"); state = g_action_get_state (action); g_return_val_if_fail (state != NULL, FALSE); selection_mode = g_variant_get_boolean (state); return selection_mode; }
static void photos_searchbar_constructed (GObject *object) { PhotosSearchbar *self = PHOTOS_SEARCHBAR (object); PhotosSearchbarPrivate *priv; GApplication *app; GtkToolItem *item; GVariant *state; priv = photos_searchbar_get_instance_private (self); G_OBJECT_CLASS (photos_searchbar_parent_class)->constructed (object); PHOTOS_SEARCHBAR_GET_CLASS (self)->create_search_widgets (self); item = gtk_tool_item_new (); gtk_tool_item_set_expand (item, TRUE); gtk_container_add (GTK_CONTAINER (item), priv->search_container); gtk_toolbar_insert (GTK_TOOLBAR (priv->toolbar), item, 0); g_signal_connect_swapped (priv->search_entry, "search-changed", G_CALLBACK (photos_searchbar_search_changed), self); app = g_application_get_default (); priv->search = g_action_map_lookup_action (G_ACTION_MAP (app), "search"); /* g_signal_connect_object will not be able to disconnect the * handler in time because we change the state of the action during * dispose. */ priv->search_state_id = g_signal_connect_swapped (priv->search, "change-state", G_CALLBACK (photos_searchbar_change_state), self); state = g_action_get_state (priv->search); photos_searchbar_change_state (self, state); g_variant_unref (state); gtk_widget_show_all (GTK_WIDGET (self)); }
static void photos_import_dialog_add_existing_notify_state (PhotosImportDialog *self) { g_autoptr (GVariant) state = NULL; PhotosBaseItem *collection; const gchar *id; const gchar *name; g_return_if_fail (PHOTOS_IS_IMPORT_DIALOG (self)); state = g_action_get_state (G_ACTION (self->add_existing_action)); g_return_if_fail (state != NULL); id = g_variant_get_string (state, NULL); collection = g_hash_table_lookup (self->collections, id); g_return_if_fail (PHOTOS_IS_BASE_ITEM (collection)); name = photos_base_item_get_name (collection); gtk_label_set_label (GTK_LABEL (self->add_existing_collection_name_label), name); }
void gth_window_change_action_state (GthWindow *window, const char *action_name, gboolean value) { GAction *action; GVariant *old_state; GVariant *new_state; action = g_action_map_lookup_action (G_ACTION_MAP (window), action_name); g_return_if_fail (action != NULL); old_state = g_action_get_state (action); new_state = g_variant_new_boolean (value); if ((old_state == NULL) || ! g_variant_equal (old_state, new_state)) g_action_change_state (action, new_state); if (old_state != NULL) g_variant_unref (old_state); }
/* * Save_List_Of_Files: Function to save a list of files. * - force_saving_files = TRUE => force saving the file even if it wasn't changed * - force_saving_files = FALSE => force saving only the changed files */ static gint Save_List_Of_Files (GList *etfilelist, gboolean force_saving_files) { EtApplicationWindow *window; gint progress_bar_index; gint saving_answer; gint nb_files_to_save; gint nb_files_changed_by_ext_program; gchar *msg; gchar progress_bar_text[30]; GList *l; ET_File *etfile_save_position = NULL; File_Tag *FileTag; File_Name *FileNameNew; double fraction; GAction *action; GVariant *variant; GtkWidget *widget_focused; GtkTreePath *currentPath = NULL; g_return_val_if_fail (ETCore != NULL, FALSE); window = ET_APPLICATION_WINDOW (MainWindow); /* Save the current position in the list */ etfile_save_position = ETCore->ETFileDisplayed; et_application_window_update_et_file_from_ui (window); /* Save widget that has current focus, to give it again the focus after saving */ widget_focused = gtk_window_get_focus(GTK_WINDOW(MainWindow)); /* Count the number of files to save */ /* Count the number of files changed by an external program */ nb_files_to_save = 0; nb_files_changed_by_ext_program = 0; for (l = etfilelist; l != NULL; l = g_list_next (l)) { GFile *file; GFileInfo *fileinfo; const ET_File *ETFile = (ET_File *)l->data; const File_Tag *file_tag = (File_Tag *)ETFile->FileTag->data; const File_Name *FileName = (File_Name *)ETFile->FileNameNew->data; const gchar *filename_cur = ((File_Name *)ETFile->FileNameCur->data)->value; const gchar *filename_cur_utf8 = ((File_Name *)ETFile->FileNameCur->data)->value_utf8; gchar *basename_cur_utf8 = g_path_get_basename(filename_cur_utf8); // Count only the changed files or all files if force_saving_files==TRUE if (force_saving_files || (FileName && FileName->saved == FALSE) || (file_tag && file_tag->saved == FALSE)) nb_files_to_save++; file = g_file_new_for_path (filename_cur); fileinfo = g_file_query_info (file, G_FILE_ATTRIBUTE_TIME_MODIFIED, G_FILE_QUERY_INFO_NONE, NULL, NULL); g_object_unref (file); if (fileinfo) { if (ETFile->FileModificationTime != g_file_info_get_attribute_uint64 (fileinfo, G_FILE_ATTRIBUTE_TIME_MODIFIED)) { nb_files_changed_by_ext_program++; } g_object_unref (fileinfo); } g_free(basename_cur_utf8); } /* Initialize status bar */ et_application_window_progress_set_fraction (window, 0.0); progress_bar_index = 0; g_snprintf(progress_bar_text, 30, "%d/%d", progress_bar_index, nb_files_to_save); et_application_window_progress_set_text (window, progress_bar_text); /* Set to unsensitive all command buttons (except Quit button) */ et_application_window_disable_command_actions (window); et_application_window_browser_set_sensitive (window, FALSE); et_application_window_tag_area_set_sensitive (window, FALSE); et_application_window_file_area_set_sensitive (window, FALSE); /* Show msgbox (if needed) to ask confirmation ('SF' for Save File) */ SF_HideMsgbox_Write_Tag = FALSE; SF_HideMsgbox_Rename_File = FALSE; Main_Stop_Button_Pressed = FALSE; /* Activate the stop button. */ action = g_action_map_lookup_action (G_ACTION_MAP (MainWindow), "stop"); g_simple_action_set_enabled (G_SIMPLE_ACTION (action), FALSE); /* * Check if file was changed by an external program */ if (nb_files_changed_by_ext_program > 0) { // Some files were changed by other program than EasyTAG GtkWidget *msgdialog = NULL; gint response; msgdialog = gtk_message_dialog_new(GTK_WINDOW(MainWindow), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, ngettext ("A file was changed by an external program", "%d files were changed by an external program", nb_files_changed_by_ext_program), nb_files_changed_by_ext_program); gtk_dialog_add_buttons (GTK_DIALOG (msgdialog), _("_Discard"), GTK_RESPONSE_NO, _("_Save"), GTK_RESPONSE_YES, NULL); gtk_dialog_set_default_response (GTK_DIALOG (msgdialog), GTK_RESPONSE_YES); gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(msgdialog),"%s",_("Do you want to continue saving the file?")); gtk_window_set_title(GTK_WINDOW(msgdialog),_("Quit")); response = gtk_dialog_run(GTK_DIALOG(msgdialog)); gtk_widget_destroy(msgdialog); switch (response) { case GTK_RESPONSE_YES: break; case GTK_RESPONSE_NO: case GTK_RESPONSE_DELETE_EVENT: /* Skip the following loop. */ Main_Stop_Button_Pressed = TRUE; break; default: g_assert_not_reached (); break; } } for (l = etfilelist; l != NULL && !Main_Stop_Button_Pressed; l = g_list_next (l)) { FileTag = ((ET_File *)l->data)->FileTag->data; FileNameNew = ((ET_File *)l->data)->FileNameNew->data; /* We process only the files changed and not saved, or we force to save all * files if force_saving_files==TRUE */ if ( force_saving_files || FileTag->saved == FALSE || FileNameNew->saved == FALSE ) { /* ET_Display_File_Data_To_UI ((ET_File *)l->data); * Use of 'currentPath' to try to increase speed. Indeed, in many * cases, the next file to select, is the next in the list. */ currentPath = et_application_window_browser_select_file_by_et_file2 (window, (ET_File *)l->data, FALSE, currentPath); fraction = (++progress_bar_index) / (double) nb_files_to_save; et_application_window_progress_set_fraction (window, fraction); g_snprintf(progress_bar_text, 30, "%d/%d", progress_bar_index, nb_files_to_save); et_application_window_progress_set_text (window, progress_bar_text); /* Needed to refresh status bar */ while (gtk_events_pending()) gtk_main_iteration(); // Save tag and rename file saving_answer = Save_File ((ET_File *)l->data, nb_files_to_save > 1 ? TRUE : FALSE, force_saving_files); if (saving_answer == -1) { /* Stop saving files + reinit progress bar */ et_application_window_progress_set_text (window, ""); et_application_window_progress_set_fraction (window, 0.0); et_application_window_status_bar_message (window, _("Saving files was stopped"), TRUE); /* To update state of command buttons */ et_application_window_update_actions (window); et_application_window_browser_set_sensitive (window, TRUE); et_application_window_tag_area_set_sensitive (window, TRUE); et_application_window_file_area_set_sensitive (window, TRUE); if (currentPath) { gtk_tree_path_free (currentPath); } return -1; /* We stop all actions */ } } } if (currentPath) gtk_tree_path_free(currentPath); if (Main_Stop_Button_Pressed) msg = g_strdup (_("Saving files was stopped")); else msg = g_strdup (_("All files have been saved")); Main_Stop_Button_Pressed = FALSE; action = g_action_map_lookup_action (G_ACTION_MAP (MainWindow), "stop"); g_simple_action_set_enabled (G_SIMPLE_ACTION (action), FALSE); /* Return to the saved position in the list */ et_application_window_display_et_file (ET_APPLICATION_WINDOW (MainWindow), etfile_save_position); et_application_window_browser_select_file_by_et_file (ET_APPLICATION_WINDOW (MainWindow), etfile_save_position, TRUE); /* FIXME: Find out why this is a special case for the artist/album mode. */ action = g_action_map_lookup_action (G_ACTION_MAP (MainWindow), "file-artist-view"); variant = g_action_get_state (action); if (strcmp (g_variant_get_string (variant, NULL), "artist") == 0) { et_application_window_browser_toggle_display_mode (window); } g_variant_unref (variant); /* To update state of command buttons */ et_application_window_update_actions (ET_APPLICATION_WINDOW (MainWindow)); et_application_window_browser_set_sensitive (window, TRUE); et_application_window_tag_area_set_sensitive (window, TRUE); et_application_window_file_area_set_sensitive (window, TRUE); /* Give again focus to the first entry, else the focus is passed to another */ gtk_widget_grab_focus(GTK_WIDGET(widget_focused)); et_application_window_progress_set_text (window, ""); et_application_window_progress_set_fraction (window, 0.0); et_application_window_status_bar_message (window, msg, TRUE); g_free(msg); et_application_window_browser_refresh_list (window); return TRUE; }