Line data Source code
1 : #ifndef NEWSITEM_H
2 : #define NEWSITEM_H
3 :
4 : #include <QString>
5 : #include <QUrl>
6 : #include <QDateTime>
7 : #include <QVariant>
8 : #include <QDebug>
9 :
10 : #include "../FangObject.h"
11 : #include "DBObject.h"
12 :
13 : class FeedItem;
14 :
15 : class NewsItem : public FangObject, DBObject
16 : {
17 : Q_OBJECT
18 :
19 : public:
20 :
21 : NewsItem(QObject *parent = nullptr);
22 :
23 : // This is the c'tor you'll want to use.
24 : explicit NewsItem(
25 : FeedItem* feed,
26 : qint64 id,
27 : qint64 feedId,
28 : const QString& title,
29 : const QString& author,
30 : const QString& summary,
31 : const QString& content,
32 : const QDateTime& timestamp,
33 : const QUrl& url,
34 : bool pinned,
35 : const QString& mediaImageURL = "");
36 :
37 5298 : virtual ~NewsItem() {}
38 :
39 : // For sorting
40 : bool operator<(const NewsItem& rhs);
41 : static bool LessThan(const NewsItem* left, const NewsItem* right);
42 :
43 3 : inline FeedItem* getFeed() const { return feed; }
44 :
45 : // This returns the actual feed database ID
46 4 : inline qint64 getFeedId() const { return _feedId; }
47 :
48 66 : inline QString getTitle() const { return title; }
49 3 : inline QString getAuthor() const { return author; }
50 3 : inline QString getSummary() const { return summary; }
51 125 : inline QString getContent() const { return content; }
52 3260 : inline QDateTime getTimestamp() const { return timestamp; }
53 64 : inline QUrl getURL() const { return url; }
54 5620 : virtual inline qint64 getDbID() const { return _id; }
55 66 : inline bool getPinned() const { return pinned; }
56 2 : inline void setPinned(bool p) { pinned = p; }
57 : inline QString getMediaImageURL() const { return mediaImageURL; }
58 :
59 : private:
60 : FeedItem* feed;
61 : qint64 _id;
62 : qint64 _feedId;
63 : QString title;
64 : QString author;
65 : QString summary;
66 : QString content;
67 : QDateTime timestamp;
68 : QUrl url;
69 : bool pinned;
70 : QString mediaImageURL;
71 : };
72 :
73 : #endif // NEWSITEM_H
|