actually being done. If some operations are not being performed the % doesn't
increase, but instead the "get new messages" step will use as much span as it can.
Also added per-message progress info while uploading messages.
svn path=/trunk/kdepim/; revision=307343
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
we must make sure that folderComplete() is sent _last_, since it triggers the next
mail check. This fixes a bug where the next mail check would abort immediately.
This was part of the kmail-devel patch, I removed the stuff about showing the
progress dialog again.
svn path=/trunk/kdepim/; revision=306873
* 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
* when a subfolder shows an error and the user chooses to abort, really abort,
don't half-continue with sibling folders (this led to strange items in the progress
diaog, and temporary signal/slot connections not disconnected...)
* show folder name in error box when creating the folder on the server fails.
* ifdef'ed out ImapAccountBase::slotSlaveError since both subclasses reimplement
it anyway (and made it pure virtual... it was inconsistent, with some jobs calling
one and some jobs calling the other)
svn path=/trunk/kdepim/; revision=305655
Give the user the choice, for non-critical errors.
Currently only done for get/delete/expunge/put, more code should be ported
to handleJobError().
Added error() and signal result() to FolderJob to allow KMFolderCachedImap
to skip the expunge step if deleting failed.
Earlier versions of this patch were posted to kmail-devel, but Till told me
to go ahead :-)
svn path=/trunk/kdepim/; revision=305206
automatically created when someone else gives you read access to his inbox)
Don't show the ACL tab for noContent folders.
Fixed a crash
svn path=/trunk/kdepim/; revision=303903
for disconnected imap.
To share the code between the imap and dimap cases, a new job class MultiSetACLJob
can set and delete multiple ACLs one after the other. This makes me realize that
we should document more how one can write high-level Job subclasses (like
e.g. CopyJob and DeleteJob in KIO), it's very convenient.
svn path=/trunk/kdepim/; revision=303615
- 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
imap and cached imap: reimplement isReadOnly() so that the rest of kmail knows when
a folder is readonly. Although currently it seems to only show up in the statusbar.
svn path=/trunk/kdepim/; revision=302239
store uids of messages on the server, because all we do is check for
existance. Move the nextPrime() utility function to somewhere public and
put it in the KMail namespace.
svn path=/trunk/kdepim/; revision=300663
that are to be deleted locally as that is much quicker.
Bo, there is code in findByUID() which effectively rebuilds the uidMap
for each message that is not on the server anymore to make sure it has not
_not_ found it locally due to a problem with the map. Is that kind of
paranoia really necessary? What are the chances of that datastructure
being invalidated in between the mail listing and the use of findByUID()?
svn path=/trunk/kdepim/; revision=297966
This makes sure that during a cache trouble shooting the following does not
happen:
- sync the folder as normal
- last uid is set to the last uid correctly
- cache is written
- trigger troubleshoot
- uid validity is set to INVALID
- writeUidCache() is called to reset the cache
- that returns immediately leaving the uidcache untouched
- getting messages writes the new (correct) uidcache value only after each
mail has been added to the folder and with a one minute timeout
- KMail crashes during that time (see my other commit of today)
- the next sync uses a stale uidcache file, finds mails it gets not in
the local cache but with a known ( <=lastUid() ) uid and deletes them
from the server
This seems like a reliable way to nuke your inbox and it's happened to me
today.
svn path=/trunk/kdepim/; revision=292522
o Enable the expiry settings in the folder properties for imap and dimap
folders.
o Add some folderjob infrastructure to imapjob and cachedimapjob along the
way.
o Fix a few folderstorage crashes waiting to happen.
Only manual expiry of imap/dimap folders is hooked in, but we could just
as well hook the imap and dimap foldermanagers into the autoexpiry on
shutdown thingie. For dimap that should be as safe or unsafe as for maildir
and for imap it's as save or unsafe as deleting a bunch of messages and
immediately closing KMail. Opinions?
This commit is dedicated to the hardest working man in show business,
S. Kulow whose birthday it is today.
Let's give it up for the man:
o/` For he's a jolly good RD, for he's a jolly good RD, for he's a jolly
good RD ... which nobody can't deny .. o|`
CCMAIL: 48189-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=290404
o remove duplicate in KMFolderCachedImap
o use the one from KMFolderImap everywhere
o add const to parameters as we go
Rinse, lather, repeat.
svn path=/trunk/kdepim/; revision=289324
o move a bunch of places from KMMessage to KMMsgBase, we no longer need to
look at the whole message
o if the server supports the uidplus extension, listen when it tells us the
uid of an uploaded message and set the msg uid to that, thereby avoiding
redownload of the mail we just uploaded
Together that speeds up dimap by a factor of 10 to 20, according to trust-
worthy sources.
svn path=/trunk/kdepim/; revision=289295