void fsearch_window_actions_update (FsearchApplicationWindow *self) { GtkTreeSelection *selection = fsearch_application_window_get_listview_selection (self); GtkTreeView *treeview = gtk_tree_selection_get_tree_view (selection); gint num_rows = 0; if (treeview) { GtkTreeModel *model = gtk_tree_view_get_model (treeview); if (model) { num_rows = gtk_tree_model_iter_n_children (model, NULL); } } GActionGroup *group = gtk_widget_get_action_group (GTK_WIDGET (self), "win"); g_assert (G_IS_SIMPLE_ACTION_GROUP (group)); gint num_rows_selected = gtk_tree_selection_count_selected_rows (selection); action_set_enabled (group, "select_all", num_rows); action_set_enabled (group, "deselect_all", num_rows_selected); action_set_enabled (group, "invert_selection", num_rows_selected); action_set_enabled (group, "copy_clipboard", num_rows_selected); action_set_enabled (group, "cut_clipboard", num_rows_selected); action_set_enabled (group, "delete_selection", num_rows_selected); action_set_enabled (group, "open", num_rows_selected); action_set_enabled (group, "open_with", num_rows_selected); action_set_enabled (group, "open_with_other", FALSE); action_set_enabled (group, "open_folder", num_rows_selected); action_set_enabled (group, "focus_search", TRUE); action_set_enabled (group, "toggle_focus", TRUE); action_set_enabled (group, "hide_window", TRUE); action_set_enabled (group, "update_database", TRUE); action_set_enabled (group, "show_menubar", TRUE); action_set_enabled (group, "show_statusbar", TRUE); action_set_enabled (group, "show_filter", TRUE); action_set_enabled (group, "show_search_button", TRUE); action_set_enabled (group, "show_name_column", FALSE); action_set_enabled (group, "show_path_column", TRUE); action_set_enabled (group, "show_type_column", TRUE); action_set_enabled (group, "show_size_column", TRUE); action_set_enabled (group, "show_modified_column", TRUE); FsearchConfig *config = fsearch_application_get_config (FSEARCH_APPLICATION_DEFAULT); action_set_active_bool (group, "show_menubar", config->show_menubar); action_set_active_bool (group, "show_statusbar", config->show_statusbar); action_set_active_bool (group, "show_filter", config->show_filter); action_set_active_bool (group, "show_search_button", config->show_search_button); action_set_active_bool (group, "search_in_path", config->search_in_path); action_set_active_bool (group, "search_mode", config->enable_regex); action_set_active_bool (group, "match_case", config->match_case); action_set_active_bool (group, "show_name_column", true); action_set_active_bool (group, "show_path_column", config->show_path_column); action_set_active_bool (group, "show_type_column", config->show_type_column); action_set_active_bool (group, "show_size_column", config->show_size_column); action_set_active_bool (group, "show_modified_column", config->show_modified_column); }
void gb_project_tree_actions_update (GbProjectTree *self) { GActionGroup *group; GbTreeNode *selection; GObject *item = NULL; IDE_ENTRY; g_assert (GB_IS_PROJECT_TREE (self)); group = gtk_widget_get_action_group (GTK_WIDGET (self), "project-tree"); g_assert (G_IS_SIMPLE_ACTION_GROUP (group)); selection = gb_tree_get_selected (GB_TREE (self)); if (selection != NULL) item = gb_tree_node_get_item (selection); action_set (group, "new-file", "enabled", (IDE_IS_PROJECT_FILE (item) || IDE_IS_PROJECT_FILES (item)), NULL); action_set (group, "new-directory", "enabled", (IDE_IS_PROJECT_FILE (item) || IDE_IS_PROJECT_FILES (item)), NULL); action_set (group, "open", "enabled", (IDE_IS_PROJECT_FILE (item) && !project_file_is_directory (item)), NULL); action_set (group, "open-with-editor", "enabled", (IDE_IS_PROJECT_FILE (item) && !project_file_is_directory (item)), NULL); action_set (group, "open-containing-folder", "enabled", (IDE_IS_PROJECT_FILE (item) || IDE_IS_PROJECT_FILES (item)), NULL); action_set (group, "rename-file", "enabled", IDE_IS_PROJECT_FILE (item), NULL); action_set (group, "move-to-trash", "enabled", (IDE_IS_PROJECT_FILE (item) && !project_file_is_directory (item)), NULL); IDE_EXIT; }
void gb_editor_view_actions_update (GbEditorView *self) { GtkSourceLanguage *language; const gchar *lang_id = NULL; GActionGroup *group; GAction *action; gboolean enabled; g_assert (GB_IS_EDITOR_VIEW (self)); group = gtk_widget_get_action_group (GTK_WIDGET (self), "view"); if (!G_IS_SIMPLE_ACTION_GROUP (group)) return; /* update preview sensitivity */ language = gtk_source_buffer_get_language (GTK_SOURCE_BUFFER (self->document)); if (language) lang_id = gtk_source_language_get_id (language); enabled = ((g_strcmp0 (lang_id, "html") == 0) || (g_strcmp0 (lang_id, "markdown") == 0)); action = g_action_map_lookup_action (G_ACTION_MAP (group), "preview"); g_simple_action_set_enabled (G_SIMPLE_ACTION (action), enabled); }