the helper function crlf2lf there, which was formerly a class static in
FolderStorage. Remove the now obsolete forward Folder -> Folderstorage
and port all users.
svn path=/trunk/KDE/kdepim/; revision=435216
it, if there is no physical folder yet. Code creating (instantiating)
KMFolders does not need to care. Remove the ugly "bool imap" parameter
from create() and do proper reimplementation instead. Remove create()
forward from KMFolder -> FolderStorage.
This fixes "no such file or folder" warnings when creating or syncing
down new folders.
In case you missed it, today is Zack's birthday, so show the man some
love, will ya?
svn path=/trunk/KDE/kdepim/; revision=430989
handling and index handling.
o Make it possible to have folders that optionally have no index
and/or don't export their serial numbers to the message dict. This
was partly possible before, but relying on all kinds of implicit (and
often wrong) assumptions as to the presence and state of various
datastructures and files on disk.
o [TRUE|FALSE] => [true|false] (sorry about mixing this in)
o group a bunch of bools and use a bit for each to save memory
o remove index related forwards folder -> folderstorage
o api dox additions
Fixed the crashes with local and maildir accounts in the process, I
think.
BUG: 108386
svn path=/trunk/KDE/kdepim/; revision=430817
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
is quieted.
* Delay/compress UpdateCounts in FolderTree.
With this improvements,kmail don't eat the 100% CPU when refresh the cache from
a dimap server when this resides on the same lan.
svn path=/trunk/kdepim/; revision=405858
reentrancy issues which result in hanging operations and eventual segfaults
when multiple mailchecks in parallel all notice at the same time that a
common shared folder has gone away and all start such jobs more or less in
parallel (although on different dirs). Use homegrown recursive delete
instead. (proko2 issue612)
svn path=/branches/proko2/kdepim/; revision=378412
- try to add the message, find it incomplete
- trigger download
- upon download try to add it, strip the uid, because the target dimap
folder need to assign a new one on upload
- try to delete the message from the original folder which fails, since
we have no uid anymore with which to find the message
- add fails, because take fails, canAddMsg fails, try downloading again
- unfortunate loop and eventual crash
To remedy this I had to move the uid stripping down into KMFolderMaildir
where it clearly does not belong, because that is where the take() happens
which needs to know the uid. The real problem here is that the take should
happen on a much higher level, probably in the KMMoveCommand completion
handler and a copy should be added, not the message itself, followed by
deletion of the original.
svn path=/trunk/kdepim/; revision=368633
when simply opening mail folders) : don't look for the serial numbers
of messages that haven't been inserted into a folder yet, it can't find one,
and it's slow every time. Note that assign() is only called on construction
(or soon after), never on totally-unrelated instances.
svn path=/trunk/kdepim/; revision=361937
* When the user requests compaction of a folder from the RMB, always compact
(even if !needsCompaction), and ensure the final statusbar message shows up
(due to kmheaders polluting it, I had to save/restore it in 2 places).
* When compacting outbox after sending mails, don't tell the user.
This made me stumble upon strange code in kmsender.cpp: if count<0, expunge.
Ingo and I agree that this was meant to be if count==0, expunge.
svn path=/trunk/kdepim/; revision=319419
mbox and maildir folders in the background.
This fixes compaction not happening in kontact at all, and not happening
either for cached imap folders in kmail. It also makes kmail exit faster.
svn path=/trunk/kdepim/; revision=314475
(better than <foo.h>, especially when systems could have an identity.h somewhere)
A kconfig_update script moves the identities from kmailrc to emailidentities
svn path=/trunk/kdepim/; revision=311347
instead of "on exit" (which made it non-working in kontact, with session management etc.)
GUI: removed the "Warn before expiring messages" and "On Exit: Expire old messages" options.
Tasks are filed with the jobscheduler, and the job for that task is started
only if the folder isn't opened - so this needed some special handling of search
folder (asking them to try releasing a given folder) and some fixes relative to
open() and close() calls, in kmfoldercachedimap and kmfoldersearch in particular.
Don: please check the kmfoldersearch.cpp changes, in particular the added close()
CCMAIL: sanders@kde.org
svn path=/trunk/kdepim/; revision=310272
and by extension dimap folders. Prevents among other unpleasantness all
mail being reuploaded as new if the index is nuked but not the cache.
Thanks once more to the man who has taken it upon himself to single-
handedly run into every single dimap bug there is and then some. George
"dimap cruncher" Staikos.
svn path=/trunk/kdepim/; revision=295755
active readerwindow to ask that for the attachmentstrategy but pass it
along with the folder job, so it is available when the mime structure
comes in with load on demand. Remove unused KMKernel::activeReaderWindow
which doesn't work in kontact anyhow.
CCMAIL: 67644-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=268877
signals from being emitted.
This should fix the sent folder count updating bug. If it does not for
you, please reopen.
Patch Ok'ed by Till (Don also agreed that quiet() can be removed).
CCMAIL: 63670-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=260199