fooFolderIdsFile from fooMsgDict, to make the distinction somewhat
clearer
o move the only folder ids handling function not implemented in
FolderStorage to there and out of KMFolderIndex, which also means
it does not have to be virtual
o clarify comments and api dox
svn path=/trunk/KDE/kdepim/; revision=428615
here: http://lists.kde.org/?l=kmail-devel&m=111945756024656&w=2
I've changed the KMMsgDict::instance() to return a pointer instead of a
reference, compared to the patch I posted, after valid criticism from
Marc that the pattern is generally used with a pointer, in KDE, so it's
better not to surprise people here.
svn path=/trunk/KDE/kdepim/; revision=428560
-> Porting all of KMMsgList to uint, plus a few callers.
Also remove the FooInherited #defines and all KMMsgList virtuals (why virtual methods in a QMemArray<>-derived and never futher derived class?
svn path=/trunk/kdepim/; revision=258280
truncated to invalid sizes and ending up corrupted. Noticeable when 'empty
trash on close' is activated.
Add an assert to alert us should something similar come up again.
Thanks to Dirk 'I don't have mutt installed' Müller for complaining about
that one.
svn path=/trunk/kdepim/; revision=256595
- call indexLocation() only once in KMFolderIndex::writeIndex()
- move the umask call directly before the fopen call
svn path=/trunk/kdepim/; revision=256403
#define kernel KMKernel::self()
to
#define kmkernel KMKernel::self()
because 'kernel' was a much to general term. We really shouldn't repeat the mistakes of the X developers.
I noticed this problem when I played around with KImageEffects. kimageeffects.h contains 'kernel' as parameter of some methods and so the compilation had to fail. We won't need KImageEffects in the near future, but at least we are now prepared and a clash with another 'kernel' can't happen anymore.
svn path=/trunk/kdepim/; revision=252621
1) Remove the limitation that a message can have only one status at a time.
2) Implement watch/ignore thread via message status flags.
ad 1:
- Message status is now kept as a bitfield, which means a message can now be
for example replied and forwarded as well as important at the same time.
- To keep the index format backward compatible and make the transition
painless, I've added a new index entry and added code to transfer the old
into the new format. That means that upgrading users should not notice
anything.
- I've tried to keep as much behavior as possible unchanged with regard to
what flag disables what other flag etc. There are two groups of flags:
read/unread/new/old influence each other, which means a message cannot be
new and read at the same time, for example, while the second group, namely
important, sent, queued, replied, and forwarded are toggled individually.
- Toggling a thread sets the messages status to the inverse of that of the
parent, which means that if you have a thread with some mails marked as
important and some not, the status is set according to that of the parent.
- Status is now kept when moving mails between folders in the same imap
account as well as between imap accounts.
ad 2:
- Watch and ignore are mutually exclusive, which means ignoring a thread
unsets its watched flag and the other way around.
- When sorting by status watched threads are at the top, ignored at the
bottom.
- Watch and ignore propagate via threading, which means that if a message
is threaded below a watched one, it becomes watched. Same for ignore.
- Moving a single mail out of a watched thread results in a new watched
thread of size 1 :)
- Similarly watch and ignore are possible on individual mail (threads
to be).
- Watching a thread does not currently mark new mails as important, nor
does ignoring delete new mails in the thread. These are possible
extensions, though, if we think them sensible.
svn path=/trunk/kdepim/; revision=235595
merged the Makefile.am and add all files that were added in make_it_cool
to get smaller diffs [most of them not yet compiled :]
svn path=/trunk/kdenetwork/kmail/; revision=191335