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