[prev in list] [next in list] [prev in thread] [next in thread]
List: kmail-devel
Subject: In progress work for 3.2
From: Don Sanders <sanders () kde ! org>
Date: 2003-09-02 10:52:44
[Download RAW message or body]
Hi guys,
In n7y Till and I discussed what needs to be done for asynchronous
client side imap filtering with optional body downloading.
As a result of this discussion I'm inprogress coding two new classes.
The first MessageProperty is a class with static methods that
enumerate the properties that are desirable to set/get for all
messages without bloating KMMsgBase or KMMessage with additional
member variables and methods. These properties are
filtering // determines if the message is currently being filtered
filterFolder // the folder the message is intended to be moved to
once filtering is finished.
transferInProgress // determines if the message is currently
being transferred.
complete // determines if the complete message has been loaded
I would like to port the KMMessage transferInProgress logic (which is
pretty simple) over to this class as that will allow incomplete
messages (KMMsgBase's) to be marked as being transferred which is
probably a good idea for asynchronous filtering with optional body
downloading support. I would also like to port filter action message
moving over to using this MessageProperty class as the current filter
message moving filter logic is pretty twisted, and using
MessageProperty would eliminate the need to make the move action the
last in the list of actions.
The second class is ActionScheduler, this is a class that allows
chained asynchronous application of filters/actions to be applied to
a list of messages, I also plan/hope it will have more sane temporary
folder opening logic than the current approach.
I've also made some extensions to KMFilterAction and a small one to
KMFilter to allow asynchronous actions, and actions that optionally
don't require a body part i.e. a complete message.
Due to the difficult nature of the work I don't intend to port the
current use of filters in the pop account and sent mail code over to
these classes. So basically this ActionScheduler class shouldn't
change the current flow of execution of KMail very much at all,
except I intend to port the manually applying filters code over to
use ActionScheduler and to use them for client side imap filtering.
The action scheduler may also provide a path to extend the current
imap implementation with disconnected imap support, including a
variety of body caching strategies, and if filteractions are made for
copy, move, and delete operations for more responsive application of
these operations on multiple messages. (Note delete and copy
filteractions don't have to be registered and hence appear in the
filter dialog)
I hope to send a patch containing the MessageProperty and
ActionScheduler soon but it probably won't happen until after this
weekend. I'm doing this work in parallel with my html composition
work, and in addition to that I'm investigating techniques for
multipart/related html mail support. I've update the 3.2 features
page to indicate this.
That's all just thought it would be nice to let the list know what I'm
working on with a hope to get done by 3.2
Don.
_______________________________________________
KMail Developers mailing list
kmail@mail.kde.org
http://mail.kde.org/mailman/listinfo/kmail
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic