From d282d449b9e8045cf779dbf593b413634693437f Mon Sep 17 00:00:00 2001 From: Kacper Donat Date: Wed, 10 Jul 2024 22:59:27 +0200 Subject: [PATCH] Gui: Ability to target new file buttons fia QSS. This adds ability to target New File buttons via `#CreateNewRow > QPushButton` selector. --- src/Gui/Stylesheets/Dark theme.qss | 5 +++++ src/Gui/Stylesheets/Light theme.qss | 5 +++++ src/Mod/Start/Gui/StartView.cpp | 12 +++++++++++- 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/Gui/Stylesheets/Dark theme.qss b/src/Gui/Stylesheets/Dark theme.qss index dc47f994e1..6fde3ee5db 100644 --- a/src/Gui/Stylesheets/Dark theme.qss +++ b/src/Gui/Stylesheets/Dark theme.qss @@ -1197,6 +1197,11 @@ QPushButton { min-width: 80px; } +#CreateNewRow > QPushButton { + /* Reset min width to default */ + min-width: -1; +} + QPushButton:disabled { background-color: #444444; color: #adadad; diff --git a/src/Gui/Stylesheets/Light theme.qss b/src/Gui/Stylesheets/Light theme.qss index fe807e71ba..5f05eff8d0 100644 --- a/src/Gui/Stylesheets/Light theme.qss +++ b/src/Gui/Stylesheets/Light theme.qss @@ -1123,6 +1123,11 @@ QPushButton { min-width: 80px; } +#CreateNewRow > QPushButton { + /* Reset min width to default */ + min-width: -1; +} + QPushButton:disabled { background-color: #d8d8d8; color: #adadad; diff --git a/src/Mod/Start/Gui/StartView.cpp b/src/Mod/Start/Gui/StartView.cpp index 5232c55ad3..fc245fc65a 100644 --- a/src/Mod/Start/Gui/StartView.cpp +++ b/src/Mod/Start/Gui/StartView.cpp @@ -147,8 +147,18 @@ StartView::StartView(QWidget* parent) _newFileLabel = gsl::owner(new QLabel()); layout->addWidget(_newFileLabel); + + auto createNewRow = gsl::owner(new QWidget); auto flowLayout = gsl::owner(new FlowLayout); - layout->addLayout(flowLayout); + + // reset margins of layout to provide consistent spacing + flowLayout->setContentsMargins({}); + + // this allows new file widgets to be targeted via QSS + createNewRow->setObjectName(QStringLiteral("CreateNewRow")); + createNewRow->setLayout(flowLayout); + + layout->addWidget(createNewRow); configureNewFileButtons(flowLayout); _recentFilesLabel = gsl::owner(new QLabel());