Let's hope I didn't screw this up, otherwise we'll see interesting filtering bugs.
Now the only Qt3 things left are the manage sieve script dialog (Tom, feeling like porting this?) and the
subscription dialog.
Also, remove duplicate code in deleteMessage: simply call the version for one message for each message in
the list.
svn path=/trunk/KDE/kdepim/; revision=881691
This brings a reworked folder tree and and a new message list, which is much more powerful than the old one.
New features include grouping, multiline items and the ability to customize just about everything of the look of the message list.
Also, we have a tabbed interface for opening more than one folder at once now.
An important aspect of the new message list is that drawing speed is now fast again (there was a regression in Q3ListView that
made huge folders a real pain to navigate, reading commit folders was not a nice thing to do).
There are probably more things which I forgot to list here.
Also, this is big step forward in getting rid of Qt3Support in KMail, now just some tiny bits are left.
Many thanks to SoC student Szymon Stefanek for his awesome work on his project! I can't stress enough how great this
achivment is. He even added very good API documentation to his classes :)
This requires the lastest version of qt-copy, otherwise you'll get mysterious crashes in Qt painting code from time to time.
We hope that this patch will be added to the next Qt 4.4.x version.
And finally, this merge also brings many regressions, which is not unnatural for such a big change.
In the remaining time before the KDE 4.2 release, we'll have to work on those to get it polished and regression-free.
Help here is always needed, and is a good opportunity to start working on KMail, since many regressions are low hanging fruit.
It also means the message list and the folder tree need a bit of testing.
If you find bugs, report them under the "new message list" and "new folder tree" component of the bug tracker, thanks.
I also plan to setup a wiki page with known regressions.
CCMAIL: kde-pim@kde.org
GUI:
CCBUG: 117808
BUG: 163469
FEATURE: 18170
FEATURE: 32400
FEATURE: 42107
FEATURE: 45526
FEATURE: 81272
FEATURE: 90142
FEATURE: 107450
(and probably many others)
svn path=/trunk/KDE/kdepim/; revision=881321
filter it, as it (hopefully) means we have already seen and therefore filtered
the message.
This fixes filters for online IMAP running multiple times for the same message,
and might even fix the problem of duplicate messages after filtering.
CCBUG: 95064
svn path=/trunk/KDE/kdepim/; revision=879276
svn+ssh://tmcguire@svn.kde.org/home/kde/branches/KDE/4.1/kdepim
........
r858265 | tmcguire | 2008-09-07 18:41:52 +0200 (Sun, 07 Sep 2008) | 9 lines
Backport r855882 by tmcguire from trunk to the 4.1 branch:
Don't abort() here, but silently ignore the error.
This fixes a crash when renaming an account while the root IMAP folder is selected,
but probably only hides another problem...
CCBUG: 170149.
........
svn path=/branches/kdepim/enterprise4/kdepim/; revision=858296
Don't abort() here, but silently ignore the error.
This fixes a crash when renaming an account while the root IMAP folder is selected,
but probably only hides another problem...
CCBUG: 170149.
svn path=/branches/KDE/4.1/kdepim/; revision=858265
This fixes a crash when renaming an account while the root IMAP folder is selected,
but probably only hides another problem...
BUG: 170149.
svn path=/trunk/KDE/kdepim/; revision=855882
svn+ssh://tmcguire@svn.kde.org/home/kde/branches/kdepim/enterprise4/kdepim
................
r854399 | vkrause | 2008-08-29 15:04:19 +0200 (Fri, 29 Aug 2008) | 13 lines
Merged revisions 850513 via svnmerge from
https://vkrause@svn.kde.org/home/kde/branches/kdepim/enterprise/kdepim
........
r850513 | vkrause | 2008-08-21 19:11:57 +0200 (Thu, 21 Aug 2008) | 6 lines
Allow deletion of message only if the IMAP ACLs allow it. The current
code assumed that deletion was not possible iff a folder is read-only,
which is too simple for IMAP.
Kolab issue 2954
........
................
svn path=/trunk/KDE/kdepim/; revision=855221
svn+ssh://tmcguire@svn.kde.org/home/kde/branches/kdepim/enterprise4/kdepim
........
r853982 | vkrause | 2008-08-28 17:31:55 +0200 (Thu, 28 Aug 2008) | 13 lines
Forwardport SVN commit 662047 by tilladam from enterprise branch:
Apply ported version of the mail loss debugging and explicit deletions patch,
which I've been developing with the help of some adventurous users. Thanks!
This tracks all deletions that happen through user actions and adds a check
to the sync making sure that only things that were explicitely deleted
are removed during sync. If unsure, the sync now re-downloads (duplicates)
instead of removing mails, which should be safer. Also adds a lot of
conditional debugging and refactors open/close to duplicate less code.
Will has a ported version of this for 3.x, which will go into pim+ shortly.
........
svn path=/trunk/KDE/kdepim/; revision=855193
https://vkrause@svn.kde.org/home/kde/branches/kdepim/enterprise/kdepim
........
r850513 | vkrause | 2008-08-21 19:11:57 +0200 (Thu, 21 Aug 2008) | 6 lines
Allow deletion of message only if the IMAP ACLs allow it. The current
code assumed that deletion was not possible iff a folder is read-only,
which is too simple for IMAP.
Kolab issue 2954
........
svn path=/branches/kdepim/enterprise4/kdepim/; revision=854399
Apply ported version of the mail loss debugging and explicit deletions patch,
which I've been developing with the help of some adventurous users. Thanks!
This tracks all deletions that happen through user actions and adds a check
to the sync making sure that only things that were explicitely deleted
are removed during sync. If unsure, the sync now re-downloads (duplicates)
instead of removing mails, which should be safer. Also adds a lot of
conditional debugging and refactors open/close to duplicate less code.
Will has a ported version of this for 3.x, which will go into pim+ shortly.
svn path=/branches/kdepim/enterprise4/kdepim/; revision=853982
only talk about "todo" or "to-do" in reference to calendar incidences.
a few config file keys still contain "todo" so that should be changed,
but will be done in another commit.
whoops! I should also check the kmail handbook.
svn path=/trunk/KDE/kdepim/; revision=840786
Some fixes for online IMAP filtering:
- In the action scheduler, don't error out when the filtered message
couldn't be moved back to the target folder. Instead, ignore the error
(but don't delete the orginal message). This fixes filtering
stopping on GMail accounts once a message was encountered that was not
moved to another folder, but stayed in the same folder (GMail prevents moving
in this case, since it thinks it is a duplicate message)
- When moving the filtered message with the action scheduler from the
temporary filter folder to the target folder, the original message wouldn't
get deleted properly.
The reason for this was that the move command thought the move failed because
a message with another serial number arrived.
Fix this by remembering the serial number (based on the message ID) when using
the action scheduler for filtering.
This fixes filters which move messages to other folders: Now the message is properly
removed from the source folder again.
- add comments and kDebug output
This does _not_ solve the following problem:
When using GMail and online IMAP, filter actions which modify the message will not have
any effect, since GMails duplicate message prevention prevents the filtered message to
be moved back to the IMAP folder.
This will not be fixed, I see no way to work around this. GMail should fix their IMAP
server instead.
Please test, I'm not sure if this is safe to backport.
CCBUG: 166150
svn path=/branches/KDE/4.1/kdepim/; revision=836580
Merged revisions 834308 via svnmerge from
svn+ssh://tmcguire@svn.kde.org/home/kde/branches/kdepim/enterprise4/kdepim
................
r834308 | vkrause | 2008-07-18 18:10:11 +0200 (Fri, 18 Jul 2008) | 27 lines
Merged revisions 824289-825075,825077-825083,825085-825805,825807-826354,826356-827490,827492-827612,827614-827891,827893-827903,827905-827944,827946-827949,827951-828972,828974-829033,829035-830099,830101-830132,830134-830442,830444-830477,830479-830549,830551-830875,830877-830932,830934-834241 via svnmerge from
https://vkrause@svn.kde.org/home/kde/branches/kdepim/enterprise/kdepim
........
r824289 | vkrause | 2008-06-25 17:20:44 +0200 (Wed, 25 Jun 2008) | 3 lines
Honor local subscription, fixes non-subscribed folders showing up in
the folder tree for a short time after changing local subscriptions.
........
r824806 | vkrause | 2008-06-26 18:42:06 +0200 (Thu, 26 Jun 2008) | 6 lines
The else block is supposed to belong to the outer if, so we need braces
here.
This ensures that a failed annotation job is removed correctly from the
job map and therefore avoids a crash on exit when KMail tries to cancel
the apparently still running job.
........
r834241 | vkrause | 2008-07-18 15:25:03 +0200 (Fri, 18 Jul 2008) | 7 lines
Update the highest uid even if we don't find the corresponding message
anymore or the folder is empty. This happens for example when the
message with this uid was moved away by a filter just before we got
here, which then caused mail duplication during the next sync.
Kolab issue 2801
........
................
svn path=/branches/KDE/4.1/kdepim/; revision=835464
svn+ssh://tmcguire@svn.kde.org/home/kde/trunk/KDE/kdepim
........
r833475 | tmcguire | 2008-07-16 23:07:56 +0200 (Wed, 16 Jul 2008) | 32 lines
Some fixes for online IMAP filtering:
- In the action scheduler, don't error out when the filtered message
couldn't be moved back to the target folder. Instead, ignore the error
(but don't delete the orginal message). This fixes filtering
stopping on GMail accounts once a message was encountered that was not
moved to another folder, but stayed in the same folder (GMail prevents moving
in this case, since it thinks it is a duplicate message)
- When moving the filtered message with the action scheduler from the
temporary filter folder to the target folder, the original message wouldn't
get deleted properly.
The reason for this was that the move command thought the move failed because
a message with another serial number arrived.
Fix this by remembering the serial number (based on the message ID) when using
the action scheduler for filtering.
This fixes filters which move messages to other folders: Now the message is properly
removed from the source folder again.
- add comments and kDebug output
This does _not_ solve the following problem:
When using GMail and online IMAP, filter actions which modify the message will not have
any effect, since GMails duplicate message prevention prevents the filtered message to
be moved back to the IMAP folder.
This will not be fixed, I see no way to work around this. GMail should fix their IMAP
server instead.
Please test, I'm not sure if this is safe to backport.
CCBUG: 166150
........
svn path=/branches/kdepim/enterprise4/kdepim/; revision=835021
svn+ssh://tmcguire@svn.kde.org/home/kde/branches/kdepim/enterprise4/kdepim
................
r834308 | vkrause | 2008-07-18 18:10:11 +0200 (Fri, 18 Jul 2008) | 27 lines
Merged revisions 824289-825075,825077-825083,825085-825805,825807-826354,826356-827490,827492-827612,827614-827891,827893-827903,827905-827944,827946-827949,827951-828972,828974-829033,829035-830099,830101-830132,830134-830442,830444-830477,830479-830549,830551-830875,830877-830932,830934-834241 via svnmerge from
https://vkrause@svn.kde.org/home/kde/branches/kdepim/enterprise/kdepim
........
r824289 | vkrause | 2008-06-25 17:20:44 +0200 (Wed, 25 Jun 2008) | 3 lines
Honor local subscription, fixes non-subscribed folders showing up in
the folder tree for a short time after changing local subscriptions.
........
r824806 | vkrause | 2008-06-26 18:42:06 +0200 (Thu, 26 Jun 2008) | 6 lines
The else block is supposed to belong to the outer if, so we need braces
here.
This ensures that a failed annotation job is removed correctly from the
job map and therefore avoids a crash on exit when KMail tries to cancel
the apparently still running job.
........
r834241 | vkrause | 2008-07-18 15:25:03 +0200 (Fri, 18 Jul 2008) | 7 lines
Update the highest uid even if we don't find the corresponding message
anymore or the folder is empty. This happens for example when the
message with this uid was moved away by a filter just before we got
here, which then caused mail duplication during the next sync.
Kolab issue 2801
........
................
svn path=/trunk/KDE/kdepim/; revision=834655
https://vkrause@svn.kde.org/home/kde/branches/kdepim/enterprise/kdepim
........
r824289 | vkrause | 2008-06-25 17:20:44 +0200 (Wed, 25 Jun 2008) | 3 lines
Honor local subscription, fixes non-subscribed folders showing up in
the folder tree for a short time after changing local subscriptions.
........
r824806 | vkrause | 2008-06-26 18:42:06 +0200 (Thu, 26 Jun 2008) | 6 lines
The else block is supposed to belong to the outer if, so we need braces
here.
This ensures that a failed annotation job is removed correctly from the
job map and therefore avoids a crash on exit when KMail tries to cancel
the apparently still running job.
........
r834241 | vkrause | 2008-07-18 15:25:03 +0200 (Fri, 18 Jul 2008) | 7 lines
Update the highest uid even if we don't find the corresponding message
anymore or the folder is empty. This happens for example when the
message with this uid was moved away by a filter just before we got
here, which then caused mail duplication during the next sync.
Kolab issue 2801
........
svn path=/branches/kdepim/enterprise4/kdepim/; revision=834308
- In the action scheduler, don't error out when the filtered message
couldn't be moved back to the target folder. Instead, ignore the error
(but don't delete the orginal message). This fixes filtering
stopping on GMail accounts once a message was encountered that was not
moved to another folder, but stayed in the same folder (GMail prevents moving
in this case, since it thinks it is a duplicate message)
- When moving the filtered message with the action scheduler from the
temporary filter folder to the target folder, the original message wouldn't
get deleted properly.
The reason for this was that the move command thought the move failed because
a message with another serial number arrived.
Fix this by remembering the serial number (based on the message ID) when using
the action scheduler for filtering.
This fixes filters which move messages to other folders: Now the message is properly
removed from the source folder again.
- add comments and kDebug output
This does _not_ solve the following problem:
When using GMail and online IMAP, filter actions which modify the message will not have
any effect, since GMails duplicate message prevention prevents the filtered message to
be moved back to the IMAP folder.
This will not be fixed, I see no way to work around this. GMail should fix their IMAP
server instead.
Please test, I'm not sure if this is safe to backport.
CCBUG: 166150
svn path=/trunk/KDE/kdepim/; revision=833475
were false positives.
There is one warning left, about slotInfoMessage
in QuotaJobs::GetQuotarootjo. This seems to be
real, as neither that slot nor the signal
connected to that slot seem to exist with that
signature.
It would be nice if someone with IMAP knowledge could
fix that.
svn path=/trunk/KDE/kdepim/; revision=747352
https://vkrause@svn.kde.org/home/kde/branches/kdepim/enterprise/kdepim
........
r708706 | vkrause | 2007-09-05 15:26:11 +0200 (Wed, 05 Sep 2007) | 5 lines
Don't handle the seen flag here, seenFlagToStatus() can do that a lot
better. Fixes seen flag reading on initial folder downloads.
Kolab issue 1376.
........
svn path=/branches/work/kdab-post-4.0/kdepim/; revision=708721