diff --git a/src/librssguard/miscellaneous/application.cpp b/src/librssguard/miscellaneous/application.cpp index 02d6e16b5..d1d58a89a 100644 --- a/src/librssguard/miscellaneous/application.cpp +++ b/src/librssguard/miscellaneous/application.cpp @@ -3,6 +3,7 @@ #include "miscellaneous/application.h" #include "3rd-party/boolinq/boolinq.h" +#include "3rd-party/sqlite/sqlite3.h" #include "dynamic-shortcuts/dynamicshortcuts.h" #include "exceptions/applicationexception.h" #include "gui/dialogs/formabout.h" @@ -233,6 +234,7 @@ Application::Application(const QString& id, int& argc, char** argv, const QStrin setupWorkHorsePool(); + qDebugNN << LOGSEC_CORE << "SQLite version:" << QUOTE_W_SPACE_DOT(SQLITE_VERSION); qDebugNN << LOGSEC_CORE << "OpenSSL version:" << QUOTE_W_SPACE_DOT(QSslSocket::sslLibraryVersionString()); qDebugNN << LOGSEC_CORE << "OpenSSL supported:" << QUOTE_W_SPACE_DOT(QSslSocket::supportsSsl()); qDebugNN << LOGSEC_CORE << "Global thread pool has" diff --git a/src/librssguard/services/abstract/category.cpp b/src/librssguard/services/abstract/category.cpp index 89250a1ca..bff9a3f8c 100644 --- a/src/librssguard/services/abstract/category.cpp +++ b/src/librssguard/services/abstract/category.cpp @@ -20,13 +20,13 @@ Category::Category(const Category& other) : RootItem(other) { void Category::updateCounts(bool including_total_count) { QList feeds; - auto str = getSubTree(); + auto str = childItems(); for (RootItem* child : qAsConst(str)) { if (child->kind() == RootItem::Kind::Feed) { feeds.append(child->toFeed()); } - else if (child->kind() != RootItem::Kind::Category && child->kind() != RootItem::Kind::ServiceRoot) { + else if (child->kind() == RootItem::Kind::Category) { child->updateCounts(including_total_count); } } diff --git a/src/librssguard/services/abstract/labelsnode.cpp b/src/librssguard/services/abstract/labelsnode.cpp index 361e7e315..9a42e00be 100644 --- a/src/librssguard/services/abstract/labelsnode.cpp +++ b/src/librssguard/services/abstract/labelsnode.cpp @@ -32,34 +32,6 @@ QList LabelsNode::undeletedMessages() const { return DatabaseQueries::getUndeletedLabelledMessages(database, getParentServiceRoot()->accountId()); } -int LabelsNode::countOfUnreadMessages() const { - auto chi = childItems(); - - if (chi.isEmpty()) { - return 0; - } - - return boolinq::from(chi) - .max([](RootItem* it) { - return it->countOfUnreadMessages(); - }) - ->countOfUnreadMessages(); -} - -int LabelsNode::countOfAllMessages() const { - auto chi = childItems(); - - if (chi.isEmpty()) { - return 0; - } - - return boolinq::from(chi) - .max([](RootItem* it) { - return it->countOfAllMessages(); - }) - ->countOfAllMessages(); -} - void LabelsNode::updateCounts(bool including_total_count) { // TODO: This is still rather slow because this is automatically // called when message is marked (un)read or starred. diff --git a/src/librssguard/services/abstract/labelsnode.h b/src/librssguard/services/abstract/labelsnode.h index bdb8f54d2..d6ec00656 100644 --- a/src/librssguard/services/abstract/labelsnode.h +++ b/src/librssguard/services/abstract/labelsnode.h @@ -18,8 +18,6 @@ class LabelsNode : public RootItem { virtual QList undeletedMessages() const; virtual QList contextMenuFeedsList(); - virtual int countOfUnreadMessages() const; - virtual int countOfAllMessages() const; virtual void updateCounts(bool including_total_count); Label* labelById(const QString& custom_id); diff --git a/src/librssguard/services/abstract/rootitem.cpp b/src/librssguard/services/abstract/rootitem.cpp index 148c84ceb..b4c5518fa 100644 --- a/src/librssguard/services/abstract/rootitem.cpp +++ b/src/librssguard/services/abstract/rootitem.cpp @@ -217,8 +217,9 @@ bool RootItem::performDragDropChange(RootItem* target_item) { int RootItem::countOfUnreadMessages() const { return boolinq::from(m_childItems).sum([](RootItem* it) { - return (it->kind() == RootItem::Kind::Important || it->kind() == RootItem::Kind::Unread || - it->kind() == RootItem::Kind::Labels || it->kind() == RootItem::Kind::Probes) + return (it->kind() == RootItem::Kind::Bin || it->kind() == RootItem::Kind::Important || + it->kind() == RootItem::Kind::Unread || it->kind() == RootItem::Kind::Labels || + it->kind() == RootItem::Kind::Probes) ? 0 : it->countOfUnreadMessages(); }); @@ -226,8 +227,9 @@ int RootItem::countOfUnreadMessages() const { int RootItem::countOfAllMessages() const { return boolinq::from(m_childItems).sum([](RootItem* it) { - return (it->kind() == RootItem::Kind::Important || it->kind() == RootItem::Kind::Unread || - it->kind() == RootItem::Kind::Labels || it->kind() == RootItem::Kind::Probes) + return (it->kind() == RootItem::Kind::Bin || it->kind() == RootItem::Kind::Important || + it->kind() == RootItem::Kind::Unread || it->kind() == RootItem::Kind::Labels || + it->kind() == RootItem::Kind::Probes) ? 0 : it->countOfAllMessages(); }); diff --git a/src/librssguard/services/abstract/searchsnode.cpp b/src/librssguard/services/abstract/searchsnode.cpp index ce65ffc1e..096745db0 100755 --- a/src/librssguard/services/abstract/searchsnode.cpp +++ b/src/librssguard/services/abstract/searchsnode.cpp @@ -61,34 +61,6 @@ QList SearchsNode::contextMenuFeedsList() { return QList{m_actProbeNew}; } -int SearchsNode::countOfUnreadMessages() const { - auto chi = childItems(); - - if (chi.isEmpty()) { - return 0; - } - - return boolinq::from(chi) - .max([](RootItem* it) { - return it->countOfUnreadMessages(); - }) - ->countOfUnreadMessages(); -} - -int SearchsNode::countOfAllMessages() const { - auto chi = childItems(); - - if (chi.isEmpty()) { - return 0; - } - - return boolinq::from(chi) - .max([](RootItem* it) { - return it->countOfAllMessages(); - }) - ->countOfAllMessages(); -} - void SearchsNode::createProbe() { FormAddEditProbe frm(qApp->mainFormWidget()); Search* new_prb = frm.execForAdd(); diff --git a/src/librssguard/services/abstract/searchsnode.h b/src/librssguard/services/abstract/searchsnode.h index c6fd71b39..699821d33 100755 --- a/src/librssguard/services/abstract/searchsnode.h +++ b/src/librssguard/services/abstract/searchsnode.h @@ -17,8 +17,6 @@ class SearchsNode : public RootItem { void loadProbes(const QList& probes); virtual QList undeletedMessages() const; - virtual int countOfUnreadMessages() const; - virtual int countOfAllMessages() const; virtual QList contextMenuFeedsList(); Search* probeById(const QString& custom_id);