┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Lang <[email protected]>2021-04-07 09:05:51 +0000
committerMéven Car <[email protected]>2021-04-07 09:05:51 +0000
commitba8158e2fa08651b0460adca3cb1e6a44eca0ed0 (patch)
tree7af701b31d308895a4ba84f420d85af3724c861f /src
parent2200e3c06daa0b23cfbc1277e351a2a08e586953 (diff)
Add option to hide entire status bar
Diffstat (limited to 'src')
-rw-r--r--src/settings/dolphin_generalsettings.kcfg4
-rw-r--r--src/settings/general/statusbarsettingspage.cpp16
-rw-r--r--src/settings/general/statusbarsettingspage.h2
-rw-r--r--src/statusbar/dolphinstatusbar.cpp3
4 files changed, 25 insertions, 0 deletions
diff --git a/src/settings/dolphin_generalsettings.kcfg b/src/settings/dolphin_generalsettings.kcfg
index bc1cf72aa..728d11634 100644
--- a/src/settings/dolphin_generalsettings.kcfg
+++ b/src/settings/dolphin_generalsettings.kcfg
@@ -101,6 +101,10 @@
<label>Use auto-expanding folders for all view types</label>
<default>false</default>
</entry>
+ <entry name="ShowStatusBar" type="Bool">
+ <label>Show the statusbar</label>
+ <default>true</default>
+ </entry>
<entry name="ShowZoomSlider" type="Bool">
<label>Show zoom slider in the statusbar</label>
<default>true</default>
diff --git a/src/settings/general/statusbarsettingspage.cpp b/src/settings/general/statusbarsettingspage.cpp
index ddefa1a40..9d90a64fd 100644
--- a/src/settings/general/statusbarsettingspage.cpp
+++ b/src/settings/general/statusbarsettingspage.cpp
@@ -15,19 +15,24 @@
StatusBarSettingsPage::StatusBarSettingsPage(QWidget* parent) :
SettingsPageBase(parent),
+ m_showStatusBar(nullptr),
m_showZoomSlider(nullptr),
m_showSpaceInfo(nullptr)
{
+ m_showStatusBar = new QCheckBox(i18nc("@option:check", "Show status bar"), this);
m_showZoomSlider = new QCheckBox(i18nc("@option:check", "Show zoom slider"), this);
m_showSpaceInfo = new QCheckBox(i18nc("@option:check", "Show space information"), this);
QVBoxLayout* topLayout = new QVBoxLayout(this);
+ topLayout->addWidget(m_showStatusBar);
topLayout->addWidget(m_showZoomSlider);
topLayout->addWidget(m_showSpaceInfo);
topLayout->addStretch();
loadSettings();
+ connect(m_showStatusBar, &QCheckBox::toggled, this, &StatusBarSettingsPage::changed);
+ connect(m_showStatusBar, &QCheckBox::toggled, this, &StatusBarSettingsPage::onShowStatusBarToggled);
connect(m_showZoomSlider, &QCheckBox::toggled, this, &StatusBarSettingsPage::changed);
connect(m_showSpaceInfo, &QCheckBox::toggled, this, &StatusBarSettingsPage::changed);
}
@@ -36,9 +41,17 @@ StatusBarSettingsPage::~StatusBarSettingsPage()
{
}
+void StatusBarSettingsPage::onShowStatusBarToggled()
+{
+ const bool checked = m_showStatusBar->isChecked();
+ m_showZoomSlider->setEnabled(checked);
+ m_showSpaceInfo->setEnabled(checked);
+}
+
void StatusBarSettingsPage::applySettings()
{
GeneralSettings* settings = GeneralSettings::self();
+ settings->setShowStatusBar(m_showStatusBar->isChecked());
settings->setShowZoomSlider(m_showZoomSlider->isChecked());
settings->setShowSpaceInfo(m_showSpaceInfo->isChecked());
settings->save();
@@ -54,7 +67,10 @@ void StatusBarSettingsPage::restoreDefaults()
void StatusBarSettingsPage::loadSettings()
{
+ m_showStatusBar->setChecked(GeneralSettings::showStatusBar());
m_showZoomSlider->setChecked(GeneralSettings::showZoomSlider());
m_showSpaceInfo->setChecked(GeneralSettings::showSpaceInfo());
+
+ onShowStatusBarToggled();
}
diff --git a/src/settings/general/statusbarsettingspage.h b/src/settings/general/statusbarsettingspage.h
index 3c5e7c2ad..af8e06164 100644
--- a/src/settings/general/statusbarsettingspage.h
+++ b/src/settings/general/statusbarsettingspage.h
@@ -29,8 +29,10 @@ public:
private:
void loadSettings();
+ void onShowStatusBarToggled();
private:
+ QCheckBox* m_showStatusBar;
QCheckBox* m_showZoomSlider;
QCheckBox* m_showSpaceInfo;
};
diff --git a/src/statusbar/dolphinstatusbar.cpp b/src/statusbar/dolphinstatusbar.cpp
index 91c843366..8ac74e71f 100644
--- a/src/statusbar/dolphinstatusbar.cpp
+++ b/src/statusbar/dolphinstatusbar.cpp
@@ -321,12 +321,15 @@ void DolphinStatusBar::updateZoomSliderToolTip(int zoomLevel)
void DolphinStatusBar::setExtensionsVisible(bool visible)
{
+ bool showStatusBar = visible;
bool showSpaceInfo = visible;
bool showZoomSlider = visible;
if (visible) {
+ showStatusBar = GeneralSettings::showStatusBar();
showSpaceInfo = GeneralSettings::showSpaceInfo();
showZoomSlider = GeneralSettings::showZoomSlider();
}
+ setVisible(showStatusBar);
m_spaceInfo->setShown(showSpaceInfo);
m_spaceInfo->setVisible(showSpaceInfo);
m_zoomSlider->setVisible(showZoomSlider);