diff --git a/src/qtgui/guiutils.cpp b/src/qtgui/guiutils.cpp index e09083ec..73f36fb4 100644 --- a/src/qtgui/guiutils.cpp +++ b/src/qtgui/guiutils.cpp @@ -293,6 +293,7 @@ void rwSettings(bool writing) SETTING_RW(prefs.fileTypesByCats, "/Recoll/prefs/query/asearchFilTypByCat", Bool, false); + SETTING_RW(prefs.noToolbars, "/Recoll/prefs/noToolbars", 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 44a6c5ad..01fdc7a9 100644 --- a/src/qtgui/guiutils.h +++ b/src/qtgui/guiutils.h @@ -140,6 +140,7 @@ class PrefsPack { // Suppress all noises bool noBeeps; + bool noToolbars{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 4312ebaa..958660b8 100644 --- a/src/qtgui/rclmain_w.cpp +++ b/src/qtgui/rclmain_w.cpp @@ -198,21 +198,7 @@ void RclMain::init() } } curid->setChecked(true); - - m_toolsTB = new QToolBar(tr("Tools"), this); - m_toolsTB->setObjectName(QString::fromUtf8("m_toolsTB")); - m_toolsTB->addAction(toolsAdvanced_SearchAction); - m_toolsTB->addAction(toolsDoc_HistoryAction); - m_toolsTB->addAction(toolsSpellAction); - m_toolsTB->addAction(actionQuery_Fragments); - QSettings settings; - int val = settings.value(settingskey_toolarea).toInt(); - this->addToolBar(int2area(val), m_toolsTB); - - m_resTB = new QToolBar(tr("Results"), this); - m_resTB->setObjectName(QString::fromUtf8("m_resTB")); - val = settings.value(settingskey_resarea).toInt(); - this->addToolBar(int2area(val), m_resTB); + setupToolbars(); // Document filter buttons and combobox // Combobox version of the document filter control @@ -452,6 +438,7 @@ void RclMain::init() onSortDataChanged(m_sortspec); emit sortDataChanged(m_sortspec); } + QSettings settings; restoreGeometry(settings.value("/Recoll/geometry/maingeom").toByteArray()); enableTrayIcon(prefs.showTrayIcon); @@ -464,6 +451,38 @@ void RclMain::init() periodictimer->start(1000); } +void RclMain::setupToolbars() +{ + if (nullptr == m_toolsTB) { + m_toolsTB = new QToolBar(tr("Tools"), this); + m_toolsTB->setObjectName(QString::fromUtf8("m_toolsTB")); + m_toolsTB->addAction(toolsAdvanced_SearchAction); + m_toolsTB->addAction(toolsDoc_HistoryAction); + m_toolsTB->addAction(toolsSpellAction); + m_toolsTB->addAction(actionQuery_Fragments); + } + QSettings settings; + int val; + if (!prefs.noToolbars) { + val = settings.value(settingskey_toolarea).toInt(); + this->addToolBar(int2area(val), m_toolsTB); + m_toolsTB->show(); + } else { + m_toolsTB->hide(); + } + if (nullptr == m_resTB) { + m_resTB = new QToolBar(tr("Results"), this); + m_resTB->setObjectName(QString::fromUtf8("m_resTB")); + } + if (!prefs.noToolbars) { + val = settings.value(settingskey_resarea).toInt(); + this->addToolBar(int2area(val), m_resTB); + m_resTB->show(); + } else { + m_resTB->hide(); + } +} + void RclMain::enableTrayIcon(bool on) { on = on && QSystemTrayIcon::isSystemTrayAvailable(); @@ -750,8 +769,10 @@ void RclMain::fileExit() if (!isMaximized()) { settings.setValue("/Recoll/geometry/maingeom", saveGeometry()); } - settings.setValue(settingskey_toolarea, toolBarArea(m_toolsTB)); - settings.setValue(settingskey_resarea, toolBarArea(m_resTB)); + if (!prefs.noToolbars) { + settings.setValue(settingskey_toolarea, toolBarArea(m_toolsTB)); + settings.setValue(settingskey_resarea, toolBarArea(m_resTB)); + } restable->saveColState(); if (prefs.ssearchTypSav) { diff --git a/src/qtgui/rclmain_w.h b/src/qtgui/rclmain_w.h index a676dc90..e601a37a 100644 --- a/src/qtgui/rclmain_w.h +++ b/src/qtgui/rclmain_w.h @@ -89,7 +89,8 @@ public: } void enableTrayIcon(bool onoff); QString readDarkCSS(); - + void setupToolbars(); + public slots: virtual void fileExit(); virtual void periodic100(); diff --git a/src/qtgui/uiprefs.ui b/src/qtgui/uiprefs.ui index 335e9d83..2f0f6d30 100644 --- a/src/qtgui/uiprefs.ui +++ b/src/qtgui/uiprefs.ui @@ -35,7 +35,7 @@ - + Qt::Horizontal @@ -112,7 +112,7 @@ - + Qt::Horizontal @@ -163,12 +163,12 @@ - + - Show warning when opening temporary file. + Hide toolbars. - true + false @@ -212,6 +212,16 @@ + + + + Show warning when opening temporary file. + + + true + + + @@ -233,7 +243,7 @@ - + Qt::Horizontal @@ -346,7 +356,7 @@ - + Qt::Horizontal @@ -732,7 +742,7 @@ - + QFrame::HLine @@ -789,7 +799,7 @@ The default value is 2 (percent). - + QFrame::HLine @@ -895,7 +905,7 @@ May be slow for big documents. - + QFrame::HLine @@ -945,7 +955,7 @@ May be slow for big documents. - + QFrame::HLine @@ -1064,7 +1074,7 @@ May be slow for big documents. - + QFrame::HLine diff --git a/src/qtgui/uiprefs_w.cpp b/src/qtgui/uiprefs_w.cpp index 835e1cb5..f2398e72 100644 --- a/src/qtgui/uiprefs_w.cpp +++ b/src/qtgui/uiprefs_w.cpp @@ -144,6 +144,7 @@ void UIPrefsDialog::setFromPrefs() keepSortCB->setChecked(prefs.keepSort); + noToolbarsCB->setChecked(prefs.noToolbars); showTrayIconCB->setChecked(prefs.showTrayIcon); if (!prefs.showTrayIcon) { prefs.closeToTray = false; @@ -347,6 +348,8 @@ void UIPrefsDialog::accept() prefs.startWithAdvSearchOpen = initStartAdvCB->isChecked(); prefs.keepSort = keepSortCB->isChecked(); + prefs.noToolbars = noToolbarsCB->isChecked(); + m_mainWindow->setupToolbars(); prefs.showTrayIcon = showTrayIconCB->isChecked(); m_mainWindow->enableTrayIcon(prefs.showTrayIcon); prefs.closeToTray = closeToTrayCB->isChecked();