┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/settings
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings')
-rw-r--r--src/settings/dolphin_generalsettings.kcfg4
-rw-r--r--src/settings/navigation/navigationsettingspage.cpp37
-rw-r--r--src/settings/navigation/navigationsettingspage.h3
3 files changed, 33 insertions, 11 deletions
diff --git a/src/settings/dolphin_generalsettings.kcfg b/src/settings/dolphin_generalsettings.kcfg
index 0ec5f282b..bc1cf72aa 100644
--- a/src/settings/dolphin_generalsettings.kcfg
+++ b/src/settings/dolphin_generalsettings.kcfg
@@ -86,6 +86,10 @@
<label>Close active pane when toggling off split view</label>
<default>true</default>
</entry>
+ <entry name="OpenNewTabAfterLastTab" type="Bool">
+ <label>New tab will be open after last one</label>
+ <default>false</default>
+ </entry>
<entry name="ShowToolTips" type="Bool">
<label>Show tooltips</label>
<default>false</default>
diff --git a/src/settings/navigation/navigationsettingspage.cpp b/src/settings/navigation/navigationsettingspage.cpp
index 41a39a537..11bc25f3b 100644
--- a/src/settings/navigation/navigationsettingspage.cpp
+++ b/src/settings/navigation/navigationsettingspage.cpp
@@ -6,36 +6,48 @@
#include "navigationsettingspage.h"
+#include "global.h"
#include "dolphin_generalsettings.h"
#include <KLocalizedString>
+#include <QButtonGroup>
#include <QCheckBox>
+#include <QFormLayout>
+#include <QRadioButton>
#include <QVBoxLayout>
NavigationSettingsPage::NavigationSettingsPage(QWidget* parent) :
SettingsPageBase(parent),
m_openArchivesAsFolder(nullptr),
- m_autoExpandFolders(nullptr)
+ m_autoExpandFolders(nullptr),
+ m_openNewTabAfterLastTab(nullptr),
+ m_openNewTabAfterCurrentTab(nullptr)
{
- QVBoxLayout* topLayout = new QVBoxLayout(this);
- QWidget* vBox = new QWidget(this);
- QVBoxLayout *vBoxLayout = new QVBoxLayout(vBox);
- vBoxLayout->setContentsMargins(0, 0, 0, 0);
- vBoxLayout->setAlignment(Qt::AlignTop);
+ QFormLayout* topLayout = new QFormLayout(this);
- m_openArchivesAsFolder = new QCheckBox(i18nc("@option:check", "Open archives as folder"), vBox);
- vBoxLayout->addWidget(m_openArchivesAsFolder);
+ // 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);
- vBoxLayout->addWidget(m_autoExpandFolders);
+ topLayout->addItem(new QSpacerItem(0, Dolphin::VERTICAL_SPACER_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed));
- 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_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()
@@ -47,6 +59,7 @@ void NavigationSettingsPage::applySettings()
GeneralSettings* settings = GeneralSettings::self();
settings->setBrowseThroughArchives(m_openArchivesAsFolder->isChecked());
settings->setAutoExpandFolders(m_autoExpandFolders->isChecked());
+ settings->setOpenNewTabAfterLastTab(m_openNewTabAfterLastTab->isChecked());
settings->save();
}
@@ -63,5 +76,7 @@ void NavigationSettingsPage::loadSettings()
{
m_openArchivesAsFolder->setChecked(GeneralSettings::browseThroughArchives());
m_autoExpandFolders->setChecked(GeneralSettings::autoExpandFolders());
+ m_openNewTabAfterLastTab->setChecked(GeneralSettings::openNewTabAfterLastTab());
+ m_openNewTabAfterCurrentTab->setChecked(!m_openNewTabAfterLastTab->isChecked());
}
diff --git a/src/settings/navigation/navigationsettingspage.h b/src/settings/navigation/navigationsettingspage.h
index 8b4781b44..a0c75e7f5 100644
--- a/src/settings/navigation/navigationsettingspage.h
+++ b/src/settings/navigation/navigationsettingspage.h
@@ -9,6 +9,7 @@
#include "settings/settingspagebase.h"
class QCheckBox;
+class QRadioButton;
/**
* @brief Page for the 'Navigation' settings of the Dolphin settings dialog.
@@ -33,6 +34,8 @@ private:
private:
QCheckBox* m_openArchivesAsFolder;
QCheckBox* m_autoExpandFolders;
+ QRadioButton* m_openNewTabAfterLastTab;
+ QRadioButton* m_openNewTabAfterCurrentTab;
};
#endif