Refactor partNode creation from a KMMessage into a static method on partNode and port users to it. In the process of this, I found out that KMMessage, KMSaveAttachmentCommand and KMReaderWin all used very slightly different methods to instantiate the root item. I think most of them were wrong:
KMMessage's way (originally spread over two methods...) leaks mainBody...
KMReaderWins' way adds firstBodyPart as a child of itself...
KMSaveAttachmentsCommand doesn't adjust the mimetypes.
So that's why this is experimental: I've combined the various ways with majority vote: two adjusted the mimetypes, so mimetypes are adjusted. Only one added a part as child of it's own, so that's no longer being done, etc.
--and--
Replace broken, complicated logic with clean and simple one. Parsing is cheap in mimelib. That gives us the full MIME headers also in the top-level container partNode, which is needed in ae_branch to get at the protocol-Parameter of mp/signed parts...
svn path=/trunk/kdepim/; revision=281270
o readding the action to the menu
o making sure there is an actual slot behind the action
o preventing the command from being prematurely deleted
o making sure the KMMessage object used has a size and a serial number
CCMAIL: 71385-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=275585
full server roundtrip for each mail but processing them in chunks according
to their target set of flags. This is especially noticeable with "mark all
as read" on a large folder. That goes from minutes to seconds.
svn path=/trunk/kdepim/; revision=275461
it introduced regressions, extended in the following way:
- take the mail from the folder for composing as before
- set transferInProgress to false (set to true by the command during
retrieval of the message) when passing the removed message to the
composer which now owns it
- return true from KMFolder::canAddMsgNow if the message is not in any
folder but its transferInProgress flag is set. This prevents messages
from simply going away if the flag is not properly reset by some action
or other and the mail is not currently in any folder. Not relevant
anymore for the above case, but safer nonetheless.
svn path=/trunk/kdepim/; revision=273392
discarded, the old, unchanged version should be put back. To ensure that
works, the old parent folder needs to be remembered and set in the
KMComposeWin.
svn path=/trunk/kdepim/; revision=273027
was already in there is edited by using take() instead of remove() because
the later doesn't set the parent to 0 which results in unpleasantness in
KMFolderImap::addMsgQuiet().
Steve, thanks for the report.
CCMAIL: 70426-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=273016
Please excuse the addition of the new strings i18n("Message->","&Reply") and i18n("Reply to A&uthor..."). I hope it doesn't cause too much inconvenience for the translators.
CCMAIL:kde-i18n-doc@kde.org
svn path=/trunk/kdepim/; revision=272991
If for none of the forwarded messages an identity was set we use the folder identity instead of the default identity that was used before.
69880-fixed@bugs.kde.org
svn path=/trunk/kdepim/; revision=272038
This should fix a bug with ad hoc filters crashing when they move a message
to a different folder.
And also fix the bug/limitation that the move to folder action has to
come last in the list of filter actions for a filter.
This commit doesn't really use the action scheduler, code to use the
action scheduler in kmheaders and kmcommands is commented out.
I've been testing this code for a few weeks now. The changes to the
assignment operators in the kmmessage and kmmsgbase classes are the
changes I'm most concerned about here.
svn path=/trunk/kdepim/; revision=264912
folders tempOpened by filters are closed prematurely. They are now only
closed when there is no more filter using the filter manager.
svn path=/trunk/kdepim/; revision=262221
tree that is not an attachment, such as an html part. Ask whether that was
a mistake or not instead.
Carsten, ok with you?
CCMAIL: 64388-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=255926
command up to the target folder's msgAdded signals and ticking off each
serial number as it comes in. To make that possible, use the metaDataMap
for imap folders to restore serial numbers after the move (along with
status). Also connect to the folderCompleted(bool) signal of imap folders
to make sure we notice if not all messages make it to the other side.
Connect kmheaders to the abortRequested signal and make sure cancelling
moves behaves somewhat more gracefully and restores the state of messages
remaining in the folder, making them selectable and setting their transfer
status to false so they can be downloaded or moved again.
svn path=/trunk/kdepim/; revision=252676
#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
command needed to know about the headers to figure out what message to
select once the move is done, but that can and should imho be done in the
headers themselves. There was a ToDo to that effect in there, so I guess
the original author agrees. :)
svn path=/trunk/kdepim/; revision=249824
(I still have to do this for the direct click on the attachment)
- fix saving of one attachment (filename was not displayed because the mimeheader was missing)
save all attachments works as expected but doesn't update the parts in the readerwin, I still need to fix this
svn path=/trunk/kdepim/; revision=249206
o make imapjobs refcount the folders they operate on via open/close instead
of relying on the account to keep track of open folders and close them
in displayProgress()
o keep not only the destination but also the source folder in each imapjob
so they can be closed if need be
o remove tempOpenFolder() itself and all its uses
svn path=/trunk/kdepim/; revision=244918
- Delete messages during transfer
- Minor cleanups
- Do not display headers when you skip over messages
CCMAIL: 62943-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=243659