X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/8eb9b508ca87fb1d634d8b8ba62c054ed04466d2..38c34eeca:/src/settings/navigation/navigationsettingspage.cpp diff --git a/src/settings/navigation/navigationsettingspage.cpp b/src/settings/navigation/navigationsettingspage.cpp index 062edc24a..956d25fdf 100644 --- a/src/settings/navigation/navigationsettingspage.cpp +++ b/src/settings/navigation/navigationsettingspage.cpp @@ -1,79 +1,52 @@ -/*************************************************************************** - * 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 "navigationsettingspage.h" -#include "settings/dolphinsettings.h" - #include "dolphin_generalsettings.h" +#include "global.h" -#include -#include -#include -#include +#include +#include #include -#include -#include +#include #include -#include -NavigationSettingsPage::NavigationSettingsPage(QWidget* parent) : - SettingsPageBase(parent), - m_openArchivesAsFolder(0), - m_autoExpandFolders(0) +NavigationSettingsPage::NavigationSettingsPage(QWidget *parent) + : SettingsPageBase(parent) + , m_openArchivesAsFolder(nullptr) + , m_autoExpandFolders(nullptr) + , m_openNewTabAfterLastTab(nullptr) + , m_openNewTabAfterCurrentTab(nullptr) { - const int spacing = KDialog::spacingHint(); - - QVBoxLayout* topLayout = new QVBoxLayout(this); - KVBox* vBox = new KVBox(this); - vBox->setSpacing(spacing); - - // create 'Mouse' group - QGroupBox* mouseBox = new QGroupBox(i18nc("@title:group", "Mouse"), vBox); - mouseBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum); - m_singleClick = new QRadioButton(i18nc("@option:check Mouse Settings", - "Single-click to open files and folders"), mouseBox); - m_doubleClick = new QRadioButton(i18nc("@option:check Mouse Settings", - "Double-click to open files and folders"), mouseBox); - - QVBoxLayout* mouseBoxLayout = new QVBoxLayout(mouseBox); - mouseBoxLayout->addWidget(m_singleClick); - mouseBoxLayout->addWidget(m_doubleClick); + QFormLayout *topLayout = new QFormLayout(this); - m_openArchivesAsFolder = new QCheckBox(i18nc("@option:check", "Open archives as folder"), vBox); + // Tabs properties + m_openNewTabAfterCurrentTab = new QRadioButton(i18nc("option:radio", "After current tab")); + m_openNewTabAfterLastTab = new QRadioButton(i18nc("option:radio", "At end of tab bar")); + QButtonGroup *tabsBehaviorGroup = new QButtonGroup(this); + tabsBehaviorGroup->addButton(m_openNewTabAfterCurrentTab); + tabsBehaviorGroup->addButton(m_openNewTabAfterLastTab); + topLayout->addRow(i18nc("@title:group", "Open new tabs: "), m_openNewTabAfterCurrentTab); + topLayout->addRow(QString(), m_openNewTabAfterLastTab); - m_autoExpandFolders = new QCheckBox(i18nc("option:check", "Open folders during drag operations"), vBox); + topLayout->addItem(new QSpacerItem(0, Dolphin::VERTICAL_SPACER_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed)); - // 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); + m_openArchivesAsFolder = new QCheckBox(i18nc("@option:check", "Open archives as folder")); + m_autoExpandFolders = new QCheckBox(i18nc("option:check", "Open folders during drag operations")); + topLayout->addRow(i18nc("@title:group", "General: "), m_openArchivesAsFolder); + topLayout->addRow(QString(), m_autoExpandFolders); loadSettings(); - connect(m_singleClick, SIGNAL(toggled(bool)), this, SIGNAL(changed())); - connect(m_doubleClick, SIGNAL(toggled(bool)), this, SIGNAL(changed())); - connect(m_openArchivesAsFolder, SIGNAL(toggled(bool)), this, SIGNAL(changed())); - connect(m_autoExpandFolders, SIGNAL(toggled(bool)), this, SIGNAL(changed())); + connect(m_openArchivesAsFolder, &QCheckBox::toggled, this, &NavigationSettingsPage::changed); + connect(m_autoExpandFolders, &QCheckBox::toggled, this, &NavigationSettingsPage::changed); + connect(m_openNewTabAfterCurrentTab, &QRadioButton::toggled, this, &NavigationSettingsPage::changed); + connect(m_openNewTabAfterLastTab, &QRadioButton::toggled, this, &NavigationSettingsPage::changed); } NavigationSettingsPage::~NavigationSettingsPage() @@ -82,40 +55,26 @@ NavigationSettingsPage::~NavigationSettingsPage() void NavigationSettingsPage::applySettings() { - KConfig config("kcminputrc"); - KConfigGroup group = config.group("KDE"); - group.writeEntry("SingleClick", m_singleClick->isChecked(), KConfig::Persistent|KConfig::Global); - config.sync(); - KGlobalSettings::self()->emitChange(KGlobalSettings::SettingsChanged, KGlobalSettings::SETTINGS_MOUSE); - - GeneralSettings* settings = DolphinSettings::instance().generalSettings(); + GeneralSettings *settings = GeneralSettings::self(); settings->setBrowseThroughArchives(m_openArchivesAsFolder->isChecked()); settings->setAutoExpandFolders(m_autoExpandFolders->isChecked()); + settings->setOpenNewTabAfterLastTab(m_openNewTabAfterLastTab->isChecked()); - settings->writeConfig(); + settings->save(); } void NavigationSettingsPage::restoreDefaults() { - GeneralSettings* settings = DolphinSettings::instance().generalSettings(); + GeneralSettings *settings = GeneralSettings::self(); settings->useDefaults(true); loadSettings(); settings->useDefaults(false); - - // The mouse settings stored in KGlobalSettings must be reset to - // the default values (= single click) manually. - m_singleClick->setChecked(true); - m_doubleClick->setChecked(false); } void NavigationSettingsPage::loadSettings() { - const bool singleClick = KGlobalSettings::singleClick(); - m_singleClick->setChecked(singleClick); - m_doubleClick->setChecked(!singleClick); - GeneralSettings* settings = DolphinSettings::instance().generalSettings(); - m_openArchivesAsFolder->setChecked(settings->browseThroughArchives()); - m_autoExpandFolders->setChecked(settings->autoExpandFolders()); + m_openArchivesAsFolder->setChecked(GeneralSettings::browseThroughArchives()); + m_autoExpandFolders->setChecked(GeneralSettings::autoExpandFolders()); + m_openNewTabAfterLastTab->setChecked(GeneralSettings::openNewTabAfterLastTab()); + m_openNewTabAfterCurrentTab->setChecked(!m_openNewTabAfterLastTab->isChecked()); } - -#include "navigationsettingspage.moc"