From 79d7147c36b8e3ec7befc7409631e83c75f1bdd8 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Thu, 2 Nov 2023 07:41:55 +0100 Subject: [PATCH] fix unnecessary prompts to restart app cause by notification settings in settings dialog --- .../gui/settings/settingsnotifications.cpp | 14 +++++++------- src/librssguard/gui/settings/settingspanel.cpp | 7 +++++-- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/librssguard/gui/settings/settingsnotifications.cpp b/src/librssguard/gui/settings/settingsnotifications.cpp index afce5c9a5..a8d7c4390 100644 --- a/src/librssguard/gui/settings/settingsnotifications.cpp +++ b/src/librssguard/gui/settings/settingsnotifications.cpp @@ -30,9 +30,6 @@ SettingsNotifications::SettingsNotifications(Settings* settings, QWidget* parent connect(m_ui.m_sbScreen, QOverload::of(&QSpinBox::valueChanged), this, &SettingsNotifications::dirtifySettings); connect(m_ui.m_sbScreen, QOverload::of(&QSpinBox::valueChanged), this, &SettingsNotifications::requireRestart); - m_ui.m_sbScreen->setMinimum(-1); - m_ui.m_sbScreen->setMaximum(QGuiApplication::screens().size() - 1); - connect(m_ui.m_sbScreen, QOverload::of(&QSpinBox::valueChanged), this, &SettingsNotifications::showScreenInfo); connect(m_ui.m_cbCustomNotificationsPosition, @@ -43,6 +40,13 @@ SettingsNotifications::SettingsNotifications(Settings* settings, QWidget* parent QOverload::of(&QComboBox::currentIndexChanged), this, &SettingsNotifications::requireRestart); +} + +void SettingsNotifications::loadSettings() { + onBeginLoadSettings(); + + m_ui.m_sbScreen->setMinimum(-1); + m_ui.m_sbScreen->setMaximum(QGuiApplication::screens().size() - 1); QMetaEnum enm = QMetaEnum::fromType(); @@ -52,10 +56,6 @@ SettingsNotifications::SettingsNotifications(Settings* settings, QWidget* parent textForPosition(ToastNotificationsManager::NotificationPosition(enm.value(i))), enm.value(i)); } -} - -void SettingsNotifications::loadSettings() { - onBeginLoadSettings(); // Load fancy notification settings. m_ui.m_checkEnableNotifications diff --git a/src/librssguard/gui/settings/settingspanel.cpp b/src/librssguard/gui/settings/settingspanel.cpp index ca9ba219c..a88bf3ff1 100644 --- a/src/librssguard/gui/settings/settingspanel.cpp +++ b/src/librssguard/gui/settings/settingspanel.cpp @@ -5,7 +5,8 @@ #include "miscellaneous/settings.h" SettingsPanel::SettingsPanel(Settings* settings, QWidget* parent) - : QWidget(parent), m_requiresRestart(false), m_isDirty(false), m_isLoading(false), m_isLoaded(false), m_settings(settings) {} + : QWidget(parent), m_requiresRestart(false), m_isDirty(false), m_isLoading(false), m_isLoaded(false), + m_settings(settings) {} void SettingsPanel::onBeginLoadSettings() { m_isLoading = true; @@ -41,7 +42,9 @@ void SettingsPanel::setRequiresRestart(bool requiresRestart) { } void SettingsPanel::requireRestart() { - setRequiresRestart(true); + if (!m_isLoading) { + setRequiresRestart(true); + } } bool SettingsPanel::isLoaded() const {