static void populate_tree (CajaColumnChooser *chooser) { GList *columns; GList *l; columns = caja_get_columns_for_file (chooser->details->file); for (l = columns; l != NULL; l = l->next) { GtkTreeIter iter; CajaColumn *column; char *name; char *label; column = CAJA_COLUMN (l->data); g_object_get (G_OBJECT (column), "name", &name, "label", &label, NULL); gtk_list_store_append (chooser->details->store, &iter); gtk_list_store_set (chooser->details->store, &iter, COLUMN_VISIBLE, FALSE, COLUMN_LABEL, label, COLUMN_NAME, name, -1); g_free (name); g_free (label); } caja_column_list_free (columns); }
static void caja_file_management_properties_dialog_setup_icon_caption_page (GtkBuilder *builder) { GList *columns; int i; gboolean writable; writable = g_settings_is_writable (caja_icon_view_preferences, CAJA_PREFERENCES_ICON_VIEW_CAPTIONS); columns = caja_get_common_columns (); for (i = 0; icon_captions_components[i] != NULL; i++) { GtkWidget *combo_box; combo_box = GTK_WIDGET (gtk_builder_get_object (builder, icon_captions_components[i])); create_icon_caption_combo_box_items (GTK_COMBO_BOX_TEXT (combo_box), columns); gtk_widget_set_sensitive (combo_box, writable); g_signal_connect (combo_box, "changed", G_CALLBACK (icon_captions_changed_callback), builder); } caja_column_list_free (columns); update_icon_captions_from_settings (builder); }
static void set_column_order (CajaColumnChooser *chooser, char **column_order) { GList *columns; GList *l; GtkTreePath *path; columns = caja_get_columns_for_file (chooser->details->file); columns = caja_sort_columns (columns, column_order); g_signal_handlers_block_by_func (chooser->details->store, G_CALLBACK (row_deleted_callback), chooser); path = gtk_tree_path_new_first (); for (l = columns; l != NULL; l = l->next) { GtkTreeIter iter; if (get_column_iter (chooser, CAJA_COLUMN (l->data), &iter)) { GtkTreeIter before; if (path) { gtk_tree_model_get_iter (GTK_TREE_MODEL (chooser->details->store), &before, path); gtk_list_store_move_after (chooser->details->store, &iter, &before); gtk_tree_path_next (path); } else { gtk_list_store_move_after (chooser->details->store, &iter, NULL); } } } gtk_tree_path_free (path); g_signal_handlers_unblock_by_func (chooser->details->store, G_CALLBACK (row_deleted_callback), chooser); caja_column_list_free (columns); }