2 * SPDX-FileCopyrightText: 2009 Peter Penz <peter.penz19@gmail.com>
4 * SPDX-License-Identifier: GPL-2.0-or-later
7 #include "navigationsettingspage.h"
10 #include "dolphin_generalsettings.h"
12 #include <KLocalizedString>
14 #include <QButtonGroup>
16 #include <QFormLayout>
17 #include <QRadioButton>
18 #include <QVBoxLayout>
20 NavigationSettingsPage::NavigationSettingsPage(QWidget
* parent
) :
21 SettingsPageBase(parent
),
22 m_openArchivesAsFolder(nullptr),
23 m_autoExpandFolders(nullptr),
24 m_openNewTabAfterLastTab(nullptr),
25 m_openNewTabAfterCurrentTab(nullptr)
27 QFormLayout
* topLayout
= new QFormLayout(this);
30 m_openNewTabAfterCurrentTab
= new QRadioButton(i18nc("option:radio", "After current tab"));
31 m_openNewTabAfterLastTab
= new QRadioButton(i18nc("option:radio", "At end of tab bar"));
32 QButtonGroup
* tabsBehaviorGroup
= new QButtonGroup(this);
33 tabsBehaviorGroup
->addButton(m_openNewTabAfterCurrentTab
);
34 tabsBehaviorGroup
->addButton(m_openNewTabAfterLastTab
);
35 topLayout
->addRow(i18nc("@title:group", "Open new tabs: "), m_openNewTabAfterCurrentTab
);
36 topLayout
->addRow(QString(), m_openNewTabAfterLastTab
);
38 topLayout
->addItem(new QSpacerItem(0, Dolphin::VERTICAL_SPACER_HEIGHT
, QSizePolicy::Fixed
, QSizePolicy::Fixed
));
40 m_openArchivesAsFolder
= new QCheckBox(i18nc("@option:check", "Open archives as folder"));
41 m_autoExpandFolders
= new QCheckBox(i18nc("option:check", "Open folders during drag operations"));
42 topLayout
->addRow(i18nc("@title:group", "General: "), m_openArchivesAsFolder
);
43 topLayout
->addRow(QString(), m_autoExpandFolders
);
47 connect(m_openArchivesAsFolder
, &QCheckBox::toggled
, this, &NavigationSettingsPage::changed
);
48 connect(m_autoExpandFolders
, &QCheckBox::toggled
, this, &NavigationSettingsPage::changed
);
49 connect(m_openNewTabAfterCurrentTab
, &QRadioButton::toggled
, this, &NavigationSettingsPage::changed
);
50 connect(m_openNewTabAfterLastTab
, &QRadioButton::toggled
, this, &NavigationSettingsPage::changed
);
53 NavigationSettingsPage::~NavigationSettingsPage()
57 void NavigationSettingsPage::applySettings()
59 GeneralSettings
* settings
= GeneralSettings::self();
60 settings
->setBrowseThroughArchives(m_openArchivesAsFolder
->isChecked());
61 settings
->setAutoExpandFolders(m_autoExpandFolders
->isChecked());
62 settings
->setOpenNewTabAfterLastTab(m_openNewTabAfterLastTab
->isChecked());
67 void NavigationSettingsPage::restoreDefaults()
69 GeneralSettings
* settings
= GeneralSettings::self();
70 settings
->useDefaults(true);
72 settings
->useDefaults(false);
75 void NavigationSettingsPage::loadSettings()
77 m_openArchivesAsFolder
->setChecked(GeneralSettings::browseThroughArchives());
78 m_autoExpandFolders
->setChecked(GeneralSettings::autoExpandFolders());
79 m_openNewTabAfterLastTab
->setChecked(GeneralSettings::openNewTabAfterLastTab());
80 m_openNewTabAfterCurrentTab
->setChecked(!m_openNewTabAfterLastTab
->isChecked());