aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-filter-editor.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2009-08-25 20:24:39 +0800
committerMatthew Barnes <mbarnes@redhat.com>2009-08-25 20:24:39 +0800
commit0362cc8c008abdc905497a2bf4fdb661bceface3 (patch)
tree1fe4bfcb4bae914c68014d20aa51181753918a31 /mail/em-filter-editor.c
parentd8ddaf9a85dd4c5e484d8351a3dde0353f31f492 (diff)
downloadgsoc2013-evolution-0362cc8c008abdc905497a2bf4fdb661bceface3.tar
gsoc2013-evolution-0362cc8c008abdc905497a2bf4fdb661bceface3.tar.gz
gsoc2013-evolution-0362cc8c008abdc905497a2bf4fdb661bceface3.tar.bz2
gsoc2013-evolution-0362cc8c008abdc905497a2bf4fdb661bceface3.tar.lz
gsoc2013-evolution-0362cc8c008abdc905497a2bf4fdb661bceface3.tar.xz
gsoc2013-evolution-0362cc8c008abdc905497a2bf4fdb661bceface3.tar.zst
gsoc2013-evolution-0362cc8c008abdc905497a2bf4fdb661bceface3.zip
Bug 488409 - Remember size of filter/vfolder editor windows
Diffstat (limited to 'mail/em-filter-editor.c')
-rw-r--r--mail/em-filter-editor.c126
1 files changed, 63 insertions, 63 deletions
diff --git a/mail/em-filter-editor.c b/mail/em-filter-editor.c
index 8d720742c6..b782ca8cbf 100644
--- a/mail/em-filter-editor.c
+++ b/mail/em-filter-editor.c
@@ -29,68 +29,79 @@
#include <glib/gi18n.h>
#include "e-util/e-util-private.h"
+#include "e-util/gconf-bridge.h"
#include "em-filter-editor.h"
#include "em-filter-rule.h"
-#define d(x)
+static gpointer parent_class;
-static FilterRule *create_rule (RuleEditor *re);
-
-static void em_filter_editor_class_init (EMFilterEditorClass *klass);
-static void em_filter_editor_init (EMFilterEditor *fe);
-static void em_filter_editor_finalise (GObject *obj);
-
-static RuleEditorClass *parent_class = NULL;
-
-GType
-em_filter_editor_get_type (void)
+static FilterRule *
+filter_editor_create_rule (RuleEditor *rule_editor)
{
- static GType type = 0;
-
- if (!type) {
- static const GTypeInfo info = {
- sizeof (EMFilterEditorClass),
- NULL, /* base_class_init */
- NULL, /* base_class_finalize */
- (GClassInitFunc) em_filter_editor_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (EMFilterEditor),
- 0, /* n_preallocs */
- (GInstanceInitFunc) em_filter_editor_init,
- };
+ FilterRule *rule = filter_rule_new ();
+ FilterPart *part;
- type = g_type_register_static (RULE_TYPE_EDITOR, "EMFilterEditor", &info, 0);
- }
+ /* create a rule with 1 part & 1 action in it */
+ rule = (FilterRule *)em_filter_rule_new ();
+ part = rule_context_next_part (rule_editor->context, NULL);
+ filter_rule_add_part (rule, filter_part_clone (part));
+ part = em_filter_context_next_action (
+ (EMFilterContext *)rule_editor->context, NULL);
+ em_filter_rule_add_action (
+ (EMFilterRule *)rule, filter_part_clone (part));
- return type;
+ return rule;
}
static void
-em_filter_editor_class_init (EMFilterEditorClass *klass)
+filter_editor_class_init (EMFilterEditorClass *class)
{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- RuleEditorClass *re_class = (RuleEditorClass *) klass;
-
- parent_class = g_type_class_ref (rule_editor_get_type ());
+ RuleEditorClass *rule_editor_class;
- gobject_class->finalize = em_filter_editor_finalise;
+ parent_class = g_type_class_peek_parent (class);
- /* override methods */
- re_class->create_rule = create_rule;
+ rule_editor_class = RULE_EDITOR_CLASS (class);
+ rule_editor_class->create_rule = filter_editor_create_rule;
}
static void
-em_filter_editor_init (EMFilterEditor *fe)
+filter_editor_init (EMFilterEditor *filter_editor)
{
- ;
+ GConfBridge *bridge;
+ const gchar *key_prefix;
+
+ bridge = gconf_bridge_get ();
+ key_prefix = "/apps/evolution/mail/filter_editor";
+
+ gconf_bridge_bind_window_size (
+ bridge, key_prefix, GTK_WINDOW (filter_editor));
}
-static void
-em_filter_editor_finalise (GObject *obj)
+GType
+em_filter_editor_get_type (void)
{
- G_OBJECT_CLASS (parent_class)->finalize (obj);
+ static GType type = 0;
+
+ if (G_UNLIKELY (type == 0)) {
+ static const GTypeInfo type_info = {
+ sizeof (EMFilterEditorClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) filter_editor_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL, /* class_data */
+ sizeof (EMFilterEditor),
+ 0, /* n_preallocs */
+ (GInstanceInitFunc) filter_editor_init,
+ NULL /* value_table */
+ };
+
+ type = g_type_register_static (
+ RULE_TYPE_EDITOR, "EMFilterEditor", &type_info, 0);
+ }
+
+ return type;
}
/**
@@ -101,15 +112,17 @@ em_filter_editor_finalise (GObject *obj)
* Return value: A new #EMFilterEditor object.
**/
EMFilterEditor *
-em_filter_editor_new (EMFilterContext *fc, const EMFilterSource *source_names)
+em_filter_editor_new (EMFilterContext *fc,
+ const EMFilterSource *source_names)
{
- EMFilterEditor *fe = (EMFilterEditor *) g_object_new (em_filter_editor_get_type(), NULL);
+ EMFilterEditor *fe;
GladeXML *gui;
gchar *gladefile;
- gladefile = g_build_filename (EVOLUTION_GLADEDIR,
- "filter.glade",
- NULL);
+ fe = g_object_new (EM_TYPE_FILTER_EDITOR, NULL);
+
+ gladefile = g_build_filename (
+ EVOLUTION_GLADEDIR, "filter.glade", NULL);
gui = glade_xml_new (gladefile, "rule_editor", NULL);
g_free (gladefile);
@@ -149,7 +162,10 @@ select_source (GtkComboBox *combobox, EMFilterEditor *fe)
}
void
-em_filter_editor_construct (EMFilterEditor *fe, EMFilterContext *fc, GladeXML *gui, const EMFilterSource *source_names)
+em_filter_editor_construct (EMFilterEditor *fe,
+ EMFilterContext *fc,
+ GladeXML *gui,
+ const EMFilterSource *source_names)
{
GtkWidget *combobox;
gint i;
@@ -175,19 +191,3 @@ em_filter_editor_construct (EMFilterEditor *fe, EMFilterContext *fc, GladeXML *g
column = gtk_tree_view_get_column (GTK_TREE_VIEW (RULE_EDITOR (fe)->list), 0);
gtk_tree_view_column_set_visible (column, TRUE);
}
-
-static FilterRule *
-create_rule (RuleEditor *re)
-{
- FilterRule *rule = filter_rule_new ();
- FilterPart *part;
-
- /* create a rule with 1 part & 1 action in it */
- rule = (FilterRule *)em_filter_rule_new ();
- part = rule_context_next_part (re->context, NULL);
- filter_rule_add_part (rule, filter_part_clone (part));
- part = em_filter_context_next_action ((EMFilterContext *)re->context, NULL);
- em_filter_rule_add_action ((EMFilterRule *)rule, filter_part_clone (part));
-
- return rule;
-}