Bug 137763

Summary: "mark as new" does not work when moving to next entry with keyboard
Product: [Applications] akregator Reporter: Will Stephenson <wstephenson>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: kde-bugs
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:

Description Will Stephenson 2006-11-23 09:39:41 UTC
Version:            (using KDE KDE 3.5.5)
Installed from:    SuSE RPMs

Akregator: "mark as new" does not work when moving to next entry with keyboard
(curser right/left).

To reproduce,
- add the "mark as new" icon to the toolbar for easy access (optional)
- open a newsfeed with several articles
- click one of the articles in the middle of the list
- click the "mark as new" icon
- press "cursor right" on your keyboard to select the next article

Expected result: the article is marked as new again

Actual result. the article is *not* marked as new

BTW: This is a keyboard related issue - if you click the next article with the
mouse, the "new" highlighting will work.

(From https://bugzilla.novell.com/show_bug.cgi?id=223384)
Comment 1 taisto 2007-01-09 22:22:24 UTC
"mark as unread" does behave in the same wrong fashion (having KDE 3.5.5 on Kubuntu Edgy Eft).
Comment 2 Frank Osterfeld 2007-01-12 16:40:27 UTC
Confirmed.
Comment 3 Frank Osterfeld 2007-01-12 16:56:48 UTC
SVN commit 622664 by osterfeld:

Keep manually set unread/new state when the user presses next article/prev article 
BUG:137763


 M  +2 -2      articlelistview.cpp  


--- branches/KDE/3.5/kdepim/akregator/src/articlelistview.cpp #622663:622664
@@ -635,9 +635,9 @@
     if (ali)
     {
         Article a = ali->article();
+        setCurrentItem(d->articleMap[a]);
         clearSelection();
         setSelected(d->articleMap[a], true);
-        setCurrentItem(d->articleMap[a]);
         d->ensureCurrentItemVisible();
     }
 }
@@ -653,9 +653,9 @@
     if (ali)
     {
         Article a = ali->article();
+        setCurrentItem(d->articleMap[a]);
         clearSelection();
         setSelected(d->articleMap[a], true);
-        setCurrentItem(d->articleMap[a]);
         d->ensureCurrentItemVisible();
     }
 }
Comment 4 Frank Osterfeld 2007-01-12 17:02:03 UTC
SVN commit 622665 by osterfeld:

forwardport of 137763: keep unread state when do next/prev article
CCBUG:137763


 M  +2 -2      articlelistview.cpp  


--- trunk/KDE/kdepim/akregator/src/articlelistview.cpp #622664:622665
@@ -598,9 +598,9 @@
     if (ali)
     {
         Article a = ali->article();
+        setCurrentItem(d->articleMap[a.guid()]);
         clearSelection();
         setSelected(d->articleMap[a.guid()], true);
-        setCurrentItem(d->articleMap[a.guid()]);
         d->ensureCurrentItemVisible();
     }
 }
@@ -616,9 +616,9 @@
     if (ali)
     {
         Article a = ali->article();
+        setCurrentItem(d->articleMap[a.guid()]);
         clearSelection();
         setSelected(d->articleMap[a.guid()], true);
-        setCurrentItem(d->articleMap[a.guid()]);
         d->ensureCurrentItemVisible();
     }
 }