work on probes, some other fixes
This commit is contained in:
parent
6566349838
commit
27295f10f9
7 changed files with 10 additions and 66 deletions
|
@ -3,6 +3,7 @@
|
||||||
#include "miscellaneous/application.h"
|
#include "miscellaneous/application.h"
|
||||||
|
|
||||||
#include "3rd-party/boolinq/boolinq.h"
|
#include "3rd-party/boolinq/boolinq.h"
|
||||||
|
#include "3rd-party/sqlite/sqlite3.h"
|
||||||
#include "dynamic-shortcuts/dynamicshortcuts.h"
|
#include "dynamic-shortcuts/dynamicshortcuts.h"
|
||||||
#include "exceptions/applicationexception.h"
|
#include "exceptions/applicationexception.h"
|
||||||
#include "gui/dialogs/formabout.h"
|
#include "gui/dialogs/formabout.h"
|
||||||
|
@ -233,6 +234,7 @@ Application::Application(const QString& id, int& argc, char** argv, const QStrin
|
||||||
|
|
||||||
setupWorkHorsePool();
|
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 version:" << QUOTE_W_SPACE_DOT(QSslSocket::sslLibraryVersionString());
|
||||||
qDebugNN << LOGSEC_CORE << "OpenSSL supported:" << QUOTE_W_SPACE_DOT(QSslSocket::supportsSsl());
|
qDebugNN << LOGSEC_CORE << "OpenSSL supported:" << QUOTE_W_SPACE_DOT(QSslSocket::supportsSsl());
|
||||||
qDebugNN << LOGSEC_CORE << "Global thread pool has"
|
qDebugNN << LOGSEC_CORE << "Global thread pool has"
|
||||||
|
|
|
@ -20,13 +20,13 @@ Category::Category(const Category& other) : RootItem(other) {
|
||||||
|
|
||||||
void Category::updateCounts(bool including_total_count) {
|
void Category::updateCounts(bool including_total_count) {
|
||||||
QList<Feed*> feeds;
|
QList<Feed*> feeds;
|
||||||
auto str = getSubTree();
|
auto str = childItems();
|
||||||
|
|
||||||
for (RootItem* child : qAsConst(str)) {
|
for (RootItem* child : qAsConst(str)) {
|
||||||
if (child->kind() == RootItem::Kind::Feed) {
|
if (child->kind() == RootItem::Kind::Feed) {
|
||||||
feeds.append(child->toFeed());
|
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);
|
child->updateCounts(including_total_count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,34 +32,6 @@ QList<Message> LabelsNode::undeletedMessages() const {
|
||||||
return DatabaseQueries::getUndeletedLabelledMessages(database, getParentServiceRoot()->accountId());
|
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) {
|
void LabelsNode::updateCounts(bool including_total_count) {
|
||||||
// TODO: This is still rather slow because this is automatically
|
// TODO: This is still rather slow because this is automatically
|
||||||
// called when message is marked (un)read or starred.
|
// called when message is marked (un)read or starred.
|
||||||
|
|
|
@ -18,8 +18,6 @@ class LabelsNode : public RootItem {
|
||||||
|
|
||||||
virtual QList<Message> undeletedMessages() const;
|
virtual QList<Message> undeletedMessages() const;
|
||||||
virtual QList<QAction*> contextMenuFeedsList();
|
virtual QList<QAction*> contextMenuFeedsList();
|
||||||
virtual int countOfUnreadMessages() const;
|
|
||||||
virtual int countOfAllMessages() const;
|
|
||||||
virtual void updateCounts(bool including_total_count);
|
virtual void updateCounts(bool including_total_count);
|
||||||
|
|
||||||
Label* labelById(const QString& custom_id);
|
Label* labelById(const QString& custom_id);
|
||||||
|
|
|
@ -217,8 +217,9 @@ bool RootItem::performDragDropChange(RootItem* target_item) {
|
||||||
|
|
||||||
int RootItem::countOfUnreadMessages() const {
|
int RootItem::countOfUnreadMessages() const {
|
||||||
return boolinq::from(m_childItems).sum([](RootItem* it) {
|
return boolinq::from(m_childItems).sum([](RootItem* it) {
|
||||||
return (it->kind() == RootItem::Kind::Important || it->kind() == RootItem::Kind::Unread ||
|
return (it->kind() == RootItem::Kind::Bin || it->kind() == RootItem::Kind::Important ||
|
||||||
it->kind() == RootItem::Kind::Labels || it->kind() == RootItem::Kind::Probes)
|
it->kind() == RootItem::Kind::Unread || it->kind() == RootItem::Kind::Labels ||
|
||||||
|
it->kind() == RootItem::Kind::Probes)
|
||||||
? 0
|
? 0
|
||||||
: it->countOfUnreadMessages();
|
: it->countOfUnreadMessages();
|
||||||
});
|
});
|
||||||
|
@ -226,8 +227,9 @@ int RootItem::countOfUnreadMessages() const {
|
||||||
|
|
||||||
int RootItem::countOfAllMessages() const {
|
int RootItem::countOfAllMessages() const {
|
||||||
return boolinq::from(m_childItems).sum([](RootItem* it) {
|
return boolinq::from(m_childItems).sum([](RootItem* it) {
|
||||||
return (it->kind() == RootItem::Kind::Important || it->kind() == RootItem::Kind::Unread ||
|
return (it->kind() == RootItem::Kind::Bin || it->kind() == RootItem::Kind::Important ||
|
||||||
it->kind() == RootItem::Kind::Labels || it->kind() == RootItem::Kind::Probes)
|
it->kind() == RootItem::Kind::Unread || it->kind() == RootItem::Kind::Labels ||
|
||||||
|
it->kind() == RootItem::Kind::Probes)
|
||||||
? 0
|
? 0
|
||||||
: it->countOfAllMessages();
|
: it->countOfAllMessages();
|
||||||
});
|
});
|
||||||
|
|
|
@ -61,34 +61,6 @@ QList<QAction*> SearchsNode::contextMenuFeedsList() {
|
||||||
return QList<QAction*>{m_actProbeNew};
|
return QList<QAction*>{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() {
|
void SearchsNode::createProbe() {
|
||||||
FormAddEditProbe frm(qApp->mainFormWidget());
|
FormAddEditProbe frm(qApp->mainFormWidget());
|
||||||
Search* new_prb = frm.execForAdd();
|
Search* new_prb = frm.execForAdd();
|
||||||
|
|
|
@ -17,8 +17,6 @@ class SearchsNode : public RootItem {
|
||||||
void loadProbes(const QList<Search*>& probes);
|
void loadProbes(const QList<Search*>& probes);
|
||||||
|
|
||||||
virtual QList<Message> undeletedMessages() const;
|
virtual QList<Message> undeletedMessages() const;
|
||||||
virtual int countOfUnreadMessages() const;
|
|
||||||
virtual int countOfAllMessages() const;
|
|
||||||
virtual QList<QAction*> contextMenuFeedsList();
|
virtual QList<QAction*> contextMenuFeedsList();
|
||||||
|
|
||||||
Search* probeById(const QString& custom_id);
|
Search* probeById(const QString& custom_id);
|
||||||
|
|
Loading…
Add table
Reference in a new issue