diff options
author | Jeffrey Stedfast <fejj@helixcode.com> | 2000-09-19 04:49:51 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2000-09-19 04:49:51 +0800 |
commit | 635f31e410676a42bd3f0cf3c1571dd2cf156f28 (patch) | |
tree | 4077b9a9200de9b121cec5a00f66d41f3752505b /filter/score-rule.c | |
parent | 69f189090877a8a60fd3a0fdbe0416f67346de26 (diff) | |
download | gsoc2013-evolution-635f31e410676a42bd3f0cf3c1571dd2cf156f28.tar gsoc2013-evolution-635f31e410676a42bd3f0cf3c1571dd2cf156f28.tar.gz gsoc2013-evolution-635f31e410676a42bd3f0cf3c1571dd2cf156f28.tar.bz2 gsoc2013-evolution-635f31e410676a42bd3f0cf3c1571dd2cf156f28.tar.lz gsoc2013-evolution-635f31e410676a42bd3f0cf3c1571dd2cf156f28.tar.xz gsoc2013-evolution-635f31e410676a42bd3f0cf3c1571dd2cf156f28.tar.zst gsoc2013-evolution-635f31e410676a42bd3f0cf3c1571dd2cf156f28.zip |
Modified to use more intuitive naming
2000-09-18 Jeffrey Stedfast <fejj@helixcode.com>
* filtertypes.xml: Modified to use more intuitive naming
* score-rule.c (xml_decode): Make sure the score is within our
range
(get_widget): Changed range to -3 to +3
* filter-score.c (get_widget): Changed range to -3 to +3
(xml_decode): Make sure the score is within our range
* filter-rule.c (get_widget): Rearranged widgets.
* filter-filter.c (get_widget): Rearranged widgets.
* filter-editor.c (filter_editor_construct): Updated to allow for
double-clicking on a rule to edit it.
svn path=/trunk/; revision=5492
Diffstat (limited to 'filter/score-rule.c')
-rw-r--r-- | filter/score-rule.c | 115 |
1 files changed, 67 insertions, 48 deletions
diff --git a/filter/score-rule.c b/filter/score-rule.c index 8eb51b6821..7ad73a8df3 100644 --- a/filter/score-rule.c +++ b/filter/score-rule.c @@ -2,6 +2,7 @@ * Copyright (C) 2000 Helix Code Inc. * * Authors: Not Zed <notzed@lostzed.mmc.com.au> + * Jeffrey Stedfast <fejj@helixcode.com> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public License @@ -61,7 +62,7 @@ score_rule_get_type (void) (GtkArgGetFunc)NULL }; - type = gtk_type_unique(filter_rule_get_type (), &type_info); + type = gtk_type_unique (filter_rule_get_type (), &type_info); } return type; @@ -72,37 +73,37 @@ score_rule_class_init (ScoreRuleClass *class) { GtkObjectClass *object_class; FilterRuleClass *rule_class = (FilterRuleClass *)class; - + object_class = (GtkObjectClass *)class; - parent_class = gtk_type_class(filter_rule_get_type ()); - + parent_class = gtk_type_class (filter_rule_get_type ()); + object_class->finalize = score_rule_finalise; - + /* override methods */ rule_class->xml_encode = xml_encode; rule_class->xml_decode = xml_decode; /* rule_class->build_code = build_code;*/ rule_class->get_widget = get_widget; - + /* signals */ - - gtk_object_class_add_signals(object_class, signals, LAST_SIGNAL); + + gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL); } static void score_rule_init (ScoreRule *o) { - o->priv = g_malloc0(sizeof(*o->priv)); + o->priv = g_malloc0 (sizeof (*o->priv)); } static void -score_rule_finalise(GtkObject *obj) +score_rule_finalise (GtkObject *obj) { ScoreRule *o = (ScoreRule *)obj; - + o = o; - - ((GtkObjectClass *)(parent_class))->finalize(obj); + + ((GtkObjectClass *)(parent_class))->finalize (obj); } /** @@ -113,44 +114,55 @@ score_rule_finalise(GtkObject *obj) * Return value: A new #ScoreRule object. **/ ScoreRule * -score_rule_new(void) +score_rule_new (void) { - ScoreRule *o = (ScoreRule *)gtk_type_new(score_rule_get_type ()); + ScoreRule *o = (ScoreRule *)gtk_type_new (score_rule_get_type ()); return o; } -static xmlNodePtr xml_encode(FilterRule *fr) +static xmlNodePtr +xml_encode (FilterRule *fr) { ScoreRule *sr = (ScoreRule *)fr; xmlNodePtr node, value; char number[16]; - - node = ((FilterRuleClass *)(parent_class))->xml_encode(fr); - sprintf(number, "%d", sr->score); - value = xmlNewNode(NULL, "score"); - xmlSetProp(value, "value", number); - xmlAddChild(node, value); + + node = ((FilterRuleClass *)(parent_class))->xml_encode (fr); + sprintf (number, "%d", sr->score); + value = xmlNewNode (NULL, "score"); + xmlSetProp (value, "value", number); + xmlAddChild (node, value); + return node; } -static int xml_decode(FilterRule *fr, xmlNodePtr node, struct _RuleContext *f) +static int +xml_decode (FilterRule *fr, xmlNodePtr node, struct _RuleContext *f) { ScoreRule *sr = (ScoreRule *)fr; xmlNodePtr value; int result; char *str; - - result = ((FilterRuleClass *)(parent_class))->xml_decode(fr, node, f); + + result = ((FilterRuleClass *)(parent_class))->xml_decode (fr, node, f); if (result != 0) return result; + value = node->childs; while (value) { - if (!strcmp(value->name, "score")) { - str = xmlGetProp(value, "value"); - sscanf(str, "%d", &sr->score); + if (!strcmp (value->name, "score")) { + str = xmlGetProp (value, "value"); + sscanf (str, "%d", &sr->score); + + /* score range is -3 to +3 */ + if (sr->score > 3) + sr->score = 3; + else if (sr->score < -3) + sr->score = -3; } value = value->next; } + return 0; } @@ -158,33 +170,40 @@ static int xml_decode(FilterRule *fr, xmlNodePtr node, struct _RuleContext *f) { }*/ -static void spin_changed(GtkAdjustment *adj, ScoreRule *sr) +static void +spin_changed (GtkAdjustment *adj, ScoreRule *sr) { sr->score = adj->value; } -static GtkWidget *get_widget(FilterRule *fr, struct _RuleContext *f) +static GtkWidget * +get_widget (FilterRule *fr, struct _RuleContext *f) { GtkWidget *widget; - GtkFrame *frame; - GtkLabel *label; - GtkHBox *hbox; + GtkWidget *frame; + GtkWidget *label; + GtkWidget *hbox; GtkAdjustment *adj; ScoreRule *sr = (ScoreRule *)fr; - GtkSpinButton *spin; - - widget = ((FilterRuleClass *)(parent_class))->get_widget(fr, f); - frame = (GtkFrame *)gtk_frame_new("Score"); - hbox = (GtkHBox *)gtk_hbox_new(FALSE, 3); - label = (GtkLabel *)gtk_label_new("Score"); - gtk_box_pack_start((GtkBox *)hbox, (GtkWidget *)label, FALSE, FALSE, 3); - adj = (GtkAdjustment *)gtk_adjustment_new((float)sr->score, -100, 100, 1, 10, 10); - gtk_signal_connect((GtkObject *)adj, "value_changed", spin_changed, sr); - spin = (GtkSpinButton *)gtk_spin_button_new(adj, 1.0, 0); - gtk_box_pack_start((GtkBox *)hbox, (GtkWidget *)spin, FALSE, FALSE, 3); - gtk_container_add((GtkContainer *)frame, (GtkWidget *)hbox); - gtk_widget_show_all((GtkWidget *)frame); - - gtk_box_pack_start((GtkBox *)widget, (GtkWidget *)frame, FALSE, FALSE, 3); + GtkWidget *spin; + + widget = ((FilterRuleClass *)(parent_class))->get_widget (fr, f); + + frame = gtk_frame_new (_("Score")); + hbox = gtk_hbox_new (FALSE, 3); + label = gtk_label_new (_("Score")); + + gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 3); + adj = (GtkAdjustment *)gtk_adjustment_new ((float) sr->score, -3.0, 3.0, 1.0, 1.0, 1.0); + gtk_signal_connect (GTK_OBJECT (adj), "value_changed", spin_changed, sr); + + spin = gtk_spin_button_new (adj, 1.0, 0); + gtk_box_pack_start (GTK_BOX (hbox), spin, FALSE, FALSE, 3); + gtk_container_add (GTK_CONTAINER (frame), hbox); + + gtk_widget_show_all (frame); + + gtk_box_pack_start (GTK_BOX (widget), frame, FALSE, FALSE, 3); + return widget; } |