X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/d93d198db6eef9186177aa5a918b300a6b749627..38c34eeca:/src/settings/general/statusbarsettingspage.cpp diff --git a/src/settings/general/statusbarsettingspage.cpp b/src/settings/general/statusbarsettingspage.cpp index 5c2d34af8..0d5be04bf 100644 --- a/src/settings/general/statusbarsettingspage.cpp +++ b/src/settings/general/statusbarsettingspage.cpp @@ -1,75 +1,65 @@ -/*************************************************************************** - * 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 #include #include -StatusBarSettingsPage::StatusBarSettingsPage(QWidget* parent) : - SettingsPageBase(parent), - m_showZoomSlider(0), - m_showSpaceInfo(0) +StatusBarSettingsPage::StatusBarSettingsPage(QWidget *parent) + : SettingsPageBase(parent) + , m_showStatusBar(nullptr) + , m_showZoomSlider(nullptr) + , m_showSpaceInfo(nullptr) { - QVBoxLayout* topLayout = new QVBoxLayout(this); - KVBox* vBox = new KVBox(this); - vBox->setSpacing(KDialog::spacingHint()); - - m_showZoomSlider = new QCheckBox(i18nc("@option:check", "Show zoom slider"), vBox); - connect(m_showZoomSlider, SIGNAL(toggled(bool)), this, SIGNAL(changed())); - - m_showSpaceInfo = new QCheckBox(i18nc("@option:check", "Show space information"), vBox); - connect(m_showSpaceInfo, SIGNAL(toggled(bool)), this, SIGNAL(changed())); + 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); - // Add a dummy widget with no restriction regarding - // a vertical resizing. This assures that the dialog layout - // is not stretched vertically. - new QWidget(vBox); - - topLayout->addWidget(vBox); + 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); } StatusBarSettingsPage::~StatusBarSettingsPage() { } +void StatusBarSettingsPage::onShowStatusBarToggled() +{ + const bool checked = m_showStatusBar->isChecked(); + m_showZoomSlider->setEnabled(checked); + m_showSpaceInfo->setEnabled(checked); +} + void StatusBarSettingsPage::applySettings() { - GeneralSettings* settings = DolphinSettings::instance().generalSettings(); + 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() { - GeneralSettings* settings = DolphinSettings::instance().generalSettings(); + GeneralSettings *settings = GeneralSettings::self(); settings->useDefaults(true); loadSettings(); settings->useDefaults(false); @@ -77,9 +67,9 @@ void StatusBarSettingsPage::restoreDefaults() void StatusBarSettingsPage::loadSettings() { - GeneralSettings* settings = DolphinSettings::instance().generalSettings(); - m_showZoomSlider->setChecked(settings->showZoomSlider()); - m_showSpaceInfo->setChecked(settings->showSpaceInfo()); -} + m_showStatusBar->setChecked(GeneralSettings::showStatusBar()); + m_showZoomSlider->setChecked(GeneralSettings::showZoomSlider()); + m_showSpaceInfo->setChecked(GeneralSettings::showSpaceInfo()); -#include "statusbarsettingspage.moc" + onShowStatusBarToggled(); +}