during IMAP sync, every message would be marked as 'dirty' due to setStatus() calls,
even when the status didn't change, and at the end of the folder this resulted in
the index entry for every message being rewritten.
+ improved a kdWarning in acljobs.
svn path=/branches/KDE/3.5/kdepim/; revision=487871
partially aborting the ongoing mailcheck and queuing a new one, check if
we are in the listing phase, not the download phase, and only then
(fully) abort and start afresh. If already in the downloading phase,
simply continue.
(Hunting the headers list corruption that sometimes happens during
online imap mailchecks. This is part of getting the mailcheck process
to where it's more predictable, so I can decently debug it.)
svn path=/branches/KDE/3.5/kdepim/; revision=466810
and transfer the correct new folder path to the kioslave.
And make the code that defaults the type of moved uw imap folders actually work :-)
Make sure you also update the imap4 kioslave.
svn path=/branches/KDE/3.5/kdepim/; revision=443851
sed 's/59 Temple Place - Suite 330, Boston, MA 02111-1307/51 Franklin Street, Fifth Floor, Boston, MA 02110-1301/'
PS: I didn't touch the kalarm dir, since david seems to update the address himself, and I don't want to create conflicts for him.
CCMAIL:lists@astrojar.org.uk
svn path=/trunk/KDE/kdepim/; revision=437921
on, by setting the involved folderstorage's search pointers to 0 and
checking them. Can't use a QGuardedPtr, since the searchpatterns aren't
QObjects. Const-ify patterns and some detabification.
svn path=/trunk/KDE/kdepim/; revision=432984
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
of KMsgBase and into KMMessage, they are exclusively used on those and
don't make sense for MsgBase objects. Implement them using boolean
bits instead of the MessageProperty map, as discussed a while ago on
kmail-devel.
svn path=/trunk/KDE/kdepim/; revision=430849
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
actually belong to the namespace.
Included is also a little speedup for kmfolderimap that uses the uidmap to check if a message
is already known.
svn path=/trunk/KDE/kdepim/; revision=419839
- maintain a UID-serial number map during runtime to find messages fast
- use this map in the searchjob to speedup imap searches by a magnitude. You only get the speedup when the map is already build of course.
- use a progress item when messages need to be downloaded. The progress is currently not canceled when the search is stopped, I still have to implement that.
General search changes:
- include a matches bool in the searchDone signal and use that to check changed messages. This fixes the problem that status changes did not update the search.
BUGS:76181
svn path=/trunk/kdepim/; revision=409056
incoming messages from IMAP accounts, that is messages that are delivered
into an IMAP inbox folder.
Sundry details:
I've modified these files:
kmfilterdlg.h kmfilterdlg.cpp
To add the advanced tab that allows per account filters
kmfilter.h kmfilter.cpp
I've added some new functions to KMFilter
setApplicability( AccountType )
AccountType applicability()
setApplyOnAccount( uint id, bool aApply )
bool applyOnAccount( uint id )
and an enum
enum AccountType { All, ButImap, Checked }
kmfiltermgr.h kmfiltermgr.cpp
I modified KMFilterMgr::process
to take two optional parameters
bool account = false
uint accountId = 0
and changed the implementation so that when these
params are set per account filtering is applied.
kmaccount.cpp
Trivially to use the new per account filtering.
kmacctimap.h kmacctimap.cpp
For 3 main reasons
1) In the case (it checks) that a filter applies to this
imap account, then incoming mails headers are
downloaded when mail checking occurs. Rather than waiting
until the folder is selected in the GUI.
Because it's really silly to have to select the inbox
folder to manually force filtering to kick in.
2) To load/save a list of unfiltered messages in the
constructor/destructor respectively.
3) To filter messages (I've sort of duplicated a little code
from kmheaders.cpp for this, my apologies).
kmfolderimap.cpp
1) To tell mAccount to filter new mail as the headers arrive.
This is basically the patch I've sent to bug:50997 several times and
has been available for testing for some time.
I'll now focus on allowing IMAP folders to be the target of the
Move Into Folder filter action, and less blocking filtering
(useful for piping into a spam tool).
CCMAIL:73758-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=408531
noContent folders are detected beforehand and therefore this error can only occur
if the folder is restricted with acls. I do not want to check this before the folder
is selected as this would take more time so we do a "lazy init" and just wait for the error.
BUGS:91428
svn path=/trunk/kdepim/; revision=392448
For several messages the progress shows only the overall status but this can only
be changed in the progressmanager api which is probably a past-3.4 task.
CCMAIL: 97920@bugs.kde.org
svn path=/trunk/kdepim/; revision=391417
dialog and include it in the RMB menu of the foldertree. To make the check if the menu
should be shown a bit easier the folderstorage got a new "isMoveable()" function.
I noticed that moving of imap folders crashes again when the messages are moved (sigh)
but this is not related so I'll fix it afterwards.
svn path=/trunk/kdepim/; revision=385541
folder was get'ed for every single mail. Now the folderstorage has an
addMsg( QPtrList<KMMessage> ) method and the imapjob can handle put operations
with a msgList. And the thingy has a nice progressitem now.
svn path=/trunk/kdepim/; revision=385105
can only be moved when they have no children.
Along the way fix Bug 94125 and add the FolderRequester to the expire settings
in the folder dialog.
BUG: 94125
svn path=/trunk/kdepim/; revision=371419
the MessageProperty cache is in sync with the serial number in the
KMMsgDict.
Actually it looks like new KMMessage's are no longer assigned a serial
number (which is a good change i think) so this change is purely defensive,
but better safe than sorry/fragile.
svn path=/trunk/kdepim/; revision=366034