aboutsummaryrefslogtreecommitdiffstats
path: root/filter/rule-context.h
Commit message (Collapse)AuthorAgeFilesLines
* ** See #59885.Not Zed2004-06-171-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-06-17 Not Zed <NotZed@Ximian.com> ** See #59885. ** Moved all of the mailer specific filter stuff into mail/*. * filter-element.c (copy_value): implement for base types. * filter-element.c (filter_element_copy_value): do this as a virtual method. * filter.glade: moved the vfolder stuff to mail/ * libfilter-i18n.h: removed, moved to mailer. * filter-errors.xml: moved the vfolder/filtering errors to the mail error file. * Makefile.am (EXTRA_DIST): moved *types.xml to mail. (INCLUDES): removed a bunch of mail dependencies. * filter-*.[ch], vfolder-*.[ch]: Moved all mail related filter and vfolder stuff to mail directory. * score-*.[ch]: Removed all of it. * vfolder-context.c (vfolder_new_element): and for vfolders. * filter-context.c (filter_new_element): implement for filter element types. * rule-context.c (rc_new_element): replacement for old filter_element_new_type_name. only has the basics. * filter-part.c (filter_part_xml_create): take a rule context as an argument & and look up the element name off the context. * rule-context.c (rule_context_new_element): new virtual method to get an element for a given name. * filter-element.c (filter_element_new_type_name): removed. svn path=/trunk/; revision=26379
* load threading option if threading enabled. (xml_encode): write outNot Zed2004-05-121-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-05-12 Not Zed <NotZed@Ximian.com> * filter-rule.c (xml_decode): load threading option if threading enabled. (xml_encode): write out threading setting. (rule_copy): copy threading option. (rule_eq): compare threading. (build_code): build the match-threads stuff if set. (fr_grouping_changed): insead of the match_all match_any activate clalbacks. (fr_threading_changed): handle threading option menu * rule-context.c (rule_context_init): set capabilities flags. * vfolder-context.c (vfolder_context_init): set capabilities flags to include threading. * rule-context.h: added a capabilities flag, grouping and threading capabilities. Sort of a hack to workaround not being able to put grouping or threading into rules. * filter-rule.h: added an option for threading as well as grouping. svn path=/trunk/; revision=25877
* load from the just-loaded 'userdoc' rather than rc->user.Not Zed2004-01-201-4/+1
| | | | | | | | | | | | 2004-01-20 Not Zed <NotZed@Ximian.com> * rule-context.c (revert): load from the just-loaded 'userdoc' rather than rc->user. (rule_context_finalise): remove user and system xmldoc files. (load): make rc->system and rc->user locals systemdoc userdoc, and free them immediately. svn path=/trunk/; revision=24321
* type should be a GType. (rule_context_add_rule_set): Likewise. UpdateJeremy Katz2003-09-171-4/+4
| | | | | | | | | | | 2003-09-16 Jeremy Katz <katzj@redhat.com> * rule-context.c (rule_context_add_part_set): type should be a GType. (rule_context_add_rule_set): Likewise. * rule-context.h: Update prototypes. Use GType instead of int for type in _part_set_map and _rule_set_map. svn path=/trunk/; revision=22593
* Fix for bug #41578.Jeffrey Stedfast2003-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | 2003-04-24 Jeffrey Stedfast <fejj@ximian.com> Fix for bug #41578. * rule-editor.c (rule_move): Pass re->source instead of re->current->source to rule_context_get_rank_rule(). Also updated to pass re->source to rule_context_rank_rule(). (rule_editor_play_undo): Updated to pass re->source to rule_context_rank_rule(). * rule-context.c (rule_context_rank_rule): Now takes a 'source' argument rather than using rule->source (vfolder editor lists rules of all sources, not just same-source rules). (revert): Pass frule->source/part->source to rule_context_rank_rule() - might not be right but should preserve the prior behaviour at least. svn path=/trunk/; revision=21006
* Get the root node properly.Not Zed2002-11-131-1/+1
| | | | | | | | | | | | | | | | | | 2002-11-13 Not Zed <NotZed@Ximian.com> * rule-context.c (load): Get the root node properly. * rule-editor.c (rule_add): cast g_object_weak_ref (rule_edit): " * all: xml2 node change - childs->children. Also, ignore 'text' nodes while scanning tree. * rule-context.h: gnome-xml->libxml. * filter-element.h: gnome-xml->libxml svn path=/trunk/; revision=18732
* some build fixesJeffrey Stedfast2002-11-061-13/+14
| | | | svn path=/trunk/; revision=18575
* oopsJeffrey Stedfast2002-11-061-14/+13
| | | | svn path=/trunk/; revision=18564
* Ported.Jeffrey Stedfast2002-11-061-1/+1
| | | | | | | | 2002-11-05 Jeffrey Stedfast <fejj@ximian.com> * filter-rule.c: Ported. svn path=/trunk/; revision=18563
* Ported this too.Jeffrey Stedfast2002-11-021-35/+36
| | | | | | | | | | 2002-11-02 Jeffrey Stedfast <fejj@ximian.com> * filter-context.c: Ported this too. * rule-context.c: Ported to glib2/GObject. svn path=/trunk/; revision=18502
* Ported to glib2/GObject.Jeffrey Stedfast2002-11-021-59/+66
| | | | | | | | 2002-11-02 Jeffrey Stedfast <fejj@ximian.com> * rule-context.c: Ported to glib2/GObject. svn path=/trunk/; revision=18501
* ** fixes for #10781Not Zed2002-07-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-10 Not Zed <NotZed@Ximian.com> ** fixes for #10781 * filter-int.c (xml_encode): (xml_decode): Handle encoding/decoding with a type name, in a manner compatible with the score/label elemtns. (filter_int_new_type): New constructor to create a generic 'int' type. * filter-score.c: Removed. Now relies on using a filter-int with appropriate settings. * filter-label.[ch]: Now inherits from filter-int. * rule-context.c (rule_context_revert): New method to revert a filter context back to a user-file's definition. (revert): implementation. * filter-rule.h: Added new virtual method _eq and wrapper, and fixed all subclasses to implement it. * filter-element.h: Added new virtual method _eq and wrapper. Fixed all subclasses to implement it. svn path=/trunk/; revision=17448
* Changed to return a GList *, a list of the names of the rules affected byNot Zed2002-05-081-4/+6
| | | | | | | | | | | | | | | | | 2002-05-08 Not Zed <NotZed@Ximian.com> * rule-context.c (rule_context_delete_uri): Changed to return a GList *, a list of the names of the rules affected by the delete, fixed all implementors. (rule_context_rename_uri): Similarly for delete_uri, for api consistency. (rule_context_free_uri_list): Util function to free the return from above. * filter-context.c (filter_delete_uri): Actually implement it, fix for #18826, and some related bugs. svn path=/trunk/; revision=16718
* Implement, change any folder uri's that have been renamed, to the new one.82001-10-281-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add undo for move. (rule_editor_add_undo): Add extra rank item.82001-10-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-28 <NotZed@Ximian.com> * 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. * filter-rule.c (filter_rule_set_name): Emit a changed event if it changes. (filter_rule_set_source): Same. 2001-10-26 <NotZed@Ximian.com> * rule-context.c (rule_context_find_rank_rule): Find a rule at a specific rank/source. * rule-editor.c (add_editor_clicked): Log the added object. (rule_editor_add_undo): New function to add an undo record to the rule editor. (edit_editor_clicked): Log the changed object. (rule_delete): Add undo object. (rule_editor_play_undo): Play an undo log back. svn path=/trunk/; revision=14281
* Fixing the license text.Ettore Perazzoli2001-10-281-11/+11
| | | | svn path=/trunk/; revision=14215
* Add a changed signal. Emits if the order changes or if you add or remove a42001-10-241-0/+1
| | | | | | | | | | | | | | 2001-10-24 <NotZed@Ximian.com> * rule-context.c (rule_context_class_init): Add a changed signal. Emits if the order changes or if you add or remove a rule. (rule_context_rank_rule): Fix rank rule to properly rank based on source, not merely on list position. (rule_context_add_rule): Also emit changed signal. (rule_context_remove_rule): Same. (rule_context_rank_rule): Emit changed signal. svn path=/trunk/; revision=13978
* Emit changed events.32001-09-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-13 <NotZed@Ximian.com> * filter-filter.c (filter_filter_add_action): (filter_filter_remove_action): (filter_filter_replace_action): Emit changed events. * filter-rule.c (filter_rule_xml_decode): Emiot a rule changed event. (filter_rule_copy): Emit a changed event. (filter_rule_replace_part): " (filter_rule_add_part): " (filter_rule_remove_part): " (filter_rule_xml_decode): Freeze around decoding, so we only emit changed when done. (filter_rule_emit_changed): New function to emit changed events if not frozen. 2001-09-13 <NotZed@Ximian.com> * rule-context.c (rule_context_class_init): Added a 'rule_added' and 'rule_removed' signal. (rule_context_load): Set a (private) frozen flag while we're loading. (rule_context_add_rule): Emit a rule_added signal if we're not frozen. (rule_context_remove_rule): Emit a rule_removed signal if we're not frozen. svn path=/trunk/; revision=12855
* Wrap some debug printf's with d().Jeffrey Stedfast2001-08-031-2/+0
| | | | | | | | | | | 2001-08-02 Jeffrey Stedfast <fejj@ximian.com> * filter-rule.c: Wrap some debug printf's with d(). * rule-context.h: Removed prototype for rule_context_delete_rule() since the function doesn't exist. svn path=/trunk/; revision=11600
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-231-1/+1
| | | | | | helixcode.com with ximian.com all over the place. svn path=/trunk/; revision=10440
* Fix headers. Remove unneccesary ones and replace with more finegrainedKjartan Maraas2001-03-301-1/+1
| | | | | | | | | 2001-03-30 Kjartan Maraas <kmaraas@gnome.org> * *.*: Fix headers. Remove unneccesary ones and replace with more finegrained ones where needed. svn path=/trunk/; revision=9028
* Report the percentage of file complete for the filter.Not Zed2000-10-121-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-11 Not Zed <NotZed@HelixCode.com> * filter-driver.c (filter_driver_filter_mbox): Report the percentage of file complete for the filter. 2000-10-10 Not Zed <NotZed@HelixCode.com> * filter-driver.c (filter_driver_run): Why on earth does this code ref all these objects for? This is not right at all. (filter_driver_run): Changed source type to a string. (filter_driver_run): REmove the very weird exception copying stuff - just ref it instead. (do_score): (do_colour): (do_stop): (do_copy): (mark_forward): (do_delete): Removed bogus 'terminated' testing. This is NOT NEEDED HERE. It is tested after every rule/action, and termination only makes sense at that point. (filter_driver_filter_message): new funciton (renamed), filter only a message. (filter_driver_filter_mbox): Filter a whole mbox. (filter_driver_run): If we aren't given an info, create a simple one based on the message headers. (filter_driver_filter_message): Renamed from filter_driver_run(). (filter_driver_set_status_func): Set the status callback function. (filter_driver_set_default_folder): Set the default folder for filtering. (report_status): Internal function to report the status of a given event. (do_copy): Removed a pointless cache lookup - duh, we do it in open_folder anyway (infact, we do it in camel too!!). (filter_driver_filter_message): Removed pointless re-refing of arguments. Why would anyone think this could be any use at all? (filter_driver_filter_folder): New function to filter a whole folder. * filter-editor.c (rule_add): api fixes. (rule_edit): (rule_up): (rule_down): (set_sensitive): This didn't take into account the source, now it does. (select_source): Fix for api changes. Changed the rather generic 'number' argument to be 'source', and a string. (filter_editor_construct): Changed the 'number' to 'source', and set the string appropriately. Added a warning for one case where the glade file is out of sync. * score-editor.c (score_editor_construct): (rule_edit): (rule_delete): (rule_up): (rule_down): (set_sensitive): api fixes. * vfolder-editor.c (set_sensitive): Api fixes. (vfolder_editor_construct): (rule_edit): (vfolder_editor_construct): * rule-context.h (RCNextRuleFunc): Added a source argument. * rule-context.c (rule_context_next_rule): Added source argument. (rule_context_find_rule): Added source argument. (rule_context_get_rank_rule): Added source argument. (rule_context_get_rank_rule_with_source): Removed. (save): Fixed for changes to RCNextRuleFunc prototype. * filter-rule.h: Changed the source to be a string, removed the filter_source_t type. * filter-rule.c (filter_rule_set_source): New function to set the source of a rule. What idiot ran this code through indent? (filter_rule_find_list): Added a source argument. (filter_rule_next_list): Added a source argument. (get_widget): Fixed the wording. You dont remove search parts, you can only remove the last one. Why you even need to mention they are search 'criteria' is beyond me. Whoever added the scrolled window needs to be shot, its the single most awful GUI feature ever invented (ranks with the close button next to maximise). (xml_encode): Save source as a string (if present). (xml_decode): Likewise for loading & fixed a small memleak. (filter_rule_finalise): Free source. svn path=/trunk/; revision=5884
* Remove the stupid on-demand cb shit. (rule_context_load): And here too.Not Zed2000-10-091-4/+2
| | | | | | | | | 2000-10-06 Not Zed <NotZed@HelixCode.com> * rule-context.c (load): Remove the stupid on-demand cb shit. (rule_context_load): And here too. svn path=/trunk/; revision=5797
* Filtering on demand! booyeah!Peter Williams2000-08-181-2/+7
| | | | svn path=/trunk/; revision=4864
* (rule_context_add_rule_gui): Keep track of context so it isn't freed ↵Michael Zucci2000-08-091-0/+1
| | | | | | under us. svn path=/trunk/; revision=4645
* Set value of a simple type to a new string.Not Zed2000-07-311-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-07-31 Not Zed <NotZed@HelixCode.com> * filter-input.c (filter_input_set_value): Set value of a simple type to a new string. * filter-option.c (filter_option_set_current): New function to set the current value of an option. * filter-rule.c (filter_rule_find_list): New function to find a rule in a list, by name. (filter_rule_set_name): Let you set the name of a rule. * rule-context.c (rule_context_find_rule): Find a rule by name. (rule_context_create_part): Helper to find and clone a part by name. * filter-folder.c (button_clicked): Fix warning. * filter.glade: Add new widgets for vfolder rule editor. * vfolder-context.c (vfolder_context_init): Changed to use vfolder rule as the rule type. * vfolder-rule.c: New class to encode extra information required for vfolder rules. svn path=/trunk/; revision=4421
* ** Almost a total rewrite of every file, except for filter-driver whichNot Zed2000-07-301-0/+111
2000-07-30 Not Zed <NotZed@HelixCode.com> ** Almost a total rewrite of every file, except for filter-driver which just had minor updates. The rule format has changed. svn path=/trunk/; revision=4418