aboutsummaryrefslogtreecommitdiffstats
path: root/filter/filter-driver.c
Commit message (Collapse)AuthorAgeFilesLines
* Add #include <config.h> and mark some strings for translation.Kjartan Maraas2001-02-051-0/+778
| | | | | | | | | | | 2001-02-05 Kjartan Maraas <kmaraas@gnome.org> * filter-code.c, filter-colour.c, filter-context.c, filter-element.c, filter-input.c, filter-score.c, filter-system-flag.c, filter-url.c: Add #include <config.h> and mark some strings for translation. svn path=/trunk/; revision=7967
* Removed, now lives in camel-filter-search.*Not Zed2001-01-221-774/+0
| | | | | | | | | | | | | | 2001-01-22 Not Zed <NotZed@Ximian.com> * filter-message-search.[ch]: Removed, now lives in camel-filter-search.* * Makefile.am (libfilter_la_SOURCES): Removed filter-driver.[ch] and filter-message-search.[ch]. * filter-driver.[ch]: Removed. now lives in camel-filter-driver.* svn path=/trunk/; revision=7703
* Set the delete bit *before* copying to the default folder.Jeffrey Stedfast2001-01-201-4/+4
| | | | | | | | | 2001-01-19 Jeffrey Stedfast <fejj@ximian.com> * filter-driver.c (filter_driver_filter_message): Set the delete bit *before* copying to the default folder. svn path=/trunk/; revision=7656
* Moved p->copied to the inner part of the loop so that in the case of aJeffrey Stedfast2001-01-131-4/+7
| | | | | | | | | | | | 2001-01-13 Jeffrey Stedfast <fejj@ximian.com> * filter-driver.c (do_copy): Moved p->copied to the inner part of the loop so that in the case of a folder not existing, it doesn't think that the message was already copied to some place and thus not save it to the Inbox. (do_move): Same. svn path=/trunk/; revision=7478
* Set the 'dirty' flag - this should fix the problem of flags not being setJeffrey Stedfast2001-01-031-2/+2
| | | | | | | | | | | 2001-01-02 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (do_flag): Set the 'dirty' flag - this should fix the problem of flags not being set (or, more precisely, synced). (filter_driver_filter_message): Here too. svn path=/trunk/; revision=7224
* Merge from camel-mt-branch.Not Zed2000-12-241-2/+0
| | | | | | | | 2000-12-24 Not Zed <NotZed@HelixCode.com> * Merge from camel-mt-branch. svn path=/trunk/; revision=7152
* And here too.Not Zed2000-12-211-1/+3
| | | | | | | | | | | 2000-12-21 Not Zed <NotZed@HelixCode.com> * filter-message-search.c (filter_message_search): And here too. * filter-driver.c (filter_driver_finalise): Kind of revert an accidentally commited patch for e_sexp_unref. svn path=/trunk/; revision=7108
* God-damned friggin' WinCvs shit is so damn annoying. Why can't I just paste ↵Jeffrey Stedfast2000-12-211-1/+2
| | | | | | | | my ChangeLog entry? Ugh... Anyways, this checkin fixes bug #1007 svn path=/trunk/; revision=7107
* Oops, missed a gtk unref of the now-no-longer gtk e_sexp.Not Zed2000-12-201-19/+2
| | | | | | | | | | | | 2000-12-20 Not Zed <NotZed@HelixCode.com> * filter-message-search.c (filter_message_search): Oops, missed a gtk unref of the now-no-longer gtk e_sexp. * filter-driver.c: Remove mail_tool_lock stuff. (filter_driver_finalise): unref e_sexp properly. svn path=/trunk/; revision=7095
* Added support for the system-flag type.Jeffrey Stedfast2000-12-021-36/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-01 Jeffrey Stedfast <fejj@helixcode.com> * filter-element.c (filter_element_new_type_name): Added support for the system-flag type. * Makefile.am: Added filter-system-flag.[c,h]. * filter-system-flag.[c,h]: New type for system flags. * filtertypes.xml: Oops, looks like we were still using integers as arguments to set-flag. Change over to using strings which are safer and also change the name to set-system-flag. * filter-driver.c (do_flag): Use strings instead of integers. Instead of set-flag, the callback is now set-system-flag for less confusion. Sorry Ettore, but you'll have to change your filters. * filtertypes.xml: Added system-flags stuff. * vfoldertypes.xml: And here too. * filter-message-search.c (system_flag): New ESExp callback for filtering on system flags. svn path=/trunk/; revision=6764
* Use camel_message_info_free() instead of freeing everything by hand - isJeffrey Stedfast2000-12-011-32/+3
| | | | | | | | | | | | | 2000-11-30 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_filter_message): Use camel_message_info_free() instead of freeing everything by hand - is this a new function? I don't ever recall seeing this before. Also use my new function, camel_message_info_new_from_header - ahhh... this code is now so beatiful. Okay, I'm done. svn path=/trunk/; revision=6750
* Update to use EStrv in appropriate places (wrapped with #ifdef DOESTRV forJeffrey Stedfast2000-12-011-4/+23
| | | | | | | | | | 2000-11-30 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_filter_message): Update to use EStrv in appropriate places (wrapped with #ifdef DOESTRV for the moment). svn path=/trunk/; revision=6739
* Sync here instead. (filter_driver_filter_mbox): And here too.Jeffrey Stedfast2000-11-161-4/+11
| | | | | | | | | | | | 2000-11-15 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_filter_folder): Sync here instead. (filter_driver_filter_mbox): And here too. (filter_driver_finalise): Don't sync here afterall - it's more preferable to sync right after processing. svn path=/trunk/; revision=6588
* Sync the defaultfolder.Jeffrey Stedfast2000-11-161-1/+3
| | | | | | | | | 2000-11-15 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_finalise): Sync the defaultfolder. svn path=/trunk/; revision=6587
* If there is a default folder and the message hasn't been deleted then...Jeffrey Stedfast2000-11-131-1/+1
| | | | | | | | | | | | | | | 2000-11-12 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_filter_message): If there is a default folder and the message hasn't been deleted then... should be: If there is a default folder and the message hasn't been copied to another folder and the message hasn't been deleted... (filter_driver_filter_message): Make it so that the FILTER_LOG_END is only called if filtered were applied to the message so we don't get huge gaps of whitespace in the log file. (filter_driver_filter_message): svn path=/trunk/; revision=6555
* If there is a default folder and the message hasn't been deleted then...Jeffrey Stedfast2000-11-131-3/+7
| | | | | | | | | | | | | | 2000-11-12 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_filter_message): If there is a default folder and the message hasn't been deleted then... should be: If there is a default folder and the message hasn't been copied to another folder... (filter_driver_filter_message): Make it so that the FILTER_LOG_END is only called if filtered were applied to the message so we don't get huge gaps of whitespace in the log file. svn path=/trunk/; revision=6554
* If there is a default folder and the message hasn't been deleted then...Jeffrey Stedfast2000-11-131-1/+1
| | | | | | | | | | | 2000-11-12 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_filter_message): If there is a default folder and the message hasn't been deleted then... should be: If there is a default folder and the message hasn't been copied to another folder... svn path=/trunk/; revision=6551
* you shouldn't use an integer to set the flag. You should use a string, andNot Zed2000-11-071-3/+8
| | | | | | | | | | | | | | | | | | | | | | | 2000-11-06 Not Zed <NotZed@HelixCode.com> * filter-driver.c (do_flag): you shouldn't use an integer to set the flag. You should use a string, and look it up, because the flag bits might change. (filter_driver_filter_message): Can som e one PLEASE STOP INDENTING THE CODE. Even if i have to come over the and beat it into you. YOU DONT INDENT CODE ONCE ITS BEEN CHECKED IN TO CVS, otherwise you SCREW UP THE DIFF's. Can't you please please learn this? (filter_driver_log): Fixes for api changes to mime_message. 2000-11-05 Not Zed <NotZed@HelixCode.com> * filter-message-search.c (get_sent_date): Fix for date change api. No longer need to encode/decode the date, after its been encoded/ecoded already. (get_received_date): Likewise. svn path=/trunk/; revision=6477
* Fix for when 'desc' is NULL. (filter_driver_filter_message): Use a moreJeffrey Stedfast2000-11-031-2/+2
| | | | | | | | | | | 2000-11-02 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_log): Fix for when 'desc' is NULL. (filter_driver_filter_message): Use a more user-friendly filter name in the log file. svn path=/trunk/; revision=6359
* Fix for when 'desc' is NULL. (filter_driver_filter_message): Use a moreJeffrey Stedfast2000-11-021-1/+1
| | | | | | | | | | | 2000-11-02 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_log): Fix for when 'desc' is NULL. (filter_driver_filter_message): Use a more user-friendly filter name in the log file. svn path=/trunk/; revision=6347
* Fix for when 'desc' is NULL.Jeffrey Stedfast2000-11-021-4/+7
| | | | | | | | | 2000-11-02 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_log): Fix for when 'desc' is NULL. svn path=/trunk/; revision=6345
* Use filter_driver_log() where appropriate. (do_copy): Use the service urlJeffrey Stedfast2000-11-021-44/+84
| | | | | | | | | | | | | | | | | | | | | | | 2000-11-01 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_filter_message): Use filter_driver_log() where appropriate. (do_copy): Use the service url for the path rather than the folder->full_name because that'll only get you a "/mbox" which is entirely useless. Replace occurences of report_status with filter_driver_log. (do_move): Same. (report_status): Don't use this for logging anymore, use only for reporting the status back to the caller. (filter_driver_log): Renamed from filter_driver_status_log. Now ONLY handles file logging and is for INTERNAL USE ONLY. (do_flag): Replace occurences of report_status with filter_driver_log. (do_score): Same. (do_colour): Same. (do_stop): Same. svn path=/trunk/; revision=6340
* Updated to add an action to set message flags.Jeffrey Stedfast2000-11-011-7/+48
| | | | | | | | | | | | | | | | | 2000-10-31 Jeffrey Stedfast <fejj@helixcode.com> * filtertypes.xml: Updated to add an action to set message flags. * filter-driver.c (do_flag): New callback to set message info flags. * filter-element.c (filter_element_set_data): New convenience function to set the data on a FilterElement. * filter-url.c (get_widget): Set the sources list to point to the FilterElement data. svn path=/trunk/; revision=6298
* Copy the message to the default folder if it wasn't marked as deleted.Jeffrey Stedfast2000-10-291-1/+1
| | | | | | | | | 2000-10-28 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_filter_message): Copy the message to the default folder if it wasn't marked as deleted. svn path=/trunk/; revision=6249
* divide before multiple so that we don't overflow.Jacob "Ulysses" Berkman2000-10-281-2/+4
| | | | | | | | | 2000-10-27 Jacob "Ulysses" Berkman <jacob@helixcode.com> * filter-driver.c (filter_driver_filter_mbox): divide before multiple so that we don't overflow. svn path=/trunk/; revision=6235
* Don't mark as deleted here, otherwise the message will have the DELETEDJeffrey Stedfast2000-10-271-2/+4
| | | | | | | | | | | | | | 2000-10-27 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (do_move): Don't mark as deleted here, otherwise the message will have the DELETED flag set in the folder it's being moved to. (do_delete): Don't set the DELETED flag here either...we'll only set it at the very end of the filtering process. (filter_driver_filter_message): Set the DELETED flag after all processing is completed. svn path=/trunk/; revision=6221
* Fixed NULL in fprintf.Jeffrey Stedfast2000-10-251-2/+9
| | | | | | | | 2022-10-24 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c: Fixed NULL in fprintf. svn path=/trunk/; revision=6150
* Set the remove button insensitive if there is only 1 action left.Jeffrey Stedfast2000-10-241-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-23 Jeffrey Stedfast <fejj@helixcode.com> * filter-filter.c (less_parts): Set the remove button insensitive if there is only 1 action left. (more_parts): Set the remove button sensitive (since we now have 2 or more actions). (get_widget): If there is only 1 action, disable the remove button. * filter-rule.c (xml_encode): If there is a defined source, don't set it to "incoming", set it to whatever the source is! (less_parts): Set the remove button insensitive if there is only 1 criterion left. (more_parts): Set the remove button sensitive (since we now have 2 or more criterion). (get_widget): If there is no name for the filter then set it to "Untitled", highlight it, and grab the focus. If there is only 1 criterion, disable the remove button. * filter-editor.c, vfolder-editor.c: GUI fixes here and there as well as some consistancy fixes between them. * filter-driver.c (filter_driver_filter_mbox): Updated to send the source url to filter_driver_filter_message() (filter_driver_filter_folder): Updated to send the source url of the folder to filter_driver_filter_message() (filter_driver_filter_message): Now takes a source_url argument that represents the url of the folder the message is coming from (so that we may filter based upon that information). svn path=/trunk/; revision=6138
* Added filter-url.[c,h].Jeffrey Stedfast2000-10-211-84/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-20 Jeffrey Stedfast <fejj@helixcode.com> * Makefile.am: Added filter-url.[c,h]. * filter-message-search.c (get_source): New callback to get the source url of the message being filtered. (filter_message_search): Now takes a source argument. * filter-element.c (filter_element_new_type_name): Added code to handle URL types. * filter-url.[c,h]: New filter object to handle URLs (ie in the case of filtering on source url). FIXME: find a way to populate the source combo box (including mail-config.h breaks the build in the addressbook - how does including mail-tools.h not break the build???) * filtertypes.xml: Added the source filter type and added the move-to action. * filter-driver.c (do_move): New callback, a "Copy" action should just copy the message to another location while a Move should both copy the message to a new location and delete it from the source location. (do_delete): Set the deleted flag on the message info. (filter_driver_filter_message): Now returns void as we don't care if it was copied or not in the caller functions. Also check the CamelMessageInfo being passed in - if the message has been marked as deleted prior to being filtered, then return immediately as we don't want to apply filter actions to deleted messages. svn path=/trunk/; revision=6094
* Start fetching at 1, not 0.Jeffrey Stedfast2000-10-201-17/+18
| | | | | | | | | 2000-10-19 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_filter_folder): Start fetching at 1, not 0. svn path=/trunk/; revision=6060
* Report the percentage of file complete for the filter.Not Zed2000-10-121-121/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Now takes an argument to specify the log file (or NULL if logging is notJeffrey Stedfast2000-09-281-1/+35
| | | | | | | | | 2000-09-27 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_run): Now takes an argument to specify the log file (or NULL if logging is not to be performed). svn path=/trunk/; revision=5605
* We now use a "copied" variable to record whether a message was marked asJeffrey Stedfast2000-09-121-19/+17
| | | | | | | | | | | | | | | | 2000-09-11 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c: We now use a "copied" variable to record whether a message was marked as copied or not instead of trying to "guess" by looking at the folders hash table as that won't work at all anymore. (do_copy): Renamed as this is more appropriate now that it actually copies the message rather than marking it for copying later. Also fixed a logic error which prevented a message from being dumped into a folder if the fodler had been previously opened. svn path=/trunk/; revision=5350
* No longer takes a self_destruct argument.Jeffrey Stedfast2000-09-121-4/+4
| | | | | | | | | 2000-09-11 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_run): No longer takes a self_destruct argument. svn path=/trunk/; revision=5348
* Don't freeze/thaw the default inbox here, let the caller freeze/thaw it.Jeffrey Stedfast2000-09-121-22/+11
| | | | | | | | | | | | | 2000-09-11 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_run): Don't freeze/thaw the default inbox here, let the caller freeze/thaw it. Don't destroy the folders hash table here, it's faster if we wait till the filter-driver is destroyed. (filter_driver_finalise): Destroy the folders hash table here (filter_driver_init): Initialize the folders hash table here svn path=/trunk/; revision=5346
* Fixed a logic error. Only mark filtered as TRUE if it was successfullyJeffrey Stedfast2000-09-101-5/+7
| | | | | | | | | | 2000-09-09 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_run): Fixed a logic error. Only mark filtered as TRUE if it was successfully copied to another folder, this means don't mark true if the default inbox is NULL. svn path=/trunk/; revision=5289
* Erm, okay I misunderstood what camel_folder_[un]hook_event() did - weJeffrey Stedfast2000-09-101-1/+0
| | | | | | | | | | | 2000-09-09 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_run): Erm, okay I misunderstood what camel_folder_[un]hook_event() did - we don't even need this crap in the filter driver so lets take it completely out and let the caller handle this junk. svn path=/trunk/; revision=5287
* Updated to not emit the folder_changed signal when a message is appendedJeffrey Stedfast2000-09-101-5/+0
| | | | | | | | | | | | 2000-09-09 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_run): Updated to not emit the folder_changed signal when a message is appended to the default mailbox - lets leave that up to the caller so we don't queue up a bunch of these emits if the caller is downloading messages for example. svn path=/trunk/; revision=5285
* Added scoring xml stuffsJeffrey Stedfast2000-09-091-1/+22
| | | | | | | | | | | | | | | | | | | | | | 2000-09-08 Jeffrey Stedfast <fejj@helixcode.com> * filtertypes.xml: Added scoring xml stuffs * Makefile.am: added filter-score.[c,h] * filter-score.[c,h]: New functions to handle the "score" filter type. * filter-element.c (filter_element_new_type_name): Added support for "score" type. * filter-driver.c (do_score): New ESExp callback for filter actions to set the score on a message. * filter-message-search.c (get_score): New ESExp callback for getting the score tag as an integer value. svn path=/trunk/; revision=5274
* Now takes a CamelMessageInfo argument in preparation for handling scoringJeffrey Stedfast2000-09-081-2/+2
| | | | | | | | | 2000-09-07 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_run): Now takes a CamelMessageInfo argument in preparation for handling scoring svn path=/trunk/; revision=5251
* Modified to return a boolean value specifying whether or not the messageJeffrey Stedfast2000-09-081-4/+11
| | | | | | | | | | | | 2000-09-07 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_run): Modified to return a boolean value specifying whether or not the message was filtered into a folder other than the default. The default mailbox can now also be specified as NULL if the message shouldn't be appended to it in the case that it's not filtered into some other folder. svn path=/trunk/; revision=5249
* Rewrote - this shouldn't need to be an async functionJeffrey Stedfast2000-09-081-3/+7
| | | | | | | | | | | | | 2000-09-07 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_run): Rewrote - this shouldn't need to be an async function * filter-message-search.c (match_all): Modified to look at the boolean value being fed to it and just to return that instead of always returning TRUE svn path=/trunk/; revision=5241
* Rewrote - this shouldn't need to be an async functionJeffrey Stedfast2000-09-081-109/+14
| | | | | | | | | | | | | 2000-09-07 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_run): Rewrote - this shouldn't need to be an async function * filter-message-search.c (match_all): Modified to look at the boolean value being fed to it and just to return that instead of always returning TRUE svn path=/trunk/; revision=5236
* Totally rewritten to filter a single message at a time instead ofJeffrey Stedfast2000-09-071-274/+184
| | | | | | | | | | | | 2000-09-06 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_run): Totally rewritten to filter a single message at a time instead of filtering a folder. * filter-message-search.c (filter_message_search): New convenience function for searching a message. svn path=/trunk/; revision=5224
* Automatically connect services when given a valid URL (should hopefully ↵Peter Williams2000-08-231-2/+24
| | | | | | disconnect, too); remove the old movemail folder correctly. svn path=/trunk/; revision=4965
* Filtering on demand! booyeah!Peter Williams2000-08-181-5/+17
| | | | svn path=/trunk/; revision=4864
* Use mail_tool_get_folder_name here too. (Hm... this directory reallyDan Winship2000-08-131-2/+2
| | | | | | | | | * filter-driver.c (describe_filter_mail): Use mail_tool_get_folder_name here too. (Hm... this directory really shouldn't depend on stuff in mail/, but it already did. We'll have to sort this out later.) svn path=/trunk/; revision=4788
* Remove an '#if 0' that must have been left in accidentally, so thatDan Winship2000-08-111-2/+3
| | | | | | | | | | * filter-driver.c (do_filter_mail): Remove an '#if 0' that must have been left in accidentally, so that messages which are copied to other folders will not also be copied into the Inbox. Also, #ifdef out the line that printfs the rule, because the rules are often very large. svn path=/trunk/; revision=4735
* Use proper accessor function instead of poking the structure.Not Zed2000-08-111-6/+1
| | | | | | | | | 2000-08-11 Not Zed <NotZed@HelixCode.com> * filter-driver.c (do_colour): Use proper accessor function instead of poking the structure. svn path=/trunk/; revision=4730
* Fixed some warnings.Christopher James Lahey2000-08-111-0/+6
| | | | | | | | | 2000-08-10 Christopher James Lahey <clahey@helixcode.com> * filter-driver.c, filter-driver.h, filter-folder.c, rule-context.c, vfolder-editor.c: Fixed some warnings. svn path=/trunk/; revision=4720
* Fix the infinite movemailPeter Williams2000-08-111-0/+1
| | | | svn path=/trunk/; revision=4696
* Merge with camel-async.Peter Williams2000-08-111-100/+228
| | | | svn path=/trunk/; revision=4687
* Save the results of searches till we're done. So we dont have to goNot Zed2000-08-111-37/+38
| | | | | | | | | | | | | | 2000-08-10 Not Zed <NotZed@HelixCode.com> * filter-driver.c (filter_driver_run): Save the results of searches till we're done. So we dont have to go strduping strings agian and again and again and again ... Remove all the unecessary strdups. (do_colour): Implement. (filter_driver_run): Change for append api change. (free_key): Removed. svn path=/trunk/; revision=4684
* ** Almost a total rewrite of every file, except for filter-driver whichNot Zed2000-07-301-148/+46
| | | | | | | | | | | 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
* Update for CamelFolder API changes. (delete_message and get_uids don'tDan Winship2000-07-251-3/+3
| | | | | | | | * filter-driver.c (do_delete, filter_driver_run): Update for CamelFolder API changes. (delete_message and get_uids don't take exceptions any more.) svn path=/trunk/; revision=4304
* Updated to reflect changes to camel_folder_append_message ()Jeffrey Stedfast2000-07-121-2/+5
| | | | | | | | | 2000-07-11 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (filter_driver_run): Updated to reflect changes to camel_folder_append_message () svn path=/trunk/; revision=4104
* Update for camel_folder_search_by_expression change (GList -> GPtrArray).Dan Winship2000-07-081-69/+82
| | | | | | | * filter-driver.c: Update for camel_folder_search_by_expression change (GList -> GPtrArray). svn path=/trunk/; revision=3959
* remove some non-error case debugging messages.Dan Winship2000-07-061-37/+5
| | | | | | * remove some non-error case debugging messages. svn path=/trunk/; revision=3904
* Add uids to the "processed" list only after succesfully doing somethingDan Winship2000-07-061-14/+14
| | | | | | | | | | * filter-driver.c (do_delete, do_copy, do_stop, filter_driver_run): Add uids to the "processed" list only after succesfully doing something with them. Fixes the problem where copying a message to a folder that didn't exist would result in it disapearing. svn path=/trunk/; revision=3887
* Get filters to work by not freeing the XML document nor the ruleset.Ettore Perazzoli2000-07-031-0/+2
| | | | | | | | This probably makes us leak, but I don't understand how the code is supposed to work so I cannot do the correct fix. At least filters (seem to) work now. svn path=/trunk/; revision=3867
* freeze the folder to avoid multiple folder_changed's (close_folder): andDan Winship2000-07-031-1/+6
| | | | | | | | * filter-driver.c (open_folder): freeze the folder to avoid multiple folder_changed's (close_folder): and thaw it. svn path=/trunk/; revision=3864
* kill filter_driver_set_session and filter_driver_set_rules and insteadDan Winship2000-07-031-53/+22
| | | | | | | | | | | | * filter-driver.c (filter_driver_new): kill filter_driver_set_session and filter_driver_set_rules and instead make filter_driver_new take the rules and a callback function it can use to turn URIs into folders. (open_folder): Use the callback function rather than calling camel directly: some URIs need special handling to turn them into stores and folders correctly, so let the mailer do that. svn path=/trunk/; revision=3859
* Updated to reflect changes made to camel-folder.Jeffrey Stedfast2000-07-021-3/+3
| | | | | | | | | 2000-07-01 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c: Updated to reflect changes made to camel-folder. svn path=/trunk/; revision=3846
* Add some checks for bad/nonexistant XML docs.Peter Williams2000-07-011-1/+5
| | | | svn path=/trunk/; revision=3828
* Added a #include <gnome-xml/parser.h> as this was needed (since we usedJeffrey Stedfast2000-06-271-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-26 Jeffrey Stedfast <fejj@helixcode.com> * filter-editor.c: Added a #include <gnome-xml/parser.h> as this was needed (since we used the xml parser...) (druid_dialogue_clicked): Do we want to use struct filter_option or do we instead want to use struct filter_optionrule as we had before? Since the function we pass the data to expects filter_option, I suspect that that is what we want. * filter-format.h (filter_description_html_write): Renamed from description_html_write in order to match function name in filter-format.c * filter-druid.c (option_name_changed): Fixed a memory leak (Free'd a filter description list). * filter-arg-types.c (arg_folder_edit_values): Free'd GList data in argin->values. * filter-driver.c (filter_driver_set_rules): Added code to free an xmlDoc and some other data. * filter-arg.h: Add prototypes for filter_arg_write_html() and filter_arg_write_text(); * filter-arg-types.c: Lets see if we can't get rid of some of these warnings... (use some casts to make warnings go away) (arg_address_edit_value): Lets make sure that ad exists before looking at member data. svn path=/trunk/; revision=3741
* Update for Camel flag handling changes.Dan Winship2000-06-171-8/+2
| | | | | | | * filter-driver.c (do_delete, filter_driver_run): Update for Camel flag handling changes. svn path=/trunk/; revision=3599
* Update for CamelFolder changes.Dan Winship2000-06-161-8/+1
| | | | | | | * filter-driver.c (open_folder, close_folder): Update for CamelFolder changes. svn path=/trunk/; revision=3582
* Update for folder existence/creation changes.Dan Winship2000-06-071-5/+1
| | | | | | | * filter-driver.c (open_folder): Update for folder existence/creation changes. svn path=/trunk/; revision=3454
* Free the exception and the priv struct.Christopher James Lahey2000-06-021-0/+4
| | | | | | | | 2000-06-02 Christopher James Lahey <clahey@helixcode.com> * filter-driver.c: Free the exception and the priv struct. svn path=/trunk/; revision=3387
* New file - lists rules appropriate for vfolders (no actions, etc).Not Zed2000-05-281-28/+48
| | | | | | | | | | | | | | | | | 2000-05-27 Not Zed <NotZed@HelixCode.com> * vfoldertypes.xml: New file - lists rules appropriate for vfolders (no actions, etc). * Makefile.am (EXTRA_DIST): Add vfoldertypes.xml * filter-driver.c (filter_driver_expand_option): Made public from expand_filter_option. (filter_driver_rule_count): find out how many user rules are defined. (filter_driver_rule_get): Get a user rule by index. svn path=/trunk/; revision=3240
* update for camel_folder_get_uids changeDan Winship2000-05-191-8/+8
| | | | | | | * filter-driver.c (filter_driver_run): update for camel_folder_get_uids change svn path=/trunk/; revision=3127
* Fix some html formatting.NotZed2000-05-171-17/+35
| | | | | | | | | | | | | | | 2000-05-17 NotZed <NotZed@HelixCode.com> * filter-druid.c: Fix some html formatting. 2000-05-16 NotZed <NotZed@HelixCode.com> * filter-driver.c (filter_driver_run): Delete all processed messages. This is probably going to slow it down a bit. (filter_driver_run): Close folders before destroying them *sigh*. (open_folder): Actually open the folder. Doh. svn path=/trunk/; revision=3101
* Removed filter-driver test program, now just part of libfilter.NotZed2000-05-161-150/+348
| | | | | | | | | | | | 2000-05-15 NotZed <NotZed@HelixCode.com> * Makefile.am: Removed filter-driver test program, now just part of libfilter. * filter-driver.c: Made an object, with an api and everything, can apply a filter to a given mailbox. svn path=/trunk/; revision=3050
* Fix for api.NotZed2000-05-021-12/+1
| | | | | | | | 2000-05-01 NotZed <NotZed@HelixCode.com> * filter-driver.c (main): Fix for api. svn path=/trunk/; revision=2726
* Remove no-longer-necessary call to camel_provider_register_as_module.Dan Winship2000-05-011-1/+0
| | | | | | | * filter-driver.c (start): Remove no-longer-necessary call to camel_provider_register_as_module. svn path=/trunk/; revision=2693
* Removed a bunch of crappy unrequired headers.NotZed2000-04-211-7/+1
| | | | | | | | | | 2000-04-20 NotZed <NotZed@HelixCode.com> * filter-driver.c: Removed a bunch of crappy unrequired headers. * Makefile.am (filter_driver_LDADD): Added libibex back again. svn path=/trunk/; revision=2534
* kill camel-logDan Winship2000-04-191-1/+0
| | | | svn path=/trunk/; revision=2487
* Plug some minor memleaks.NotZed2000-03-281-0/+12
| | | | | | | | | | | | | | | | | 2000-03-27 NotZed <NotZed@HelixCode.com> * filter-xml.c (tokenise_xmlfreeprop): Free a prop after tokenising it. (find_node_attr): Free the prop after using it. (load_desc): Ditto. I use free() because xmlFree() is nowhere to be found. (filter_load_optionset): Ditto. * filter-arg-types.c (arg_address_values_add_xml): free() xml stuff, plugs a leak. (arg_folder_values_add_xml): Ditto. svn path=/trunk/; revision=2193
* Changed to use async search api.NotZed2000-03-241-1/+15
| | | | | | | | 2000-03-22 NotZed <NotZed@HelixCode.com> * filter-driver.c (main): Changed to use async search api. svn path=/trunk/; revision=2153
* Actually implement filtering, at least, from Inbox. Copy messages toNotZed2000-03-051-65/+232
| | | | | | | | | | | | | | | 2000-03-04 NotZed <NotZed@HelixCode.com> * filter-driver.c (main): Actually implement filtering, at least, from Inbox. Copy messages to folder (in the same store only, so far), delete, and stop processing are implemented, and the logic to handle default processing. * filter-xml.c (load_optionvalue): Fix up a bug where we lost the name of the arg (ouch). * filter-xml.c: Wrapped printf's in debug macros. svn path=/trunk/; revision=2054
* Remove gui code, this will be actual filtering code.NotZed2000-03-011-257/+14
| | | | | | | | | | | | | 2000-02-29 NotZed <NotZed@HelixCode.com> * filter-driver.c (main): Remove gui code, this will be actual filtering code. * Makefile: Added filter-editor to the library. * filter-editor.c (main): Comment out, make it a proper library. svn path=/trunk/; revision=1991
* Removed unused header.NotZed2000-02-291-2/+2
| | | | | | | | 2000-02-28 NotZed <NotZed@HelixCode.com> * filter-druid.c: Removed unused header. svn path=/trunk/; revision=1982
* Removed references to filter-sexp.[ch].NotZed2000-02-291-16/+16
| | | | | | | | | | | 2000-02-28 NotZed <NotZed@HelixCode.com> * Makefile: Removed references to filter-sexp.[ch]. * filter-sexp.[ch]: Removed some unecessary includes. Moved to e-util. Renamed callers. svn path=/trunk/; revision=1981
* New utility functions for working with the internal rule format.NotZed2000-02-221-7/+13
| | | | | | | | | | | | | | | | | | | | | | 2000-02-22 NotZed <NotZed@HelixCode.com> * filter-xml.c (filter_clone_optionrule): (filter_clone_optionrule_free): (filter_optionrule_new_from_rule): New utility functions for working with the internal rule format. * filter-arg.[ch]: Added new callbacks for editing a single value, and a new editor which shows all items in a list, and allows you to edit them via the single-edit method. This needs some cleanup for some unused/unusable virtual methods (edit_values, write_html?). * Makefile: Add the druid for build. * filter-druid.c: A 'druid' widget for editing a single filter rule. svn path=/trunk/; revision=1901
* Now have loader/save, basic gui elements (which i wantNotZed2000-02-191-48/+338
| | | | | | | | | | to change), and uh, other stuff i forget right now. 2000-02-18 NotZed <NotZed@HelixCode.com> * Uh, more changes, lots, its still work in progress. svn path=/trunk/; revision=1851
* Initial revisionMichael Zucci2000-02-161-0/+176
svn path=/trunk/; revision=1786