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,