X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/de3e2ae40f626c1368dfd40bace54ef3e7815833..99cc976a8564cbdae63e4261fcb2292a33148dbc:/src/settings/general/statusbarsettingspage.cpp diff --git a/src/settings/general/statusbarsettingspage.cpp b/src/settings/general/statusbarsettingspage.cpp index 78ee3856b..9d90a64fd 100644 --- a/src/settings/general/statusbarsettingspage.cpp +++ b/src/settings/general/statusbarsettingspage.cpp @@ -1,48 +1,38 @@ -/*************************************************************************** - * Copyright (C) 2009 by Peter Penz * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ +/* + * SPDX-FileCopyrightText: 2009 Peter Penz + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #include "statusbarsettingspage.h" -#include +#include "dolphin_generalsettings.h" -#include -#include +#include #include #include StatusBarSettingsPage::StatusBarSettingsPage(QWidget* parent) : SettingsPageBase(parent), - m_showZoomSlider(0), - m_showSpaceInfo(0) + 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->addSpacing(KDialog::spacingHint()); + 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); } @@ -51,12 +41,20 @@ 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->writeConfig(); + settings->save(); } void StatusBarSettingsPage::restoreDefaults() @@ -69,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(); }