Line data Source code
1 : #include "SetFolderOpenOperation.h"
2 :
3 3 : SetFolderOpenOperation::SetFolderOpenOperation(OperationManager *parent, FeedItem* feed) :
4 : DBOperation(parent),
5 3 : feed(feed)
6 : {
7 3 : }
8 :
9 3 : void SetFolderOpenOperation::execute()
10 : {
11 : // Don't persist special feeds.
12 3 : if (feed->isSpecialFeed()) {
13 1 : return;
14 : }
15 :
16 2 : QSqlQuery query(db());
17 2 : query.prepare("UPDATE FeedItemTable SET folder_open = :folder_open WHERE id = :feed_id");
18 2 : query.bindValue(":folder_open", feed->data(FeedItem::FolderOpenRole).toBool());
19 2 : query.bindValue(":feed_id", feed->getDbID());
20 :
21 2 : if (!query.exec()) {
22 0 : reportSQLError(query, "Unable to save folder open state.");
23 0 : return;
24 : }
25 2 : }
|