From 6caea3a2c70c075d172ffe4bb450b22da631a617 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Fri, 21 May 2021 10:30:05 +0200 Subject: [PATCH] load filters in adblock dialog even when disabled + other minor fix --- src/librssguard/miscellaneous/application.cpp | 2 ++ .../miscellaneous/notificationfactory.cpp | 4 +++- src/librssguard/miscellaneous/settings.cpp | 16 ++++++++++++++++ src/librssguard/miscellaneous/settings.h | 7 +++++++ .../network-web/adblock/adblockdialog.cpp | 2 +- .../network-web/adblock/adblockmanager.cpp | 2 +- src/librssguard/network-web/cookiejar.cpp | 6 +----- 7 files changed, 31 insertions(+), 8 deletions(-) diff --git a/src/librssguard/miscellaneous/application.cpp b/src/librssguard/miscellaneous/application.cpp index 8bdcd9dfe..857118f7c 100755 --- a/src/librssguard/miscellaneous/application.cpp +++ b/src/librssguard/miscellaneous/application.cpp @@ -86,6 +86,8 @@ Application::Application(const QString& id, int& argc, char** argv) }); #endif + m_notifications->load(settings()); + qDebugNN << LOGSEC_CORE << "OpenSSL version:" << QUOTE_W_SPACE_DOT(QSslSocket::sslLibraryVersionString()); diff --git a/src/librssguard/miscellaneous/notificationfactory.cpp b/src/librssguard/miscellaneous/notificationfactory.cpp index d08676433..0860c9c74 100755 --- a/src/librssguard/miscellaneous/notificationfactory.cpp +++ b/src/librssguard/miscellaneous/notificationfactory.cpp @@ -22,6 +22,8 @@ Notification NotificationFactory::notificationForEvent(Notification::Event event } } -void NotificationFactory::load(Settings* settings) {} +void NotificationFactory::load(Settings* settings) { + //settings->allKeys(Notifications::ID) +} void NotificationFactory::save(const QList new_notifications, Settings* settings) {} diff --git a/src/librssguard/miscellaneous/settings.cpp b/src/librssguard/miscellaneous/settings.cpp index b3c390ee1..62a8739b7 100755 --- a/src/librssguard/miscellaneous/settings.cpp +++ b/src/librssguard/miscellaneous/settings.cpp @@ -312,6 +312,9 @@ DVALUE(char*) Database::ActiveDriverDef = APP_DB_SQLITE_DRIVER; // Keyboard. DKEY Keyboard::ID = "keyboard"; +// Notifications. +DKEY Notifications::ID = "notifications"; + // Web browser. DKEY Browser::ID = "browser"; @@ -350,6 +353,19 @@ Settings::Settings(const QString& file_name, Format format, const SettingsProper Settings::~Settings() = default; +QStringList Settings::allKeys(const QString& section) { + if (!section.isEmpty()) { + beginGroup(section); + auto keys = QSettings::allKeys(); + + endGroup(); + return keys; + } + else { + return QSettings::allKeys(); + } +} + QString Settings::pathName() const { return QFileInfo(fileName()).absolutePath(); } diff --git a/src/librssguard/miscellaneous/settings.h b/src/librssguard/miscellaneous/settings.h index be23959b1..93a88ee83 100644 --- a/src/librssguard/miscellaneous/settings.h +++ b/src/librssguard/miscellaneous/settings.h @@ -360,6 +360,11 @@ namespace Keyboard { KEY ID; } +// Notifications. +namespace Notifications { + KEY ID; +} + // Web browser. namespace Browser { KEY ID; @@ -420,6 +425,8 @@ class Settings : public QSettings { QVariant password(const QString& section, const QString& key, const QVariant& default_value = QVariant()) const; void setPassword(const QString& section, const QString& key, const QVariant& value); + QStringList allKeys(const QString& section); + QVariant value(const QString& section, const QString& key, const QVariant& default_value = QVariant()) const; void setValue(const QString& section, const QString& key, const QVariant& value); void setValue(const QString& key, const QVariant& value); diff --git a/src/librssguard/network-web/adblock/adblockdialog.cpp b/src/librssguard/network-web/adblock/adblockdialog.cpp index e1696b4e0..84ae1bfa6 100644 --- a/src/librssguard/network-web/adblock/adblockdialog.cpp +++ b/src/librssguard/network-web/adblock/adblockdialog.cpp @@ -96,7 +96,7 @@ void AdBlockDialog::testConfiguration() { } void AdBlockDialog::load() { - if (m_loaded || !m_ui.m_cbEnable->isChecked()) { + if (m_loaded) { return; } diff --git a/src/librssguard/network-web/adblock/adblockmanager.cpp b/src/librssguard/network-web/adblock/adblockmanager.cpp index 3c968af34..65b5038e6 100644 --- a/src/librssguard/network-web/adblock/adblockmanager.cpp +++ b/src/librssguard/network-web/adblock/adblockmanager.cpp @@ -316,7 +316,7 @@ QProcess* AdBlockManager::restartServer(int port) { proc->setProcessEnvironment(pe); proc->setProcessChannelMode(QProcess::ProcessChannelMode::ForwardedErrorChannel); - if (!proc->open()) { + if (!proc->open() || proc->state() == QProcess::ProcessState::NotRunning) { auto ers = proc->errorString(); proc->deleteLater(); diff --git a/src/librssguard/network-web/cookiejar.cpp b/src/librssguard/network-web/cookiejar.cpp index 031852d9c..ab5167231 100755 --- a/src/librssguard/network-web/cookiejar.cpp +++ b/src/librssguard/network-web/cookiejar.cpp @@ -47,11 +47,7 @@ QList CookieJar::extractCookiesFromUrl(const QString& url) { void CookieJar::loadCookies() { Settings* sett = qApp->settings(); - - sett->beginGroup(GROUP(Cookies)); - auto keys = sett->allKeys(); - - sett->endGroup(); + auto keys = sett->allKeys(Cookies::ID); for (const QString& cookie_key : qAsConst(keys)) { QByteArray encoded = sett->password(GROUP(Cookies), cookie_key, {}).toByteArray();