From ad94ce2f0e3e590ef920f661e1578933daf59d26 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Sun, 6 Aug 2023 07:52:09 +0200 Subject: [PATCH 1/2] fix db v7 schema migration sql code --- resources/sql/db_init_sqlite.sql | 2 +- resources/sql/db_update_sqlite_6_7.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/sql/db_init_sqlite.sql b/resources/sql/db_init_sqlite.sql index 120d40168..ebbcbc501 100644 --- a/resources/sql/db_init_sqlite.sql +++ b/resources/sql/db_init_sqlite.sql @@ -106,7 +106,7 @@ CREATE TABLE Probes ( id $$, name TEXT NOT NULL CHECK (name != ''), color VARCHAR(7) NOT NULL CHECK (color != ''), - fltr TEXT NOT NULL CHECK (filter != ''), /* Regular expression. */ + fltr TEXT NOT NULL CHECK (fltr != ''), /* Regular expression. */ account_id INTEGER NOT NULL, FOREIGN KEY (account_id) REFERENCES Accounts (id) ON DELETE CASCADE diff --git a/resources/sql/db_update_sqlite_6_7.sql b/resources/sql/db_update_sqlite_6_7.sql index 92d096c81..fafcef115 100755 --- a/resources/sql/db_update_sqlite_6_7.sql +++ b/resources/sql/db_update_sqlite_6_7.sql @@ -2,7 +2,7 @@ CREATE TABLE Probes ( id $$, name TEXT NOT NULL CHECK (name != ''), color VARCHAR(7) NOT NULL CHECK (color != ''), - fltr TEXT NOT NULL CHECK (filter != ''), /* Regular expression. */ + fltr TEXT NOT NULL CHECK (fltr != ''), /* Regular expression. */ account_id INTEGER NOT NULL, FOREIGN KEY (account_id) REFERENCES Accounts (id) ON DELETE CASCADE From b2f722e4a1cfa93f05f1444a73c708080bb577d0 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Sun, 6 Aug 2023 21:34:52 +0200 Subject: [PATCH 2/2] Fix wrong label updating counts after article marked. --- .../services/abstract/serviceroot.cpp | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/src/librssguard/services/abstract/serviceroot.cpp b/src/librssguard/services/abstract/serviceroot.cpp index 067fe747e..fc1e29219 100644 --- a/src/librssguard/services/abstract/serviceroot.cpp +++ b/src/librssguard/services/abstract/serviceroot.cpp @@ -853,16 +853,30 @@ bool ServiceRoot::onAfterSetMessagesRead(RootItem* selected_item, // 4. Labels assigned. if (labelsNode() != nullptr) { auto db = qApp->database()->driver()->connection(metaObject()->className()); - auto lbls = DatabaseQueries::getCountOfAssignedLabelsToMessages(db, messages, accountId()); + QStringList lbls; // = DatabaseQueries::getCountOfAssignedLabelsToMessages(db, messages, accountId()); - for (const QString& lbl_custom_id : lbls.keys()) { - auto* lbl = labelsNode()->labelById(lbl_custom_id); - - if (lbl != nullptr) { - lbl->setCountOfUnreadMessages(lbls.value(lbl_custom_id).m_unread); - to_update << lbl; + for (const Message& msg : messages) { + for (const QString& lbl : msg.m_assignedLabelsIds) { + if (!lbls.contains(lbl)) { + lbls.append(lbl); + } } } + + for (const QString& lbl : lbls) { + Label* l = labelsNode()->labelById(lbl); + l->updateCounts(false); + to_update << l; + } + /* + for (const QString& lbl_custom_id : lbls.keys()) { + auto* lbl = labelsNode()->labelById(lbl_custom_id); + + if (lbl != nullptr) { + lbl->setCountOfUnreadMessages(lbls.value(lbl_custom_id).m_unread); + to_update << lbl; + } + }*/ } }