[gedit] EncodingsDialog: some code clean-up
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] EncodingsDialog: some code clean-up
- Date: Mon, 11 Aug 2014 19:20:45 +0000 (UTC)
commit 4b7cc53b81b4e49266b9f07217275684fda33f44
Author: Sébastien Wilmet <swilmet gnome org>
Date: Mon Aug 11 19:38:54 2014 +0200
EncodingsDialog: some code clean-up
gedit/gedit-encodings-dialog.c | 188 +++++++++++++++++++---------------------
gedit/gedit-encodings-dialog.h | 24 +-----
2 files changed, 92 insertions(+), 120 deletions(-)
---
diff --git a/gedit/gedit-encodings-dialog.c b/gedit/gedit-encodings-dialog.c
index 4d9b62c..499fd54 100644
--- a/gedit/gedit-encodings-dialog.c
+++ b/gedit/gedit-encodings-dialog.c
@@ -22,31 +22,36 @@
#include <config.h>
#endif
-#include <string.h>
+#include "gedit-encodings-dialog.h"
+#include <string.h>
#include <glib/gi18n.h>
#include <gtksourceview/gtksource.h>
-#include "gedit-encodings-dialog.h"
#include "gedit-utils.h"
-#include "gedit-debug.h"
-#include "gedit-dirs.h"
#include "gedit-settings.h"
struct _GeditEncodingsDialogPrivate
{
- GSettings *enc_settings;
-
- GtkListStore *liststore_available;
- GtkListStore *liststore_displayed;
- GtkTreeModel *sort_available;
- GtkTreeModel *sort_displayed;
- GtkWidget *treeview_available;
- GtkWidget *treeview_displayed;
- GtkWidget *add_button;
- GtkWidget *remove_button;
-
- GSList *show_in_menu_list;
+ GSettings *enc_settings;
+
+ GtkListStore *liststore_available;
+ GtkListStore *liststore_displayed;
+ GtkTreeModelSort *sort_available;
+ GtkTreeModelSort *sort_displayed;
+ GtkTreeView *treeview_available;
+ GtkTreeView *treeview_displayed;
+ GtkWidget *add_button;
+ GtkWidget *remove_button;
+
+ GSList *show_in_menu_list;
+};
+
+enum
+{
+ COLUMN_NAME,
+ COLUMN_CHARSET,
+ N_COLUMNS
};
G_DEFINE_TYPE_WITH_PRIVATE (GeditEncodingsDialog, gedit_encodings_dialog, GTK_TYPE_DIALOG)
@@ -88,14 +93,14 @@ gedit_encodings_dialog_response (GtkDialog *dialog,
case GTK_RESPONSE_OK:
{
- gchar **encs;
+ gchar **enc_strv;
- encs = _gedit_utils_encoding_list_to_strv (priv->show_in_menu_list);
+ enc_strv = _gedit_utils_encoding_list_to_strv (priv->show_in_menu_list);
g_settings_set_strv (priv->enc_settings,
GEDIT_SETTINGS_ENCODING_SHOWN_IN_MENU,
- (const gchar * const *)encs);
+ (const gchar * const *)enc_strv);
- g_strfreev (encs);
+ g_strfreev (enc_strv);
}
default:
gtk_widget_destroy (GTK_WIDGET (dialog));
@@ -117,40 +122,33 @@ gedit_encodings_dialog_class_init (GeditEncodingsDialogClass *klass)
/* Bind class to template */
gtk_widget_class_set_template_from_resource (widget_class,
"/org/gnome/gedit/ui/gedit-encodings-dialog.ui");
- gtk_widget_class_bind_template_child_private (widget_class, GeditEncodingsDialog, add_button);
- gtk_widget_class_bind_template_child_private (widget_class, GeditEncodingsDialog, remove_button);
- gtk_widget_class_bind_template_child_private (widget_class, GeditEncodingsDialog, treeview_available);
gtk_widget_class_bind_template_child_private (widget_class, GeditEncodingsDialog,
liststore_available);
- gtk_widget_class_bind_template_child_private (widget_class, GeditEncodingsDialog, sort_available);
- gtk_widget_class_bind_template_child_private (widget_class, GeditEncodingsDialog, treeview_displayed);
gtk_widget_class_bind_template_child_private (widget_class, GeditEncodingsDialog,
liststore_displayed);
+ gtk_widget_class_bind_template_child_private (widget_class, GeditEncodingsDialog, sort_available);
gtk_widget_class_bind_template_child_private (widget_class, GeditEncodingsDialog, sort_displayed);
+ gtk_widget_class_bind_template_child_private (widget_class, GeditEncodingsDialog, treeview_available);
+ gtk_widget_class_bind_template_child_private (widget_class, GeditEncodingsDialog, treeview_displayed);
+ gtk_widget_class_bind_template_child_private (widget_class, GeditEncodingsDialog, add_button);
+ gtk_widget_class_bind_template_child_private (widget_class, GeditEncodingsDialog, remove_button);
}
-enum {
- COLUMN_NAME,
- COLUMN_CHARSET,
- N_COLUMNS
-};
-
static void
count_selected_items_func (GtkTreeModel *model,
GtkTreePath *path,
GtkTreeIter *iter,
gpointer data)
{
- int *count = data;
-
+ gint *count = data;
*count += 1;
}
static void
-available_selection_changed_callback (GtkTreeSelection *selection,
- GeditEncodingsDialog *dialogs)
+available_selection_changed_cb (GtkTreeSelection *selection,
+ GeditEncodingsDialog *dialogs)
{
- int count;
+ gint count = 0;
- count = 0;
+ /* TODO use gtk_tree_selection_count_selected_rows() instead. */
gtk_tree_selection_selected_foreach (selection,
count_selected_items_func,
&count);
@@ -159,12 +157,12 @@ available_selection_changed_callback (GtkTreeSelection *selection,
}
static void
-displayed_selection_changed_callback (GtkTreeSelection *selection,
- GeditEncodingsDialog *dialogs)
+displayed_selection_changed_cb (GtkTreeSelection *selection,
+ GeditEncodingsDialog *dialogs)
{
- int count;
+ gint count = 0;
- count = 0;
+ /* TODO use gtk_tree_selection_count_selected_rows() instead. */
gtk_tree_selection_selected_foreach (selection,
count_selected_items_func,
&count);
@@ -179,11 +177,12 @@ get_selected_encodings_func (GtkTreeModel *model,
gpointer data)
{
GSList **list = data;
- gchar *charset;
+ gchar *charset = NULL;
const GtkSourceEncoding *enc;
- charset = NULL;
- gtk_tree_model_get (model, iter, COLUMN_CHARSET, &charset, -1);
+ gtk_tree_model_get (model, iter,
+ COLUMN_CHARSET, &charset,
+ -1);
enc = gtk_source_encoding_get_from_charset (charset);
g_free (charset);
@@ -199,83 +198,76 @@ update_shown_in_menu_tree_model (GtkListStore *store,
gtk_list_store_clear (store);
- while (list != NULL)
+ for (; list != NULL; list = list->next)
{
- const GtkSourceEncoding *enc;
-
- enc = list->data;
+ const GtkSourceEncoding *enc = list->data;
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
- COLUMN_CHARSET,
- gtk_source_encoding_get_charset (enc),
- COLUMN_NAME,
- gtk_source_encoding_get_name (enc), -1);
-
- list = g_slist_next (list);
+ COLUMN_CHARSET, gtk_source_encoding_get_charset (enc),
+ COLUMN_NAME, gtk_source_encoding_get_name (enc),
+ -1);
}
}
static void
-add_button_clicked_callback (GtkWidget *button,
- GeditEncodingsDialog *dialog)
+add_button_clicked_cb (GtkWidget *button,
+ GeditEncodingsDialog *dialog)
{
GtkTreeSelection *selection;
GSList *encodings;
- GSList *tmp;
+ GSList *l;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->priv->treeview_available));
+ selection = gtk_tree_view_get_selection (dialog->priv->treeview_available);
encodings = NULL;
gtk_tree_selection_selected_foreach (selection,
get_selected_encodings_func,
&encodings);
- tmp = encodings;
- while (tmp != NULL)
+ for (l = encodings; l != NULL; l = l->next)
{
- if (g_slist_find (dialog->priv->show_in_menu_list, tmp->data) == NULL)
+ gpointer cur_encoding = l->data;
+
+ if (g_slist_find (dialog->priv->show_in_menu_list, cur_encoding) == NULL)
{
dialog->priv->show_in_menu_list = g_slist_prepend (dialog->priv->show_in_menu_list,
- tmp->data);
+ cur_encoding);
}
-
- tmp = g_slist_next (tmp);
}
g_slist_free (encodings);
- update_shown_in_menu_tree_model (GTK_LIST_STORE (dialog->priv->liststore_displayed),
+ update_shown_in_menu_tree_model (dialog->priv->liststore_displayed,
dialog->priv->show_in_menu_list);
}
static void
-remove_button_clicked_callback (GtkWidget *button,
- GeditEncodingsDialog *dialog)
+remove_button_clicked_cb (GtkWidget *button,
+ GeditEncodingsDialog *dialog)
{
GtkTreeSelection *selection;
GSList *encodings;
- GSList *tmp;
+ GSList *l;
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->priv->treeview_displayed));
+ selection = gtk_tree_view_get_selection (dialog->priv->treeview_displayed);
encodings = NULL;
gtk_tree_selection_selected_foreach (selection,
get_selected_encodings_func,
&encodings);
- tmp = encodings;
- while (tmp != NULL)
+ for (l = encodings; l != NULL; l = l->next)
{
- dialog->priv->show_in_menu_list = g_slist_remove (dialog->priv->show_in_menu_list,
- tmp->data);
+ gpointer cur_encoding = l->data;
- tmp = g_slist_next (tmp);
+ dialog->priv->show_in_menu_list = g_slist_remove (dialog->priv->show_in_menu_list,
+ cur_encoding);
}
g_slist_free (encodings);
- update_shown_in_menu_tree_model (GTK_LIST_STORE (dialog->priv->liststore_displayed),
+ update_shown_in_menu_tree_model (dialog->priv->liststore_displayed,
dialog->priv->show_in_menu_list);
}
@@ -284,7 +276,8 @@ init_shown_in_menu_tree_model (GeditEncodingsDialog *dialog)
{
GtkTreeIter iter;
gchar **enc_strv;
- GSList *list, *tmp;
+ GSList *list;
+ GSList *l;
/* add data to the list store */
enc_strv = g_settings_get_strv (dialog->priv->enc_settings,
@@ -292,21 +285,18 @@ init_shown_in_menu_tree_model (GeditEncodingsDialog *dialog)
list = _gedit_utils_encoding_strv_to_list ((const gchar * const *)enc_strv);
- for (tmp = list; tmp != NULL; tmp = g_slist_next (tmp))
+ for (l = list; l != NULL; l = l->next)
{
- const GtkSourceEncoding *enc = tmp->data;
+ const GtkSourceEncoding *cur_encoding = l->data;
dialog->priv->show_in_menu_list = g_slist_prepend (dialog->priv->show_in_menu_list,
- tmp->data);
-
- gtk_list_store_append (dialog->priv->liststore_displayed,
- &iter);
- gtk_list_store_set (dialog->priv->liststore_displayed,
- &iter,
- COLUMN_CHARSET,
- gtk_source_encoding_get_charset (enc),
- COLUMN_NAME,
- gtk_source_encoding_get_name (enc), -1);
+ (gpointer) cur_encoding);
+
+ gtk_list_store_append (dialog->priv->liststore_displayed, &iter);
+ gtk_list_store_set (dialog->priv->liststore_displayed, &iter,
+ COLUMN_CHARSET, gtk_source_encoding_get_charset (cur_encoding),
+ COLUMN_NAME, gtk_source_encoding_get_name (cur_encoding),
+ -1);
}
g_slist_free (list);
@@ -344,16 +334,16 @@ gedit_encodings_dialog_init (GeditEncodingsDialog *dlg)
gtk_widget_init_template (GTK_WIDGET (dlg));
- gtk_dialog_set_default_response (GTK_DIALOG (dlg),
- GTK_RESPONSE_OK);
+ gtk_dialog_set_default_response (GTK_DIALOG (dlg), GTK_RESPONSE_OK);
g_signal_connect (dlg->priv->add_button,
"clicked",
- G_CALLBACK (add_button_clicked_callback),
+ G_CALLBACK (add_button_clicked_cb),
dlg);
+
g_signal_connect (dlg->priv->remove_button,
"clicked",
- G_CALLBACK (remove_button_clicked_callback),
+ G_CALLBACK (remove_button_clicked_cb),
dlg);
/* Tree view of available encodings */
@@ -367,12 +357,12 @@ gedit_encodings_dialog_init (GeditEncodingsDialog *dlg)
COLUMN_NAME,
GTK_SORT_ASCENDING);
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dlg->priv->treeview_available));
+ selection = gtk_tree_view_get_selection (dlg->priv->treeview_available);
- available_selection_changed_callback (selection, dlg);
+ available_selection_changed_cb (selection, dlg);
g_signal_connect (selection,
"changed",
- G_CALLBACK (available_selection_changed_callback),
+ G_CALLBACK (available_selection_changed_cb),
dlg);
/* Tree view of selected encodings */
@@ -385,19 +375,19 @@ gedit_encodings_dialog_init (GeditEncodingsDialog *dlg)
COLUMN_NAME,
GTK_SORT_ASCENDING);
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dlg->priv->treeview_displayed));
+ selection = gtk_tree_view_get_selection (dlg->priv->treeview_displayed);
- displayed_selection_changed_callback (selection, dlg);
+ displayed_selection_changed_cb (selection, dlg);
g_signal_connect (selection,
"changed",
- G_CALLBACK (displayed_selection_changed_callback),
+ G_CALLBACK (displayed_selection_changed_cb),
dlg);
}
GtkWidget *
gedit_encodings_dialog_new (void)
{
- return GTK_WIDGET (g_object_new (GEDIT_TYPE_ENCODINGS_DIALOG, NULL));
+ return g_object_new (GEDIT_TYPE_ENCODINGS_DIALOG, NULL);
}
/* ex:set ts=8 noet: */
diff --git a/gedit/gedit-encodings-dialog.h b/gedit/gedit-encodings-dialog.h
index d05ac22..59b2211 100644
--- a/gedit/gedit-encodings-dialog.h
+++ b/gedit/gedit-encodings-dialog.h
@@ -25,47 +25,29 @@
G_BEGIN_DECLS
-/*
- * Type checking and casting macros
- */
#define GEDIT_TYPE_ENCODINGS_DIALOG (gedit_encodings_dialog_get_type())
#define GEDIT_ENCODINGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),
GEDIT_TYPE_ENCODINGS_DIALOG, GeditEncodingsDialog))
-#define GEDIT_ENCODINGS_DIALOG_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),
GEDIT_TYPE_ENCODINGS_DIALOG, GeditEncodingsDialog const))
#define GEDIT_ENCODINGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),
GEDIT_TYPE_ENCODINGS_DIALOG, GeditEncodingsDialogClass))
#define GEDIT_IS_ENCODINGS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),
GEDIT_TYPE_ENCODINGS_DIALOG))
#define GEDIT_IS_ENCODINGS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),
GEDIT_TYPE_ENCODINGS_DIALOG))
#define GEDIT_ENCODINGS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj),
GEDIT_TYPE_ENCODINGS_DIALOG, GeditEncodingsDialogClass))
-
-/* Private structure type */
-typedef struct _GeditEncodingsDialogPrivate GeditEncodingsDialogPrivate;
-
-/*
- * Main object structure
- */
-typedef struct _GeditEncodingsDialog GeditEncodingsDialog;
+typedef struct _GeditEncodingsDialog GeditEncodingsDialog;
+typedef struct _GeditEncodingsDialogClass GeditEncodingsDialogClass;
+typedef struct _GeditEncodingsDialogPrivate GeditEncodingsDialogPrivate;
struct _GeditEncodingsDialog
{
GtkDialog dialog;
- /*< private > */
GeditEncodingsDialogPrivate *priv;
};
-/*
- * Class definition
- */
-typedef struct _GeditEncodingsDialogClass GeditEncodingsDialogClass;
-
struct _GeditEncodingsDialogClass
{
GtkDialogClass parent_class;
};
-/*
- * Public methods
- */
GType gedit_encodings_dialog_get_type (void) G_GNUC_CONST;
GtkWidget *gedit_encodings_dialog_new (void);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]