[gedit/wip/loader-saver: 1/2] Use gtk_source_encoding_foreach()
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit/wip/loader-saver: 1/2] Use gtk_source_encoding_foreach()
- Date: Tue, 8 Jul 2014 17:11:42 +0000 (UTC)
commit 04c62e5dae48aa7bff8a9b248ada14696116f795
Author: Sébastien Wilmet <swilmet gnome org>
Date: Mon Jul 7 19:34:03 2014 +0200
Use gtk_source_encoding_foreach()
gedit/gedit-app.c | 18 ++++++++----------
gedit/gedit-encodings-dialog.c | 40 +++++++++++++++++++++++-----------------
2 files changed, 31 insertions(+), 27 deletions(-)
---
diff --git a/gedit/gedit-app.c b/gedit/gedit-app.c
index eed2d39..2af769b 100644
--- a/gedit/gedit-app.c
+++ b/gedit/gedit-app.c
@@ -927,6 +927,13 @@ gedit_app_command_line (GApplication *application,
return 0;
}
+static void
+encoding_foreach_cb (const GtkSourceEncoding *encoding,
+ gpointer user_data)
+{
+ g_print ("%s\n", gtk_source_encoding_get_charset (encoding));
+}
+
static gint
gedit_app_handle_local_options (GApplication *application,
GVariantDict *options)
@@ -939,16 +946,7 @@ gedit_app_handle_local_options (GApplication *application,
if (g_variant_dict_contains (options, "list-encodings"))
{
- gint i = 0;
- const GtkSourceEncoding *enc;
-
- while ((enc = gtk_source_encoding_get_from_index (i)) != NULL)
- {
- g_print ("%s\n", gtk_source_encoding_get_charset (enc));
-
- ++i;
- }
-
+ gtk_source_encoding_foreach (encoding_foreach_cb, NULL);
return 0;
}
diff --git a/gedit/gedit-encodings-dialog.c b/gedit/gedit-encodings-dialog.c
index 11d2225..6cbb40d 100644
--- a/gedit/gedit-encodings-dialog.c
+++ b/gedit/gedit-encodings-dialog.c
@@ -313,12 +313,30 @@ init_shown_in_menu_tree_model (GeditEncodingsDialog *dialog)
}
static void
+insert_encoding_foreach_cb (const GtkSourceEncoding *encoding,
+ GeditEncodingsDialog *dlg)
+{
+ GtkTreeIter iter;
+
+ if (encoding == gtk_source_encoding_get_utf8 ())
+ {
+ /* The UTF-8 encoding is always added to the combobox. */
+ return;
+ }
+
+ gtk_list_store_append (dlg->priv->available_liststore, &iter);
+
+ gtk_list_store_set (dlg->priv->available_liststore,
+ &iter,
+ COLUMN_CHARSET, gtk_source_encoding_get_charset (encoding),
+ COLUMN_NAME, gtk_source_encoding_get_name (encoding),
+ -1);
+}
+
+static void
gedit_encodings_dialog_init (GeditEncodingsDialog *dlg)
{
- GtkTreeIter parent_iter;
GtkTreeSelection *selection;
- const GtkSourceEncoding *enc;
- int i;
dlg->priv = gedit_encodings_dialog_get_instance_private (dlg);
@@ -341,20 +359,8 @@ gedit_encodings_dialog_init (GeditEncodingsDialog *dlg)
/* Tree view of available encodings */
/* Add the data */
- i = 0;
- while ((enc = gtk_source_encoding_get_from_index (i)) != NULL)
- {
- gtk_list_store_append (dlg->priv->available_liststore,
- &parent_iter);
- gtk_list_store_set (dlg->priv->available_liststore,
- &parent_iter,
- COLUMN_CHARSET,
- gtk_source_encoding_get_charset (enc),
- COLUMN_NAME,
- gtk_source_encoding_get_name (enc), -1);
-
- ++i;
- }
+ gtk_source_encoding_foreach ((GtkSourceEncodingForeachFunc) insert_encoding_foreach_cb,
+ dlg);
/* Sort model */
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (dlg->priv->sort_available),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]