Line data Source code
1 : #include "LoadPinnedNewsOperation.h"
2 :
3 5 : LoadPinnedNewsOperation::LoadPinnedNewsOperation(OperationManager *parent, PinnedFeedItem *feedItem, LoadMode mode, int loadLimit) :
4 5 : LisvelLoadNewsOperation(parent, feedItem, mode, loadLimit, false)
5 : {
6 5 : }
7 :
8 :
9 5 : qint64 LoadPinnedNewsOperation::getFirstNewsID()
10 : {
11 5 : const QString queryString = "SELECT id FROM NewsItemTable WHERE pinned ORDER BY timestamp ASC, id ASC LIMIT 1";
12 :
13 5 : QSqlQuery query(db());
14 5 : query.prepare(queryString);
15 :
16 5 : if (!query.exec() || !query.next()) {
17 : // No news yet!
18 0 : return -1;
19 : }
20 :
21 5 : return query.value("id").toULongLong();
22 5 : }
23 :
24 4 : QString LoadPinnedNewsOperation::appendNewQueryString()
25 : {
26 8 : return "SELECT * FROM NewsItemTable WHERE pinned AND id NOT IN (" + getLoadedIDString() +
27 8 : ") ORDER BY timestamp ASC, id ASC LIMIT :load_limit";
28 : }
29 :
30 1 : QString LoadPinnedNewsOperation::prependNewQueryString()
31 : {
32 1 : return "";
33 : }
34 :
35 :
|