queries done
This commit is contained in:
parent
27295f10f9
commit
df03e853a5
3 changed files with 36 additions and 4 deletions
|
@ -980,6 +980,40 @@ ArticleCounts DatabaseQueries::getMessageCountsForBin(const QSqlDatabase& db, in
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QList<Message> DatabaseQueries::getUndeletedMessagesForProbe(const QSqlDatabase& db, const Search* probe) {
|
||||||
|
QList<Message> messages;
|
||||||
|
QSqlQuery q(db);
|
||||||
|
|
||||||
|
q.prepare(QSL("SELECT %1 "
|
||||||
|
"FROM Messages "
|
||||||
|
"WHERE "
|
||||||
|
" Messages.is_deleted = 0 AND "
|
||||||
|
" Messages.is_pdeleted = 0 AND "
|
||||||
|
" Messages.account_id = :account_id AND "
|
||||||
|
" (title REGEXP :fltr OR contents REGEXP :fltr);")
|
||||||
|
.arg(messageTableAttributes(true, db.driverName() == QSL(APP_DB_SQLITE_DRIVER))
|
||||||
|
.values()
|
||||||
|
.join(QSL(", "))));
|
||||||
|
q.bindValue(QSL(":account_id"), probe->getParentServiceRoot()->accountId());
|
||||||
|
q.bindValue(QSL(":fltr"), probe->filter());
|
||||||
|
|
||||||
|
if (q.exec()) {
|
||||||
|
while (q.next()) {
|
||||||
|
bool decoded;
|
||||||
|
Message message = Message::fromSqlRecord(q.record(), &decoded);
|
||||||
|
|
||||||
|
if (decoded) {
|
||||||
|
messages.append(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw ApplicationException(q.lastError().text());
|
||||||
|
}
|
||||||
|
|
||||||
|
return messages;
|
||||||
|
}
|
||||||
|
|
||||||
QList<Message> DatabaseQueries::getUndeletedMessagesWithLabel(const QSqlDatabase& db, const Label* label, bool* ok) {
|
QList<Message> DatabaseQueries::getUndeletedMessagesWithLabel(const QSqlDatabase& db, const Label* label, bool* ok) {
|
||||||
QList<Message> messages;
|
QList<Message> messages;
|
||||||
QSqlQuery q(db);
|
QSqlQuery q(db);
|
||||||
|
|
|
@ -111,6 +111,7 @@ class DatabaseQueries {
|
||||||
static ArticleCounts getMessageCountsForBin(const QSqlDatabase& db, int account_id, bool* ok = nullptr);
|
static ArticleCounts getMessageCountsForBin(const QSqlDatabase& db, int account_id, bool* ok = nullptr);
|
||||||
|
|
||||||
// Get messages (for newspaper view for example).
|
// Get messages (for newspaper view for example).
|
||||||
|
static QList<Message> getUndeletedMessagesForProbe(const QSqlDatabase& db, const Search* probe);
|
||||||
static QList<Message> getUndeletedMessagesWithLabel(const QSqlDatabase& db, const Label* label, bool* ok = nullptr);
|
static QList<Message> getUndeletedMessagesWithLabel(const QSqlDatabase& db, const Label* label, bool* ok = nullptr);
|
||||||
static QList<Message> getUndeletedLabelledMessages(const QSqlDatabase& db, int account_id, bool* ok = nullptr);
|
static QList<Message> getUndeletedLabelledMessages(const QSqlDatabase& db, int account_id, bool* ok = nullptr);
|
||||||
static QList<Message> getUndeletedImportantMessages(const QSqlDatabase& db, int account_id, bool* ok = nullptr);
|
static QList<Message> getUndeletedImportantMessages(const QSqlDatabase& db, int account_id, bool* ok = nullptr);
|
||||||
|
|
|
@ -109,12 +109,9 @@ void Search::updateCounts(bool including_total_count) {
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<Message> Search::undeletedMessages() const {
|
QList<Message> Search::undeletedMessages() const {
|
||||||
return {};
|
|
||||||
/*
|
|
||||||
QSqlDatabase database = qApp->database()->driver()->connection(metaObject()->className());
|
QSqlDatabase database = qApp->database()->driver()->connection(metaObject()->className());
|
||||||
|
|
||||||
return DatabaseQueries::getUndeletedMessagesWithLabel(database, this);
|
return DatabaseQueries::getUndeletedMessagesForProbe(database, this);
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QIcon Search::generateIcon(const QColor& color) {
|
QIcon Search::generateIcon(const QColor& color) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue