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> messages;
|
||||
QSqlQuery q(db);
|
||||
|
|
|
@ -111,6 +111,7 @@ class DatabaseQueries {
|
|||
static ArticleCounts getMessageCountsForBin(const QSqlDatabase& db, int account_id, bool* ok = nullptr);
|
||||
|
||||
// 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> getUndeletedLabelledMessages(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 {
|
||||
return {};
|
||||
/*
|
||||
QSqlDatabase database = qApp->database()->driver()->connection(metaObject()->className());
|
||||
|
||||
return DatabaseQueries::getUndeletedMessagesWithLabel(database, this);
|
||||
*/
|
||||
return DatabaseQueries::getUndeletedMessagesForProbe(database, this);
|
||||
}
|
||||
|
||||
QIcon Search::generateIcon(const QColor& color) {
|
||||
|
|
Loading…
Add table
Reference in a new issue