[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kmail-devel
Subject:    Stuff I'm working on
From:       Don Sanders <sanders () kde ! org>
Date:       2002-09-10 10:31:01
[Download RAW message or body]

Hi,

Here is a list of changes I'm currently working on in make_it_cool and 
expect to complete over the next 6-9 weeks.

Port widgets to use KParts, this is to work towards kde-pim 
integration which is a critical goal of mine.

Use mmap for zero-copy parsing and display of large messages. I really 
think mmap is a good way of solving this problem, and I tested my 
zero-copy parsing code more last night and I can't see anything wrong 
with it, it works fine for 20MB plus messages for me. (except I 
didn't handle 7bit encoded parts, I crashed on those, fixed now). And 
don't do dumb things like needlessly dumping a copy of all 
attachments to disk when the message is displayed.

KMAcctExpPop -> KMAcctPop, is changed to use a hidden MailDir folder 
to provide safe downloading of large messages straight to disk.

Implement KMFolder:Iterator and use it when looping over messages 
instead of using a low-level integer index.

Implement ref counting for KMMessage
Implement 
KMMessage KMFolder::message(KMFolder::iterator) that returns a ref 
counted KMMessage and
KMMsgInfo KMFolder::messageInfo(KMFolder::iterator) that returns a ref 
counted KMMsgInfo,
and get rid of getMsg, unGetMsg and even KMMsgBase. I don't like that 
hierarchy.

Keep an x(how big?) megabyte cache of KMMessages this means we don't 
necessarily even have to parse a message when it is reselected. Also 
keep folders open (so changing back to them is fast) and turn on 
Sam's commented out mmap code to make folder switching even faster. 
(The commented out code works fine just I was scared to use mmap).

Make it easier to use serial numbers, (provide simple methods in the 
kernel instead of having to explicitly go through the msgdict). And 
then use the numbers in more places. Like in KMCommands so that the 
search dialog can have a context menu.

Change the .sorted file so that it stores serial numbers this means it 
remains valid even after messages are deleted. Which will speed up 
folder switching. Add some comments to it and maybe move it into 
KMFolder. Also add highlevel comments to other classes.

Port KMFolderImap to MailDir and implement body caching by default. 

Implement KMVFolder virtual folder support.

Update gui to support virtual folders.

Provide a framework for embedding KMail, KOrganizer and 
KAddressbook. I really want to do this as if we fork this gives us a 
legitimate different goal from KMail rather than just competing 
directly with KMail. But also still support being a stand alone mail 
client.

Try to optimize start up time it's too slow.

Change the KMFolder interface so that it fits KMFolderImap better and 
we can get rid of all the protocol == "imap" in the code.

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