From: Stig Atle Steffensen Date: Wed, 28 Dec 2022 16:41:07 +0000 (+0100) Subject: Added option that hides notifications X-Git-Url: https://git.nutra.tk/v2?a=commitdiff_plain;h=919edeec14134018ce15318b7d0435acd7a8a057;p=gamesguru%2Ffeather.git Added option that hides notifications Added option that hides status notifications. --- diff --git a/src/SettingsDialog.cpp b/src/SettingsDialog.cpp index de9bbe66..df8e31a2 100644 --- a/src/SettingsDialog.cpp +++ b/src/SettingsDialog.cpp @@ -115,6 +115,12 @@ void Settings::setupPrivacyTab() { m_ctx->updateBalance(); }); + // [Hide notifications] + ui->checkBox_hideNotifications->setChecked(config()->get(Config::hideNotifications).toBool()); + connect(ui->checkBox_hideNotifications, &QCheckBox::toggled, [this](bool toggled){ + config()->set(Config::hideNotifications, toggled); + }); + // [Disable websocket] ui->checkBox_enableWebsocket->setChecked(!config()->get(Config::disableWebsocket).toBool()); connect(ui->checkBox_enableWebsocket, &QCheckBox::toggled, [this](bool checked){ @@ -273,4 +279,4 @@ void Settings::closeEvent(QCloseEvent *event) { event->accept(); } -Settings::~Settings() = default; \ No newline at end of file +Settings::~Settings() = default; diff --git a/src/SettingsDialog.ui b/src/SettingsDialog.ui index d24f8712..d7079a55 100644 --- a/src/SettingsDialog.ui +++ b/src/SettingsDialog.ui @@ -346,6 +346,13 @@ + + + + Hide notifications + + + diff --git a/src/utils/Utils.cpp b/src/utils/Utils.cpp index b0ebbb83..05e41acf 100644 --- a/src/utils/Utils.cpp +++ b/src/utils/Utils.cpp @@ -480,26 +480,29 @@ void externalLinkWarning(QWidget *parent, const QString &url){ } void desktopNotify(const QString &title, const QString &message, int duration) { - QStringList notify_send = QStringList() << title << message << "-t" << QString::number(duration); - QStringList kdialog = QStringList() << title << message; - QStringList macos = QStringList() << "-e" << QString(R"(display notification "%1" with title "%2")").arg(message).arg(title); -#if defined(Q_OS_LINUX) - QProcess process; - if (fileExists("/usr/bin/kdialog")) - process.start("/usr/bin/kdialog", kdialog); - else if (fileExists("/usr/bin/notify-send")) - process.start("/usr/bin/notify-send", notify_send); - process.waitForFinished(-1); - QString stdout = process.readAllStandardOutput(); - QString stderr = process.readAllStandardError(); -#elif defined(Q_OS_MACOS) - QProcess process; - // @TODO: need to escape special chars with "\" - process.start("osascript", macos); - process.waitForFinished(-1); - QString stdout = process.readAllStandardOutput(); - QString stderr = process.readAllStandardError(); -#endif + if (!Config::hideNotifications) + { + QStringList notify_send = QStringList() << title << message << "-t" << QString::number(duration); + QStringList kdialog = QStringList() << title << message; + QStringList macos = QStringList() << "-e" << QString(R"(display notification "%1" with title "%2")").arg(message).arg(title); + #if defined(Q_OS_LINUX) + QProcess process; + if (fileExists("/usr/bin/kdialog")) + process.start("/usr/bin/kdialog", kdialog); + else if (fileExists("/usr/bin/notify-send")) + process.start("/usr/bin/notify-send", notify_send); + process.waitForFinished(-1); + QString stdout = process.readAllStandardOutput(); + QString stderr = process.readAllStandardError(); + #elif defined(Q_OS_MACOS) + QProcess process; + // @TODO: need to escape special chars with "\" + process.start("osascript", macos); + process.waitForFinished(-1); + QString stdout = process.readAllStandardOutput(); + QString stderr = process.readAllStandardError(); + #endif + } } QTextCharFormat addressTextFormat(const SubaddressIndex &index, quint64 amount) { @@ -566,4 +569,4 @@ QFont relativeFont(int delta) { font.setPointSize(font.pointSize() + delta); return font; } -} \ No newline at end of file +} diff --git a/src/utils/config.cpp b/src/utils/config.cpp index ed44c821..62ca903e 100644 --- a/src/utils/config.cpp +++ b/src/utils/config.cpp @@ -74,6 +74,7 @@ static const QHash configStrings = { {Config::multiBroadcast, {QS("multiBroadcast"), true}}, {Config::warnOnExternalLink,{QS("warnOnExternalLink"), true}}, {Config::hideBalance, {QS("hideBalance"), false}}, + {Config::hideNotifications, {QS("hideNotifications"), false}}, {Config::disableLogging, {QS("disableLogging"), false}}, {Config::blockExplorer,{QS("blockExplorer"), "exploremonero.com"}}, @@ -224,4 +225,4 @@ Config* Config::instance() } return m_instance; -} \ No newline at end of file +} diff --git a/src/utils/config.h b/src/utils/config.h index e85cf5fe..979a7b41 100644 --- a/src/utils/config.h +++ b/src/utils/config.h @@ -79,6 +79,7 @@ public: warnOnExternalLink, hideBalance, disableLogging, + hideNotifications, blockExplorer, redditFrontend,