From 31b7abd81f7e01d5c8575373dc18bb4edddf74c5 Mon Sep 17 00:00:00 2001 From: Nicolai Sehrt Date: Sat, 31 Jan 2026 15:57:43 +0000 Subject: tab settings: add tab style Add a Full Width option and a Fixed Size option. This removes the current behavior of adapting to tab name, i.e folder name. --- src/settings/interface/folderstabssettingspage.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/settings/interface/folderstabssettingspage.cpp') diff --git a/src/settings/interface/folderstabssettingspage.cpp b/src/settings/interface/folderstabssettingspage.cpp index 5f7cbe76a..547241d0d 100644 --- a/src/settings/interface/folderstabssettingspage.cpp +++ b/src/settings/interface/folderstabssettingspage.cpp @@ -38,6 +38,8 @@ FoldersTabsSettingsPage::FoldersTabsSettingsPage(QWidget *parent) , m_rememberOpenedTabsRadioButton(nullptr) , m_alwaysShowTabBar(nullptr) , m_showCloseButtonOnTabs(nullptr) + , m_tabStyleFullWidth(nullptr) + , m_tabStyleFixed(nullptr) , m_openNewTabAfterLastTab(nullptr) , m_openNewTabAfterCurrentTab(nullptr) , m_splitView(nullptr) @@ -124,6 +126,14 @@ FoldersTabsSettingsPage::FoldersTabsSettingsPage(QWidget *parent) m_showCloseButtonOnTabs = new QCheckBox(i18nc("@option:check", "Show close button on tabs")); topLayout->addRow(QString(), m_showCloseButtonOnTabs); + m_tabStyleFullWidth = new QRadioButton(i18nc("@option:radio width as in tab width", "Tabs span the available width")); + m_tabStyleFixed = new QRadioButton(i18nc("@option:radio size as in tab size", "Tabs have all the same fixed size")); + QButtonGroup *tabStyleGroup = new QButtonGroup(this); + tabStyleGroup->addButton(m_tabStyleFullWidth); + tabStyleGroup->addButton(m_tabStyleFixed); + topLayout->addRow(i18nc("@title:group", "Tab style: "), m_tabStyleFullWidth); + topLayout->addRow(QString(), m_tabStyleFixed); + 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); @@ -177,6 +187,9 @@ FoldersTabsSettingsPage::FoldersTabsSettingsPage(QWidget *parent) connect(m_openNewTabAfterCurrentTab, &QRadioButton::toggled, this, &FoldersTabsSettingsPage::changed); connect(m_openNewTabAfterLastTab, &QRadioButton::toggled, this, &FoldersTabsSettingsPage::changed); + + connect(m_tabStyleFixed, &QRadioButton::toggled, this, &FoldersTabsSettingsPage::slotSettingsChanged); + connect(m_tabStyleFullWidth, &QRadioButton::toggled, this, &FoldersTabsSettingsPage::slotSettingsChanged); } FoldersTabsSettingsPage::~FoldersTabsSettingsPage() = default; @@ -222,6 +235,8 @@ void FoldersTabsSettingsPage::applySettings() settings->setOpenNewTabAfterLastTab(m_openNewTabAfterLastTab->isChecked()); + settings->setTabStyle(m_tabStyleFullWidth->isChecked() ? GeneralSettings::EnumTabStyle::FullWidth : GeneralSettings::EnumTabStyle::FixedSize); + settings->save(); } @@ -305,6 +320,9 @@ void FoldersTabsSettingsPage::loadSettings() m_openNewTabAfterLastTab->setChecked(GeneralSettings::openNewTabAfterLastTab()); m_openNewTabAfterCurrentTab->setChecked(!m_openNewTabAfterLastTab->isChecked()); + + m_tabStyleFixed->setChecked(GeneralSettings::tabStyle() == GeneralSettings::EnumTabStyle::FixedSize); + m_tabStyleFullWidth->setChecked(!m_tabStyleFixed->isChecked()); } void FoldersTabsSettingsPage::showSetDefaultDirectoryError() -- cgit v1.3