diff --git a/src/qtgui/guiutils.cpp b/src/qtgui/guiutils.cpp
index 6879b3f9..b13b3783 100644
--- a/src/qtgui/guiutils.cpp
+++ b/src/qtgui/guiutils.cpp
@@ -104,7 +104,7 @@ void rwSettings(bool writing)
"/Recoll/prefs/ssearch/noComplete", Bool, false);
SETTING_RW(prefs.ssearchAsYouType,
"/Recoll/prefs/ssearch/asYouType", Bool, false);
- SETTING_RW(prefs.catgToolBar, "/Recoll/prefs/catgToolBar", Bool, false);
+ SETTING_RW(prefs.filterCtlStyle, "/Recoll/prefs/filterCtlStyle", Int, 0);
SETTING_RW(prefs.ssearchAutoPhrase,
"/Recoll/prefs/ssearchAutoPhrase", Bool, true);
SETTING_RW(prefs.ssearchAutoPhraseThreshPC,
diff --git a/src/qtgui/guiutils.h b/src/qtgui/guiutils.h
index cacb6c90..2b232e10 100644
--- a/src/qtgui/guiutils.h
+++ b/src/qtgui/guiutils.h
@@ -45,7 +45,8 @@ class PrefsPack {
bool ssearchAsYouType;
// Decide if we display the doc category filter control as a
// toolbar+combobox or as a button group under simple search
- bool catgToolBar;
+ enum FilterCtlStyle {FCS_BT, FCS_CMB, FCS_MN};
+ int filterCtlStyle;
int respagesize;
int maxhltextmbs;
QString reslistfontfamily;
diff --git a/src/qtgui/rclmain.ui b/src/qtgui/rclmain.ui
index 0ed960cf..5aa6656e 100644
--- a/src/qtgui/rclmain.ui
+++ b/src/qtgui/rclmain.ui
@@ -46,29 +46,6 @@
- -
-
-
-
- 0
- 0
-
-
-
-
-
- 0
- 0
- 45
- 20
-
-
-
- All
-
-
-
-
-
@@ -82,46 +59,13 @@
-
-
- Search tools
-
-
- TopToolBarArea
-
-
- false
-
-
-
-
-
-
-
- Result list
-
-
- TopToolBarArea
-
-
- false
-
-
-
-
-
-
-
-
-
-
-
@@ -156,6 +159,9 @@
<PRE>
+
+ buttonGroup
+
-
@@ -163,6 +169,9 @@
<PRE> + wrap
+
+ buttonGroup
+
@@ -175,14 +184,48 @@
-
-
-
- Display category filter as toolbar instead of button panel (needs restart).
-
-
- false
-
-
+
+
-
+
+
+ Decide if document filters are shown as radio buttons, toolbar combobox, or menu.
+
+
+ Document filter choice style:
+
+
+
+ -
+
+
+ Buttons Panel
+
+
+ buttonGroup_2
+
+
+
+ -
+
+
+ Toolbar Combobox
+
+
+ buttonGroup_2
+
+
+
+ -
+
+
+ Menu
+
+
+ buttonGroup_2
+
+
+
+
-
@@ -397,7 +440,7 @@
-
-
-
+
Snippets window CSS file
@@ -882,4 +925,8 @@ May be slow for big documents.
+
+
+
+
diff --git a/src/qtgui/uiprefs_w.cpp b/src/qtgui/uiprefs_w.cpp
index ef467336..4ba0f6e5 100644
--- a/src/qtgui/uiprefs_w.cpp
+++ b/src/qtgui/uiprefs_w.cpp
@@ -103,7 +103,20 @@ void UIPrefsDialog::setFromPrefs()
pageLenSB->setValue(prefs.respagesize);
collapseDupsCB->setChecked(prefs.collapseDuplicates);
maxHLTSB->setValue(prefs.maxhltextmbs);
- catgToolBarCB->setChecked(prefs.catgToolBar);
+
+ switch (prefs.filterCtlStyle) {
+ case PrefsPack::FCS_MN:
+ filterMN_RB->setChecked(1);
+ break;
+ case PrefsPack::FCS_CMB:
+ filterCMB_RB->setChecked(1);
+ break;
+ case PrefsPack::FCS_BT:
+ default:
+ fprintf(stderr, "filter ctl style %d\n", prefs.filterCtlStyle);
+ filterBT_RB->setChecked(1);
+ break;
+ }
ssAutoSpaceCB->setChecked(prefs.ssearchOnWS);
ssNoCompleteCB->setChecked(prefs.ssearchNoComplete);
ssAutoAllCB->setChecked(prefs.ssearchAsYouType);
@@ -224,7 +237,15 @@ void UIPrefsDialog::accept()
prefs.ssearchNoComplete = ssNoCompleteCB->isChecked();
prefs.ssearchAsYouType = ssAutoAllCB->isChecked();
- prefs.catgToolBar = catgToolBarCB->isChecked();
+ if (filterMN_RB->isChecked()) {
+ prefs.filterCtlStyle = PrefsPack::FCS_MN;
+ } else if (filterCMB_RB->isChecked()) {
+ prefs.filterCtlStyle = PrefsPack::FCS_CMB;
+ } else {
+ prefs.filterCtlStyle = PrefsPack::FCS_BT;
+ }
+ m_mainWindow->setFilterCtlStyle(prefs.filterCtlStyle);
+
prefs.respagesize = pageLenSB->value();
prefs.collapseDuplicates = collapseDupsCB->isChecked();
prefs.maxhltextmbs = maxHLTSB->value();