aboutsummaryrefslogtreecommitdiffstats
path: root/filter/filter-rule.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2007-11-15 06:04:21 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2007-11-15 06:04:21 +0800
commit9e4fcb29cf7f05c18f7fd34e318f9e795fa32e91 (patch)
tree2e1e96f33404781354c422a7e9beaf458ebeb655 /filter/filter-rule.c
parent7e8f8bb9e5167b0219b48ab3e8062080d3740b0a (diff)
downloadgsoc2013-evolution-9e4fcb29cf7f05c18f7fd34e318f9e795fa32e91.tar
gsoc2013-evolution-9e4fcb29cf7f05c18f7fd34e318f9e795fa32e91.tar.gz
gsoc2013-evolution-9e4fcb29cf7f05c18f7fd34e318f9e795fa32e91.tar.bz2
gsoc2013-evolution-9e4fcb29cf7f05c18f7fd34e318f9e795fa32e91.tar.lz
gsoc2013-evolution-9e4fcb29cf7f05c18f7fd34e318f9e795fa32e91.tar.xz
gsoc2013-evolution-9e4fcb29cf7f05c18f7fd34e318f9e795fa32e91.tar.zst
gsoc2013-evolution-9e4fcb29cf7f05c18f7fd34e318f9e795fa32e91.zip
** Remove trailing whitespace from source code.
2007-11-14 Matthew Barnes <mbarnes@redhat.com> ** Remove trailing whitespace from source code. svn path=/trunk/; revision=34537
Diffstat (limited to 'filter/filter-rule.c')
-rw-r--r--filter/filter-rule.c230
1 files changed, 115 insertions, 115 deletions
diff --git a/filter/filter-rule.c b/filter/filter-rule.c
index b656ee9a1b..81fb3e8861 100644
--- a/filter/filter-rule.c
+++ b/filter/filter-rule.c
@@ -67,7 +67,7 @@ GType
filter_rule_get_type (void)
{
static GType type = 0;
-
+
if (!type) {
static const GTypeInfo info = {
sizeof (FilterRuleClass),
@@ -80,10 +80,10 @@ filter_rule_get_type (void)
0, /* n_preallocs */
(GInstanceInitFunc) filter_rule_init,
};
-
+
type = g_type_register_static (G_TYPE_OBJECT, "FilterRule", &info, 0);
}
-
+
return type;
}
@@ -91,11 +91,11 @@ static void
filter_rule_class_init (FilterRuleClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
+
parent_class = g_type_class_ref (G_TYPE_OBJECT);
-
+
object_class->finalize = filter_rule_finalise;
-
+
/* override methods */
klass->validate = validate;
klass->eq = rule_eq;
@@ -104,7 +104,7 @@ filter_rule_class_init (FilterRuleClass *klass)
klass->build_code = build_code;
klass->copy = rule_copy;
klass->get_widget = get_widget;
-
+
/* signals */
signals[CHANGED] =
g_signal_new ("changed",
@@ -127,14 +127,14 @@ static void
filter_rule_finalise (GObject *obj)
{
FilterRule *fr = (FilterRule *) obj;
-
+
g_free (fr->name);
g_free (fr->source);
g_list_foreach (fr->parts, (GFunc)g_object_unref, NULL);
g_list_free (fr->parts);
-
+
g_free (fr->priv);
-
+
G_OBJECT_CLASS (parent_class)->finalize (obj);
}
@@ -142,7 +142,7 @@ filter_rule_finalise (GObject *obj)
* filter_rule_new:
*
* Create a new FilterRule object.
- *
+ *
* Return value: A new #FilterRule object.
**/
FilterRule *
@@ -155,12 +155,12 @@ FilterRule *
filter_rule_clone (FilterRule *base)
{
FilterRule *rule;
-
+
g_return_val_if_fail (IS_FILTER_RULE (base), NULL);
-
+
rule = g_object_new (G_OBJECT_TYPE (base), NULL, NULL);
filter_rule_copy (rule, base);
-
+
return rule;
}
@@ -168,14 +168,14 @@ void
filter_rule_set_name (FilterRule *fr, const char *name)
{
g_return_if_fail (IS_FILTER_RULE (fr));
-
+
if ((fr->name && name && strcmp (fr->name, name) == 0)
|| (fr->name == NULL && name == NULL))
return;
-
+
g_free (fr->name);
fr->name = g_strdup (name);
-
+
filter_rule_emit_changed (fr);
}
@@ -183,14 +183,14 @@ void
filter_rule_set_source (FilterRule *fr, const char *source)
{
g_return_if_fail (IS_FILTER_RULE (fr));
-
+
if ((fr->source && source && strcmp (fr->source, source) == 0)
|| (fr->source == NULL && source == NULL))
return;
-
+
g_free (fr->source);
fr->source = g_strdup (source);
-
+
filter_rule_emit_changed (fr);
}
@@ -207,17 +207,17 @@ validate (FilterRule *fr)
{
int valid = TRUE;
GList *parts;
-
+
if (!fr->name || !*fr->name) {
/* FIXME: FilterElement should probably have a
GtkWidget member pointing to the value gotten with
::get_widget() so that we can get the parent window
here. */
e_error_run(NULL, "filter:no-name", NULL);
-
+
return FALSE;
}
-
+
/* validate rule parts */
parts = fr->parts;
valid = parts != NULL;
@@ -225,7 +225,7 @@ validate (FilterRule *fr)
valid = filter_part_validate ((FilterPart *) parts->data);
parts = parts->next;
}
-
+
return valid;
}
@@ -234,7 +234,7 @@ filter_rule_eq (FilterRule *fr, FilterRule *cm)
{
g_return_val_if_fail (IS_FILTER_RULE (fr), 0);
g_return_val_if_fail (IS_FILTER_RULE (cm), 0);
-
+
return (FILTER_RULE_GET_CLASS (fr) == FILTER_RULE_GET_CLASS (cm))
&& FILTER_RULE_GET_CLASS (fr)->eq (fr, cm);
}
@@ -243,15 +243,15 @@ static int
list_eq(GList *al, GList *bl)
{
int truth = TRUE;
-
+
while (truth && al && bl) {
FilterPart *a = al->data, *b = bl->data;
-
+
truth = filter_part_eq (a, b);
al = al->next;
bl = bl->next;
}
-
+
return truth && al == NULL && bl == NULL;
}
@@ -271,7 +271,7 @@ xmlNodePtr
filter_rule_xml_encode (FilterRule *fr)
{
g_return_val_if_fail (IS_FILTER_RULE (fr), NULL);
-
+
return FILTER_RULE_GET_CLASS (fr)->xml_encode (fr);
}
@@ -280,7 +280,7 @@ xml_encode (FilterRule *fr)
{
xmlNodePtr node, set, work;
GList *l;
-
+
node = xmlNewNode (NULL, (const unsigned char *)"rule");
switch (fr->grouping) {
case FILTER_GROUP_ALL:
@@ -314,13 +314,13 @@ xml_encode (FilterRule *fr)
/* set to the default filter type */
xmlSetProp (node, (const unsigned char *)"source", (const unsigned char *)"incoming");
}
-
+
if (fr->name) {
work = xmlNewNode (NULL, (const unsigned char *)"title");
xmlNodeSetContent (work, (unsigned char *)fr->name);
xmlAddChild (node, work);
}
-
+
set = xmlNewNode (NULL, (const unsigned char *)"partset");
xmlAddChild (node, set);
l = fr->parts;
@@ -329,7 +329,7 @@ xml_encode (FilterRule *fr)
xmlAddChild (set, work);
l = l->next;
}
-
+
return node;
}
@@ -339,7 +339,7 @@ load_set (xmlNodePtr node, FilterRule *fr, RuleContext *f)
xmlNodePtr work;
char *rulename;
FilterPart *part;
-
+
work = node->children;
while (work) {
if (!strcmp ((char *)work->name, "part")) {
@@ -364,17 +364,17 @@ int
filter_rule_xml_decode (FilterRule *fr, xmlNodePtr node, RuleContext *f)
{
int res;
-
+
g_return_val_if_fail (IS_FILTER_RULE (fr), 0);
g_return_val_if_fail (IS_RULE_CONTEXT (f), 0);
g_return_val_if_fail (node != NULL, 0);
-
- fr->priv->frozen++;
+
+ fr->priv->frozen++;
res = FILTER_RULE_GET_CLASS (fr)->xml_decode (fr, node, f);
fr->priv->frozen--;
-
+
filter_rule_emit_changed (fr);
-
+
return res;
}
@@ -384,12 +384,12 @@ xml_decode (FilterRule *fr, xmlNodePtr node, RuleContext *f)
xmlNodePtr work;
char *grouping;
char *source;
-
+
if (fr->name) {
g_free (fr->name);
fr->name = NULL;
}
-
+
grouping = (char *)xmlGetProp (node, (const unsigned char *)"grouping");
if (!strcmp (grouping, "any"))
fr->grouping = FILTER_GROUP_ANY;
@@ -410,7 +410,7 @@ xml_decode (FilterRule *fr, xmlNodePtr node, RuleContext *f)
fr->threading = FILTER_THREAD_SINGLE;
xmlFree (grouping);
}
-
+
g_free (fr->source);
source = (char *)xmlGetProp (node, (const unsigned char *)"source");
if (source) {
@@ -420,7 +420,7 @@ xml_decode (FilterRule *fr, xmlNodePtr node, RuleContext *f)
/* default filter type */
fr->source = g_strdup ("incoming");
}
-
+
work = node->children;
while (work) {
if (!strcmp ((char *)work->name, "partset")) {
@@ -428,7 +428,7 @@ xml_decode (FilterRule *fr, xmlNodePtr node, RuleContext *f)
} else if (!strcmp ((char *)work->name, "title") || !strcmp ((char *)work->name, "_title")) {
if (!fr->name) {
char *str, *decstr;
-
+
str = (char *)xmlNodeGetContent (work);
decstr = g_strdup (str);
if (str)
@@ -438,7 +438,7 @@ xml_decode (FilterRule *fr, xmlNodePtr node, RuleContext *f)
}
work = work->next;
}
-
+
return 0;
}
@@ -446,13 +446,13 @@ static void
rule_copy (FilterRule *dest, FilterRule *src)
{
GList *node;
-
+
g_free (dest->name);
dest->name = g_strdup (src->name);
-
+
g_free (dest->source);
dest->source = g_strdup (src->source);
-
+
dest->grouping = src->grouping;
dest->threading = src->threading;
@@ -461,7 +461,7 @@ rule_copy (FilterRule *dest, FilterRule *src)
g_list_free (dest->parts);
dest->parts = NULL;
}
-
+
node = src->parts;
while (node) {
FilterPart *part;
@@ -477,9 +477,9 @@ filter_rule_copy (FilterRule *dest, FilterRule *src)
{
g_return_if_fail (IS_FILTER_RULE (dest));
g_return_if_fail (IS_FILTER_RULE (src));
-
+
FILTER_RULE_GET_CLASS (dest)->copy (dest, src);
-
+
filter_rule_emit_changed (dest);
}
@@ -488,9 +488,9 @@ filter_rule_add_part (FilterRule *fr, FilterPart *fp)
{
g_return_if_fail (IS_FILTER_RULE (fr));
g_return_if_fail (IS_FILTER_PART (fp));
-
+
fr->parts = g_list_append (fr->parts, fp);
-
+
filter_rule_emit_changed (fr);
}
@@ -499,9 +499,9 @@ filter_rule_remove_part (FilterRule *fr, FilterPart *fp)
{
g_return_if_fail (IS_FILTER_RULE (fr));
g_return_if_fail (IS_FILTER_PART (fp));
-
+
fr->parts = g_list_remove (fr->parts, fp);
-
+
filter_rule_emit_changed (fr);
}
@@ -509,18 +509,18 @@ void
filter_rule_replace_part (FilterRule *fr, FilterPart *fp, FilterPart *new)
{
GList *l;
-
+
g_return_if_fail (IS_FILTER_RULE (fr));
g_return_if_fail (IS_FILTER_PART (fp));
g_return_if_fail (IS_FILTER_PART (new));
-
+
l = g_list_find (fr->parts, fp);
if (l) {
l->data = new;
} else {
fr->parts = g_list_append (fr->parts, new);
}
-
+
filter_rule_emit_changed (fr);
}
@@ -529,9 +529,9 @@ filter_rule_build_code (FilterRule *fr, GString *out)
{
g_return_if_fail (IS_FILTER_RULE (fr));
g_return_if_fail (out != NULL);
-
+
FILTER_RULE_GET_CLASS (fr)->build_code (fr, out);
-
+
d(printf ("build_code: [%s](%d)", out->str, out->len));
}
@@ -539,7 +539,7 @@ void
filter_rule_emit_changed(FilterRule *fr)
{
g_return_if_fail (IS_FILTER_RULE (fr));
-
+
if (fr->priv->frozen == 0)
g_signal_emit (fr, signals[CHANGED], 0);
}
@@ -574,7 +574,7 @@ build_code (FilterRule *fr, GString *out)
default:
g_warning ("Invalid grouping");
}
-
+
filter_part_build_code_list (fr->parts, out);
g_string_append (out, ")\n");
@@ -606,16 +606,16 @@ option_activate (GtkMenuItem *item, struct _part_data *data)
{
FilterPart *part = g_object_get_data ((GObject *) item, "part");
FilterPart *newpart;
-
+
/* dont update if we haven't changed */
if (!strcmp (part->title, data->part->title))
return;
-
+
/* here we do a widget shuffle, throw away the old widget/rulepart,
and create another */
if (data->partwidget)
gtk_container_remove (GTK_CONTAINER (data->container), data->partwidget);
-
+
newpart = filter_part_clone (part);
filter_part_copy_values (newpart, data->part);
filter_rule_replace_part (data->fr, data->part, newpart);
@@ -624,7 +624,7 @@ option_activate (GtkMenuItem *item, struct _part_data *data)
data->partwidget = filter_part_get_widget (newpart);
if (data->partwidget)
gtk_box_pack_start (GTK_BOX (data->container), data->partwidget, TRUE, TRUE, 0);
-
+
g_object_set_data ((GObject *) data->container, "part", newpart);
}
@@ -639,21 +639,21 @@ get_rule_part_widget (RuleContext *f, FilterPart *newpart, FilterRule *fr)
GtkWidget *p;
int index = 0, current = 0;
struct _part_data *data;
-
+
data = g_malloc0 (sizeof (*data));
data->fr = fr;
data->f = f;
data->part = newpart;
-
+
hbox = gtk_hbox_new (FALSE, 0);
/* only set to automatically clean up the memory */
g_object_set_data_full ((GObject *) hbox, "data", data, g_free);
-
+
p = filter_part_get_widget (newpart);
-
+
data->partwidget = p;
data->container = hbox;
-
+
menu = gtk_menu_new ();
/* sigh, this is a little ugly */
while ((part = rule_context_next_part (f, part))) {
@@ -664,21 +664,21 @@ get_rule_part_widget (RuleContext *f, FilterPart *newpart, FilterRule *fr)
gtk_widget_show (item);
if (!strcmp (newpart->title, part->title))
current = index;
-
+
index++;
}
-
+
omenu = gtk_option_menu_new ();
gtk_option_menu_set_menu (GTK_OPTION_MENU (omenu), menu);
gtk_option_menu_set_history (GTK_OPTION_MENU (omenu), current);
gtk_widget_show (omenu);
-
+
gtk_box_pack_start (GTK_BOX (hbox), omenu, FALSE, FALSE, 0);
if (p)
gtk_box_pack_start (GTK_BOX (hbox), p, TRUE, TRUE, 0);
-
+
gtk_widget_show_all (hbox);
-
+
return hbox;
}
@@ -693,17 +693,17 @@ less_parts (GtkWidget *button, struct _rule_data *data)
{
FilterPart *part;
GtkWidget *rule;
-
+
if (g_list_length (data->fr->parts) < 1)
return;
-
+
rule = g_object_get_data ((GObject *) button, "rule");
part = g_object_get_data ((GObject *) rule, "part");
-
+
/* remove the part from the list */
filter_rule_remove_part (data->fr, part);
g_object_unref (part);
-
+
/* and from the display */
gtk_container_remove (GTK_CONTAINER (data->parts), rule);
gtk_container_remove (GTK_CONTAINER (data->parts), button);
@@ -713,10 +713,10 @@ static void
attach_rule (GtkWidget *rule, struct _rule_data *data, FilterPart *part, int row)
{
GtkWidget *remove;
-
+
gtk_table_attach (GTK_TABLE (data->parts), rule, 0, 1, row, row + 1,
GTK_EXPAND | GTK_FILL, 0, 0, 0);
-
+
remove = gtk_button_new_from_stock (GTK_STOCK_REMOVE);
g_object_set_data ((GObject *) remove, "rule", rule);
g_object_set_data ((GObject *) rule, "part", part);
@@ -724,7 +724,7 @@ attach_rule (GtkWidget *rule, struct _rule_data *data, FilterPart *part, int row
g_signal_connect (remove, "clicked", G_CALLBACK (less_parts), data);
gtk_table_attach (GTK_TABLE (data->parts), remove, 1, 2, row, row + 1,
0, 0, 0, 0);
-
+
gtk_widget_show (remove);
}
@@ -732,28 +732,28 @@ static void
more_parts (GtkWidget *button, struct _rule_data *data)
{
FilterPart *new;
-
+
/* first make sure that the last part is ok */
if (data->fr->parts) {
FilterPart *part;
GList *l;
-
+
l = g_list_last (data->fr->parts);
part = l->data;
if (!filter_part_validate (part))
return;
}
-
+
/* create a new rule entry, use the first type of rule */
new = rule_context_next_part (data->f, NULL);
if (new) {
GtkWidget *w;
int rows;
-
+
new = filter_part_clone (new);
filter_rule_add_part (data->fr, new);
w = get_rule_part_widget (data->f, new, data->fr);
-
+
rows = GTK_TABLE (data->parts)->nrows;
gtk_table_resize (GTK_TABLE (data->parts), rows + 1, 2);
attach_rule (w, data, new, rows);
@@ -792,7 +792,7 @@ get_widget (FilterRule *fr, struct _RuleContext *f)
FilterPart *part;
struct _rule_data *data;
int rows, i;
-
+
/* this stuff should probably be a table, but the
rule parts need to be a vbox */
vbox = gtk_vbox_new (FALSE, 6);
@@ -809,10 +809,10 @@ get_widget (FilterRule *fr, struct _RuleContext *f)
} else {
gtk_entry_set_text (GTK_ENTRY (name), fr->name);
}
-
+
/* evil kludgy hack because gtk sucks */
g_signal_connect (name, "realize", G_CALLBACK (grab_focus), name);
-
+
hbox = gtk_hbox_new (FALSE, 12);
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (hbox), name, TRUE, TRUE, 0);
@@ -843,20 +843,20 @@ get_widget (FilterRule *fr, struct _RuleContext *f)
inframe = gtk_vbox_new (FALSE, 6);
gtk_box_pack_start (GTK_BOX (hbox), inframe, TRUE, TRUE, 0);
-
+
/* this is the parts table, it should probably be inside a scrolling list */
rows = g_list_length (fr->parts);
parts = gtk_table_new (rows, 2, FALSE);
-
+
/* data for the parts part of the display */
data = g_malloc0 (sizeof (*data));
data->f = f;
data->fr = fr;
data->parts = parts;
-
+
/* only set to automatically clean up the memory */
g_object_set_data_full ((GObject *) vbox, "data", data, g_free);
-
+
hbox = gtk_hbox_new (FALSE, 3);
add = gtk_button_new_with_mnemonic (_("A_dd Filter Criteria"));
@@ -869,19 +869,19 @@ get_widget (FilterRule *fr, struct _RuleContext *f)
label = gtk_label_new_with_mnemonic (_("_Find items:"));
menu = gtk_menu_new ();
-
+
for (i=0;i<2;i++) {
item = gtk_menu_item_new_with_label(_(thread_types[i]));
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
gtk_widget_show (item);
}
-
+
omenu = gtk_option_menu_new ();
gtk_label_set_mnemonic_widget ((GtkLabel *)label, omenu);
gtk_option_menu_set_menu (GTK_OPTION_MENU (omenu), menu);
gtk_option_menu_set_history (GTK_OPTION_MENU (omenu), fr->grouping);
gtk_widget_show (omenu);
-
+
gtk_box_pack_end (GTK_BOX (hbox), omenu, FALSE, FALSE, 0);
gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0);
@@ -893,27 +893,27 @@ get_widget (FilterRule *fr, struct _RuleContext *f)
label = gtk_label_new_with_mnemonic (_("I_nclude threads"));
menu = gtk_menu_new ();
-
+
for (i=0;i<5;i++) {
item = gtk_menu_item_new_with_label(_(thread_types[i]));
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
gtk_widget_show (item);
}
-
+
omenu = gtk_option_menu_new ();
gtk_label_set_mnemonic_widget ((GtkLabel *)label, omenu);
gtk_option_menu_set_menu (GTK_OPTION_MENU (omenu), menu);
gtk_option_menu_set_history (GTK_OPTION_MENU (omenu), fr->threading);
gtk_widget_show (omenu);
-
+
gtk_box_pack_end (GTK_BOX (hbox), omenu, FALSE, FALSE, 0);
gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0);
g_signal_connect(omenu, "changed", G_CALLBACK(fr_threading_changed), fr);
}
-
+
gtk_box_pack_start (GTK_BOX (inframe), hbox, FALSE, FALSE, 3);
-
+
l = fr->parts;
i = 0;
while (l) {
@@ -923,20 +923,20 @@ get_widget (FilterRule *fr, struct _RuleContext *f)
attach_rule (w, data, part, i++);
l = g_list_next (l);
}
-
+
hadj = gtk_adjustment_new (0.0, 0.0, 1.0, 1.0, 1.0, 1.0);
vadj = gtk_adjustment_new (0.0, 0.0, 1.0, 1.0, 1.0, 1.0);
scrolledwindow = gtk_scrolled_window_new (GTK_ADJUSTMENT (hadj), GTK_ADJUSTMENT (vadj));
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
-
+
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolledwindow), parts);
-
+
gtk_box_pack_start (GTK_BOX (inframe), scrolledwindow, TRUE, TRUE, 3);
-
+
gtk_widget_show_all (vbox);
-
+
return vbox;
}
@@ -944,7 +944,7 @@ FilterRule *
filter_rule_next_list (GList *l, FilterRule *last, const char *source)
{
GList *node = l;
-
+
if (last != NULL) {
node = g_list_find (node, last);
if (node == NULL)
@@ -952,20 +952,20 @@ filter_rule_next_list (GList *l, FilterRule *last, const char *source)
else
node = node->next;
}
-
+
if (source) {
while (node) {
FilterRule *rule = node->data;
-
+
if (rule->source && strcmp (rule->source, source) == 0)
break;
node = node->next;
}
}
-
+
if (node)
return node->data;
-
+
return NULL;
}
@@ -974,13 +974,13 @@ filter_rule_find_list (GList * l, const char *name, const char *source)
{
while (l) {
FilterRule *rule = l->data;
-
+
if (strcmp (rule->name, name) == 0)
if (source == NULL || (rule->source != NULL && strcmp (rule->source, source) == 0))
return rule;
l = l->next;
}
-
+
return NULL;
}