[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-pim
Subject: Re: [Kde-pim] Request to exclude KMail from the KDE 4.0 release
From: Craig Howard <kde () choward ! ca>
Date: 2007-12-18 6:47:26
Message-ID: 200712172247.26444.kde () choward ! ca
[Download RAW message or body]
On Sunday 09 December 2007, Thomas McGuire wrote:
> Hi,
>
> I've seen some offers to help working on KMail. Thanks for that.
>
> I'm willing to help with this, so you can mail any questions or patches to
> me or this list, I'll do my best to answer them or help with any issues.
Well, starting with stuff that's broken for me...
When marking a message as seen using a webmail client, kmail still leaves the
message marked as unread on my regular IMAP account. This works on the
initial load of the folder, but as soon as I switch away and come back, it's
marked as unread again. I'm not sure what causes that bug, but I'm hoping
someone can point me in the correct direction.
From what I can tell, this other path follows the slotGetLastMessagesResult()
branch, instead of the slotListFolderResult() branch. The
slotGetLastMessagesResult() eventually emits numUnreadMsgsChanged(), which
causes postProcessNewMail() to run. This is where I get a little lost. I
don't think I want to trace through the filters, as I think those are just
the rules that the user creates. So, this status field is obviously cached
somewhere, but where?
I've attached my quick fix for the first issue. I'm sure there's a better way
to do this, so I'd appreciate comments. BTW, what's the difference between
KMMsgStatusOld and KMMsgStatusRead?
--
Craig Howard
["kmail-unread.patch" (text/x-diff)]
Index: kdepim/kmail/kmfolderimap.cpp
===================================================================
--- kdepim/kmail/kmfolderimap.cpp (revision 749238)
+++ kdepim/kmail/kmfolderimap.cpp (working copy)
@@ -1513,6 +1517,11 @@
else
msg->status().setUnread();
}
+
+ // if the message is seen on the server, but we think it's new, mark it as read
+ if(flags & 1 && (msg->status().isNew() || msg->status().isUnread())) {
+ msg->status().setRead();
+ }
}
_______________________________________________
KDE PIM mailing list kde-pim@kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic