[gthumb] display sort types ordered by name
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] display sort types ordered by name
- Date: Sun, 4 Jul 2010 17:52:04 +0000 (UTC)
commit 01035b591edec6e94ee82209878c06ab1e43f8c0
Author: Paolo Bacchilega <paobac src gnome org>
Date: Sun Jul 4 17:02:34 2010 +0200
display sort types ordered by name
extensions/rename_series/dlg-rename-series.c | 5 ++++-
extensions/webalbums/dlg-web-exporter.c | 6 +++++-
gthumb/dlg-sort-order.c | 6 +++++-
gthumb/gth-filter-editor-dialog.c | 6 +++++-
gthumb/gth-main.c | 10 +++++++++-
5 files changed, 28 insertions(+), 5 deletions(-)
---
diff --git a/extensions/rename_series/dlg-rename-series.c b/extensions/rename_series/dlg-rename-series.c
index 88a291b..f50ad09 100644
--- a/extensions/rename_series/dlg-rename-series.c
+++ b/extensions/rename_series/dlg-rename-series.c
@@ -435,6 +435,7 @@ dlg_rename_series (GthBrowser *browser,
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
int i;
+ GList *sort_types;
GList *scan;
int change_case;
int start_at;
@@ -515,7 +516,8 @@ dlg_rename_series (GthBrowser *browser,
sort_by = eel_gconf_get_string (PREF_RENAME_SERIES_SORT_BY, DEFAULT_SORT_BY);
found = FALSE;
- for (i = 0, scan = gth_main_get_all_sort_types (); scan; scan = scan->next, i++) {
+ sort_types = gth_main_get_all_sort_types ();
+ for (i = 0, scan = sort_types; scan; scan = scan->next, i++) {
GthFileDataSort *sort_type = scan->data;
GtkTreeIter iter;
@@ -530,6 +532,7 @@ dlg_rename_series (GthBrowser *browser,
found = TRUE;
}
}
+ g_list_free (sort_types);
g_free (sort_by);
if (!found)
diff --git a/extensions/webalbums/dlg-web-exporter.c b/extensions/webalbums/dlg-web-exporter.c
index 7f74310..dac625e 100644
--- a/extensions/webalbums/dlg-web-exporter.c
+++ b/extensions/webalbums/dlg-web-exporter.c
@@ -355,6 +355,7 @@ dlg_web_exporter (GthBrowser *browser,
int i;
int active_index;
char *default_sort_type;
+ GList *sort_types;
GList *scan;
char *caption;
char *s_value;
@@ -416,7 +417,8 @@ dlg_web_exporter (GthBrowser *browser,
default_sort_type = eel_gconf_get_string (PREF_WEBALBUMS_SORT_TYPE, "file::mtime");
active_index = 0;
- for (i = 0, scan = gth_main_get_all_sort_types (); scan; scan = scan->next, i++) {
+ sort_types = gth_main_get_all_sort_types ();
+ for (i = 0, scan = sort_types; scan; scan = scan->next, i++) {
GthFileDataSort *sort_type = scan->data;
GtkTreeIter iter;
@@ -429,6 +431,8 @@ dlg_web_exporter (GthBrowser *browser,
SORT_TYPE_COLUMN_NAME, sort_type->display_name,
-1);
}
+ g_list_free (sort_types);
+
gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("sort_combobox")), active_index);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("reverse_order_checkbutton")), eel_gconf_get_boolean (PREF_WEBALBUMS_SORT_INVERSE, FALSE));
diff --git a/gthumb/dlg-sort-order.c b/gthumb/dlg-sort-order.c
index a08636e..09182f3 100644
--- a/gthumb/dlg-sort-order.c
+++ b/gthumb/dlg-sort-order.c
@@ -82,6 +82,7 @@ dlg_sort_order (GthBrowser *browser)
GtkListStore *selection_model;
GtkCellRenderer *renderer;
GthFileData *file_data;
+ GList *sort_types;
GList *scan;
GthFileDataSort *current_sort_type;
gboolean sort_inverse;
@@ -125,7 +126,8 @@ dlg_sort_order (GthBrowser *browser)
else
gth_browser_get_sort_order (data->browser, ¤t_sort_type, &sort_inverse);
- for (i = 0, i_active = 0, scan = gth_main_get_all_sort_types (); scan; scan = scan->next, i++) {
+ sort_types = gth_main_get_all_sort_types ();
+ for (i = 0, i_active = 0, scan = sort_types; scan; scan = scan->next, i++) {
GthFileDataSort *sort_type = scan->data;
GtkTreeIter iter;
@@ -138,6 +140,8 @@ dlg_sort_order (GthBrowser *browser)
SELECTION_COLUMN_NAME, sort_type->display_name,
-1);
}
+ g_list_free (sort_types);
+
gtk_combo_box_set_active (GTK_COMBO_BOX (data->sort_by_combobox), i_active);
gtk_widget_show (data->sort_by_combobox);
gtk_container_add (GTK_CONTAINER (GET_WIDGET ("sort_by_hbox")), data->sort_by_combobox);
diff --git a/gthumb/gth-filter-editor-dialog.c b/gthumb/gth-filter-editor-dialog.c
index cb19635..1e3024b 100644
--- a/gthumb/gth-filter-editor-dialog.c
+++ b/gthumb/gth-filter-editor-dialog.c
@@ -167,6 +167,7 @@ gth_filter_editor_dialog_construct (GthFilterEditorDialog *self,
GtkWindow *parent)
{
GtkWidget *content;
+ GList *sort_types;
GList *scan;
GtkListStore *selection_model;
GtkCellRenderer *renderer;
@@ -230,7 +231,8 @@ gth_filter_editor_dialog_construct (GthFilterEditorDialog *self,
"text", SELECTION_COLUMN_NAME,
NULL);
- for (scan = gth_main_get_all_sort_types (); scan; scan = scan->next) {
+ sort_types = gth_main_get_all_sort_types ();
+ for (scan = sort_types; scan; scan = scan->next) {
GthFileDataSort *sort_type = scan->data;
GtkTreeIter iter;
@@ -240,6 +242,8 @@ gth_filter_editor_dialog_construct (GthFilterEditorDialog *self,
SELECTION_COLUMN_NAME, sort_type->display_name,
-1);
}
+ g_list_free (sort_types);
+
gtk_combo_box_set_active (GTK_COMBO_BOX (self->priv->selection_combobox), 0);
gtk_widget_show (self->priv->selection_combobox);
gtk_container_add (GTK_CONTAINER (GET_WIDGET ("selection_combobox_box")),
diff --git a/gthumb/gth-main.c b/gthumb/gth-main.c
index 59bbeb1..c1d75d7 100644
--- a/gthumb/gth-main.c
+++ b/gthumb/gth-main.c
@@ -638,13 +638,21 @@ collect_sort_types (gpointer key,
}
+static gboolean
+campare_sort_types (GthFileDataSort *type1,
+ GthFileDataSort *type2)
+{
+ return g_utf8_collate (type1->display_name, type2->display_name);
+}
+
+
GList *
gth_main_get_all_sort_types (void)
{
GList *sort_types = NULL;
g_hash_table_foreach (Main->priv->sort_types, collect_sort_types, &sort_types);
- return g_list_reverse (sort_types);
+ return g_list_sort (sort_types, (GCompareFunc) campare_sort_types);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]