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,
|
void DatabaseQueries::removeMessageFilterFromFeed(const QSqlDatabase& db, const QString& feed_custom_id,
|
||||||
int filter_id, int account_id, bool* ok) {
|
int filter_id, int account_id, bool* ok) {
|
||||||
QSqlQuery q(db);
|
QSqlQuery q(db);
|
||||||
|
@ -91,6 +91,7 @@ class DatabaseQueries {
|
|||||||
static QMultiMap<QString, int> messageFiltersInFeeds(const QSqlDatabase& db, int account_id, bool* ok = nullptr);
|
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,
|
static void assignMessageFilterToFeed(const QSqlDatabase& db, const QString& feed_custom_id, int filter_id,
|
||||||
int account_id, bool* ok = nullptr);
|
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,
|
static void removeMessageFilterFromFeed(const QSqlDatabase& db, const QString& feed_custom_id, int filter_id,
|
||||||
int account_id, bool* ok = nullptr);
|
int account_id, bool* ok = nullptr);
|
||||||
|
|
||||||
|
@ -162,7 +162,7 @@ MessageFilter* FeedReader::addMessageFilter(const QString& title, const QString&
|
|||||||
}
|
}
|
||||||
|
|
||||||
void FeedReader::updateMessageFilter(MessageFilter* filter) {
|
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) {
|
void FeedReader::assignMessageFilterToFeed(Feed* feed, MessageFilter* filter) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user