Version: 1.0 (using KDE 3.4.0, Debian Package 4:3.4.0-0ubuntu3.1 (3.1)) Compiler: gcc version 3.3.5 (Debian 1:3.3.5-8ubuntu2) OS: Linux (i686) release 2.6.10-5-386 In Akregator, we have: - new (which shows new, but no unread articles) - unread (which shows unread, but no new articles) - new & unread (which shows both new and unread articles) In KMail, we have: - new (which shows new, but no unread mails) - unread (which shows both new and unread mails) The behavior of KMail is IMHO more logical. A new mail is not read and therefore also an "unread" mail, so that it should be displayed under unread. Furthermore, I cannot imagine that one wants to filter "unread but not new" mails which is what the "unread" option at Akregator currently does.
SVN commit 412888 by osterfeld: Remove "New&Unread", let "unread" show new articles as well BUG:105562 M +7 -14 trunk/KDE/kdepim/akregator/src/searchbar.cpp --- trunk/KDE/kdepim/akregator/src/searchbar.cpp #412887:412888 @@ -87,7 +87,6 @@ QPixmap iconKeep(locate("data", "akregator/pics/kmmsgflag.png")); d->searchCombo->insertItem(iconAll, i18n("All Articles")); - d->searchCombo->insertItem(i18n("New & Unread")); d->searchCombo->insertItem(iconNew, i18n("New")); d->searchCombo->insertItem(iconUnread, i18n("Unread")); d->searchCombo->insertItem(iconKeep, i18n("Keep Flag Set")); @@ -183,27 +182,21 @@ { switch (d->searchCombo->currentItem()) { - case 1: // New & Unread + case 1: // New { - Criterion crit1( Criterion::Status, Criterion::Equals, Article::New); - Criterion crit2( Criterion::Status, Criterion::Equals, Article::Unread); - statusCriteria << crit1; - statusCriteria << crit2; - break; - } - case 2: // New - { Criterion crit( Criterion::Status, Criterion::Equals, Article::New); statusCriteria << crit; break; } - case 3: // Unread + case 2: // Unread { - Criterion crit( Criterion::Status, Criterion::Equals, Article::Unread); - statusCriteria << crit; + Criterion crit1( Criterion::Status, Criterion::Equals, Article::New); + Criterion crit2( Criterion::Status, Criterion::Equals, Article::Unread); + statusCriteria << crit1; + statusCriteria << crit2; break; } - case 4: // Keep flag set + case 3: // Keep flag set { Criterion crit( Criterion::KeepFlag, Criterion::Equals, true); statusCriteria << crit;