Fix text position in mirrored layouts

This commit is contained in:
Clemens Manert 2023-02-11 23:15:07 +01:00
parent 4c1f60eb1c
commit ffa150a5fd
No known key found for this signature in database
GPG Key ID: 9197EAE8F85E3A18
1 changed files with 5 additions and 7 deletions

View File

@ -135,17 +135,15 @@ QRectF QskRadioBoxSkinlet::textRect( const QskRadioBox* radio,
auto lh = lineHeight( radio ); auto lh = lineHeight( radio );
const auto textMargins = radio->marginHint( Q::Text ); const auto textMargins = radio->marginHint( Q::Text );
result.setSize( { radio->strutSizeHint( Q::Text ).width(), lh } );
result.moveTop( index * ( lh + spacing ) result.moveTop( index * ( lh + spacing )
+ lh - radio->effectiveFontHeight(Q::Text) + lh - radio->effectiveFontHeight(Q::Text)
+ textMargins.top()); + textMargins.top());
if( !radio->layoutMirroring() ) { if( !radio->layoutMirroring() ) {
auto symbolWidth = buttonRect( radio, Q::Symbol, rect, index ).width(); auto maxWidth = qMax( buttonRect( radio, Q::Symbol, rect, index ).width(),
auto radioWidth = buttonRect( radio, Q::Button, rect, index ).width(); buttonRect( radio, Q::Button, rect, index ).width());
result.moveLeft( qMax(symbolWidth, radioWidth) + textMargins.left());
result.moveLeft( maxWidth + textMargins.left());
} }
return result; return result;