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>bb10
parent
2b8a604c40
commit
3aa9388056
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue