QWindows11Style: Update font size in menubar items and spacing between items
Reduce the spacing between menu bar items and change font size to 10pt. Fixes: QTBUG-120639 Change-Id: Ic16e74f4a2426be6d6ef40904919d92785d96ce5 Reviewed-by: Robert Löhning <robert.loehning@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> (cherry picked from commit f75e554c6af7ea00bb5e6aa62a2af26350b67d98)
This commit is contained in:
parent
1e96139cf2
commit
d11d503850
@ -1365,21 +1365,27 @@ void QWindows11Style::drawControl(ControlElement element, const QStyleOption *op
|
||||
break;
|
||||
case CE_MenuBarItem:
|
||||
if (const auto *mbi = qstyleoption_cast<const QStyleOptionMenuItem *>(option)) {
|
||||
constexpr int hPadding = 11;
|
||||
constexpr int topPadding = 4;
|
||||
constexpr int bottomPadding = 6;
|
||||
bool active = mbi->state & State_Selected;
|
||||
bool hasFocus = mbi->state & State_HasFocus;
|
||||
bool down = mbi->state & State_Sunken;
|
||||
bool enabled = mbi->state & State_Enabled;
|
||||
QStyleOptionMenuItem newMbi = *mbi;
|
||||
newMbi.font.setPointSize(10);
|
||||
if (enabled && (active || hasFocus)) {
|
||||
if (active && down)
|
||||
painter->setBrushOrigin(painter->brushOrigin() + QPoint(1, 1));
|
||||
if (active && hasFocus) {
|
||||
painter->setBrush(WINUI3Colors[colorSchemeIndex][subtleHighlightColor]);
|
||||
painter->setPen(Qt::NoPen);
|
||||
QRect rect = mbi->rect.marginsRemoved(QMargins(2,2,2,2));
|
||||
QRect rect = mbi->rect.marginsRemoved(QMargins(5,0,5,0));
|
||||
painter->drawRoundedRect(rect,secondLevelRoundingRadius,secondLevelRoundingRadius,Qt::AbsoluteSize);
|
||||
}
|
||||
}
|
||||
newMbi.rect.adjust(hPadding,topPadding,-hPadding,-bottomPadding);
|
||||
painter->setFont(newMbi.font);
|
||||
QCommonStyle::drawControl(element, &newMbi, painter, widget);
|
||||
}
|
||||
break;
|
||||
@ -1880,8 +1886,13 @@ QSize QWindows11Style::sizeFromContents(ContentsType type, const QStyleOption *o
|
||||
|
||||
#if QT_CONFIG(menubar)
|
||||
case CT_MenuBarItem:
|
||||
if (!contentSize.isEmpty())
|
||||
contentSize += QSize(QWindowsVistaStylePrivate::windowsItemHMargin * 5 + 1 + 16, 5 + 16);
|
||||
if (!contentSize.isEmpty()) {
|
||||
constexpr int hMargin = 2 * 6;
|
||||
constexpr int hPadding = 2 * 11;
|
||||
constexpr int itemHeight = 32;
|
||||
contentSize.setWidth(contentSize.width() + hMargin + hPadding);
|
||||
contentSize.setHeight(itemHeight);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user