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
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
to explicitely disconnect it on KIO::ERR_CONNECTION_BROKEN. This fixes a
crash I had when leaving kmail running over night due to a job still being
in the kio error handling while we are displaying the "connection went
away" message box and the next job being kicked off by interval mail
checking. I am kind of suspecting this might fix the "kmail sometimes stops
checking for new mail in imap accounts" bugs as well. We'll see, I guess.
Thanks to dfaure and Waldo for showing us the error of our ways.
svn path=/trunk/kdepim/; revision=260111
#define kernel KMKernel::self()
to
#define kmkernel KMKernel::self()
because 'kernel' was a much to general term. We really shouldn't repeat the mistakes of the X developers.
I noticed this problem when I played around with KImageEffects. kimageeffects.h contains 'kernel' as parameter of some methods and so the compilation had to fail. We won't need KImageEffects in the near future, but at least we are now prepared and a clash with another 'kernel' can't happen anymore.
svn path=/trunk/kdepim/; revision=252621
o make imapjobs refcount the folders they operate on via open/close instead
of relying on the account to keep track of open folders and close them
in displayProgress()
o keep not only the destination but also the source folder in each imapjob
so they can be closed if need be
o remove tempOpenFolder() itself and all its uses
svn path=/trunk/kdepim/; revision=244918
calling open() once and close() in all code paths, including error paths.
Also make sure that folders are closed if a job is canceled.
svn path=/trunk/kdepim/; revision=244640
- Delete messages during transfer
- Minor cleanups
- Do not display headers when you skip over messages
CCMAIL: 62943-done@bugs.kde.org
svn path=/trunk/kdepim/; revision=243659
1) Remove the limitation that a message can have only one status at a time.
2) Implement watch/ignore thread via message status flags.
ad 1:
- Message status is now kept as a bitfield, which means a message can now be
for example replied and forwarded as well as important at the same time.
- To keep the index format backward compatible and make the transition
painless, I've added a new index entry and added code to transfer the old
into the new format. That means that upgrading users should not notice
anything.
- I've tried to keep as much behavior as possible unchanged with regard to
what flag disables what other flag etc. There are two groups of flags:
read/unread/new/old influence each other, which means a message cannot be
new and read at the same time, for example, while the second group, namely
important, sent, queued, replied, and forwarded are toggled individually.
- Toggling a thread sets the messages status to the inverse of that of the
parent, which means that if you have a thread with some mails marked as
important and some not, the status is set according to that of the parent.
- Status is now kept when moving mails between folders in the same imap
account as well as between imap accounts.
ad 2:
- Watch and ignore are mutually exclusive, which means ignoring a thread
unsets its watched flag and the other way around.
- When sorting by status watched threads are at the top, ignored at the
bottom.
- Watch and ignore propagate via threading, which means that if a message
is threaded below a watched one, it becomes watched. Same for ignore.
- Moving a single mail out of a watched thread results in a new watched
thread of size 1 :)
- Similarly watch and ignore are possible on individual mail (threads
to be).
- Watching a thread does not currently mark new mails as important, nor
does ignoring delete new mails in the thread. These are possible
extensions, though, if we think them sensible.
svn path=/trunk/kdepim/; revision=235595