summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles/qfusionstyle.cpp
diff options
context:
space:
mode:
authorGhenady Kuznetsov <scroller@rambler.ru>2024-02-02 14:44:42 +0200
committerGhenady Kuznetsov <scroller@rambler.ru>2024-02-03 00:12:00 +0200
commit3aa9388056f56b65b33cd2929a690584e21a02b2 (patch)
tree41e65dea74c250298e9a67b98c22c61393cca4c1 /src/widgets/styles/qfusionstyle.cpp
parent2b8a604c40814fb25db3e02f9a7776cde9bc1c7e (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.cpp8
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;
}