From c46446ae1f48858d7a11d3c2d6b223265d8c8577 Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Wed, 9 Oct 2019 09:42:28 +0200 Subject: [PATCH] GUI: add preference to turn off tray messages (notifications) when systray is in use --- src/qtgui/guiutils.cpp | 1 + src/qtgui/guiutils.h | 3 ++- src/qtgui/rclmain_w.cpp | 2 +- src/qtgui/uiprefs.ui | 10 ++++++++++ src/qtgui/uiprefs_w.cpp | 9 +++++++++ 5 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/qtgui/guiutils.cpp b/src/qtgui/guiutils.cpp index 79ef724f..41085fcd 100644 --- a/src/qtgui/guiutils.cpp +++ b/src/qtgui/guiutils.cpp @@ -305,6 +305,7 @@ void rwSettings(bool writing) Bool, false); SETTING_RW(prefs.showTrayIcon, "/Recoll/prefs/showTrayIcon", Bool, false); SETTING_RW(prefs.closeToTray, "/Recoll/prefs/closeToTray", Bool, false); + SETTING_RW(prefs.trayMessages, "/Recoll/prefs/trayMessages", Bool, false); SETTING_RW(prefs.showTempFileWarning, "Recoll/prefs/showTempFileWarning", Int, -1); diff --git a/src/qtgui/guiutils.h b/src/qtgui/guiutils.h index 2d3ec863..60d5e99b 100644 --- a/src/qtgui/guiutils.h +++ b/src/qtgui/guiutils.h @@ -141,7 +141,8 @@ class PrefsPack { bool showTrayIcon{false}; bool closeToTray{false}; - + bool trayMessages{false}; + int showTempFileWarning; // Advanced search window clause list state diff --git a/src/qtgui/rclmain_w.cpp b/src/qtgui/rclmain_w.cpp index 97a569c6..0597d360 100644 --- a/src/qtgui/rclmain_w.cpp +++ b/src/qtgui/rclmain_w.cpp @@ -637,7 +637,7 @@ void RclMain::adjustPrefsMenu() void RclMain::showTrayMessage(const QString& text) { - if (m_trayicon) + if (m_trayicon && prefs.trayMessages) m_trayicon->showMessage("Recoll", text, QSystemTrayIcon::Information, 1000); } diff --git a/src/qtgui/uiprefs.ui b/src/qtgui/uiprefs.ui index 228f2166..5a103701 100644 --- a/src/qtgui/uiprefs.ui +++ b/src/qtgui/uiprefs.ui @@ -351,6 +351,16 @@ + + + + Generate desktop notifications. + + + false + + + diff --git a/src/qtgui/uiprefs_w.cpp b/src/qtgui/uiprefs_w.cpp index 879a4585..3d6f18ff 100644 --- a/src/qtgui/uiprefs_w.cpp +++ b/src/qtgui/uiprefs_w.cpp @@ -143,12 +143,17 @@ void UIPrefsDialog::setFromPrefs() initStartAdvCB->setChecked(prefs.startWithAdvSearchOpen); keepSortCB->setChecked(prefs.keepSort); + showTrayIconCB->setChecked(prefs.showTrayIcon); if (!prefs.showTrayIcon) { prefs.closeToTray = false; + prefs.trayMessages = false; } closeToTrayCB->setEnabled(showTrayIconCB->checkState()); + trayMessagesCB->setEnabled(showTrayIconCB->checkState()); closeToTrayCB->setChecked(prefs.closeToTray); + trayMessagesCB->setChecked(prefs.trayMessages); + showTempFileWarningCB->setChecked(prefs.showTempFileWarning == -1); anchorTamilHackCB->setChecked(settings.value("anchorSpcHack", 0).toBool()); previewHtmlCB->setChecked(prefs.previewHtml); @@ -339,6 +344,8 @@ void UIPrefsDialog::accept() prefs.showTrayIcon = showTrayIconCB->isChecked(); m_mainWindow->enableTrayIcon(prefs.showTrayIcon); prefs.closeToTray = closeToTrayCB->isChecked(); + prefs.trayMessages = trayMessagesCB->isChecked(); + prefs.showTempFileWarning = showTempFileWarningCB->isChecked() ? -1 : 1024; settings.setValue("anchorSpcHack", anchorTamilHackCB->isChecked()); @@ -598,8 +605,10 @@ void UIPrefsDialog::on_showTrayIconCB_clicked() { if (!showTrayIconCB->checkState()) { closeToTrayCB->setChecked(false); + trayMessagesCB->setChecked(false); } closeToTrayCB->setEnabled(showTrayIconCB->checkState()); + trayMessagesCB->setEnabled(showTrayIconCB->checkState()); } /**