diff options
author | 8 <NotZed@Ximian.com> | 2001-10-28 17:39:04 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2001-10-28 17:39:04 +0800 |
commit | 15ada734a7008b42c2ca2c21aece9336c2b9e075 (patch) | |
tree | 49036be5a3eac64ecac70f22d35ab38493bd00eb /filter/rule-context.c | |
parent | c0cf9754b8c5ec7e13f6ee035040d792bc254ee2 (diff) | |
download | gsoc2013-evolution-15ada734a7008b42c2ca2c21aece9336c2b9e075.tar gsoc2013-evolution-15ada734a7008b42c2ca2c21aece9336c2b9e075.tar.gz gsoc2013-evolution-15ada734a7008b42c2ca2c21aece9336c2b9e075.tar.bz2 gsoc2013-evolution-15ada734a7008b42c2ca2c21aece9336c2b9e075.tar.lz gsoc2013-evolution-15ada734a7008b42c2ca2c21aece9336c2b9e075.tar.xz gsoc2013-evolution-15ada734a7008b42c2ca2c21aece9336c2b9e075.tar.zst gsoc2013-evolution-15ada734a7008b42c2ca2c21aece9336c2b9e075.zip |
Implement, change any folder uri's that have been renamed, to the new one.
2001-10-28 <NotZed@Ximian.com>
* filter-context.c (filter_rename_uri): Implement, change any
folder uri's that have been renamed, to the new one.
(filter_delete_uri): Dont actually do any work (yet).
We could probably put rename_uri on every rule context/filter
part/filter element, and let their methods handle it, but for now
its easy enough just to handle the few cases that we have to
handle manually.
* rule-context.c (rule_context_delete_uri): Update a filter
context for a deleted uri, e.g. folder removed.
(rule_context_rename_uri): Update a filter context for a renamed
uri, e.g.
* filter-folder.c (filter_folder_set_value): New function to set
the uri of a folder filter.
* rule-editor.c (rule_move): Add undo for move.
(rule_editor_add_undo): Add extra rank item.
(rule_editor_play_undo): handle rank case.
(rule_editor_finalise): Clean up any hanging over undo log.
(editor_clicked): Only enable 'undo' if we have
EVOLUTION_RULE_UNDO enabled. Code still a bit flakey.
(rule_editor_construct): Only enable a cancel button if
EVOLUTION_RULE_UNDO is set.
(rule_editor_add_undo): Only add if undo enabled.
* filter-rule.c (filter_rule_set_name): Emit a changed event if it
changes.
(filter_rule_set_source): Same.
svn path=/trunk/; revision=14289
Diffstat (limited to 'filter/rule-context.c')
-rw-r--r-- | filter/rule-context.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/filter/rule-context.c b/filter/rule-context.c index ce83abc662..d11e4ec722 100644 --- a/filter/rule-context.c +++ b/filter/rule-context.c @@ -38,6 +38,8 @@ static int load(RuleContext * f, const char *system, const char *user); static int save(RuleContext * f, const char *user); +static int rename_uri(RuleContext *f, const char *olduri, const char *newuri, GCompareFunc cmp); +static int delete_uri(RuleContext *f, const char *uri, GCompareFunc cmp); static void rule_context_class_init(RuleContextClass * class); static void rule_context_init(RuleContext * gspaper); @@ -95,7 +97,9 @@ rule_context_class_init (RuleContextClass * class) /* override methods */ class->load = load; class->save = save; - + class->rename_uri = rename_uri; + class->delete_uri = delete_uri; + /* signals */ signals[RULE_ADDED] = gtk_signal_new("rule_added", @@ -647,3 +651,29 @@ rule_context_find_rank_rule (RuleContext *f, int rank, const char *source) return NULL; } + +static int +delete_uri(RuleContext *f, const char *uri, GCompareFunc cmp) +{ + return 0; +} + +int +rule_context_delete_uri(RuleContext *f, const char *uri, GCompareFunc cmp) +{ + return ((RuleContextClass *) ((GtkObject *) f)->klass)->delete_uri(f, uri, cmp); +} + +static int +rename_uri(RuleContext *f, const char *olduri, const char *newuri, GCompareFunc cmp) +{ + return 0; +} + +int +rule_context_rename_uri(RuleContext *f, const char *olduri, const char *newuri, GCompareFunc cmp) +{ + return ((RuleContextClass *) ((GtkObject *) f)->klass)->rename_uri (f, olduri, newuri, cmp); +} + + |