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

List:       kmail-devel
Subject:    Re: KMail I (1/2)
From:       Stefan Taferner <stefan.taferner () gmx ! at>
Date:       2001-07-24 7:17:59
[Download RAW message or body]

On Monday, 23. July 2001 19:18, Kurt Granroth wrote:
> I'm not going to comment on most of this... but I will pipe up here:
> > We all know that the KMail codebase is in an urgent need for a
> > redesign. The most imminent problems are:
> >
> > 1. doc / view isn't clearly separated. Look at KMHeaders.
> > 2. We're slow on large and/or many messages.
> > 3. Limited extensibilty for new features because of
> >   3a. folders assuming they are in mbox format.
> >   3b. using mimelib[1]
> >   3c. (1)
>
> It is possible to support arbitrary non-mbox format local folders with the
> current codebase without TOO much radical redesign.  I have had "native"
> maildir support for KMail working on my local copy for over a month now.
> Basically, I separated the classes like so:
>
> KMFolderNode
>  +- KMFolder (abstract)
>     +- KMFolderMbox
>     +- KMFolderMaildir
>        +- KMFolderImap
>
> If you wanted, say, database support, it shouldn't be that much harder than
> creating a KMFolderDatabase class that inherits KMFolder (and then handle
> the account stuff but that's mostly just copy/modify/paste).

You will probably need some connect/disconnect mechanism and somebody who
holds the connection. Similar to IMAP. I once called this connection-holding
class (KM)FolderGroup :-)

The object tree in the KMFolderTree widget would look like this:
KMFolderGroupManager
+- KMFolderGroupMbox
  +- KMFolderMbox
  +- KMFolderMbox
   :
+- KMFolderGroupImap
  +- KMFolderImap
  +- KMFolderImap

With the assumption that the user has mbox folders for his local folders and
one imap account with two remote folders in it.

The KMFolderGroupManager is some simple management object that knows
about all the groups of folders the user has. It would be possible to have a
completely imap-only kmail this way, for example.

Kind regards,
Stefan
_______________________________________________
Kmail Developers mailing list
Kmail@master.kde.org
http://master.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