> 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
progresswidget auto-hides, and that the statusbar doesn't revert to "None"
(I removed "Clean") before the progresswidget is hidden.
Some old-code cleanups and typo fixes.
svn path=/trunk/kdepim/; revision=313231
Maybe kmkernel::getKMMainWidget should be ported to it.
Reimplemented auto-showing the progress dialog for cached imap.
svn path=/trunk/kdepim/; revision=313094
positioned above the rest, to avoid relayouts.
Made the statusbar button toggle the showing (instead of always showing).
A frame is missing - will add that now.
svn path=/trunk/kdepim/; revision=312863
since that triggers the next queued mail check.
Make "invalidate IMAP cache" sync only the current folder and its children
(it used to invalidate only those, but sync everything, w/o dialog)
Fixed bug in cachedimap when using "check mail for this folder" on many folders
in a row, disconnect() was called too early.
svn path=/trunk/kdepim/; revision=312731
of the configuration dialog is up (who would have thought that it creates fake
imap accounts to store the temporary data, which *are* registered in the account
manager?).
svn path=/trunk/kdepim/; revision=310107
Fixed nasty concurrent mailchecking happening when queueing requests (due
to emit finishedCheck(false) still being done in imap - kmaccount does it for us)
svn path=/trunk/kdepim/; revision=309275
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
and then shut down kmail. Don't ask when a folder was deleted in this session,
but ask when a folder was deleted in a previous session, just in case.
svn path=/trunk/kdepim/; revision=309082
Relying on local .uidcache file broke for noContent folders, but also, as I
just found out, for shared folders that you used to have permissions to, then lost
the permission, then got again (in such a case the old local uidcache does NOT mean
the folder should be deleted!!!)
svn path=/trunk/kdepim/; revision=309052
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
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
mail syncs and use KMAccount::checkingMail() which is the generic tool
for the job instead. We need to make sure that all invocations of
processNewMail are guarded, and that all error paths reset it. Since we
are currently in the process of making error handling a bit less chaotic,
we'll hopefully achieve that.
svn path=/trunk/kdepim/; revision=306085
* 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
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
don't crash and reset state so that no other mail check is blocked and
re-syncing once the slave is back works.
svn path=/trunk/kdepim/; revision=299938
explicitely disconnect it, because we are using it in connection oriented
mode. Ideally we should also reset all syncs and kill all jobs, but there
is no infrastructure to do that, and I can't be arsed tonight.
This hopefully fixes the following scenario:
- slave is connected
- link goes down
- sync is started, asks the slave to list directories
- slave eventually times out, tells us it was disonnected, we don't react
- slave returns an empty listing, since it was disconnected
- KMail: oh, no folders on the server, let's nuke what we have locally as
well
- nextsync
- oh, all mail was deleted, let's delete it on the server as well, shall
we?
=> pmax enters #kontact saying something along the lines of: I am not
happy, dear KMail developers, I just lost all my mail. Cookies--
svn path=/trunk/kdepim/; revision=297662
by the next round of queued mail checks as a result of a finishedCheck
signal.
Also don't emit checkDone() when that is not the case.
Those two should finally fix queuing dimap mailchecks.
svn path=/trunk/kdepim/; revision=293689
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
folders tempOpened by filters are closed prematurely. They are now only
closed when there is no more filter using the filter manager.
svn path=/trunk/kdepim/; revision=262221
signals from being emitted.
This should fix the sent folder count updating bug. If it does not for
you, please reopen.
Patch Ok'ed by Till (Don also agreed that quiet() can be removed).
CCMAIL: 63670-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=260199