[gnome-control-center] region: Sort locales for format selection
- From: Rodrigo Moya <rodrigo src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] region: Sort locales for format selection
- Date: Tue, 9 Aug 2011 10:46:10 +0000 (UTC)
commit d62267186a7cea27b9033bef9342a3d0df70e102
Author: Rodrigo Moya <rodrigo gnome-db org>
Date: Tue Aug 9 12:46:15 2011 +0200
region: Sort locales for format selection
panels/region/gnome-region-panel-formats.c | 30 ++++++++++++++++++++++++++-
1 files changed, 28 insertions(+), 2 deletions(-)
---
diff --git a/panels/region/gnome-region-panel-formats.c b/panels/region/gnome-region-panel-formats.c
index 791df6c..11c05d5 100644
--- a/panels/region/gnome-region-panel-formats.c
+++ b/panels/region/gnome-region-panel-formats.c
@@ -118,9 +118,35 @@ setup_formats (GtkBuilder *builder)
langs = gdm_get_all_language_names ();
for (i = 0; langs[i] != NULL; i++) {
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ gint row = 0;
+
language = gdm_get_language_from_name (langs[i], NULL);
- /* FIXME: sort while adding */
- gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), langs[i], language);
+
+ /* Sort while adding */
+ model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo));
+ if (gtk_tree_model_get_iter_first (model, &iter)) {
+ gboolean added = FALSE;
+
+ do {
+ gchar *iter_s;
+
+ gtk_tree_model_get (model, &iter, 0, &iter_s, -1);
+ if (g_strcmp0 (language, iter_s) < 0) {
+ gtk_combo_box_text_insert (GTK_COMBO_BOX_TEXT (combo), row,
+ langs[i], language);
+ added = TRUE;
+ break;
+ }
+
+ row++;
+ } while (gtk_tree_model_iter_next (model, &iter));
+
+ if (!added)
+ gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), langs[i], language);
+ } else
+ gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo), langs[i], language);
g_free (language);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]