Files
evolution/mail/mail-vfolder.h
Not Zed 8ae13b9883 Changed to get the address from the messageinfo of the current selected
2002-03-26  Not Zed  <NotZed@Ximian.com>

        * mail-callbacks.c (addrbook_sender): Changed to get the address
        from the messageinfo of the current selected message rather than
        from the current_message.
        (requeue_mail_reply): Only re-queue if we got a message, could
        potentially cause an infinite loop trying to get a message it
        can't.
        (reply_to_sender, reply_to_list, reply_to_all): Always pass NULL
        as the msg to mail_replay, this forces mail_reply to always load
        the message anew.  Fixes FIXME's and popup behaviour.  Basically
        this and stuff below fixes #8542.  Its probably not the nicest
        way, but it works.
        (mark_as_important): Use the flags properly, we can set all flags
        to any combination of on or off as we want, so we just need to
        call set_flags once, thats why its set flags and not set_option.
        (toggle_flags): Fixed the logic here also, so we dont have to call
        set_message_flags more than once, and also implement a true toggle
        for any number of simultaneous flags (whilst simplifying code).

        * mail-vfolder.c (vfolder_gui_add_from_mlist): Removed the 'msg'
        parameter, its not used, fixed callers.

        * folder-browser.c (on_right_click): Lookup the mlist from
        messageinfo, and change the 'no selected' logic slightly, fixes
        most of #8542.
        (filter_data_free): Free filter data struct.
        (vfolder_type_got_message): Actually create vfolder once we have
        the message we need to use for it.  Code could probably be changed
        to use messageinfo instead.
        (vfolder_type_uid): Lookup a message based on uid, and use that to
        create a vfolder based on type.
        (vfolder_subject_uid, vfolder_sender_uid, vfolder_receipient_uid,
        vfolder_mlist_uid): Callbacks for the popup menu, used to create
        rules based on the uid rather than the message, which it loads as
        required.
        (filter_type_got_message, filter_*_uid): Similar to vfolder
        stuff above.
        (filter_menu[]): Changed callbacks to popup specific ones, not
        folderbrowser specific ones used by bonobo.
        (on_right_click): Initialise callback data for the filter submenu
        so it can look up messages for callback implementation.

svn path=/trunk/; revision=16253
2002-03-26 06:55:05 +00:00

37 lines
1.2 KiB
C

#ifndef _MAIL_VFOLDER_H
#define _MAIL_VFOLDER_H
#include "Evolution.h"
#include "evolution-storage.h"
#include "evolution-shell-component.h"
#include "camel/camel-folder.h"
#include "camel/camel-mime-message.h"
#include "filter/vfolder-rule.h"
#include "filter/filter-part.h"
void vfolder_load_storage(GNOME_Evolution_Shell shell);
void vfolder_edit (void);
void vfolder_edit_rule(const char *name);
FilterPart *vfolder_create_part (const char *name);
FilterRule *vfolder_clone_rule (FilterRule *in);
void vfolder_gui_add_rule (VfolderRule *rule);
void vfolder_gui_add_from_message (CamelMimeMessage *msg, int flags, const char *source);
void vfolder_gui_add_from_mlist (const char *mlist, const char *source);
/* add a uri that is now (un)available to vfolders in a transient manner */
void mail_vfolder_add_uri(CamelStore *store, const char *uri, int remove);
/* note that a folder has changed name (uri) */
void mail_vfolder_rename_uri(CamelStore *store, const char *from, const char *to);
/* remove a uri that should be removed from vfolders permanently */
void mail_vfolder_delete_uri(CamelStore *store, const char *uri);
/* close up, clean up */
void mail_vfolder_shutdown (void);
#endif