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;