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

List:       kde-commits
Subject:    kdepim/akregator/src
From:       Frank Osterfeld <frank.osterfeld () kdemail ! net>
Date:       2005-04-26 11:02:45
Message-ID: 20050426110245.3CF9B662 () office ! kde ! org
[Download RAW message or body]

CVS commit by osterfeld: 

add notification of new articles, e.g. useful for search folders


  M +15 -4     feed.cpp   1.103
  M +3 -0      feed.h   1.54
  M +1 -1      librss/document.h   1.6


--- kdepim/akregator/src/feed.cpp  #1.102:1.103
@@ -77,4 +77,7 @@ class Feed::FeedPrivate
         ArticleList articles;
 
+        /** caches guids of new articles for notication */
+        QStringList newArticles;
+
         /** list of deleted articles **/
         ArticleList deletedArticles;
@@ -355,5 +358,5 @@ void Feed::appendArticles(const RSS::Doc
 
     int nudge=0;
-    QStringList newArticles; 
+    
     ArticleList deletedArticles = d->deletedArticles;
     
@@ -369,5 +372,5 @@ void Feed::appendArticles(const RSS::Doc
             nudge--;
             appendArticle(mya);
-            newArticles.append(mya.guid());
+            d->newArticles.append(mya.guid());
             
             if (!mya.isDeleted() && !markImmediatelyAsRead())
@@ -410,6 +413,4 @@ void Feed::appendArticles(const RSS::Doc
     d->articles.enableSorting(true);
     d->articles.sort();
-    if (!newArticles.isEmpty())
-        emit signalArticlesAdded(id(), newArticles);
     if (changed)
         modified();
@@ -700,4 +701,14 @@ TreeNode* Feed::next()
 }
 
+void Feed::modified()
+{
+    if (!d->newArticles.isEmpty())
+    {
+        emit signalArticlesAdded(id(), d->newArticles);
+        d->newArticles.clear();
+    }
+    TreeNode::modified();
+}
+
 void Feed::enforceLimitArticleNumber()
 {

--- kdepim/akregator/src/feed.h  #1.53:1.54
@@ -250,4 +250,7 @@ namespace Akregator
             void recalcUnreadCount();
             
+            /** reimplemented for notification of new articles */
+            virtual void modified();
+            
         private slots:
 


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

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