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

List:       kde-commits
Subject:    [kdepim/work/akonadi-ports] /: remove "New" flag. It's semantically
From:       Frank Osterfeld <frank.osterfeld () kdab ! com>
Date:       2011-09-17 17:44:09
Message-ID: 20110917174409.6B4F7A607A () git ! kde ! org
[Download RAW message or body]

Git commit b88037f52cd2db609b790f0ab8f7006819b3e1d2 by Frank Osterfeld.
Committed on 17/09/2011 at 19:43.
Pushed by osterfeld into branch 'work/akonadi-ports'.

remove "New" flag. It's semantically useless in a multi-client world.
use plain modify jobs to change flags

M  +1    -2    akregator/interfaces/types.h
M  +0    -8    akregator/src/actionmanagerimpl.cpp
M  +10   -21   akregator/src/mainwidget.cpp
M  +0    -2    akregator/src/mainwidget.h
M  +1    -10   akregator/src/searchbar.cpp
M  +1    -1    akregator/src/selectioncontroller.cpp
M  +1    -0    akregator/src/selectioncontroller.h
M  +0    -3    krss/krss/feeditemmodel.cpp
M  +0    -1    krss/krss/feeditemmodel.h
M  +4    -11   krss/krss/item.cpp
M  +2    -2    krss/krss/item.h
M  +0    -5    krss/krss/itemmodel.cpp
M  +0    -1    krss/krss/itemmodel.h
M  +0    -10   krss/krss/rssitem.cpp
M  +0    -2    krss/krss/rssitem.h
M  +1    -25   krss/krss/standardactionmanager.cpp
M  +0    -1    krss/krss/standardactionmanager.h
M  +1    -3    krss/krssresource/itemimportreader.cpp
M  +0    -2    krss/krssresource/rssitemsync.cpp
M  +3    -27   krss/krssresource/rssresourcebasejobs.cpp
M  +0    -1    krss/krssresource/rssresourcebasejobs.h
M  +0    -2    krss/krssresource/tests/importitemsjobtest.cpp
M  +0    -2    krss/krssresource/tests/itemimportreadertest.cpp
M  +1    -5    krss/krssresource/tests/rssitemsynctest.cpp
M  +0    -1    krss/resources/feederagent/nepomukrssfeeder.cpp
M  +1    -3    krss/resources/newsgatorresource/newsgatorjobs.cpp
M  +0    -1    krss/resources/opmlresource/opmljobs.cpp

http://commits.kde.org/kdepim/b88037f52cd2db609b790f0ab8f7006819b3e1d2

diff --git a/akregator/interfaces/types.h b/akregator/interfaces/types.h
index f479692..6632152 100644
--- a/akregator/interfaces/types.h
+++ b/akregator/interfaces/types.h
@@ -29,8 +29,7 @@ namespace Akregator {
 /** (un)read status of the article */
 enum ArticleStatus {
     Unread=0, /**< article wasn't read yet by the user */
-    Read, /**< article is read */
-    New /**< article was fetched in the last fetch of it's feed and not read yet. \
Note that, semantically, new implies unread */ +    Read /**< article is read */
 };
 
 }
diff --git a/akregator/src/actionmanagerimpl.cpp \
b/akregator/src/actionmanagerimpl.cpp index 2364f61..45d10ca 100644
--- a/akregator/src/actionmanagerimpl.cpp
+++ b/akregator/src/actionmanagerimpl.cpp
@@ -359,14 +359,6 @@ void ActionManagerImpl::initMainWidget(MainWidget* mainWidget)
     connect(action, SIGNAL(triggered(bool)), d->mainWidget, \
SLOT(slotSetSelectedArticleRead()));  statusMenu->addAction(action);
 
-    action = coll->addAction("article_set_status_new");
-    action->setText(i18nc("as in: mark as new", "&New"));
-    action->setIcon(KIcon("mail-mark-unread-new"));
-    action->setShortcuts(KShortcut( "Ctrl+N" ));
-    action->setToolTip(i18n("Mark selected article as new"));
-    connect(action, SIGNAL(triggered(bool)),  d->mainWidget, \
                SLOT(slotSetSelectedArticleNew()));
-    statusMenu->addAction(action);
-
     action = coll->addAction("article_set_status_unread");
     action->setText(i18nc("as in: mark as unread", "&Unread"));
     action->setIcon(KIcon("mail-mark-unread"));
diff --git a/akregator/src/mainwidget.cpp b/akregator/src/mainwidget.cpp
index 86a6598..b722bce 100644
--- a/akregator/src/mainwidget.cpp
+++ b/akregator/src/mainwidget.cpp
@@ -53,6 +53,7 @@
 #include "types.h"
 
 #include <Akonadi/AgentManager>
+#include <Akonadi/ItemModifyJob>
 #include <Akonadi/Collection>
 #include <Akonadi/CollectionDeleteJob>
 
@@ -713,7 +714,7 @@ void Akregator::MainWidget::slotMarkAllFeedsRead()
         job->addSubJob( feed->statusModifyJob() );
     }
 
-    job->clearFlags( QList<KRss::Item::StatusFlag>() << KRss::Item::Unread << \
KRss::Item::New ); +    job->clearFlags( QList<KRss::Item::StatusFlag>() << \
                KRss::Item::Unread );
     connect( job, SIGNAL( result( KJob* ) ), this, SLOT( slotJobFinished( KJob* ) ) \
);  #ifdef WITH_LIBKDEPIM
     ProgressManager::self()->addJob( job );
@@ -730,7 +731,7 @@ void Akregator::MainWidget::slotMarkFeedRead()
     KRss::CreateStatusModifyJobVisitor visitor( m_feedList );
     treeNode->accept( &visitor );
     KRss::StatusModifyJob * const job = visitor.statusModifyJob();
-    job->clearFlags( QList<KRss::Item::StatusFlag>() << KRss::Item::Unread << \
KRss::Item::New ); +    job->clearFlags( QList<KRss::Item::StatusFlag>() << \
                KRss::Item::Unread );
     connect( job, SIGNAL( result( KJob* ) ), this, SLOT( slotJobFinished( KJob* ) ) \
);  #ifdef WITH_LIBKDEPIM
     ProgressManager::self()->addJob( job );
@@ -812,9 +813,8 @@ void Akregator::MainWidget::slotItemSelected( const KRss::Item& \
item )  else
     {
         KRss::Item modifiedItem = item;
-        modifiedItem.setStatus( item.status() & ~( KRss::Item::New | \
                KRss::Item::Unread ) );
-        KRss::ItemModifyJob * const job = new KRss::ItemModifyJob();
-        job->setItem( modifiedItem );
+        modifiedItem.setStatus( item.status() & ~KRss::Item::Unread );
+        Akonadi::ItemModifyJob* job = new Akonadi::ItemModifyJob( \
modifiedItem.akonadiItem() );  job->setIgnorePayload( true );
         //PENDING(frank) connect to finished signal and report errors
 
@@ -1045,17 +1045,13 @@ static void setSelectedArticleStatus( const \
Akregator::AbstractSelectionControll  KRss::Item modifiedItem = i;
         switch ( status ) {
         case Akregator::Read:
-            modifiedItem.setStatus( i.status() & ~( KRss::Item::New | \
KRss::Item::Unread ) ); +            modifiedItem.setStatus( i.status() & \
~KRss::Item::Unread );  break;
         case Akregator::Unread:
-            modifiedItem.setStatus( ( i.status() | KRss::Item::Unread ) & \
                ~KRss::Item::New );
-            break;
-        case Akregator::New:
-            modifiedItem.setStatus( i.status() | KRss::Item::New | \
KRss::Item::Unread ); +            modifiedItem.setStatus( i.status() | \
KRss::Item::Unread );  break;
         }
-        KRss::ItemModifyJob * const job = new KRss::ItemModifyJob();
-        job->setItem( modifiedItem );
+        Akonadi::ItemModifyJob* job = new Akonadi::ItemModifyJob( \
modifiedItem.akonadiItem() );  job->setIgnorePayload( true );
         //PENDING(frank) connect to finished signal and report errors
         job->start();
@@ -1099,11 +1095,6 @@ void Akregator::MainWidget::slotSetSelectedArticleUnread()
     ::setSelectedArticleStatus( m_selectionController, Akregator::Unread );
 }
 
-void Akregator::MainWidget::slotSetSelectedArticleNew()
-{
-    ::setSelectedArticleStatus( m_selectionController, Akregator::New );
-}
-
 void Akregator::MainWidget::slotSetCurrentArticleReadDelayed()
 {
     KRss::Item item =  m_selectionController->currentItem();
@@ -1111,10 +1102,8 @@ void Akregator::MainWidget::slotSetCurrentArticleReadDelayed()
     if ( item.isNull() )
         return;
 
-    item.setStatus( item.status() & ~( KRss::Item::New | KRss::Item::Unread ) );
-
-    KRss::ItemModifyJob * const job = new KRss::ItemModifyJob();
-    job->setItem( item );
+    item.setStatus( item.status() & ~KRss::Item::Unread );
+    Akonadi::ItemModifyJob* job = new Akonadi::ItemModifyJob( item.akonadiItem() );
     job->setIgnorePayload( true );
     job->start();
 }
diff --git a/akregator/src/mainwidget.h b/akregator/src/mainwidget.h
index d74f26b..0af02b1 100644
--- a/akregator/src/mainwidget.h
+++ b/akregator/src/mainwidget.h
@@ -186,8 +186,6 @@ class AKREGATORPART_EXPORT MainWidget : public QWidget
         void slotSetSelectedArticleRead();
         /** marks the currently selected article as unread */
         void slotSetSelectedArticleUnread();
-        /** marks the currently selected article as new */
-        void slotSetSelectedArticleNew();
         /** marks the currenctly selected article as read after a user-set delay */
         void slotSetCurrentArticleReadDelayed();
 
diff --git a/akregator/src/searchbar.cpp b/akregator/src/searchbar.cpp
index 27736e5..f7766d1 100644
--- a/akregator/src/searchbar.cpp
+++ b/akregator/src/searchbar.cpp
@@ -96,7 +96,6 @@ SearchBar::SearchBar(QWidget* parent) : KHBox(parent), d(new \
SearchBar::SearchBa  
     d->searchCombo->addItem(iconAll, i18n("All Articles"));
     d->searchCombo->addItem(iconUnread, i18nc("Unread articles filter", "Unread"));
-    d->searchCombo->addItem(iconNew, i18nc("New articles filter", "New"));
     d->searchCombo->addItem(iconKeep, i18nc("Important articles filter", \
"Important"));  
     d->searchLine->setToolTip( i18n( "Enter space-separated terms to filter article \
list" ) ); @@ -193,19 +192,11 @@ void SearchBar::slotActivateSearch()
         {
             case 1: // Unread
             {
-                Criterion crit1( Criterion::Status, Criterion::Equals, New);
                 Criterion crit2( Criterion::Status, Criterion::Equals, Unread);
-                statusCriteria << crit1;
                 statusCriteria << crit2;
                 break;
             }
-            case 2: // New
-            {
-                Criterion crit( Criterion::Status, Criterion::Equals, New);
-                statusCriteria << crit;
-                break;
-            }
-            case 3: // Keep flag set
+            case 2: // Keep flag set
             {
                 Criterion crit( Criterion::KeepFlag, Criterion::Equals, true);
                 statusCriteria << crit;
diff --git a/akregator/src/selectioncontroller.cpp \
b/akregator/src/selectioncontroller.cpp index d9e77dd..8c4f6b3 100644
--- a/akregator/src/selectioncontroller.cpp
+++ b/akregator/src/selectioncontroller.cpp
@@ -62,7 +62,7 @@ using namespace KRss;
 
 static KRss::Item itemForIndex( const QModelIndex& index )
 {
-    return index.data( KRss::ItemModel::ItemRole ).value<KRss::Item>();
+    return KRss::Item( index.data( KRss::FeedItemModel::ItemRole \
).value<Akonadi::Item>() );  }
 
 static QList<KRss::Item> itemsForIndexes( const QModelIndexList& indexes )
diff --git a/akregator/src/selectioncontroller.h \
b/akregator/src/selectioncontroller.h index 2b39409..508e8bf 100644
--- a/akregator/src/selectioncontroller.h
+++ b/akregator/src/selectioncontroller.h
@@ -39,6 +39,7 @@ class KJob;
 
 namespace Akonadi {
     class Collection;
+    class Item;
 }
 
 namespace KRss {
diff --git a/krss/krss/feeditemmodel.cpp b/krss/krss/feeditemmodel.cpp
index 414c386..d417592 100644
--- a/krss/krss/feeditemmodel.cpp
+++ b/krss/krss/feeditemmodel.cpp
@@ -101,9 +101,6 @@ QVariant FeedItemModel::entityData( const Akonadi::Item \
&akonadiItem, int column  if ( role == IsImportantRole )
         return RssItem::isImportant( akonadiItem );
 
-    if ( role == IsNewRole )
-        return RssItem::isNew( akonadiItem );
-
     if ( role == IsUnreadRole )
         return RssItem::isUnread( akonadiItem );
 
diff --git a/krss/krss/feeditemmodel.h b/krss/krss/feeditemmodel.h
index 3f49f9c..c2a3b78 100644
--- a/krss/krss/feeditemmodel.h
+++ b/krss/krss/feeditemmodel.h
@@ -55,7 +55,6 @@ public:
     enum ItemRoles {
         ItemRole=EntityTreeModel::UserRole,
         SortRole,
-        IsNewRole,
         IsUnreadRole,
         IsReadRole,
         IsDeletedRole, //PENDING(frank) transitional Akregator compat, review
diff --git a/krss/krss/item.cpp b/krss/krss/item.cpp
index fbb0676..931ad95 100644
--- a/krss/krss/item.cpp
+++ b/krss/krss/item.cpp
@@ -62,6 +62,10 @@ Item::~Item()
 {
 }
 
+Akonadi::Item Item::akonadiItem() const {
+    return d->akonadiItem;
+}
+
 void Item::swap( Item& other )
 {
     std::swap( d, other.d );
@@ -333,9 +337,6 @@ Item::Status Item::status() const
 {
     //PENDING(frank) this looks like a candidate for caching
     Status stat;
-    if ( d->akonadiItem.hasFlag( RssItem::flagNew() ) )
-        stat |= Item::New;
-
     if ( !d->akonadiItem.hasFlag( RssItem::flagRead() ) )
         stat |= Item::Unread;
 
@@ -363,11 +364,6 @@ bool Item::isUnread() const
     return RssItem::isUnread( d->akonadiItem );
 }
 
-bool Item::isNew() const
-{
-    return RssItem::isNew( d->akonadiItem );
-}
-
 bool Item::isDeleted() const
 {
     return RssItem::isDeleted( d->akonadiItem );
@@ -376,9 +372,6 @@ bool Item::isDeleted() const
 void Item::setStatus( const Item::Status& stat )
 {
     Akonadi::Item::Flags flags;
-    if ( stat.testFlag( Item::New ) )
-        flags.insert( RssItem::flagNew() );
-
     if ( !stat.testFlag( Item::Unread ) )
         flags.insert( RssItem::flagRead() );
 
diff --git a/krss/krss/item.h b/krss/krss/item.h
index 864ef92..91f8a05 100644
--- a/krss/krss/item.h
+++ b/krss/krss/item.h
@@ -50,7 +50,6 @@ class KRSS_EXPORT Item
 {
 public:
     enum StatusFlag {
-        New         = 0x01,
         Unread      = 0x02,
         Important   = 0x04,
         Deleted     = 0x08
@@ -70,6 +69,8 @@ public:
     Item( const Item& other );
     ~Item();
 
+    Akonadi::Item akonadiItem() const;
+
     void swap( Item& other );
     Item& operator=( const Item& other );
     bool operator==( const Item& other ) const;
@@ -87,7 +88,6 @@ public:
     bool isImportant() const;
     bool isRead() const;
     bool isUnread() const;
-    bool isNew() const;
     bool isDeleted() const;
 
     int hash() const;
diff --git a/krss/krss/itemmodel.cpp b/krss/krss/itemmodel.cpp
index a9695bc..26d786f 100644
--- a/krss/krss/itemmodel.cpp
+++ b/krss/krss/itemmodel.cpp
@@ -160,9 +160,6 @@ QVariant ItemModel::data( const QModelIndex &index, int role ) \
const  if ( role == IsImportantRole )
         return item.isImportant();
 
-    if ( role == IsNewRole )
-        return item.isNew();
-
     if ( role == IsUnreadRole )
         return item.isUnread();
 
@@ -177,8 +174,6 @@ QVariant ItemModel::data( const QModelIndex &index, int role ) \
const  
     //PENDING(frank) TODO: use configurable colors
     if ( role == Qt::ForegroundRole ) {
-        if ( item.isNew() )
-            return Qt::red;
         if ( item.isUnread() )
             return Qt::blue;
     }
diff --git a/krss/krss/itemmodel.h b/krss/krss/itemmodel.h
index c2ec661..678bade 100644
--- a/krss/krss/itemmodel.h
+++ b/krss/krss/itemmodel.h
@@ -52,7 +52,6 @@ public:
         ItemRole = Qt::UserRole,
         ItemStatusRole,
         SortRole,
-        IsNewRole,
         IsUnreadRole,
         IsReadRole,
         IsDeletedRole, //PENDING(frank) transitional Akregator compat, review
diff --git a/krss/krss/rssitem.cpp b/krss/krss/rssitem.cpp
index 04efaa2..4114788 100644
--- a/krss/krss/rssitem.cpp
+++ b/krss/krss/rssitem.cpp
@@ -124,11 +124,6 @@ RssItem::Private::Private( const Private& other )
 {
 }
 
-QByteArray RssItem::flagNew()
-{
-    return "\\New";
-}
-
 QByteArray RssItem::flagRead()
 {
     return "\\Seen";
@@ -160,11 +155,6 @@ bool RssItem::isUnread( const Akonadi::Item& item )
     return !item.hasFlag( flagRead() );
 }
 
-bool RssItem::isNew( const Akonadi::Item& item )
-{
-    return item.hasFlag( flagNew() );
-}
-
 bool RssItem::isDeleted( const Akonadi::Item& item )
 {
     return item.hasFlag( flagDeleted() );
diff --git a/krss/krss/rssitem.h b/krss/krss/rssitem.h
index 6427ac1..77f7838 100644
--- a/krss/krss/rssitem.h
+++ b/krss/krss/rssitem.h
@@ -46,7 +46,6 @@ class KRSS_EXPORT RssItem
 public:
     // return the corresponding Akonadi flags
     // for the status flags defined in item.h
-    static QByteArray flagNew();
     static QByteArray flagRead();
     static QByteArray flagImportant();
     static QByteArray flagDeleted();
@@ -66,7 +65,6 @@ public:
     static bool isImportant( const Akonadi::Item& );
     static bool isRead( const Akonadi::Item& );
     static bool isUnread( const Akonadi::Item& );
-    static bool isNew( const Akonadi::Item& );
     static bool isDeleted( const Akonadi::Item& );
 
     bool headersLoaded() const;
diff --git a/krss/krss/standardactionmanager.cpp \
b/krss/krss/standardactionmanager.cpp index da06626..9d5bb74 100644
--- a/krss/krss/standardactionmanager.cpp
+++ b/krss/krss/standardactionmanager.cpp
@@ -487,30 +487,6 @@ void StandardActionManager::slotManageSubscriptions()
     delete dialog;
 }
 
-void StandardActionManager::slotMarkItemNew()
-{
-    QModelIndexList selectedIndexes;
-    if ( d->m_itemSelectionModel && d->m_itemSelectionModel->hasSelection() )
-        selectedIndexes = d->m_itemSelectionModel->selectedRows();
-    else
-        return;
-
-    Q_FOREACH( const QModelIndex &selectedIndex, selectedIndexes ) {
-        Item item = selectedIndex.data( ItemModel::ItemRole ).value<Item>();
-
-        if ( item.status().testFlag( KRss::Item::New ) )
-            continue;
-
-        // set 'New' and 'Unread'
-        item.setStatus( item.status() | KRss::Item::New | KRss::Item::Unread );
-        ItemModifyJob * const job = new ItemModifyJob();
-        job->setItem( item );
-        job->setIgnorePayload( true );
-        connect( job, SIGNAL( result( KJob* ) ), this, SLOT( slotItemModified( KJob* \
                ) ) );
-        job->start();
-    }
-}
-
 void StandardActionManager::slotMarkItemRead()
 {
     QModelIndexList selectedIndexes;
@@ -526,7 +502,7 @@ void StandardActionManager::slotMarkItemRead()
             continue;
 
         // clear 'New' and 'Unread'
-        item.setStatus( item.status() & ~( KRss::Item::New | KRss::Item::Unread ) );
+        item.setStatus( item.status() & KRss::Item::Unread );
         ItemModifyJob * const job = new ItemModifyJob();
         job->setItem( item );
         job->setIgnorePayload( true );
diff --git a/krss/krss/standardactionmanager.h b/krss/krss/standardactionmanager.h
index 3792946..cfe46fd 100644
--- a/krss/krss/standardactionmanager.h
+++ b/krss/krss/standardactionmanager.h
@@ -87,7 +87,6 @@ private Q_SLOTS:
     void slotModifyTag();
     void slotDeleteTag();
     void slotManageSubscriptions();
-    void slotMarkItemNew();
     void slotMarkItemRead();
     void slotMarkItemUnread();
     void slotMarkItemImportant( bool checked );
diff --git a/krss/krssresource/itemimportreader.cpp \
b/krss/krssresource/itemimportreader.cpp index fc07828..ed9fcf2 100644
--- a/krss/krssresource/itemimportreader.cpp
+++ b/krss/krssresource/itemimportreader.cpp
@@ -239,9 +239,7 @@ static bool readItem( Akonadi::Item& akonadiItem, \
                QXmlStreamReader& reader ) {
                 item.setDateUpdated( KDateTime::fromString( \
reader.readElementText(), KDateTime::ISODate ) );  else if ( el.readStatus.isNextIn( \
reader ) ) {  const QString statusStr = reader.readElementText();
-                if ( statusStr == QLatin1String("new") )
-                    flags.insert( KRss::RssItem::flagNew() );
-                else if ( statusStr != QLatin1String("unread") )
+                if ( statusStr != QLatin1String("new") && statusStr != \
QLatin1String("unread") )  flags.insert( KRss::RssItem::flagRead() );
             } else if ( el.important.isNextIn( reader ) ) {
                 if ( reader.readElementText() == QLatin1String("true") )
diff --git a/krss/krssresource/rssitemsync.cpp b/krss/krssresource/rssitemsync.cpp
index c7df748..08aee7b 100644
--- a/krss/krssresource/rssitemsync.cpp
+++ b/krss/krssresource/rssitemsync.cpp
@@ -61,7 +61,6 @@ bool RssItemSync::updateItem( const Akonadi::Item &storedItem, \
Akonadi::Item &ne  // dont overwrite the existing flags
         // and set 'New'
         newItem.setFlags( storedItem.flags() );
-        newItem.setFlag( KRss::RssItem::flagNew() );
         return true;
     }
 
@@ -79,7 +78,6 @@ bool RssItemSync::updateItem( const Akonadi::Item &storedItem, \
Akonadi::Item &ne  // otherwise Akonadi::ItemModifyJob just ignores them,
             // see Akonadi::ItemModifyJob::doStart()
             newItem.setFlags( newItem.flags() );
-            newItem.clearFlag( KRss::RssItem::flagNew() );
             return true;
         }
     }
diff --git a/krss/krssresource/rssresourcebasejobs.cpp \
b/krss/krssresource/rssresourcebasejobs.cpp index 0fecb0f..5671224 100644
--- a/krss/krssresource/rssresourcebasejobs.cpp
+++ b/krss/krssresource/rssresourcebasejobs.cpp
@@ -577,17 +577,6 @@ public:
     FeedCollectionFetchJob * const q;
 };
 
-bool FeedCollectionFetchJob::Private::clearNewFlag( Akonadi::Item& item )
-{
-    if ( item.hasFlag( KRss::RssItem::flagNew() ) ) {
-        kDebug() << "Clearing 'New' on" << item.remoteId();
-        item.clearFlag( KRss::RssItem::flagNew() );
-        return true;
-    }
-
-    return false;
-}
-
 void FeedCollectionFetchJob::Private::updatePercent()
 {
     const uint p = qBound( 0, qRound( std::accumulate( m_percentages.begin(), \
m_percentages.end(), 0u ) @@ -606,7 +595,9 @@ void \
FeedCollectionFetchJob::Private::doStart()  else {
         BatchItemModifyJob * const job = new BatchItemModifyJob();
         job->setFeed( m_collection );
+#ifdef KRSS_PORT_DISABLED
         job->setModifier( boost::bind( &Private::clearNewFlag, this, _1 ) );
+#endif
         connect( job, SIGNAL( result( KJob* ) ), q, SLOT( slotOldItemsMarked( KJob* \
) ) );  job->start();
     }
@@ -626,22 +617,6 @@ void \
FeedCollectionFetchJob::Private::slotAkonadiCollectionRetrieved( KJob *job  Q_ASSERT( \
rjob );  m_collection = rjob->feedCollection();
 
-    BatchItemModifyJob * const bjob = new BatchItemModifyJob();
-    bjob->setFeed( m_collection );
-    bjob->setModifier( boost::bind( &Private::clearNewFlag, this, _1 ) );
-    connect( bjob, SIGNAL( result( KJob* ) ), q, SLOT( slotOldItemsMarked( KJob* ) ) \
                );
-    bjob->start();
-}
-
-void FeedCollectionFetchJob::Private::slotOldItemsMarked( KJob *job )
-{
-    if ( job->error() ) {
-        kWarning() << job->errorString();
-        q->setError( FeedCollectionFetchJob::CouldNotMarkOldItems );
-        q->setErrorText( job->errorString() );
-        q->emitResult();
-        return;
-    }
 
     m_percentages.insert( 0, 100 );
     updatePercent();
@@ -651,6 +626,7 @@ void FeedCollectionFetchJob::Private::slotOldItemsMarked( KJob \
*job )  m_backendJob->start();
 }
 
+
 void FeedCollectionFetchJob::Private::slotFeedFetched( KJob *job )
 {
     if ( job->error() ) {
diff --git a/krss/krssresource/rssresourcebasejobs.h \
b/krss/krssresource/rssresourcebasejobs.h index c42d98b..d1208ab 100644
--- a/krss/krssresource/rssresourcebasejobs.h
+++ b/krss/krssresource/rssresourcebasejobs.h
@@ -184,7 +184,6 @@ private:
     Q_DISABLE_COPY( FeedCollectionFetchJob )
     Q_PRIVATE_SLOT( d, void doStart() )
     Q_PRIVATE_SLOT( d, void slotAkonadiCollectionRetrieved( KJob* ) )
-    Q_PRIVATE_SLOT( d, void slotOldItemsMarked( KJob* ) )
     Q_PRIVATE_SLOT( d, void slotFeedFetched( KJob* ) )
     Q_PRIVATE_SLOT( d, void slotItemsSynced( KJob *job ) )
 };
diff --git a/krss/krssresource/tests/importitemsjobtest.cpp \
b/krss/krssresource/tests/importitemsjobtest.cpp index 654d47d..e8fb9a7 100644
--- a/krss/krssresource/tests/importitemsjobtest.cpp
+++ b/krss/krssresource/tests/importitemsjobtest.cpp
@@ -75,7 +75,6 @@ void ImportItemsJobTest::testCorrectness()
         if ( item.remoteId() == \
QLatin1String("tag:blogger.com,1999:blog-6431293039768060590.post-962616740612527640") \
) {  // new + unread
             QVERIFY( item.flags().count() == 2 );
-            QVERIFY( item.hasFlag( KRss::RssItem::flagNew() ) );
             QVERIFY( !item.hasFlag( KRss::RssItem::flagRead() ) );
             QVERIFY( item.hasPayload<KRss::RssItem>() );
             const KRss::RssItem rssItem = item.payload<KRss::RssItem>();
@@ -116,7 +115,6 @@ void ImportItemsJobTest::testCorrectness()
         else if ( item.remoteId() == \
QLatin1String("http://hemswell.lincoln.ac.uk/~padams/index.php?entry=entry090317-065020") \
) {  // new (implies unread) + important
             QVERIFY( item.flags().count() == 3 );
-            QVERIFY( item.hasFlag( KRss::RssItem::flagNew() ) );
             QVERIFY( !item.hasFlag( KRss::RssItem::flagRead() ) );
             QVERIFY( item.hasFlag( KRss::RssItem::flagImportant() ) );
         }
diff --git a/krss/krssresource/tests/itemimportreadertest.cpp \
b/krss/krssresource/tests/itemimportreadertest.cpp index 345b7cd..495c464 100644
--- a/krss/krssresource/tests/itemimportreadertest.cpp
+++ b/krss/krssresource/tests/itemimportreadertest.cpp
@@ -49,14 +49,12 @@ void ItemImportReaderTest::testCorrectness()
     QVERIFY( items.contains( \
QLatin1String("tag:blogger.com,1999:blog-6431293039768060590.post-962616740612527640") \
                ) );
     const Akonadi::Item item1 = items.value( \
QLatin1String("tag:blogger.com,1999:blog-6431293039768060590.post-962616740612527640") \
);  QVERIFY( item1.flags().count() == 2 );
-    QVERIFY( item1.hasFlag( KRss::RssItem::flagNew() ) );
     QVERIFY( !item1.hasFlag( KRss::RssItem::flagRead() ) );
 
     // new (implies unread) + important
     QVERIFY( items.contains( \
QLatin1String("http://hemswell.lincoln.ac.uk/~padams/index.php?entry=entry090317-065020") \
                ) );
     const Akonadi::Item item2 = items.value( \
QLatin1String("http://hemswell.lincoln.ac.uk/~padams/index.php?entry=entry090317-065020") \
);  QVERIFY( item2.flags().count() == 3 );
-    QVERIFY( item2.hasFlag( KRss::RssItem::flagNew() ) );
     QVERIFY( !item2.hasFlag( KRss::RssItem::flagRead() ) );
     QVERIFY( item2.hasFlag( KRss::RssItem::flagImportant() ) );
 
diff --git a/krss/krssresource/tests/rssitemsynctest.cpp \
b/krss/krssresource/tests/rssitemsynctest.cpp index 5cb8405..49b28bb 100644
--- a/krss/krssresource/tests/rssitemsynctest.cpp
+++ b/krss/krssresource/tests/rssitemsynctest.cpp
@@ -79,7 +79,6 @@ void RssItemSyncTest::testSyncWithoutFlags()
     newItemNotChanged.setRemoteId( QLatin1String("remote-id-012345") );
     newItemNotChanged.setMimeType( QLatin1String("application/rss+xml") );
     newItemNotChanged.setPayload<KRss::RssItem>( originalArticle );
-    newItemNotChanged.setFlags( Akonadi::Item::Flags() << KRss::RssItem::flagNew() \
                );
     QVERIFY( sync->updateItemExposed( storedItem, newItemNotChanged ) == false );
 
     // verify that itemsync detects updated articles
@@ -89,10 +88,8 @@ void RssItemSyncTest::testSyncWithoutFlags()
     newItemChanged.setRemoteId( QLatin1String("remote-id-012345") );
     newItemChanged.setMimeType( QLatin1String("application/rss+xml") );
     newItemChanged.setPayload<KRss::RssItem>( updatedArticle );
-    newItemChanged.setFlags( Akonadi::Item::Flags() << KRss::RssItem::flagNew() );
     QVERIFY( sync->updateItemExposed( storedItem, newItemChanged ) == true );
-    QCOMPARE( newItemChanged.flags(), Akonadi::Item::Flags() << \
                KRss::RssItem::flagImportant() <<
-                                      KRss::RssItem::flagNew() );
+    QCOMPARE( newItemChanged.flags(), Akonadi::Item::Flags() << \
KRss::RssItem::flagImportant() );  
     // verify that itemsync skips *updated* articles if their guid is hash
     originalArticle.setGuidIsHash( true );
@@ -102,7 +99,6 @@ void RssItemSyncTest::testSyncWithoutFlags()
     newItemChanged_Guid.setRemoteId( QLatin1String("remote-id-012345") );
     newItemChanged_Guid.setMimeType( QLatin1String("application/rss+xml") );
     newItemChanged_Guid.setPayload<KRss::RssItem>( updatedArticle );
-    newItemChanged_Guid.setFlags( Akonadi::Item::Flags() << KRss::RssItem::flagNew() \
                );
     QVERIFY( sync->updateItemExposed( storedItem, newItemChanged_Guid ) == false );
 }
 
diff --git a/krss/resources/feederagent/nepomukrssfeeder.cpp \
b/krss/resources/feederagent/nepomukrssfeeder.cpp index c6f9015..d6337c4 100644
--- a/krss/resources/feederagent/nepomukrssfeeder.cpp
+++ b/krss/resources/feederagent/nepomukrssfeeder.cpp
@@ -50,7 +50,6 @@ void NepomukRssFeeder::updateItem( const Akonadi::Item& item, const \
QUrl& graphU  const KRss::RssItem payload = item.payload<KRss::RssItem>();
     rssChannelItem.setTitle( payload.title() );
     rssChannelItem.setPlainTextContent( payload.content().isEmpty() ? \
                payload.description() : payload.content() );
-    rssChannelItem.setIsNew( item.hasFlag( KRss::RssItem::flagNew() ) );
     rssChannelItem.setIsRead( item.hasFlag( KRss::RssItem::flagRead() ) );
     rssChannelItem.setIsImportant( item.hasFlag( KRss::RssItem::flagImportant() ) );
     // TODO: virtuoso complains about the date properties
diff --git a/krss/resources/newsgatorresource/newsgatorjobs.cpp \
b/krss/resources/newsgatorresource/newsgatorjobs.cpp index 7d92460..154bdda 100644
--- a/krss/resources/newsgatorresource/newsgatorjobs.cpp
+++ b/krss/resources/newsgatorresource/newsgatorjobs.cpp
@@ -750,9 +750,7 @@ void NewsgatorFeedFetchJob::slotFeedFetched( Syndication::Loader \
*loader, Syndic  item.setMimeType( KRss::Item::mimeType() );
 
             // handle the item's flags
-            if ( rssItem.customProperty( \
QLatin1String("http://newsgator.com/schema/extensionsread") ) == \
                QLatin1String("False") ) {
-                item.setFlag( KRss::RssItem::flagNew() );
-            } else {
+            if ( rssItem.customProperty( \
QLatin1String("http://newsgator.com/schema/extensionsread") ) != \
QLatin1String("False") ) {  item.setFlag( KRss::RssItem::flagRead() );
             }
 
diff --git a/krss/resources/opmlresource/opmljobs.cpp \
b/krss/resources/opmlresource/opmljobs.cpp index c953638..811ec1f 100644
--- a/krss/resources/opmlresource/opmljobs.cpp
+++ b/krss/resources/opmlresource/opmljobs.cpp
@@ -691,7 +691,6 @@ void OpmlFeedFetchJob::slotFeedFetched( Syndication::Loader \
*loader, Syndication  item.setRemoteId( syndItem->id() );
             item.setMimeType( KRss::Item::mimeType() );
             item.setPayload<KRss::RssItem>( KRssResource::fromSyndicationItem( \
                syndItem ) );
-            item.setFlag( KRss::RssItem::flagNew() );
             m_items.append( item );
         }
         emitResult();


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

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