(*** This bug was imported into bugs.kde.org ***) Package: knode Version: KDE 3.0.0 Severity: normal Installed from: SuSE Compiler: gcc version 2.95.3 20010315 (SuSE) OS: Linux (i586) release 2.4.18-4GB OS/Compiler notes: Hi as I'm only interested in KMail related questions on kde.kde-linux and kde.kde (on news.uslinuxtraining.com) I use the Ignore Discussion feature a lot. The problem is now that when I fetch new articles KNode often shows a non-zero number of unread articles although all new articles are in ignored threads. I think this is the wrong behaviour. New articles which belong to ignored discussion should not be taken into account for the number of unread messages. Regards Ingo (Submitted via bugs.kde.org) (Called from KBugReport dialog. Fields Application manually changed)
I think that this and the Bug #38647 should be related, and this bug is still there also on KDE 3.3.0_beta1. I'm not sure I have the time to fix it up, but I'll try ASAP... if someone in the mean time has a fix for this I think is an important bug which is there by 2 years now.
CVS commit by schrot: - save pgp key (93908) - don't close search dialog when it is minimised (40266) - add macros to custom headers (22101) - exclude ignored messages from unread count (41973) I will backport where appropriate. BUG: 93908, 40266, 22101, 41973 M +9 -2 knode/knarticlefactory.cpp 1.84 M +7 -2 knode/knconfigwidgets.cpp 1.121 M +7 -4 knode/kngroup.cpp 1.78 M +1 -0 knode/kngroup.h 1.33 M +1 -7 knode/knsearchdialog.cpp 1.19 M +0 -2 knode/knsearchdialog.h 1.9 M +6 -1 libkpgp/kpgpui.cpp 1.59 M +1 -0 libkpgp/kpgpui.h 1.25
CVS commit by schrot: Backport 41973: - exclude ignored messages from unread count CCBUG: 41973 M +6 -3 kngroup.cpp 1.74.2.1 M +1 -0 kngroup.h 1.30.12.1 --- kdepim/knode/kngroup.h #1.30:1.30.12.1 @@ -135,4 +135,5 @@ class KNGroup : public KNArticleCollecti l_astFetchCount, r_eadCount, + i_gnoreCount, f_irstNr, l_astNr, --- kdepim/knode/kngroup.cpp #1.74:1.74.2.1 @@ -37,5 +37,5 @@ KNGroup::KNGroup(KNCollection *p) - : KNArticleCollection(p), n_ewCount(0), l_astFetchCount(0), r_eadCount(0), + : KNArticleCollection(p), n_ewCount(0), l_astFetchCount(0), r_eadCount(0), i_gnoreCount(0), l_astNr(0), m_axFetch(0), d_ynDataFormat(1), f_irstNew(-1), l_ocked(false), u_seCharset(false), s_tatus(unknown), i_dentity(0) @@ -69,5 +69,5 @@ void KNGroup::updateListItem() if(!l_istItem) return; l_istItem->setNumber(1,c_ount); - l_istItem->setNumber(2,c_ount-r_eadCount); + l_istItem->setNumber(2,c_ount-r_eadCount-i_gnoreCount); } @@ -794,5 +794,8 @@ void KNGroup::buildThreads(int cnt, KNPr } if (art) { - at(idx)->setIgnored(art->isIgnored()); + if (art->isIgnored()) { + at(idx)->setIgnored(true); + ++i_gnoreCount; + } at(idx)->setWatched(art->isWatched()); }