diff --git a/src/qtgui/guiutils.cpp b/src/qtgui/guiutils.cpp index 30246db6..3d958068 100644 --- a/src/qtgui/guiutils.cpp +++ b/src/qtgui/guiutils.cpp @@ -129,6 +129,8 @@ void rwSettings(bool writing) SETTING_RW(prefs.ssearchNoComplete, "/Recoll/prefs/ssearch/noComplete", Bool, false); + SETTING_RW(prefs.ssearchStartOnComplete, + "/Recoll/prefs/ssearch/startOnComplete", Bool, true); SETTING_RW(prefs.filterCtlStyle, "/Recoll/prefs/filterCtlStyle", Int, 0); SETTING_RW(prefs.ssearchAutoPhrase, "/Recoll/prefs/ssearchAutoPhrase", Bool, true); diff --git a/src/qtgui/guiutils.h b/src/qtgui/guiutils.h index 8fe969f5..396e3ff4 100644 --- a/src/qtgui/guiutils.h +++ b/src/qtgui/guiutils.h @@ -39,6 +39,7 @@ class PrefsPack { public: // Simple search entry behaviour bool ssearchNoComplete; + bool ssearchStartOnComplete; // Decide if we display the doc category filter control as a // toolbar+combobox or as a button group under simple search enum FilterCtlStyle {FCS_BT, FCS_CMB, FCS_MN}; diff --git a/src/qtgui/ssearch_w.cpp b/src/qtgui/ssearch_w.cpp index c9b2fecb..310de744 100644 --- a/src/qtgui/ssearch_w.cpp +++ b/src/qtgui/ssearch_w.cpp @@ -231,7 +231,9 @@ void SSearch::restoreText() m_savedEditText = ""; } queryText->setFocus(); - QTimer::singleShot(0, this, SLOT(startSimpleSearch())); + if (prefs.ssearchStartOnComplete) { + QTimer::singleShot(0, this, SLOT(startSimpleSearch())); + } } void SSearch::onCompletionActivated(const QString& text) { diff --git a/src/qtgui/uiprefs.ui b/src/qtgui/uiprefs.ui index 3ceb2421..6727a80b 100644 --- a/src/qtgui/uiprefs.ui +++ b/src/qtgui/uiprefs.ui @@ -270,6 +270,16 @@ + + + + Start search on completer popup activation. + + + true + + + diff --git a/src/qtgui/uiprefs_w.cpp b/src/qtgui/uiprefs_w.cpp index 837c82bd..9a7bc09d 100644 --- a/src/qtgui/uiprefs_w.cpp +++ b/src/qtgui/uiprefs_w.cpp @@ -95,6 +95,8 @@ void UIPrefsDialog::init() connect(buttonCancel, SIGNAL(clicked()), this, SLOT(reject())); connect(buildAbsCB, SIGNAL(toggled(bool)), replAbsCB, SLOT(setEnabled(bool))); + connect(ssNoCompleteCB, SIGNAL(toggled(bool)), + ssSearchOnCompleteCB, SLOT(setDisabled(bool))); setFromPrefs(); } @@ -125,6 +127,9 @@ void UIPrefsDialog::setFromPrefs() break; } ssNoCompleteCB->setChecked(prefs.ssearchNoComplete); + ssSearchOnCompleteCB->setChecked(prefs.ssearchStartOnComplete); + ssSearchOnCompleteCB->setEnabled(!prefs.ssearchNoComplete); + syntlenSB->setValue(prefs.syntAbsLen); syntctxSB->setValue(prefs.syntAbsCtx); @@ -256,6 +261,7 @@ void UIPrefsDialog::setupReslistFontPB() void UIPrefsDialog::accept() { prefs.ssearchNoComplete = ssNoCompleteCB->isChecked(); + prefs.ssearchStartOnComplete = ssSearchOnCompleteCB->isChecked(); if (ssearchTypCMB->currentIndex() == 4) { prefs.ssearchTypSav = true;