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

List:       kde-commits
Subject:    [kdepimlibs/akregator_port] krss: move some convenience from item to RssItem
From:       Frank Osterfeld <frank.osterfeld () kdemail ! net>
Date:       2012-03-31 15:16:22
Message-ID: 20120331151622.4718DA60F5 () git ! kde ! org
[Download RAW message or body]

Git commit 43166032bd3a36de040ce8de2d9945998b5d3da5 by Frank Osterfeld.
Committed on 17/10/2009 at 11:01.
Pushed by osterfeld into branch 'akregator_port'.

move some convenience from item to RssItem

svn path=/branches/work/akonadi-ports/kdepim/; revision=1036390

M  +6    -9    krss/item.cpp
M  +0    -1    krss/item_p.h
M  +35   -0    krss/rssitem.cpp
M  +7    -0    krss/rssitem.h

http://commits.kde.org/kdepimlibs/43166032bd3a36de040ce8de2d9945998b5d3da5

diff --git a/krss/item.cpp b/krss/item.cpp
index 1329768..b59393a 100644
--- a/krss/item.cpp
+++ b/krss/item.cpp
@@ -116,9 +116,7 @@ QString Item::title() const
 
 QString Item::titleAsPlainText() const
 {
-    if ( d->titleAsPlainText.isNull() )
-        d->titleAsPlainText = Syndication::htmlToPlainText( title() );
-    return d->titleAsPlainText;
+    return d->akonadiItem.payload<RssItem>().titleAsPlainText();
 }
 
 void Item::setTitle( const QString& title )
@@ -126,7 +124,6 @@ void Item::setTitle( const QString& title )
     RssItem payload = d->akonadiItem.payload<RssItem>();
     payload.setTitle( title );
     d->akonadiItem.setPayload<RssItem>( payload );
-    d->titleAsPlainText.clear();
 }
 
 QString Item::description() const
@@ -348,27 +345,27 @@ Item::Status Item::status() const
 
 bool Item::isImportant() const
 {
-    return d->akonadiItem.hasFlag( RssItem::flagImportant() );
+    return RssItem::isImportant( d->akonadiItem );
 }
 
 bool Item::isRead() const
 {
-    return d->akonadiItem.hasFlag( RssItem::flagRead() );
+    return RssItem::isRead( d->akonadiItem );
 }
 
 bool Item::isUnread() const
 {
-    return !isRead();
+    return RssItem::isUnread( d->akonadiItem );
 }
 
 bool Item::isNew() const
 {
-    return d->akonadiItem.hasFlag( RssItem::flagNew() );
+    return RssItem::isNew( d->akonadiItem );
 }
 
 bool Item::isDeleted() const
 {
-    return d->akonadiItem.hasFlag( RssItem::flagDeleted() );
+    return RssItem::isDeleted( d->akonadiItem );
 }
 
 void Item::setStatus( const Item::Status& stat )
diff --git a/krss/item_p.h b/krss/item_p.h
index 56713ca..044b197 100644
--- a/krss/item_p.h
+++ b/krss/item_p.h
@@ -60,7 +60,6 @@ public:
     }
 
     Akonadi::Item akonadiItem;
-    mutable QString titleAsPlainText;
 };
 
 } // namespace KRss
diff --git a/krss/rssitem.cpp b/krss/rssitem.cpp
index 1753b8d..ee3865c 100644
--- a/krss/rssitem.cpp
+++ b/krss/rssitem.cpp
@@ -25,6 +25,8 @@
 #include "enclosure.h"
 #include "person.h"
 
+#include <Syndication/Tools>
+
 #include <KDateTime>
 
 #include <QtCore/QHash>
@@ -94,6 +96,7 @@ public:
     int feedId;
     bool headersLoaded;
     bool contentLoaded;
+    mutable QString titleAsPlainText;
 };
 
 RssItem::Private::Private( const Private& other )
@@ -141,6 +144,32 @@ QByteArray RssItem::flagDeleted()
     return "\\Deleted";
 }
 
+
+bool RssItem::isImportant( const Akonadi::Item& item )
+{
+    return item.hasFlag( flagImportant() );
+}
+
+bool RssItem::isRead( const Akonadi::Item& item )
+{
+    return item.hasFlag( flagRead() );
+}
+
+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() );
+}
+
 ItemId RssItem::itemIdFromAkonadi( const Akonadi::Item::Id& id )
 {
     return id;
@@ -210,6 +239,12 @@ QString RssItem::title() const
     return d->title;
 }
 
+QString RssItem::titleAsPlainText() const {
+    if ( d->titleAsPlainText.isNull() )
+        d->titleAsPlainText = Syndication::htmlToPlainText( title() );
+    return d->titleAsPlainText;
+}
+
 void RssItem::setTitle( const QString& title )
 {
     d->title = title;
diff --git a/krss/rssitem.h b/krss/rssitem.h
index 932cbbc..543b1be 100644
--- a/krss/rssitem.h
+++ b/krss/rssitem.h
@@ -63,6 +63,12 @@ public:
     bool operator==( const RssItem& other ) const;
     bool operator!=( const RssItem& other ) const;
 
+    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;
     void setHeadersLoaded( bool headersLoaded );
     bool contentLoaded() const;
@@ -75,6 +81,7 @@ public:
     int sourceFeedId() const;
     void setSourceFeedId( int id );
     QString title() const;
+    QString titleAsPlainText() const;
     void setTitle( const QString& title );
     QString link() const;
     void setLink( const QString& link );

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

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