From 7f2dd3cd8b006aec34da09b783e5e7dbc941d9da Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Sun, 22 Sep 2019 11:23:39 +0200 Subject: [PATCH] GUI: added option to suppress all beeps --- src/qtgui/guiutils.cpp | 2 ++ src/qtgui/guiutils.h | 4 +++- src/qtgui/preview_w.cpp | 2 +- src/qtgui/rclm_preview.cpp | 7 ++++++- src/qtgui/uiprefs.ui | 10 ++++++++++ src/qtgui/uiprefs_w.cpp | 2 ++ 6 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/qtgui/guiutils.cpp b/src/qtgui/guiutils.cpp index 86d12abf..c19872fe 100644 --- a/src/qtgui/guiutils.cpp +++ b/src/qtgui/guiutils.cpp @@ -237,6 +237,8 @@ void rwSettings(bool writing) SETTING_RW(prefs.termMatchType, "/Recoll/prefs/query/termMatchType", Int, 0); + SETTING_RW(prefs.noBeeps, "/Recoll/prefs/query/noBeeps", Bool, false); + // This is not really the current program version, just a value to // be used in case we have incompatible changes one day SETTING_RW(prefs.rclVersion, "/Recoll/prefs/rclVersion", Int, 1009); diff --git a/src/qtgui/guiutils.h b/src/qtgui/guiutils.h index 139a5e5c..d741f0a8 100644 --- a/src/qtgui/guiutils.h +++ b/src/qtgui/guiutils.h @@ -135,7 +135,9 @@ class PrefsPack { // Program version that wrote this. Not used for now, in prevision // of the case where we might need an incompatible change int rclVersion; - + // Suppress all noises + bool noBeeps; + bool showTrayIcon; bool closeToTray; diff --git a/src/qtgui/preview_w.cpp b/src/qtgui/preview_w.cpp index 18ce9186..77e8fa88 100644 --- a/src/qtgui/preview_w.cpp +++ b/src/qtgui/preview_w.cpp @@ -375,7 +375,7 @@ void Preview::doSearch(const QString &_text, bool next, bool reverse, if (found) { m_canBeep = true; } else { - if (m_canBeep) + if (m_canBeep && !prefs.noBeeps) QApplication::beep(); m_canBeep = false; } diff --git a/src/qtgui/rclm_preview.cpp b/src/qtgui/rclm_preview.cpp index 759ec767..c7513078 100644 --- a/src/qtgui/rclm_preview.cpp +++ b/src/qtgui/rclm_preview.cpp @@ -250,7 +250,12 @@ void RclMain::previewPrevOrNextInTab(Preview * w, int sid, int docnum, bool nxt) else docnum--; if (docnum < 0 || !m_source || docnum >= m_source->getResCnt()) { - QApplication::beep(); + if (!prefs.noBeeps) { + LOGDEB("Beeping\n"); + QApplication::beep(); + } else { + LOGDEB("Not beeping because nobeep is set\n"); + } return; } diff --git a/src/qtgui/uiprefs.ui b/src/qtgui/uiprefs.ui index f7f3dfb7..5b362f49 100644 --- a/src/qtgui/uiprefs.ui +++ b/src/qtgui/uiprefs.ui @@ -260,6 +260,16 @@ + + + + Suppress all beeps. + + + false + + + diff --git a/src/qtgui/uiprefs_w.cpp b/src/qtgui/uiprefs_w.cpp index 9c8f85f8..4d152554 100644 --- a/src/qtgui/uiprefs_w.cpp +++ b/src/qtgui/uiprefs_w.cpp @@ -126,6 +126,7 @@ void UIPrefsDialog::setFromPrefs() filterBT_RB->setChecked(1); break; } + noBeepsCB->setChecked(prefs.noBeeps); ssNoCompleteCB->setChecked(prefs.ssearchNoComplete); ssSearchOnCompleteCB->setChecked(prefs.ssearchStartOnComplete); ssSearchOnCompleteCB->setEnabled(!prefs.ssearchNoComplete); @@ -261,6 +262,7 @@ void UIPrefsDialog::setupReslistFontPB() void UIPrefsDialog::accept() { + prefs.noBeeps = noBeepsCB->isChecked(); prefs.ssearchNoComplete = ssNoCompleteCB->isChecked(); prefs.ssearchStartOnComplete = ssSearchOnCompleteCB->isChecked();