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

List:       kde-commits
Subject:    playground/pim/krss
From:       Frank Osterfeld <frank.osterfeld () kdemail ! net>
Date:       2009-04-10 11:41:29
Message-ID: 1239363689.909700.19024.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 951840 by osterfeld:

don't let Feeds listen for item changes (The global monitor was removed)

 M  +1 -72     libkrss/abstractproxyfeed.cpp  
 M  +0 -5      libkrss/abstractproxyfeed.h  
 M  +0 -1      libkrss/abstractproxyfeed_p.h  
 M  +0 -5      libkrss/feed.h  
 M  +1 -29     libkrss/persistentfeed.cpp  
 M  +0 -4      libkrss/persistentfeed.h  
 M  +1 -0      resources/libkrssresource/rssresourcebasejobs.cpp  


--- trunk/playground/pim/krss/libkrss/abstractproxyfeed.cpp #951839:951840
@@ -263,68 +263,6 @@
     removeSourceFeed( feed );
 }
 
-void AbstractProxyFeed::slotFeedItemsAdded( Feed *feed, const QList<Item> &items_ )
-{
-    QList<Item> items = items_;
-
-    items.erase( std::remove_if( items.begin(), items.end(), !bind( filterFunction(), _1 ) ),
-                 items.end() );
-
-    if ( !items.isEmpty() )
-        emit itemsAdded( this, items );
-}
-
-void AbstractProxyFeed::slotFeedItemsChanged( Feed *feed, const QList<Item> &items )
-{
-#if 0 // reimplement when creating ItemCollection or similar (where we know the items we already saw)
-    QList<Item> addedItems;
-    QList<Item> changedItems;
-    QList<Item> removedItems;
-
-    Q_FOREACH( const Item &item, items ) {
-
-        if ( acceptsItem( item ) ) {
-            if ( d->m_allItems.contains( item.id() ) ) {
-                // item changed
-                d->m_allItems[ item.id() ] = item;
-                changedItems.append( item );
-            }
-            else {
-                // item added
-                d->m_allItems[ item.id() ] = item;
-                d->m_feedItems[ feed ].append( item.id() );
-                addedItems.append( item );
-            }
-        }
-        else {
-            if ( d->m_allItems.contains( item.id() ) ) {
-                // item removed
-                d->m_allItems.remove( item.id() );
-                d->m_feedItems[ feed ].removeOne( item.id() );
-                removedItems.append( item );
-            }
-            else {
-                // do nothing
-            }
-        }
-    }
-
-    if ( !addedItems.isEmpty() )
-        emit itemsAdded( this, addedItems );
-
-    if ( !changedItems.isEmpty() )
-        emit itemsChanged( this, changedItems );
-
-    if ( !removedItems.isEmpty() )
-        emit itemsRemoved( this, removedItems );
-#endif
-}
-
-void AbstractProxyFeed::slotFeedItemsRemoved( Feed *feed, const QList<Item> &items )
-{
-    emit itemsRemoved( this, items );
-}
-
 void AbstractProxyFeed::addSourceFeed( Feed *feed )
 {
     // avoid circular dependencies and duplicates
@@ -350,13 +288,6 @@
 
     connect( feed, SIGNAL( changed( KRss::Feed* ) ), this, SLOT( slotFeedChanged( KRss::Feed* ) ) );
     connect( feed, SIGNAL( removed( KRss::Feed* ) ), this, SLOT( slotFeedRemoved( KRss::Feed* ) ) );
-
-    connect( feed, SIGNAL( itemsAdded( KRss::Feed*, const QList<KRss::Item>& ) ),
-                this, SLOT( slotFeedItemsAdded( KRss::Feed*, const QList<KRss::Item>& ) ) );
-    connect( feed, SIGNAL( itemsChanged( KRss::Feed*, const QList<KRss::Item>& ) ),
-                this, SLOT( slotFeedItemsChanged( KRss::Feed*, const QList<KRss::Item>& ) ) );
-    connect( feed, SIGNAL( itemsRemoved( KRss::Feed*, const QList<KRss::Item>& ) ),
-                this, SLOT( slotFeedItemsRemoved( KRss::Feed*, const QList<KRss::Item>& ) ) );
 }
 
 void AbstractProxyFeed::removeSourceFeed( Feed *feed )
@@ -364,7 +295,7 @@
     if ( !d->m_sourceFeeds.contains( feed ) )
         return;
 
-    //TODO(frank) notify that feed (and items) was removed
+    //TODO(frank) notify that feed was removed
 
     feed->disconnect( this );
     d->m_sourceFeeds.removeOne( feed );
@@ -374,8 +305,6 @@
 
 void AbstractProxyFeed::clearAllSourceFeeds()
 {
-    //TODO(frank) notify that all items are gone
-
     Q_FOREACH( Feed *feed, d->m_sourceFeeds )
         feed->disconnect( this );
 
--- trunk/playground/pim/krss/libkrss/abstractproxyfeed.h #951839:951840
@@ -97,11 +97,6 @@
     void slotFeedChanged( KRss::Feed *feed );
     void slotFeedRemoved( KRss::Feed *feed );
 
-    void slotFeedItemsAdded( KRss::Feed *feed, const QList<KRss::Item> &items );
-    void slotFeedItemsChanged( KRss::Feed *feed, const QList<KRss::Item> &items );
-    void slotFeedItemsRemoved( KRss::Feed *feed, const QList<KRss::Item> &items );
-
-
 private:
 
     Q_DISABLE_COPY(AbstractProxyFeed)
--- trunk/playground/pim/krss/libkrss/abstractproxyfeed_p.h #951839:951840
@@ -18,7 +18,6 @@
 #ifndef KRSS_ABSTRACTPROXYFEED_P_H
 #define KRSS_ABSTRACTPROXYFEED_P_H
 
-#include "item.h"
 #include "itemlistjob.h"
 #include "tag.h"
 
--- trunk/playground/pim/krss/libkrss/feed.h #951839:951840
@@ -19,7 +19,6 @@
 #define KRSS_FEED_H
 
 #include "krss_export.h"
-#include "item.h"
 #include "tag.h"
 
 #include <akonadi/collection.h>
@@ -96,10 +95,6 @@
     void changed( KRss::Feed *feed );
     void removed( KRss::Feed *feed );
 
-    void itemsAdded( KRss::Feed *feed, const QList<KRss::Item> &items );
-    void itemsChanged( KRss::Feed *feed, const QList<KRss::Item> &items );
-    void itemsRemoved( KRss::Feed *feed, const QList<KRss::Item> &items );
-
     void totalCountChanged(  KRss::Feed *feed, int count );
     void unreadCountChanged( KRss::Feed *feed, int count );
 
--- trunk/playground/pim/krss/libkrss/persistentfeed.cpp #951839:951840
@@ -17,8 +17,8 @@
 
 #include "persistentfeed.h"
 #include "persistentfeed_p.h"
-#include "item_p.h"
 #include "resource.h"
+#include "item_p.h"
 #include "itemjobs.h"
 
 #include <akonadi/itemfetchjob.h>
@@ -57,13 +57,6 @@
     connect( d->m_resource, SIGNAL( statisticsChanged(KRss::Feed::Id, Akonadi::CollectionStatistics) ),
              this , SLOT( slotStatisticsChanged(KRss::Feed::Id, Akonadi::CollectionStatistics)) );
 
-    connect( d->m_resource, SIGNAL( itemAdded( const Akonadi::Item&, KRss::Feed::Id ) ),
-             this, SLOT( slotItemAdded( const Akonadi::Item&, KRss::Feed::Id ) ) );
-    connect( d->m_resource, SIGNAL( itemChanged( const Akonadi::Item& ) ),
-             this, SLOT( slotItemChanged( const Akonadi::Item& ) ) );
-    connect( d->m_resource, SIGNAL( itemRemoved( const Akonadi::Item& ) ),
-             this, SLOT( slotItemRemoved( const Akonadi::Item& ) ) );
-
     Akonadi::CollectionStatisticsJob* job = new Akonadi::CollectionStatisticsJob( feedCollection );
     connect( job, SIGNAL(finished(KJob*)), this, SLOT(slotStatisticsFetchDone(KJob*)) );
 }
@@ -345,26 +338,5 @@
         emit fetchAborted( this );
 }
 
-void PersistentFeed::slotItemAdded( const Akonadi::Item &item, Feed::Id id )
-{
-    Item it;
-    it.d->akonadiItem = item;
-    emit itemsAdded( this, QList<Item>() << it );
-}
-
-void PersistentFeed::slotItemChanged( const Akonadi::Item &item )
-{
-    Item it;
-    it.d->akonadiItem = item;
-    emit itemsChanged( this, QList<Item>() << it );
-}
-
-void PersistentFeed::slotItemRemoved( const Akonadi::Item &item )
-{
-    Item it;
-    it.d->akonadiItem =  item;
-    emit itemsRemoved( this, QList<Item>() << it );
-}
-
 #include "persistentfeed.moc"
 #include "persistentfeed_p.moc"
--- trunk/playground/pim/krss/libkrss/persistentfeed.h #951839:951840
@@ -103,10 +103,6 @@
     void slotFetchFailed( KRss::Feed::Id id, const QString &errorMessage );
     void slotFetchAborted( KRss::Feed::Id id );
 
-    void slotItemAdded( const Akonadi::Item &item, KRss::Feed::Id id );
-    void slotItemChanged( const Akonadi::Item &item );
-    void slotItemRemoved( const Akonadi::Item &item );
-
     void slotStatisticsChanged( KRss::Feed::Id id, const Akonadi::CollectionStatistics& stats );
 
 private:
--- trunk/playground/pim/krss/resources/libkrssresource/rssresourcebasejobs.cpp #951839:951840
@@ -19,6 +19,7 @@
 #include "rssbackendjobs.h"
 #include "batchitemmodifyjob.h"
 #include "rssitemsync.h"
+#include "libkrss/item.h"
 #include "libkrss/rssitem.h"
 
 #include <KDE/Akonadi/CollectionFetchJob>
[prev in list] [next in list] [prev in thread] [next in thread] 

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