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();