From 54eafc8ebeb599a4c8bb7171e9e74f8c2fc7de87 Mon Sep 17 00:00:00 2001 From: David Lareau Date: Fri, 7 Jun 2019 08:43:25 -0400 Subject: [PATCH] Settings option to shush success KeeShare notifications (#3236) --- src/gui/ApplicationSettingsWidget.cpp | 6 ++++++ src/gui/ApplicationSettingsWidgetGeneral.ui | 9 ++++++++- src/keeshare/ShareObserver.cpp | 14 +++++++++----- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/gui/ApplicationSettingsWidget.cpp b/src/gui/ApplicationSettingsWidget.cpp index fce35223..c3cd5e59 100644 --- a/src/gui/ApplicationSettingsWidget.cpp +++ b/src/gui/ApplicationSettingsWidget.cpp @@ -100,6 +100,10 @@ ApplicationSettingsWidget::ApplicationSettingsWidget(QWidget* parent) m_generalUi->checkUpdatesSpacer->changeSize(0, 0, QSizePolicy::Fixed, QSizePolicy::Fixed); #endif +#ifndef WITH_XC_KEESHARE + m_generalUi->quietKeeShareSuccess->setVisible(false); +#endif + #ifndef WITH_XC_NETWORKING m_secUi->privacy->setVisible(false); #endif @@ -182,6 +186,7 @@ void ApplicationSettingsWidget::loadSettings() m_generalUi->systrayDarkIconCheckBox->setChecked(config()->get("GUI/DarkTrayIcon").toBool()); m_generalUi->systrayMinimizeToTrayCheckBox->setChecked(config()->get("GUI/MinimizeToTray").toBool()); m_generalUi->minimizeOnCloseCheckBox->setChecked(config()->get("GUI/MinimizeOnClose").toBool()); + m_generalUi->quietKeeShareSuccess->setChecked(config()->get("GUI/QuietKeeShareSuccess").toBool()); m_generalUi->systrayMinimizeOnStartup->setChecked(config()->get("GUI/MinimizeOnStartup").toBool()); m_generalUi->checkForUpdatesOnStartupCheckBox->setChecked(config()->get("GUI/CheckForUpdates").toBool()); m_generalUi->checkForUpdatesIncludeBetasCheckBox->setChecked( @@ -267,6 +272,7 @@ void ApplicationSettingsWidget::saveSettings() config()->set("GUI/DarkTrayIcon", m_generalUi->systrayDarkIconCheckBox->isChecked()); config()->set("GUI/MinimizeToTray", m_generalUi->systrayMinimizeToTrayCheckBox->isChecked()); config()->set("GUI/MinimizeOnClose", m_generalUi->minimizeOnCloseCheckBox->isChecked()); + config()->set("GUI/QuietKeeShareSuccess", m_generalUi->quietKeeShareSuccess->isChecked()); config()->set("GUI/MinimizeOnStartup", m_generalUi->systrayMinimizeOnStartup->isChecked()); config()->set("GUI/CheckForUpdates", m_generalUi->checkForUpdatesOnStartupCheckBox->isChecked()); config()->set("GUI/CheckForUpdatesIncludeBetas", m_generalUi->checkForUpdatesIncludeBetasCheckBox->isChecked()); diff --git a/src/gui/ApplicationSettingsWidgetGeneral.ui b/src/gui/ApplicationSettingsWidgetGeneral.ui index 9f03bbb5..c6ed54f9 100644 --- a/src/gui/ApplicationSettingsWidgetGeneral.ui +++ b/src/gui/ApplicationSettingsWidgetGeneral.ui @@ -7,7 +7,7 @@ 0 0 684 - 881 + 1030 @@ -382,6 +382,13 @@ + + + + Do not show success notifications for KeeShare, only warnings and errors + + + diff --git a/src/keeshare/ShareObserver.cpp b/src/keeshare/ShareObserver.cpp index 644f1c15..290ce1d1 100644 --- a/src/keeshare/ShareObserver.cpp +++ b/src/keeshare/ShareObserver.cpp @@ -261,18 +261,22 @@ void ShareObserver::reinitialize() void ShareObserver::notifyAbout(const QStringList& success, const QStringList& warning, const QStringList& error) { - if (error.isEmpty() && warning.isEmpty() && success.isEmpty()) { - return; - } - + QStringList messages; MessageWidget::MessageType type = MessageWidget::Positive; + if (!(success.isEmpty() || config()->get("GUI/QuietKeeShareSuccess").toBool())) { + messages += success; + } if (!warning.isEmpty()) { type = MessageWidget::Warning; + messages += warning; } if (!error.isEmpty()) { type = MessageWidget::Error; + messages += error; + } + if (!messages.isEmpty()) { + emit sharingMessage(messages.join("\n"), type); } - emit sharingMessage((success + warning + error).join("\n"), type); } void ShareObserver::handleDatabaseChanged()