[prev in list] [next in list] [prev in thread] [next in thread]
List: kmail-devel
Subject: Re: Serial number-related trouble, again
From: Ingo =?iso-8859-15?q?Kl=F6cker?= <kloecker () kde ! org>
Date: 2005-06-11 21:14:00
Message-ID: 200506112314.05906 () erwin ! ingo-kloecker ! de
[Download RAW message or body]
[Attachment #2 (multipart/signed)]
On Saturday 11 June 2005 16:32, Till Adam wrote:
> On Friday 10 June 2005 06:50, Don Sanders wrote:
> > Basically we want to keep the KMMsgBase objects as small as
> > possible as there's lots of them. (Ideally it would be best
> > eliminate KMMsgBase entirely and just lazy look in the index and
> > folder files but this wasn't easily doable in Qt3 and earlier, due
> > to the design of the view classes like QListView. Maybe it can be
> > done with Qt4)
>
> To me the MessageProperty concept makes sense for transient
> properties, such as the filter target folder, filter manager or
> filter state, which are rarely needed during the lifetime of the
> object. It does not make much sense for the basic state of a
> KMMsgBase object, especially if it's just three bits (complete,
> readyToShow, transferInProgress).
I fully agree to this.
> I would personally prefer to have
> the serial number, the primary key we use to identify the mail inside
> all of KMail (and even outside of it), reliably available from any
> pointer to a message representation (KMMsgBase or KMMessage) also. It
> never makes sense to "forget" a serialnumber, whether the message is
> complete or not, etc.
ACK
> I therefor (David, note the lack of a trailing e, there ;) volunteer
> to revert the above mentioned properties to KMMsgBase members.
>
> As far as operating on serial numbers, and serial numbers only,
> whenever possible, that is necessitated by the fact that KMMsgBase
> and KMMessage pointers can become invalid at any time
> (unGetMsg/getMsg), so I see no way around that. The reader window
> needs to copy whatever it needs and hold only a reference to the
> message via its serial number. The special case of displaying a
> KMReaderMainWin with a message from disk or from a message digest
> needs to be either special cased, or worked around by putting the
> messages in the same "internal" folder that is used for temporary
> storage of deleted-but-still-referenced messages. That folder could
> incidently also be used for storing a message that is currently being
> filtered, but not yet in a folder (such as during incoming pop
> filtering) which would allow us to cleanly abort such a filtering
> process and push the mail into the Inbox, if something goes wrong.
> Don and I have discussed this possibility before, I think.
Apart from the fact that IMO we'll need different internal folder for
the different purposes (because messages opened from files and
deleted-but-still-referenced messages can simply be deleted on the next
start while any messages which are found in the temporary-filter-folder
should be moved to inbox or should be filtered again).
Regards,
Ingo
[Attachment #5 (application/pgp-signature)]
_______________________________________________
KMail developers mailing list
KMail-devel@kde.org
https://mail.kde.org/mailman/listinfo/kmail-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic