Work on SQL layer, can edit existing filters, change assignments to feeds.
This commit is contained in:
parent
3fc4c1256d
commit
09fdf72d26
@ -1480,6 +1480,28 @@ void DatabaseQueries::assignMessageFilterToFeed(const QSqlDatabase& db, const QS
|
||||
}
|
||||
}
|
||||
|
||||
void DatabaseQueries::updateMessageFilter(const QSqlDatabase& db, MessageFilter* filter, bool* ok) {
|
||||
QSqlQuery q(db);
|
||||
|
||||
q.prepare("UPDATE MessageFilters SET name = :name, script = :script WHERE id = :id;");
|
||||
|
||||
q.bindValue(QSL(":name"), filter->name());
|
||||
q.bindValue(QSL(":script"), filter->script());
|
||||
q.bindValue(QSL(":id"), filter->id());
|
||||
q.setForwardOnly(true);
|
||||
|
||||
if (q.exec()) {
|
||||
if (ok != nullptr) {
|
||||
*ok = true;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (ok != nullptr) {
|
||||
*ok = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DatabaseQueries::removeMessageFilterFromFeed(const QSqlDatabase& db, const QString& feed_custom_id,
|
||||
int filter_id, int account_id, bool* ok) {
|
||||
QSqlQuery q(db);
|
||||
|
@ -91,6 +91,7 @@ class DatabaseQueries {
|
||||
static QMultiMap<QString, int> messageFiltersInFeeds(const QSqlDatabase& db, int account_id, bool* ok = nullptr);
|
||||
static void assignMessageFilterToFeed(const QSqlDatabase& db, const QString& feed_custom_id, int filter_id,
|
||||
int account_id, bool* ok = nullptr);
|
||||
static void updateMessageFilter(const QSqlDatabase& db, MessageFilter* filter, bool* ok = nullptr);
|
||||
static void removeMessageFilterFromFeed(const QSqlDatabase& db, const QString& feed_custom_id, int filter_id,
|
||||
int account_id, bool* ok = nullptr);
|
||||
|
||||
|
@ -162,7 +162,7 @@ MessageFilter* FeedReader::addMessageFilter(const QString& title, const QString&
|
||||
}
|
||||
|
||||
void FeedReader::updateMessageFilter(MessageFilter* filter) {
|
||||
// TODO: Filter's name or script is changed, save to database.
|
||||
DatabaseQueries::updateMessageFilter(qApp->database()->connection(metaObject()->className()), filter);
|
||||
}
|
||||
|
||||
void FeedReader::assignMessageFilterToFeed(Feed* feed, MessageFilter* filter) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user