Fixed #97.
This commit is contained in:
parent
3b4ac7cc96
commit
4224ee0170
@ -3,6 +3,7 @@
|
||||
|
||||
Added:
|
||||
▪ Auto-update status of feeds is now more general and complete. (issue #91)
|
||||
▪ Display feed title in list of messages. (issue #97)
|
||||
|
||||
Changed:
|
||||
▪ Updating of RSS Guard now uses GitHub API. (issue #109)
|
||||
|
@ -27,18 +27,23 @@
|
||||
|
||||
|
||||
MessagesModel::MessagesModel(QObject *parent)
|
||||
: QSqlTableModel(parent, qApp->database()->connection(QSL("MessagesModel"), DatabaseFactory::FromSettings)),
|
||||
: QSqlRelationalTableModel(parent, qApp->database()->connection(QSL("MessagesModel"), DatabaseFactory::FromSettings)),
|
||||
m_messageHighlighter(NoHighlighting), m_customDateFormat(QString()) {
|
||||
setupFonts();
|
||||
setupIcons();
|
||||
setupHeaderData();
|
||||
updateDateFormat();
|
||||
|
||||
|
||||
|
||||
// Set desired table and edit strategy.
|
||||
// NOTE: Changes to the database are actually NOT submitted
|
||||
// via model, but via DIRECT SQL calls are used to do persistent messages.
|
||||
setEditStrategy(QSqlTableModel::OnManualSubmit);
|
||||
setTable(QSL("Messages"));
|
||||
|
||||
setJoinMode(QSqlRelationalTableModel::LeftJoin);
|
||||
setRelation(MSG_DB_FEED_INDEX, QSqlRelation("Feeds", "custom_id", "title"));
|
||||
loadMessages(nullptr);
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
#ifndef MESSAGESMODEL_H
|
||||
#define MESSAGESMODEL_H
|
||||
|
||||
#include <QSqlTableModel>
|
||||
#include <QSqlRelationalTableModel>
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "core/message.h"
|
||||
@ -28,7 +28,7 @@
|
||||
#include <QIcon>
|
||||
|
||||
|
||||
class MessagesModel : public QSqlTableModel {
|
||||
class MessagesModel : public QSqlRelationalTableModel {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
@ -541,7 +541,7 @@ void MessagesView::adjustColumns() {
|
||||
// Hide columns.
|
||||
hideColumn(MSG_DB_ID_INDEX);
|
||||
hideColumn(MSG_DB_DELETED_INDEX);
|
||||
hideColumn(MSG_DB_FEED_INDEX);
|
||||
//hideColumn(MSG_DB_FEED_INDEX);
|
||||
hideColumn(MSG_DB_URL_INDEX);
|
||||
hideColumn(MSG_DB_CONTENTS_INDEX);
|
||||
hideColumn(MSG_DB_PDELETED_INDEX);
|
||||
|
@ -388,13 +388,13 @@ void ServiceRoot::setAccountId(int account_id) {
|
||||
|
||||
bool ServiceRoot::loadMessagesForItem(RootItem *item, QSqlTableModel *model) {
|
||||
if (item->kind() == RootItemKind::Bin) {
|
||||
model->setFilter(QString("is_deleted = 1 AND is_pdeleted = 0 AND account_id = %1").arg(QString::number(accountId())));
|
||||
model->setFilter(QString("Messages.is_deleted = 1 AND Messages.is_pdeleted = 0 AND Messages.account_id = %1").arg(QString::number(accountId())));
|
||||
}
|
||||
else {
|
||||
QList<Feed*> children = item->getSubTreeFeeds();
|
||||
QString filter_clause = textualFeedIds(children).join(QSL(", "));
|
||||
|
||||
model->setFilter(QString("feed IN (%1) AND is_deleted = 0 AND is_pdeleted = 0 AND account_id = %2").arg(filter_clause,
|
||||
model->setFilter(QString("Messages.feed IN (%1) AND Messages.is_deleted = 0 AND Messages.is_pdeleted = 0 AND Messages.account_id = %2").arg(filter_clause,
|
||||
QString::number(accountId())));
|
||||
qDebug("Loading messages from feeds: %s.", qPrintable(filter_clause));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user