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.6 Change-Id: I9aac295c824ad774410efd679f59075e4251b611 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> (cherry picked from commit 3aa9388056f56b65b33cd2929a690584e21a02b2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
e64861d416
commit
43de61139e
@ -3328,11 +3328,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;
|
||||
@ -3362,10 +3363,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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user