diff options
author | Ghenady Kuznetsov <scroller@rambler.ru> | 2024-02-02 14:44:42 +0200 |
---|---|---|
committer | Ghenady Kuznetsov <scroller@rambler.ru> | 2024-02-03 00:12:00 +0200 |
commit | 3aa9388056f56b65b33cd2929a690584e21a02b2 (patch) | |
tree | 41e65dea74c250298e9a67b98c22c61393cca4c1 /src/widgets/styles/qfusionstyle.cpp | |
parent | 2b8a604c40814fb25db3e02f9a7776cde9bc1c7e (diff) |
Fusion style: add right side indent to groupbox title
Add right side indent to the title if groupbox alignment is set to
Qt::AlignRight | Qt::AlignVCenter.
Fixes: QTBUG-121049
Pick-to: 6.7 6.6
Change-Id: I9aac295c824ad774410efd679f59075e4251b611
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Diffstat (limited to 'src/widgets/styles/qfusionstyle.cpp')
-rw-r--r-- | src/widgets/styles/qfusionstyle.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp index 4fb1282d57..2a90f85bf7 100644 --- a/src/widgets/styles/qfusionstyle.cpp +++ b/src/widgets/styles/qfusionstyle.cpp @@ -3330,11 +3330,12 @@ QRect QFusionStyle::subControlRect(ComplexControl control, const QStyleOptionCom case CC_GroupBox: if (const QStyleOptionGroupBox *groupBox = qstyleoption_cast<const QStyleOptionGroupBox *>(option)) { const int groupBoxTextAlignment = groupBox->textAlignment; + const bool hasVerticalAlignment = (groupBoxTextAlignment & Qt::AlignVertical_Mask) == Qt::AlignVCenter; const int fontMetricsHeight = groupBox->text.isEmpty() ? 0 : groupBox->fontMetrics.height(); rect = option->rect; if (subControl == SC_GroupBoxFrame) - if ((groupBoxTextAlignment & Qt::AlignVertical_Mask) == Qt::AlignVCenter) + if (hasVerticalAlignment) return rect.adjusted(0, -(fontMetricsHeight + 4) / 2, 0, 0); else return rect; @@ -3364,10 +3365,11 @@ QRect QFusionStyle::subControlRect(ComplexControl control, const QStyleOptionCom rect.moveLeft((option->rect.width() - width) / 2); break; case Qt::AlignRight: - rect.moveLeft(option->rect.width() - width); + rect.moveLeft(option->rect.width() - width + - (hasVerticalAlignment ? proxy()->pixelMetric(PM_LayoutRightMargin, groupBox, widget) : 0)); break; case Qt::AlignLeft: - if ((groupBoxTextAlignment & Qt::AlignVertical_Mask) == Qt::AlignVCenter) + if (hasVerticalAlignment) rect.moveLeft(proxy()->pixelMetric(PM_LayoutLeftMargin, option, widget)); break; } |