[evolution] EMFilterFolderElement cleanups.



commit 0a15c7079d373ad5960d87384bfd7292b79fac0a
Author: Matthew Barnes <mbarnes redhat com>
Date:   Tue May 31 15:51:40 2011 -0400

    EMFilterFolderElement cleanups.

 mail/em-filter-folder-element.c |  255 +++++++++++++++++++--------------------
 1 files changed, 127 insertions(+), 128 deletions(-)
---
diff --git a/mail/em-filter-folder-element.c b/mail/em-filter-folder-element.c
index a7be464..502ec5d 100644
--- a/mail/em-filter-folder-element.c
+++ b/mail/em-filter-folder-element.c
@@ -39,6 +39,10 @@
 #include "libedataserver/e-sexp.h"
 #include "e-util/e-alert.h"
 
+#define EM_FILTER_FOLDER_ELEMENT_GET_PRIVATE(obj) \
+	(G_TYPE_INSTANCE_GET_PRIVATE \
+	((obj), EM_TYPE_FILTER_FOLDER_ELEMENT, EMFilterFolderElementPrivate))
+
 struct _EMFilterFolderElementPrivate {
 	EMailBackend *backend;
 	gchar *uri;
@@ -49,21 +53,28 @@ enum {
 	PROP_BACKEND
 };
 
-static gboolean validate (EFilterElement *fe, EAlert **alert);
-static gint folder_eq (EFilterElement *fe, EFilterElement *cm);
-static xmlNodePtr xml_encode (EFilterElement *fe);
-static gint xml_decode (EFilterElement *fe, xmlNodePtr node);
-static GtkWidget *get_widget (EFilterElement *fe);
-static void build_code (EFilterElement *fe, GString *out, EFilterPart *ff);
-static void format_sexp (EFilterElement *, GString *);
-static void emff_copy_value (EFilterElement *de, EFilterElement *se);
-
 G_DEFINE_TYPE (
 	EMFilterFolderElement,
 	em_filter_folder_element,
 	E_TYPE_FILTER_ELEMENT)
 
 static void
+filter_folder_element_selected_cb (EMFolderSelectionButton *button,
+                                   EMFilterFolderElement *ff)
+{
+	GtkWidget *toplevel;
+	const gchar *uri;
+
+	uri = em_folder_selection_button_get_selection (button);
+
+	g_free (ff->priv->uri);
+	ff->priv->uri = g_strdup (uri);
+
+	toplevel = gtk_widget_get_toplevel (GTK_WIDGET (button));
+	gtk_window_present (GTK_WINDOW (toplevel));
+}
+
+static void
 filter_folder_element_set_backend (EMFilterFolderElement *element,
                                    EMailBackend *backend)
 {
@@ -123,7 +134,7 @@ filter_folder_element_dispose (GObject *object)
 {
 	EMFilterFolderElementPrivate *priv;
 
-	priv = EM_FILTER_FOLDER_ELEMENT (object)->priv;
+	priv = EM_FILTER_FOLDER_ELEMENT_GET_PRIVATE (object);
 
 	if (priv->backend != NULL) {
 		g_object_unref (priv->backend);
@@ -139,7 +150,7 @@ filter_folder_element_finalize (GObject *object)
 {
 	EMFilterFolderElementPrivate *priv;
 
-	priv = EM_FILTER_FOLDER_ELEMENT (object)->priv;
+	priv = EM_FILTER_FOLDER_ELEMENT_GET_PRIVATE (object);
 
 	g_free (priv->uri);
 
@@ -147,105 +158,26 @@ filter_folder_element_finalize (GObject *object)
 	G_OBJECT_CLASS (em_filter_folder_element_parent_class)->finalize (object);
 }
 
-static void
-em_filter_folder_element_class_init (EMFilterFolderElementClass *class)
-{
-	GObjectClass *object_class;
-	EFilterElementClass *filter_element_class;
-
-	g_type_class_add_private (class, sizeof (EMFilterFolderElementPrivate));
-
-	object_class = G_OBJECT_CLASS (class);
-	object_class->set_property = filter_folder_element_set_property;
-	object_class->get_property = filter_folder_element_get_property;
-	object_class->dispose = filter_folder_element_dispose;
-	object_class->finalize = filter_folder_element_finalize;
-
-	filter_element_class = E_FILTER_ELEMENT_CLASS (class);
-	filter_element_class->validate = validate;
-	filter_element_class->eq = folder_eq;
-	filter_element_class->xml_encode = xml_encode;
-	filter_element_class->xml_decode = xml_decode;
-	filter_element_class->get_widget = get_widget;
-	filter_element_class->build_code = build_code;
-	filter_element_class->format_sexp = format_sexp;
-	filter_element_class->copy_value = emff_copy_value;
-
-	g_object_class_install_property (
-		object_class,
-		PROP_BACKEND,
-		g_param_spec_object (
-			"backend",
-			NULL,
-			NULL,
-			E_TYPE_MAIL_BACKEND,
-			G_PARAM_READWRITE |
-			G_PARAM_CONSTRUCT_ONLY));
-}
-
-static void
-em_filter_folder_element_init (EMFilterFolderElement *element)
-{
-	element->priv = G_TYPE_INSTANCE_GET_PRIVATE (
-		element, EM_TYPE_FILTER_FOLDER_ELEMENT,
-		EMFilterFolderElementPrivate);
-}
-
-EFilterElement *
-em_filter_folder_element_new (EMailBackend *backend)
-{
-	g_return_val_if_fail (E_IS_MAIL_BACKEND (backend), NULL);
-
-	return g_object_new (
-		EM_TYPE_FILTER_FOLDER_ELEMENT,
-		"backend", backend, NULL);
-}
-
-EMailBackend *
-em_filter_folder_element_get_backend (EMFilterFolderElement *element)
-{
-	g_return_val_if_fail (EM_IS_FILTER_FOLDER_ELEMENT (element), NULL);
-
-	return element->priv->backend;
-}
-
-const gchar *
-em_filter_folder_element_get_uri (EMFilterFolderElement *element)
-{
-	g_return_val_if_fail (EM_IS_FILTER_FOLDER_ELEMENT (element), NULL);
-
-	return element->priv->uri;
-}
-
-void
-em_filter_folder_element_set_uri (EMFilterFolderElement *element,
-                                  const gchar *uri)
-{
-	g_return_if_fail (EM_IS_FILTER_FOLDER_ELEMENT (element));
-
-	g_free (element->priv->uri);
-	element->priv->uri = g_strdup (uri);
-}
-
 static gboolean
-validate (EFilterElement *fe, EAlert **alert)
+filter_folder_element_validate (EFilterElement *fe,
+                                EAlert **alert)
 {
 	EMFilterFolderElement *ff = (EMFilterFolderElement *) fe;
 
 	g_warn_if_fail (alert == NULL || *alert == NULL);
 
-	if (ff->priv->uri && *ff->priv->uri) {
+	if (ff->priv->uri != NULL && *ff->priv->uri != '\0')
 		return TRUE;
-	} else {
-		if (alert)
-			*alert = e_alert_new ("mail:no-folder", NULL);
 
-		return FALSE;
-	}
+	if (alert)
+		*alert = e_alert_new ("mail:no-folder", NULL);
+
+	return FALSE;
 }
 
 static gint
-folder_eq (EFilterElement *fe, EFilterElement *cm)
+filter_folder_element_eq (EFilterElement *fe,
+                          EFilterElement *cm)
 {
 	return E_FILTER_ELEMENT_CLASS (
 		em_filter_folder_element_parent_class)->eq (fe, cm) &&
@@ -254,23 +186,24 @@ folder_eq (EFilterElement *fe, EFilterElement *cm)
 }
 
 static xmlNodePtr
-xml_encode (EFilterElement *fe)
+filter_folder_element_xml_encode (EFilterElement *fe)
 {
 	xmlNodePtr value, work;
 	EMFilterFolderElement *ff = (EMFilterFolderElement *) fe;
 
-	value = xmlNewNode(NULL, (xmlChar *) "value");
-	xmlSetProp(value, (xmlChar *) "name", (xmlChar *) fe->name);
-	xmlSetProp(value, (xmlChar *) "type", (xmlChar *) "folder");
+	value = xmlNewNode (NULL, (xmlChar *) "value");
+	xmlSetProp (value, (xmlChar *) "name", (xmlChar *) fe->name);
+	xmlSetProp (value, (xmlChar *) "type", (xmlChar *) "folder");
 
-	work = xmlNewChild(value, NULL, (xmlChar *) "folder", NULL);
-	xmlSetProp(work, (xmlChar *) "uri", (xmlChar *) ff->priv->uri);
+	work = xmlNewChild (value, NULL, (xmlChar *) "folder", NULL);
+	xmlSetProp (work, (xmlChar *) "uri", (xmlChar *) ff->priv->uri);
 
 	return value;
 }
 
 static gint
-xml_decode (EFilterElement *fe, xmlNodePtr node)
+filter_folder_element_xml_decode (EFilterElement *fe,
+                                  xmlNodePtr node)
 {
 	EMFilterFolderElement *ff = (EMFilterFolderElement *) fe;
 	xmlNodePtr n;
@@ -295,24 +228,8 @@ xml_decode (EFilterElement *fe, xmlNodePtr node)
 	return 0;
 }
 
-static void
-folder_selected (EMFolderSelectionButton *button,
-                 EMFilterFolderElement *ff)
-{
-	GtkWidget *toplevel;
-	const gchar *uri;
-
-	uri = em_folder_selection_button_get_selection (button);
-
-	g_free (ff->priv->uri);
-	ff->priv->uri = g_strdup (uri);
-
-	toplevel = gtk_widget_get_toplevel (GTK_WIDGET (button));
-	gtk_window_present (GTK_WINDOW (toplevel));
-}
-
 static GtkWidget *
-get_widget (EFilterElement *fe)
+filter_folder_element_get_widget (EFilterElement *fe)
 {
 	EMFilterFolderElement *ff = (EMFilterFolderElement *) fe;
 	EMailBackend *backend;
@@ -328,19 +245,22 @@ get_widget (EFilterElement *fe)
 
 	g_signal_connect (
 		button, "selected",
-		G_CALLBACK (folder_selected), ff);
+		G_CALLBACK (filter_folder_element_selected_cb), ff);
 
 	return button;
 }
 
 static void
-build_code (EFilterElement *fe, GString *out, EFilterPart *ff)
+filter_folder_element_build_code (EFilterElement *fe,
+                                  GString *out,
+                                  EFilterPart *ff)
 {
-	return;
+	/* We are doing nothing on purpose. */
 }
 
 static void
-format_sexp (EFilterElement *fe, GString *out)
+filter_folder_element_format_sexp (EFilterElement *fe,
+                                   GString *out)
 {
 	EMFilterFolderElement *ff = (EMFilterFolderElement *) fe;
 
@@ -348,7 +268,8 @@ format_sexp (EFilterElement *fe, GString *out)
 }
 
 static void
-emff_copy_value (EFilterElement *de, EFilterElement *se)
+filter_folder_element_copy_value (EFilterElement *de,
+                                  EFilterElement *se)
 {
 	if (EM_IS_FILTER_FOLDER_ELEMENT (se)) {
 		em_filter_folder_element_set_uri (
@@ -359,3 +280,81 @@ emff_copy_value (EFilterElement *de, EFilterElement *se)
 		em_filter_folder_element_parent_class)->copy_value (de, se);
 	}
 }
+static void
+em_filter_folder_element_class_init (EMFilterFolderElementClass *class)
+{
+	GObjectClass *object_class;
+	EFilterElementClass *filter_element_class;
+
+	g_type_class_add_private (class, sizeof (EMFilterFolderElementPrivate));
+
+	object_class = G_OBJECT_CLASS (class);
+	object_class->set_property = filter_folder_element_set_property;
+	object_class->get_property = filter_folder_element_get_property;
+	object_class->dispose = filter_folder_element_dispose;
+	object_class->finalize = filter_folder_element_finalize;
+
+	filter_element_class = E_FILTER_ELEMENT_CLASS (class);
+	filter_element_class->validate = filter_folder_element_validate;
+	filter_element_class->eq = filter_folder_element_eq;
+	filter_element_class->xml_encode = filter_folder_element_xml_encode;
+	filter_element_class->xml_decode = filter_folder_element_xml_decode;
+	filter_element_class->get_widget = filter_folder_element_get_widget;
+	filter_element_class->build_code = filter_folder_element_build_code;
+	filter_element_class->format_sexp = filter_folder_element_format_sexp;
+	filter_element_class->copy_value = filter_folder_element_copy_value;
+
+	g_object_class_install_property (
+		object_class,
+		PROP_BACKEND,
+		g_param_spec_object (
+			"backend",
+			NULL,
+			NULL,
+			E_TYPE_MAIL_BACKEND,
+			G_PARAM_READWRITE |
+			G_PARAM_CONSTRUCT_ONLY));
+}
+
+static void
+em_filter_folder_element_init (EMFilterFolderElement *element)
+{
+	element->priv = EM_FILTER_FOLDER_ELEMENT_GET_PRIVATE (element);
+}
+
+EFilterElement *
+em_filter_folder_element_new (EMailBackend *backend)
+{
+	g_return_val_if_fail (E_IS_MAIL_BACKEND (backend), NULL);
+
+	return g_object_new (
+		EM_TYPE_FILTER_FOLDER_ELEMENT,
+		"backend", backend, NULL);
+}
+
+EMailBackend *
+em_filter_folder_element_get_backend (EMFilterFolderElement *element)
+{
+	g_return_val_if_fail (EM_IS_FILTER_FOLDER_ELEMENT (element), NULL);
+
+	return element->priv->backend;
+}
+
+const gchar *
+em_filter_folder_element_get_uri (EMFilterFolderElement *element)
+{
+	g_return_val_if_fail (EM_IS_FILTER_FOLDER_ELEMENT (element), NULL);
+
+	return element->priv->uri;
+}
+
+void
+em_filter_folder_element_set_uri (EMFilterFolderElement *element,
+                                  const gchar *uri)
+{
+	g_return_if_fail (EM_IS_FILTER_FOLDER_ELEMENT (element));
+
+	g_free (element->priv->uri);
+	element->priv->uri = g_strdup (uri);
+}
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]