Added option that hides notifications

Added option that hides status notifications.
This commit is contained in:
Stig Atle Steffensen 2022-12-28 17:41:07 +01:00
parent 2a7acddfaa
commit 919edeec14
5 changed files with 41 additions and 23 deletions

View file

@ -115,6 +115,12 @@ void Settings::setupPrivacyTab() {
m_ctx->updateBalance(); 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] // [Disable websocket]
ui->checkBox_enableWebsocket->setChecked(!config()->get(Config::disableWebsocket).toBool()); ui->checkBox_enableWebsocket->setChecked(!config()->get(Config::disableWebsocket).toBool());
connect(ui->checkBox_enableWebsocket, &QCheckBox::toggled, [this](bool checked){ connect(ui->checkBox_enableWebsocket, &QCheckBox::toggled, [this](bool checked){

View file

@ -346,6 +346,13 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<widget class="QCheckBox" name="checkBox_hideNotifications">
<property name="text">
<string>Hide notifications</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QCheckBox" name="checkBox_offlineMode"> <widget class="QCheckBox" name="checkBox_offlineMode">
<property name="text"> <property name="text">

View file

@ -480,26 +480,29 @@ void externalLinkWarning(QWidget *parent, const QString &url){
} }
void desktopNotify(const QString &title, const QString &message, int duration) { void desktopNotify(const QString &title, const QString &message, int duration) {
QStringList notify_send = QStringList() << title << message << "-t" << QString::number(duration); if (!Config::hideNotifications)
QStringList kdialog = QStringList() << title << message; {
QStringList macos = QStringList() << "-e" << QString(R"(display notification "%1" with title "%2")").arg(message).arg(title); QStringList notify_send = QStringList() << title << message << "-t" << QString::number(duration);
#if defined(Q_OS_LINUX) QStringList kdialog = QStringList() << title << message;
QProcess process; QStringList macos = QStringList() << "-e" << QString(R"(display notification "%1" with title "%2")").arg(message).arg(title);
if (fileExists("/usr/bin/kdialog")) #if defined(Q_OS_LINUX)
process.start("/usr/bin/kdialog", kdialog); QProcess process;
else if (fileExists("/usr/bin/notify-send")) if (fileExists("/usr/bin/kdialog"))
process.start("/usr/bin/notify-send", notify_send); process.start("/usr/bin/kdialog", kdialog);
process.waitForFinished(-1); else if (fileExists("/usr/bin/notify-send"))
QString stdout = process.readAllStandardOutput(); process.start("/usr/bin/notify-send", notify_send);
QString stderr = process.readAllStandardError(); process.waitForFinished(-1);
#elif defined(Q_OS_MACOS) QString stdout = process.readAllStandardOutput();
QProcess process; QString stderr = process.readAllStandardError();
// @TODO: need to escape special chars with "\" #elif defined(Q_OS_MACOS)
process.start("osascript", macos); QProcess process;
process.waitForFinished(-1); // @TODO: need to escape special chars with "\"
QString stdout = process.readAllStandardOutput(); process.start("osascript", macos);
QString stderr = process.readAllStandardError(); process.waitForFinished(-1);
#endif QString stdout = process.readAllStandardOutput();
QString stderr = process.readAllStandardError();
#endif
}
} }
QTextCharFormat addressTextFormat(const SubaddressIndex &index, quint64 amount) { QTextCharFormat addressTextFormat(const SubaddressIndex &index, quint64 amount) {

View file

@ -74,6 +74,7 @@ static const QHash<Config::ConfigKey, ConfigDirective> configStrings = {
{Config::multiBroadcast, {QS("multiBroadcast"), true}}, {Config::multiBroadcast, {QS("multiBroadcast"), true}},
{Config::warnOnExternalLink,{QS("warnOnExternalLink"), true}}, {Config::warnOnExternalLink,{QS("warnOnExternalLink"), true}},
{Config::hideBalance, {QS("hideBalance"), false}}, {Config::hideBalance, {QS("hideBalance"), false}},
{Config::hideNotifications, {QS("hideNotifications"), false}},
{Config::disableLogging, {QS("disableLogging"), false}}, {Config::disableLogging, {QS("disableLogging"), false}},
{Config::blockExplorer,{QS("blockExplorer"), "exploremonero.com"}}, {Config::blockExplorer,{QS("blockExplorer"), "exploremonero.com"}},

View file

@ -79,6 +79,7 @@ public:
warnOnExternalLink, warnOnExternalLink,
hideBalance, hideBalance,
disableLogging, disableLogging,
hideNotifications,
blockExplorer, blockExplorer,
redditFrontend, redditFrontend,