From d11d503850488d268e856e0737777672f317ad2d Mon Sep 17 00:00:00 2001 From: Wladimir Leuschner Date: Mon, 22 Jan 2024 15:37:19 +0100 Subject: QWindows11Style: Update font size in menubar items and spacing between items MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reduce the spacing between menu bar items and change font size to 10pt. Fixes: QTBUG-120639 Change-Id: Ic16e74f4a2426be6d6ef40904919d92785d96ce5 Reviewed-by: Robert Löhning Reviewed-by: Oliver Wolff (cherry picked from commit f75e554c6af7ea00bb5e6aa62a2af26350b67d98) --- src/plugins/styles/modernwindows/qwindows11style.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/plugins/styles/modernwindows/qwindows11style.cpp b/src/plugins/styles/modernwindows/qwindows11style.cpp index d25a6323c0..e54dc5d9e8 100644 --- a/src/plugins/styles/modernwindows/qwindows11style.cpp +++ b/src/plugins/styles/modernwindows/qwindows11style.cpp @@ -1365,21 +1365,27 @@ void QWindows11Style::drawControl(ControlElement element, const QStyleOption *op break; case CE_MenuBarItem: if (const auto *mbi = qstyleoption_cast(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 -- cgit v1.2.3-59-g8ed1b