Fix for deletion of folders with subfolders: those need to be removed first
(thanks Carsten for the hint). This is simply achieved by adding the imap paths
of all subfolders to the account's mDeletedFolders list, and at sync time,
asking the server to delete all those at the same time - in reverse order.
svn path=/branches/KDE_3_4_BRANCH/kdepim/; revision=395820
Fix for deletion of folders with subfolders: those need to be removed first
(thanks Carsten for the hint). This is simply achieved by adding the imap paths
of all subfolders to the account's mDeletedFolders list, and at sync time,
asking the server to delete all those at the same time - in reverse order.
Till, Carsten: ok for backport?
svn path=/trunk/kdepim/; revision=395800
(gdb, valgrind) at https://intevation.de/roundup/kolab/issue348, but basically
we don't want to emit folderComplete() when the dtor calls killAllJobs.
This fixes#86117 too.
svn path=/trunk/kdepim/; revision=349008
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
dialog instead of iterating over kmmainwidgets which wont work after the
progress dialog is created by the mainwindow. I'll do that in a minute.
svn path=/trunk/kdepim/; revision=324111
the renaming happens in the foldertree immediately, but is stored in the account
(with persistence in kconfig) and done on the server at the next sync.
If that fails, the server is renamed back locally.
svn path=/trunk/kdepim/; revision=319628
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
a "connection broken" error message after not syncing mail for a long time.
CCMAIL: hansen@kde.org
I think that for online-imap mIdle should be turned into a refcount (each job
and command would increase/decrease it).
svn path=/trunk/kdepim/; revision=314936
the subscription dialog, for dimap. *Disconnected* imap means that network
operations should happen from the sync button!
What's more, that listDirectory() would interfer with the current mailcheck,
and lead to a crash.
This makes the new virtual listDirectory() pretty useless, sorry Carsten :)
Behavior should be unchanged for online-imap (kmmainwidget.cpp calls listDirectory
in that case).
svn path=/trunk/kdepim/; revision=314918
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
> 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