aboutsummaryrefslogtreecommitdiffstats
path: root/filter/filter-rule.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2001-03-01 08:52:51 +0800
committerMichael Zucci <zucchi@src.gnome.org>2001-03-01 08:52:51 +0800
commit1b995212bd98536449d763031654c410200dbdd0 (patch)
tree83267bedca5814f699f43aca45beb75aa858d138 /filter/filter-rule.c
parent20143e0762f927d23f57d72928761e1f599bbad2 (diff)
downloadgsoc2013-evolution-1b995212bd98536449d763031654c410200dbdd0.tar
gsoc2013-evolution-1b995212bd98536449d763031654c410200dbdd0.tar.gz
gsoc2013-evolution-1b995212bd98536449d763031654c410200dbdd0.tar.bz2
gsoc2013-evolution-1b995212bd98536449d763031654c410200dbdd0.tar.lz
gsoc2013-evolution-1b995212bd98536449d763031654c410200dbdd0.tar.xz
gsoc2013-evolution-1b995212bd98536449d763031654c410200dbdd0.tar.zst
gsoc2013-evolution-1b995212bd98536449d763031654c410200dbdd0.zip
New function to clone rules.
2001-02-28 Not Zed <NotZed@Ximian.com> * filter-rule.c (filter_rule_clone): New function to clone rules. svn path=/trunk/; revision=8435
Diffstat (limited to 'filter/filter-rule.c')
-rw-r--r--filter/filter-rule.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/filter/filter-rule.c b/filter/filter-rule.c
index 663e9d7f81..c5d36d3496 100644
--- a/filter/filter-rule.c
+++ b/filter/filter-rule.c
@@ -138,6 +138,21 @@ filter_rule_new ()
return o;
}
+FilterRule *
+filter_rule_clone(FilterRule *base, RuleContext *f)
+{
+ xmlNodePtr xml;
+ FilterRule *rule;
+
+ /* TODO: do this more directly/efficiently */
+ xml = filter_rule_xml_encode(base);
+ rule = gtk_type_new(((GtkObject *)base)->klass->type);
+ filter_rule_xml_decode(rule, xml, f);
+ xmlFreeNodeList(xml);
+
+ return rule;
+}
+
void
filter_rule_set_name (FilterRule *fr, const char *name)
{