This explains why the wallet patch broke POP3 accounts while it worked for IMAP accounts.
CCMAIL: 76097@bugs.kde.org
svn path=/trunk/kdepim/; revision=343891
to libkdepim. Removed dependency on KMMainWidget by using a signal from ProgressDialog.
This also fixes the bug Till reported, where closing the progressdialog with
the cross wouldn't make the arrow look up again.
svn path=/trunk/kdepim/; revision=316885
Changes in kmacctexppop.h:
- processRemainingQueuedMessagesAndSaveUidList() is split into processRemainingQueuedMessages() and saveUidList().
- QStringList mUidsOfSeenMsgs is removed because it's no longer necessary.
- QStringList uidsOfNextSeenMsgs is replaced by QDict<int> mUidsOfNextSeenMsgsDict because we need to remove elements from this list/set in random order.
Changes in kmacctexppop.cpp (hunk by hunk):
- mUidsOfNextSeenMsgsDict must not auto-delete the fake pointers we use as values
- call processRemainingQueuedMessages() and saveUidList() instead of processRemainingQueuedMessagesAndSaveUidList()
- instead of the member variable mUidsOfSeenMsgs we use a temporary variable to initialize mUidsOfSeenMsgsDict (the set of old seen messages)
- clear mUidsOfNextSeenMsgsDict
- call processRemainingQueuedMessages() and saveUidList() instead of processRemainingQueuedMessagesAndSaveUidList()
- mUidsOfNextSeenMsgsDict.insert UID instead of uidsOfNextSeenMsgs.append
- less debug
- resize mUidsOfNextSeenMsgsDict to a reasonable size (number of messages on the server + 10% since it's a hash)
- only apply the workaround for servers which don't support the UIDL command; otherwise UIDs of messages which are no longer on the server might be added to the set of unseen messages for the next check and this will result in not downloading messages with re-used UIDs
- don't remove anything from the mUidForIdMap (id -> uid map) because we'll also need this map for messages which are not downloaded
- mUidsOfNextSeenMsgsDict.insert UID instead of uidsOfNextSeenMsgs.append
- call only processRemainingQueuedMessages() instead of processRemainingQueuedMessagesAndSaveUidList(); the uid list will be saved after the Quit stage has finished (because it has to be saved after the deletion of messages from the server)
- explicitely set stage to Quit (not really necessary because it's already set in processRemainingQueuedMessages() but it's better readable)
- don't clear the list of ids of deleted messages now
- after deletion is finished remove the UIDs of all messages which have been deleted from the set of UIDs of seen messages; this is important to make KMail work with broken POP servers, but it anyway doesn't made sense to remember the UIDs of messages which have been deleted; so this is correct behavior in any case
- now we can clear the list of ids of deleted messages
- now we can call saveUidList() to save the list of UIDs of seen messages
- split processRemainingQueuedMessagesAndSaveUidList() into processRemainingQueuedMessages() and saveUidList(); saving is now a bit more complicated because we have to create a comma separated list from the set of UIDs of seen messages (Why is there no QStringList QDict::keys()?)
- mUidsOfNextSeenMsgsDict.insert UID instead of uidsOfNextSeenMsgs.append and insert all (id,uid) pairs into mUidForIdMap instead of only some of them (because we'll need all of them)
svn path=/trunk/kdepim/; revision=316611
is turned OFF. The list was already 80,000 entries long for my KDE CVS POP
box, blocking KMail for multiple seconds in the call to KConfig::readListEntry...
Discussed on kmail-devel and IRC, patch ok'd by Ingo.
Besides all the kdDebug changes the actual bug fix is just a oneliner:
// An attempt to work around buggy pop servers, these seem to be popular.
- if (uidsOfNextSeenMsgs.isEmpty())
+ if ( mLeaveOnServer && uidsOfNextSeenMsgs.isEmpty() )
uidsOfNextSeenMsgs = mUidsOfSeenMsgs;
svn path=/trunk/kdepim/; revision=316489
to kmkernel, renaming it "mailCheckAborted", since it's now only used for this.
Reimplemented the real "abort all" code (that used to be for the littleprogress' cross button)
in ProgressManager, so that Key_Escape calls it, like it used to. It simply acts as
if the 'abort' button of any running job had been clicked.
svn path=/trunk/kdepim/; revision=314224
> The new messages are counted in KMAccount::processNewMsg(). Since for dIMAP only messages in the INBOX and for IMAP no messages are processed with processNewMsg() those unprocessed new messages are counted in KMAcct(Cached)Imap. The result of the mail check (a map folder<->number of new messages) is emitted with the extended checkedMail signal. In KMMainWidget a summary of the mail check is created and passed to the new mail event.
> TODO:
> - Make the detailed new mail notification optional.
> - Add possibility to ignore new mail in certain folders (which is now very easy to implement).
svn path=/trunk/kdepim/; revision=313356
manager.
o Implement crypto state labels in the progress dialog.
o add crypto state info to all current users of the progress manager
except sending, since I don't know how to query a transport for whether
it is encrypted or not. Marc?
svn path=/trunk/kdepim/; revision=313293
from CR/LF to LF. This simplifies further processing e.g. when
applying a pipe through filter action so that an external program
doesn't have to care for the line ending itself.
This fixes bug #69418 - filters don't work anymore as in 3.1.4
candidate for backport to 3.2.1
svn path=/trunk/kdepim/; revision=281690
connection oriented mode one needs to explicitely disconnect them when
the connection goes down I thought it makes sense to do that for pop as
well as imap. Hopefully that takes care of bug #53958. Could someone with
that problem confirm that this fixes it, please?
CCMAIL: 53958@bugs.kde.org
svn path=/trunk/kdepim/; revision=261343
ends up on a random virtual desktop. Lubos, isn't kwin supposed to use
the mainWidget() in such a case?
committing nonetheless, as it makes the code identical to the imap case.
CCMAIL: l.lunak@kde.org
svn path=/trunk/kdepim/; revision=256437
#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
dded KMMessage::fromByteArray(). Uses less memory (no intermediate QCString built) and fixes the off-by-one error in a central place.
svn path=/trunk/kdepim/; revision=226543
Adds two variants of setStatusMsgTransmissionCompleted and setStatusMsgWithTimestamp to KMBroadcastStatus.
Based on a patch by Patrick S. Vogt <patrick.vogt@unibas.ch>
svn path=/trunk/kdepim/; revision=212674
kmacctmgr has 2 lists (currently checking and todo), the accounts care for the setting of the necessary flags.
All accounts show a transmission message, use -1 as newMailsProcessed argument to use your own message (e.g. in kmacctexppop)
svn path=/trunk/kdepim/; revision=210690