From 4c9500e42d143192ba73036f1d0f6a191ad80cf8 Mon Sep 17 00:00:00 2001 From: Méven Car Date: Thu, 5 Mar 2026 10:40:06 +0100 Subject: settings: make most settings page center aligned Limit the width of text labels. --- src/settings/interface/folderstabssettingspage.cpp | 5 ++++- src/settings/interface/panelsettingspage.cpp | 12 +++++++++--- src/settings/interface/statusandlocationbarssettingspage.cpp | 1 + src/settings/viewmodes/contentdisplaytab.cpp | 1 + src/settings/viewmodes/generalviewsettingspage.cpp | 7 +++++++ src/settings/viewmodes/viewsettingstab.cpp | 1 + 6 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/settings/interface/folderstabssettingspage.cpp b/src/settings/interface/folderstabssettingspage.cpp index 2795449b9..10303258c 100644 --- a/src/settings/interface/folderstabssettingspage.cpp +++ b/src/settings/interface/folderstabssettingspage.cpp @@ -48,6 +48,7 @@ FoldersTabsSettingsPage::FoldersTabsSettingsPage(QWidget *parent) , m_closeSplitComboBox(nullptr) { QFormLayout *topLayout = new QFormLayout(this); + topLayout->setFormAlignment(Qt::AlignHCenter); // Show on startup m_rememberOpenedTabsRadioButton = new QRadioButton(i18nc("@option:radio Show on startup", "Folders, tabs, and window state from last time"), this); @@ -58,12 +59,14 @@ FoldersTabsSettingsPage::FoldersTabsSettingsPage(QWidget *parent) m_homeUrlRadioButton->setAccessibleName(i18nc("@option:radio", "Show home location on startup")); QHBoxLayout *homeUrlBoxLayout = new QHBoxLayout(m_homeUrlBoxLayoutContainer); homeUrlBoxLayout->setContentsMargins(0, 0, 0, 0); + homeUrlBoxLayout->setSizeConstraint(QLayout::SetFixedSize); m_homeUrl = new QLineEdit(); m_homeUrl->setClearButtonEnabled(true); // i18n: For entering the absolute path to a user-specified home folder. Default: /home/userName/ m_homeUrl->setPlaceholderText(i18nc("@info:placeholder", "Enter home location path")); - homeUrlBoxLayout->addWidget(m_homeUrl); + homeUrlBoxLayout->addWidget(m_homeUrl, 0, topLayout->formAlignment()); + m_homeUrl->setMinimumWidth(m_homeUrl->fontMetrics().horizontalAdvance(m_homeUrl->placeholderText()) * 2); QPushButton *selectHomeUrlButton = new QPushButton(QIcon::fromTheme(QStringLiteral("folder-open")), QString()); homeUrlBoxLayout->addWidget(selectHomeUrlButton); diff --git a/src/settings/interface/panelsettingspage.cpp b/src/settings/interface/panelsettingspage.cpp index efa41e6c5..c564e97fc 100644 --- a/src/settings/interface/panelsettingspage.cpp +++ b/src/settings/interface/panelsettingspage.cpp @@ -26,7 +26,13 @@ PanelSettingsPage::PanelSettingsPage(QWidget *parent) , m_dateFormatShort(nullptr) { - QFormLayout *topLayout = new QFormLayout(this); + QVBoxLayout *layout = new QVBoxLayout(this); + layout->setVerticalSizeConstraint(QLayout::SetFixedSize); + + QFormLayout *topLayout = new QFormLayout(); + layout->addLayout(topLayout); + topLayout->setFormAlignment(Qt::AlignHCenter); + topLayout->setSizeConstraint(QLayout::SizeConstraint::SetFixedSize); KFormat formatter; QString m_longDateTime = formatter.formatRelativeDateTime(QDateTime(QDate(2024, 02, 28), QTime(10, 0)), QLocale::LongFormat); @@ -47,13 +53,13 @@ PanelSettingsPage::PanelSettingsPage(QWidget *parent) topLayout->addRow(QString(), m_showHovered); topLayout->addRow(QString(), m_dateFormatLong); topLayout->addRow(QString(), m_dateFormatShort); - topLayout->addItem(new QSpacerItem(0, Dolphin::VERTICAL_SPACER_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed)); QLabel *contextMenuHint = new QLabel(i18nc("@info", "Panel settings are also available through their context menu. Open it by pressing the right mouse button on a panel."), this); contextMenuHint->setWordWrap(true); - topLayout->addRow(contextMenuHint); + contextMenuHint->setMinimumWidth(topLayout->minimumSize().width()); + layout->addWidget(contextMenuHint, 0, Qt::AlignTop | Qt::AlignHCenter); loadSettings(); diff --git a/src/settings/interface/statusandlocationbarssettingspage.cpp b/src/settings/interface/statusandlocationbarssettingspage.cpp index 1e9af261b..1ab292ab5 100644 --- a/src/settings/interface/statusandlocationbarssettingspage.cpp +++ b/src/settings/interface/statusandlocationbarssettingspage.cpp @@ -36,6 +36,7 @@ StatusAndLocationBarsSettingsPage::StatusAndLocationBarsSettingsPage(QWidget *pa foldersTabsPage = foldersPage; QFormLayout *topLayout = new QFormLayout(this); + topLayout->setFormAlignment(Qt::AlignHCenter); // Status bar m_statusBarButtonGroup = new QButtonGroup(this); diff --git a/src/settings/viewmodes/contentdisplaytab.cpp b/src/settings/viewmodes/contentdisplaytab.cpp index 4c30f99eb..747c3ff20 100644 --- a/src/settings/viewmodes/contentdisplaytab.cpp +++ b/src/settings/viewmodes/contentdisplaytab.cpp @@ -33,6 +33,7 @@ ContentDisplayTab::ContentDisplayTab(QWidget *parent) , m_elideEnding(nullptr) { QFormLayout *topLayout = new QFormLayout(this); + topLayout->setFormAlignment(Qt::AlignHCenter); // Sorting Order m_naturalSorting = new QRadioButton(i18nc("option:radio", "Natural")); diff --git a/src/settings/viewmodes/generalviewsettingspage.cpp b/src/settings/viewmodes/generalviewsettingspage.cpp index 0456b1897..fe1f135d6 100644 --- a/src/settings/viewmodes/generalviewsettingspage.cpp +++ b/src/settings/viewmodes/generalviewsettingspage.cpp @@ -29,6 +29,7 @@ GeneralViewSettingsPage::GeneralViewSettingsPage(const QUrl &url, QWidget *paren , m_url(url) { QFormLayout *topLayout = new QFormLayout(this); + topLayout->setFormAlignment(Qt::AlignHCenter); // Display style m_globalViewProps = new QRadioButton(i18nc("@option:radio", "Use common display style for all folders")); @@ -181,6 +182,12 @@ GeneralViewSettingsPage::GeneralViewSettingsPage(const QUrl &url, QWidget *paren // END double click view background // --------------------- // + // make sure the labels don't expand too much + for (auto label : {localViewPropsLabel, globalViewPropsLabel}) { + label->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum)); + label->setMinimumWidth(m_dynamicView->width()); + } + loadSettings(); connect(m_localViewProps, &QRadioButton::toggled, this, &GeneralViewSettingsPage::changed); diff --git a/src/settings/viewmodes/viewsettingstab.cpp b/src/settings/viewmodes/viewsettingstab.cpp index bb03c582b..3593f23dd 100644 --- a/src/settings/viewmodes/viewsettingstab.cpp +++ b/src/settings/viewmodes/viewsettingstab.cpp @@ -39,6 +39,7 @@ ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget *parent) , m_expandableFolders(nullptr) { QFormLayout *topLayout = new QFormLayout(this); + topLayout->setFormAlignment(Qt::AlignHCenter); // Create "Icon Size" section const int minRange = ZoomLevelInfo::minimumLevel(); -- cgit v1.3