[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdepim/akregator_port] krsslocal: syncer handles the 'Updated' case
From:       Alessandro Cosentino <cosenal () gmail ! com>
Date:       2012-02-20 21:25:55
Message-ID: 20120220212555.E9B39A6107 () git ! kde ! org
[Download RAW message or body]

Git commit 7cd8bbcdfbe00a3cfc15be5c1ff17750bc9f5997 by Alessandro Cosentino.
Committed on 24/09/2011 at 02:20.
Pushed by cgiboudeaux into branch 'akregator_port'.

syncer handles the 'Updated' case

M  +9    -3    krsslocal/rssitemsync.cpp

http://commits.kde.org/kdepim/7cd8bbcdfbe00a3cfc15be5c1ff17750bc9f5997

diff --git a/krsslocal/rssitemsync.cpp b/krsslocal/rssitemsync.cpp
index 08aee7b..bf7b05d 100644
--- a/krsslocal/rssitemsync.cpp
+++ b/krsslocal/rssitemsync.cpp
@@ -58,9 +58,15 @@ bool RssItemSync::updateItem( const Akonadi::Item &storedItem, Akonadi::Item &ne
 
     if ( !newRssItem.guidIsHash() && storedHash != newHash ) {
         kDebug() << "The article's content is updated:" << newItem.remoteId();
-        // dont overwrite the existing flags
-        // and set 'New'
-        newItem.setFlags( storedItem.flags() );
+
+	Akonadi::Item::Flags flags = storedItem.flags();
+	if (storedItem.hasFlag( KRss::RssItem::flagRead() ) && 
+	      !storedItem.hasFlag( KRss::RssItem::flagUpdated() )) {
+	    // case when an item was marked as read by a client 
+	    // and the content changes on the server
+	    flags.insert( KRss::RssItem::flagUpdated() );
+	}
+	newItem.setFlags( flags );
         return true;
     }
 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic