not only expunging (in the imap sense) but also setting the \DELETED flag
of all messages in the folder because otherwise (imap) expunge does
nothing and only the local cache is removed. Confusion between the KMail
and the IMAP meaning of "expunge", I guess.
svn path=/trunk/kdepim/; revision=336842
end of the mail check is signaled, otherwise things are not reentrant and
can crash with multiple mail checks in rapid succession.
CCMAIL: 86244-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=334690
the FolderStorage one, which necessitates some constification and
iteratorification (is that a word?) in a few places. Without this
KMFolderImap::removeMsg on lists was never called as the different
signature makes it an overload. Instead folderstorage deleted them one
by one using the removeMsg(msg) version.
Reduces server roundtrips when deleting n messages from n to 1, which is
especially noticable when expiring large amounts of mail. Way faster,
obviously.
svn path=/trunk/kdepim/; revision=333751
KMMainWidget where the corresponding close was recently added by our man
Burghardt. Makes folder ref counting problems a lot easier to trace. Also
make sure the close comes after the folderSelected so we don't close before
that one can do its open.
svn path=/trunk/kdepim/; revision=333010
o assume the current number of folders in the account + 5% as the total
number of items, and tick them off as they come in, better than jumping
to 100% immediately and should be good enough for the common case of the
account folder listing not changing much
o add ImapAccountBase::folderCount() for convenience and constify some
stuff on the way
svn path=/trunk/kdepim/; revision=331842
while there is no connected slave yet are stored in a list and created
once the slave signals that it is connected. Fixes creation of missing
imap resource folders with online imap.
svn path=/trunk/kdepim/; revision=330332
a retry once the account reports it is up. This is the same mechanism used
by the ListJob in this situation.
This fixes an IMAP startup folder appearing empty on KMail start because the
slave is not available yet.
svn path=/trunk/kdepim/; revision=329088
instead of getting the msg as string and then manually grepping for X-UID.
That should speed up listing large folders some. Add comments explaining
what goes on, since I've now at least for the third time spent 20 minutes
fully grokking (sp?) it. Coding style fixes on the way.
svn path=/trunk/kdepim/; revision=322840
- Fix bug 76659: this changes the logic for imap folder selection.
First load all headers and then display them and do not mix and match.
- Fix some smaller bugs and crashes that I stumpled over.
CCMAIL: 76659-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=321536
and the ListJob takes care of the kids. I extended the slotAbortRequested so that it works correctly.
Anybody willing to port this to dimap?
svn path=/trunk/kdepim/; revision=320011
the status is set to read, the (old) flags are downloaded in the background, the read status
is reset to unread. Poa, so we check in setStatus is we are currently loading the flags and
do that again.
svn path=/trunk/kdepim/; revision=317431
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
Pass const QString& instead of QString& in the signal, when the caller isn't supposed
to change the value.
This showed an interesting issue in kmacctimap - the member vars were not needed,
and the clear() cleared the wrong one. All cleaned up (but please double-check).
svn path=/trunk/kdepim/; revision=314899
I created a new FolderStorage::listDirectory method to make it easier.
Add a Refresh folder list to the context menu of imap folders as the user
will probably not know how to refresh the listing (collapsing does the same).
This is needed together with the list-only-open-folders thing.
svn path=/trunk/kdepim/; revision=314858
Change the KMFolderMgr::find methods a bit to actually find all folders.
Oh well, and assign ids to all folders.
svn path=/trunk/kdepim/; revision=313955
ProgressItems. Add some Q_ASSERTS a la David. Remove the now unused
method. Make message up- and download cancellable.
One remaining issue: displayProgress() was (ab)used to reset the idle
timeout, which eventually disconnects the slave. Where should this
resetting be done now? In the ImapJob dtor, maybe?
svn path=/trunk/kdepim/; revision=313541
kmail-devel and is therefor perfect. :) This is still work in progress,
but David wants to start using it for dimap and I'll be working on it
over the next few days. Right now the following stuff iÑ done:
- replace the old cancel button with an up-arrow button which displays
the detailed progress dialog where individual actions can be canceled
- port the SmallProgressDlg to be a ProgressManager listener, which always
shows the latest transaction's (top level only) progress.
- port imapaccountbase and its displayProgress() catch all progress/cancel
handling to a single ProgressItem for now, per operation progress can
replace that one by one
- port KMMoveCommand
- port online imap mail check
Help with porting the remaining areaÑ of KMail would of course be
appreciated and a convenient way for you guys to find out if the API
sucks. :)
svn path=/trunk/kdepim/; revision=312708
(on Carsten's server but not on my usual one, for some reason).
The problem is that creating a folder over online-imap is asynchronous,
it's even double-async since there's mkdir and then listDir.
So the ACL code was trying to set the acl too early and/or
on the wrong URL (why/where does /INBOX/test2 turn into /INBOX.test2?)
I'm still not sure why the listDirectory() returned empty (which made it remove the
local child folders) though. It's strange that doing another kio job in parallel
to the mkdir/listDir ones would do that... Anyway it works now.
CCMAIL: Carsten Burghardt <burghardt@kde.org>
svn path=/trunk/kdepim/; revision=309699
and there's no systray icon. This allows KMail to actually exit when closing it,
instead of getting stuck forever on a server that doesn't answer...
Compared to the kmail-devel patch I changed the code in KMMainWin to ensure
it's called even when secondary windows are left opened, and to enable mail
checks again when re-creating a KMMainWin.
I found out that the dimap progress dialog is broken with multiple kmmainwins,
but that's an independent issue, which will go away when porting it to Till's
progress dialog anyway.
svn path=/trunk/kdepim/; revision=307314
base class. Port all users of slotSlaveError to that, so we now have
continue/cancel for errors with online imap as well. Also give context
for error messages to make them a little more descriptive. Make sure that
the jobs are removed only in non-error paths, because the error handler
does that as well now.
svn path=/trunk/kdepim/; revision=306243
* Wait for completion of the "upload status flags" before continuing (as discussed with Till)
Maybe this was the reason for some status-flags bugs, like coolo's? Would be lucky though.
* Use a CachedImapJob for listing messages, so that handleJobError works in both cases
(continue/cancel)
* Replaced all showErrorDialog()s with handleJobError in CachedImapJob
* Moved slotSlaveError to ImapAccountBase (but deprecated it), calls new virtual handleJobError
* More fixes for sync aborted in subfolders
All tested with a "list permissions only" folder, to trigger all sorts of errors.
svn path=/trunk/kdepim/; revision=305740
- added getUserRights() (and signal when received) to IMAPAccountBase
- store user rights in KMFolderImap and KMFolderCachedImap (my kingdom for a common base class!)
svn path=/trunk/kdepim/; revision=303360