diff --git a/src/services/standard/standardfeed.cpp b/src/services/standard/standardfeed.cpp index 0b22d15a9..c7ea6fecc 100755 --- a/src/services/standard/standardfeed.cpp +++ b/src/services/standard/standardfeed.cpp @@ -135,7 +135,7 @@ QList StandardFeed::undeletedMessages() const { QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); QSqlQuery query_read_msg(database); query_read_msg.setForwardOnly(true); - query_read_msg.prepare("SELECT title, url, author, date_created, contents " + query_read_msg.prepare("SELECT title, url, author, date_created, contents, enclosures " "FROM Messages " "WHERE is_deleted = 0 AND feed = :feed AND account_id = :account_id;"); @@ -154,6 +154,7 @@ QList StandardFeed::undeletedMessages() const { message.m_author = query_read_msg.value(2).toString(); message.m_created = TextFactory::parseDateTime(query_read_msg.value(3).value()); message.m_contents = query_read_msg.value(4).toString(); + message.m_enclosures = Enclosures::decodeEnclosuresFromString(query_read_msg.value(5).toString()); messages.append(message); } diff --git a/src/services/tt-rss/ttrssfeed.cpp b/src/services/tt-rss/ttrssfeed.cpp index 9b6916c86..849b67ace 100755 --- a/src/services/tt-rss/ttrssfeed.cpp +++ b/src/services/tt-rss/ttrssfeed.cpp @@ -21,6 +21,7 @@ #include "miscellaneous/application.h" #include "miscellaneous/databasefactory.h" #include "miscellaneous/iconfactory.h" +#include "miscellaneous/textfactory.h" #include "services/tt-rss/ttrssserviceroot.h" #include @@ -86,7 +87,37 @@ int TtRssFeed::update() { } QList TtRssFeed::undeletedMessages() const { - return QList(); + QList messages; + int account_id = const_cast(this)->serviceRoot()->accountId(); + QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings); + QSqlQuery query_read_msg(database); + query_read_msg.setForwardOnly(true); + query_read_msg.prepare("SELECT title, url, author, date_created, contents, enclosures " + "FROM Messages " + "WHERE is_deleted = 0 AND feed = :feed AND account_id = :account_id;"); + + query_read_msg.bindValue(QSL(":feed"), id()); + query_read_msg.bindValue(QSL(":account_id"), account_id); + + // FIXME: Fix those const functions, this is fucking ugly. + + if (query_read_msg.exec()) { + while (query_read_msg.next()) { + Message message; + + message.m_feedId = account_id; + message.m_title = query_read_msg.value(0).toString(); + message.m_url = query_read_msg.value(1).toString(); + message.m_author = query_read_msg.value(2).toString(); + message.m_created = TextFactory::parseDateTime(query_read_msg.value(3).value()); + message.m_contents = query_read_msg.value(4).toString(); + message.m_enclosures = Enclosures::decodeEnclosuresFromString(query_read_msg.value(5).toString()); + + messages.append(message); + } + } + + return messages; } int TtRssFeed::customId() const {