diff --git a/resources/scripts/web_ui/rssguard.html b/resources/scripts/web_ui/rssguard.html index 9cbb14ead..fe996685f 100644 --- a/resources/scripts/web_ui/rssguard.html +++ b/resources/scripts/web_ui/rssguard.html @@ -13,7 +13,7 @@ } .entry { - max-width: 720px; + max-width: 90%; xborder: 1px solid red; padding: 20px; margin: 3px auto; diff --git a/src/librssguard/core/message.cpp b/src/librssguard/core/message.cpp index f27ff9b7a..c973f63bc 100644 --- a/src/librssguard/core/message.cpp +++ b/src/librssguard/core/message.cpp @@ -105,7 +105,8 @@ QString Enclosures::encodeEnclosuresToString(const QList& enclosures) } Message::Message() { - m_title = m_url = m_author = m_contents = m_rawContents = m_feedId = m_customId = m_customHash = QL1S(""); + m_title = m_url = m_author = m_contents = m_rawContents = m_feedId = m_feedTitle = m_customId = m_customHash = + QL1S(""); m_enclosures = QList(); m_categories = QList(); m_accountId = m_id = 0; @@ -182,6 +183,8 @@ QJsonObject Message::toJson() const { obj.insert(QSL("custom_id"), m_customId); obj.insert(QSL("custom_hash"), m_customHash); obj.insert(QSL("feed_custom_id"), m_feedId); + obj.insert(QSL("feed_title"), m_feedTitle); + obj.insert(QSL("is_rtl"), m_isRtl); obj.insert(QSL("enclosures"), Enclosures::encodeEnclosuresToJson(m_enclosures)); return obj; @@ -203,6 +206,7 @@ Message Message::fromSqlRecord(const QSqlRecord& record, bool* result) { message.m_isImportant = record.value(MSG_DB_IMPORTANT_INDEX).toBool(); message.m_isDeleted = record.value(MSG_DB_DELETED_INDEX).toBool(); message.m_feedId = record.value(MSG_DB_FEED_CUSTOM_ID_INDEX).toString(); + message.m_feedTitle = record.value(MSG_DB_FEED_TITLE_INDEX).toString(); message.m_title = record.value(MSG_DB_TITLE_INDEX).toString(); message.m_url = record.value(MSG_DB_URL_INDEX).toString(); message.m_author = record.value(MSG_DB_AUTHOR_INDEX).toString(); diff --git a/src/librssguard/core/message.h b/src/librssguard/core/message.h index c3a2476fc..9364c82fa 100644 --- a/src/librssguard/core/message.h +++ b/src/librssguard/core/message.h @@ -75,6 +75,7 @@ class RSSGUARD_DLLSPEC Message { // to localtime when needed. QDateTime m_created; QString m_feedId; + QString m_feedTitle; int m_accountId; int m_id; QString m_customId; diff --git a/src/librssguard/database/databasequeries.cpp b/src/librssguard/database/databasequeries.cpp index 74eb70ac5..9221c67d1 100644 --- a/src/librssguard/database/databasequeries.cpp +++ b/src/librssguard/database/databasequeries.cpp @@ -1184,31 +1184,32 @@ QList DatabaseQueries::getArticlesSlice(const QSqlDatabase& db, int row_limit) { QList messages; QSqlQuery q(db); - QString feed_clause = !feed_custom_id.isEmpty() ? QSL("feed = :feed AND") : QString(); + QString feed_clause = !feed_custom_id.isEmpty() ? QSL("Messages.feed = :feed AND") : QString(); QString date_created_clause; if (start_after_article_date > 0) { if (newest_first) { - date_created_clause = QSL("date_created < :date_created AND "); + date_created_clause = QSL("Messages.date_created < :date_created AND "); } else { - date_created_clause = QSL("date_created > :date_created AND "); + date_created_clause = QSL("Messages.date_created > :date_created AND "); } } q.setForwardOnly(true); q.prepare(QSL("SELECT %1 " - "FROM Messages " - "WHERE is_deleted = 0 AND " - " is_pdeleted = 0 AND " - " is_read = :is_read AND " + "FROM Messages LEFT JOIN Feeds ON Messages.feed = Feeds.custom_id AND " + " Messages.account_id = Feeds.account_id " + "WHERE Messages.is_deleted = 0 AND " + " Messages.is_pdeleted = 0 AND " + " Messages.is_read = :is_read AND " //" date_created > :date_created AND " " %3 " " %4 " - " account_id = :account_id " + " Messages.account_id = :account_id " "ORDER BY Messages.date_created %2 " "LIMIT :row_limit OFFSET :row_offset;") - .arg(messageTableAttributes(true, db.driverName() == QSL(APP_DB_SQLITE_DRIVER)).values().join(QSL(", ")), + .arg(messageTableAttributes(false, db.driverName() == QSL(APP_DB_SQLITE_DRIVER)).values().join(QSL(", ")), newest_first ? QSL("DESC") : QSL("ASC"), feed_clause, date_created_clause));