diff --git a/src/qtgui/guiutils.cpp b/src/qtgui/guiutils.cpp
index e7e18d5d..389ab7f0 100644
--- a/src/qtgui/guiutils.cpp
+++ b/src/qtgui/guiutils.cpp
@@ -295,6 +295,7 @@ void rwSettings(bool writing)
Bool, false);
SETTING_RW(prefs.noClearSearch, "/Recoll/prefs/noClearSearch", Bool, false);
SETTING_RW(prefs.noToolbars, "/Recoll/prefs/noToolbars", Bool, false);
+ SETTING_RW(prefs.noStatusBar, "/Recoll/prefs/noStatusBar", Bool, false);
SETTING_RW(prefs.showTrayIcon, "/Recoll/prefs/showTrayIcon", Bool, false);
SETTING_RW(prefs.closeToTray, "/Recoll/prefs/closeToTray", Bool, false);
SETTING_RW(prefs.trayMessages, "/Recoll/prefs/trayMessages", Bool, false);
diff --git a/src/qtgui/guiutils.h b/src/qtgui/guiutils.h
index 72641691..dc6e832c 100644
--- a/src/qtgui/guiutils.h
+++ b/src/qtgui/guiutils.h
@@ -142,6 +142,7 @@ class PrefsPack {
bool noToolbars{false};
bool noClearSearch{false};
+ bool noStatusBar{false};
bool showTrayIcon{false};
bool closeToTray{false};
bool trayMessages{false};
diff --git a/src/qtgui/rclmain_w.cpp b/src/qtgui/rclmain_w.cpp
index 958660b8..a501cbb0 100644
--- a/src/qtgui/rclmain_w.cpp
+++ b/src/qtgui/rclmain_w.cpp
@@ -151,9 +151,7 @@ void RclMain::init()
qf.setPermissions(QFile::ReadOwner|QFile::WriteOwner);
qf.close();
m_watcher.addPath(idxfn);
- // At least some versions of qt4 don't display the status bar if
- // it's not created here.
- (void)statusBar();
+ setupStatusBar();
(void)new HelpClient(this);
HelpClient::installMap((const char *)this->objectName().toUtf8(),
@@ -483,6 +481,17 @@ void RclMain::setupToolbars()
}
}
+void RclMain::setupStatusBar()
+{
+ auto bar = statusBar();
+ if (prefs.noStatusBar) {
+ bar->hide();
+ } else {
+ bar->show();
+ }
+}
+
+
void RclMain::enableTrayIcon(bool on)
{
on = on && QSystemTrayIcon::isSystemTrayAvailable();
diff --git a/src/qtgui/rclmain_w.h b/src/qtgui/rclmain_w.h
index e601a37a..0895b3d8 100644
--- a/src/qtgui/rclmain_w.h
+++ b/src/qtgui/rclmain_w.h
@@ -90,7 +90,8 @@ public:
void enableTrayIcon(bool onoff);
QString readDarkCSS();
void setupToolbars();
-
+ void setupStatusBar();
+
public slots:
virtual void fileExit();
virtual void periodic100();
diff --git a/src/qtgui/uiprefs.ui b/src/qtgui/uiprefs.ui
index 6cc4a747..63bd730c 100644
--- a/src/qtgui/uiprefs.ui
+++ b/src/qtgui/uiprefs.ui
@@ -46,7 +46,7 @@
-
- Start with simple search mode
+ Start with simple search mode:
false
@@ -172,6 +172,16 @@
+ -
+
+
+ Hide status bar.
+
+
+ false
+
+
+
-
diff --git a/src/qtgui/uiprefs_w.cpp b/src/qtgui/uiprefs_w.cpp
index dfa89833..24ea56c4 100644
--- a/src/qtgui/uiprefs_w.cpp
+++ b/src/qtgui/uiprefs_w.cpp
@@ -146,6 +146,7 @@ void UIPrefsDialog::setFromPrefs()
noToolbarsCB->setChecked(prefs.noToolbars);
noClearSearchCB->setChecked(prefs.noClearSearch);
+ noStatusBarCB->setChecked(prefs.noStatusBar);
showTrayIconCB->setChecked(prefs.showTrayIcon);
if (!prefs.showTrayIcon) {
prefs.closeToTray = false;
@@ -350,9 +351,11 @@ void UIPrefsDialog::accept()
prefs.keepSort = keepSortCB->isChecked();
prefs.noToolbars = noToolbarsCB->isChecked();
+ m_mainWindow->setupToolbars();
+ prefs.noStatusBar = noStatusBarCB->isChecked();
+ m_mainWindow->setupStatusBar();
prefs.noClearSearch = noClearSearchCB->isChecked();
m_mainWindow->sSearch->setupButtons();
- m_mainWindow->setupToolbars();
prefs.showTrayIcon = showTrayIconCB->isChecked();
m_mainWindow->enableTrayIcon(prefs.showTrayIcon);
prefs.closeToTray = closeToTrayCB->isChecked();