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
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
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
kill() them, and rely on the ImapJob dtor to remove them from the lists.
This has the pleasant side effect of making sure that the corresponding
progress item is properly reset.
Hopefully fixes progress items for downloading of message data which hang
and never go away.
svn path=/trunk/kdepim/; revision=327272
noop timer, which keeps the connection active by sending regular noops and
a real (and as of yet unused) idle timer, which can be used to disconnect
the slave if nothing (apart from noops) has been going on for a while.
Remove the mIdle bool which was used to differentiate those two uses in the
old timer and remove the two users of that bool, thereby fÑxing the recent
crashes in assignJobToSlave people have been seeing. Deselecting a folder
in the folder tree used to set the account to idle, the idle timer fires,
mIdle is true => disconnect => no slave => boom.
TODO: start the idle timer on connect and reset on all imapjobs, etc
svn path=/trunk/kdepim/; revision=318964
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
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
> The new messages are counted in KMAccount::processNewMsg(). Since for dIMAP only messages in the INBOX and for IMAP no messages are processed with processNewMsg() those unprocessed new messages are counted in KMAcct(Cached)Imap. The result of the mail check (a map folder<->number of new messages) is emitted with the extended checkedMail signal. In KMMainWidget a summary of the mail check is created and passed to the new mail event.
> TODO:
> - Make the detailed new mail notification optional.
> - Add possibility to ignore new mail in certain folders (which is now very easy to implement).
svn path=/trunk/kdepim/; revision=313356
manager.
o Implement crypto state labels in the progress dialog.
o add crypto state info to all current users of the progress manager
except sending, since I don't know how to query a transport for whether
it is encrypted or not. Marc?
svn path=/trunk/kdepim/; revision=313293
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
Fixed statusbar message after imap/dimap mail checking to show the right number of "new messages"
(wasn't implemented at all for dimap; didn't subtract unread-but-not-new count for imap)
Fixed logic error in KMMainWidget::updateFolderMenu() which wrongly enabled "check mail for this folder"
for other types of folder than online-imap, but instead of disabling it for dimap I hooked it up
and it seems to work nicely.
svn path=/trunk/kdepim/; revision=309216
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
as the first argument and then calls a virtual protected
handleJobErrorInternal with the job->error and job->errorText as arguments.
Port all users of handleJobError.
Agreed upon with David.
svn path=/trunk/kdepim/; revision=306219
* 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
account are killed. Happens on disconnect, for example.
Jens, thanks for reporting this.
CCMAIL: 75064-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=288326
Actually delete the folder in this case and do not block the new-mail-checks.
Fix Yet Another Disappearing Inbox.
Can anybody please commit this to osnabrueck_branch?
CCMAIL: 72031-done@bugs.kde.org
CCMAIL: coolo@kde.org
svn path=/trunk/kdepim/; revision=278028
in any slave job data maps of the account. This is especially problematic
during mailchecks, as those then never complete and cancelling them leads
to crashes. Also make sure account state is reset so further mailchecks
etc are possible.
Zack, Carsten, there is an ambiguity in naming here, what with kio jobs and
folder jobs. Any ideas how to improve that?
svn path=/trunk/kdepim/; revision=273247
folder in the foldertree is removed and guard against crashing when the
non existing folder is mailchecked before it can be removed.
CCMAIL: 65954-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=265481