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
- the search folder should of course also check added messages correctly
- finish the progressitem when the move to an imap folder fails
svn path=/trunk/kdepim/; revision=358300
and clear it after a timeout, so all waiting folders are stopped, and a
new mailcheck can try again.
This is based on a patch by Waldo with most bits moved to online imap only
since they don't make sense for dimap and some debug changes of very little
consequence. Thanks, dude.
svn path=/trunk/kdepim/; revision=351625
UW bug (yet another one) which Matt and I tracked down. It sends empty
IMAPDIGEST entries. Thanks, Matt.
CCMAIL: 90254-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=349371