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
- add storage property "noChildren" (guess what it does)
- allow the creation of subfolders of system folders (except the outbox)
- the content of the belongs-to combox in the folderdialog looks like the foldertree
- get rid of old stuff in kmfoldertree
- kmfoldertree is the parent of kmfolderdialog
...and fix the mailinglist handling
CCMAIL: 11903-done@bugs.kde.org
CCMAIL: 37139-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=295688
listing telling us about it, trust the server and set the mail to new
or unread no matter what our local index tells us the status is. This
is necessary because if we set a message to read locally but fail to set
\SEEN on the server for some reason, the count of unread mails will be
henceforth out of sync. That will not do, now, will it?
svn path=/trunk/kdepim/; revision=291996
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
You don't need getMsg anymore for the UID and LOD can check the size without loading the header.
I updated the online imap folder but dimap should also use the new code.
svn path=/trunk/kdepim/; revision=288206