static void set_columns_from_settings (NemoColumnChooser *chooser) { char **visible_columns; char **column_order; visible_columns = g_settings_get_strv (nemo_list_view_preferences, NEMO_PREFERENCES_LIST_VIEW_DEFAULT_VISIBLE_COLUMNS); column_order = g_settings_get_strv (nemo_list_view_preferences, NEMO_PREFERENCES_LIST_VIEW_DEFAULT_COLUMN_ORDER); nemo_column_chooser_set_settings (NEMO_COLUMN_CHOOSER (chooser), visible_columns, column_order); g_strfreev (visible_columns); g_strfreev (column_order); }
static void nemo_file_management_properties_dialog_setup_list_column_page (GtkBuilder *builder) { GtkWidget *chooser; GtkWidget *box; chooser = nemo_column_chooser_new (NULL); g_signal_connect (chooser, "changed", G_CALLBACK (columns_changed_callback), chooser); g_signal_connect (chooser, "use_default", G_CALLBACK (use_default_callback), chooser); set_columns_from_settings (NEMO_COLUMN_CHOOSER (chooser)); gtk_widget_show (chooser); box = GTK_WIDGET (gtk_builder_get_object (builder, "list_columns_vbox")); gtk_box_pack_start (GTK_BOX (box), chooser, TRUE, TRUE, 0); }
static void columns_changed_callback (NemoColumnChooser *chooser, gpointer callback_data) { char **visible_columns; char **column_order; nemo_column_chooser_get_settings (NEMO_COLUMN_CHOOSER (chooser), &visible_columns, &column_order); g_settings_set_strv (nemo_list_view_preferences, NEMO_PREFERENCES_LIST_VIEW_DEFAULT_VISIBLE_COLUMNS, (const char * const *)visible_columns); g_settings_set_strv (nemo_list_view_preferences, NEMO_PREFERENCES_LIST_VIEW_DEFAULT_COLUMN_ORDER, (const char * const *)column_order); g_strfreev (visible_columns); g_strfreev (column_order); }