X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/954e8c47906c12edaaf6e6aebdd41516eceb0d44..d8de1c37e525580143c60bcd16aee3e7640890f1:/src/settings/general/statusbarsettingspage.cpp diff --git a/src/settings/general/statusbarsettingspage.cpp b/src/settings/general/statusbarsettingspage.cpp index ddefa1a40..0d5be04bf 100644 --- a/src/settings/general/statusbarsettingspage.cpp +++ b/src/settings/general/statusbarsettingspage.cpp @@ -13,21 +13,26 @@ #include #include -StatusBarSettingsPage::StatusBarSettingsPage(QWidget* parent) : - SettingsPageBase(parent), - m_showZoomSlider(nullptr), - m_showSpaceInfo(nullptr) +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); + 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(); + GeneralSettings *settings = GeneralSettings::self(); + settings->setShowStatusBar(m_showStatusBar->isChecked()); settings->setShowZoomSlider(m_showZoomSlider->isChecked()); settings->setShowSpaceInfo(m_showSpaceInfo->isChecked()); settings->save(); @@ -46,7 +59,7 @@ void StatusBarSettingsPage::applySettings() void StatusBarSettingsPage::restoreDefaults() { - GeneralSettings* settings = GeneralSettings::self(); + GeneralSettings *settings = GeneralSettings::self(); settings->useDefaults(true); loadSettings(); settings->useDefaults(false); @@ -54,7 +67,9 @@ void StatusBarSettingsPage::restoreDefaults() void StatusBarSettingsPage::loadSettings() { + m_showStatusBar->setChecked(GeneralSettings::showStatusBar()); m_showZoomSlider->setChecked(GeneralSettings::showZoomSlider()); m_showSpaceInfo->setChecked(GeneralSettings::showSpaceInfo()); -} + onShowStatusBarToggled(); +}