diff options
Diffstat (limited to 'src/widgets/styles/qwindowsvistastyle.cpp')
-rw-r--r-- | src/widgets/styles/qwindowsvistastyle.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/widgets/styles/qwindowsvistastyle.cpp b/src/widgets/styles/qwindowsvistastyle.cpp index af379b756e..6c7b71bd74 100644 --- a/src/widgets/styles/qwindowsvistastyle.cpp +++ b/src/widgets/styles/qwindowsvistastyle.cpp @@ -1236,7 +1236,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption case CE_MenuItem: if (const QStyleOptionMenuItem *menuitem = qstyleoption_cast<const QStyleOptionMenuItem *>(option)) { // windows always has a check column, regardless whether we have an icon or not - int checkcol = 28; + int checkcol = 25; { SIZE size; MARGINS margins; @@ -1244,11 +1244,13 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption MENU_POPUPCHECKBACKGROUND, MBI_HOT); pGetThemePartSize(theme.handle(), NULL, MENU_POPUPCHECK, 0, NULL,TS_TRUE, &size); pGetThemeMargins(theme.handle(), NULL, MENU_POPUPCHECK, 0, TMT_CONTENTMARGINS, NULL, &margins); - checkcol = qMax(menuitem->maxIconWidth, int(6 + size.cx + margins.cxLeftWidth + margins.cxRightWidth)); + checkcol = qMax(menuitem->maxIconWidth, int(3 + size.cx + margins.cxLeftWidth + margins.cxRightWidth)); } QRect rect = option->rect; //draw vertical menu line + if (option->direction == Qt::LeftToRight) + checkcol += rect.x(); QPoint p1 = QStyle::visualPos(option->direction, menuitem->rect, QPoint(checkcol, rect.top())); QPoint p2 = QStyle::visualPos(option->direction, menuitem->rect, QPoint(checkcol, rect.bottom())); QRect gutterRect(p1.x(), p1.y(), 3, p2.y() - p1.y() + 1); @@ -1340,11 +1342,9 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption painter->setPen(menuitem->palette.buttonText().color()); - QColor discol; - if (dis) { - discol = menuitem->palette.text().color(); - painter->setPen(discol); - } + const QColor textColor = menuitem->palette.text().color(); + if (dis) + painter->setPen(textColor); int xm = windowsItemFrame + checkcol + windowsItemHMargin; int xpos = menuitem->rect.x() + xm; @@ -1368,7 +1368,7 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption if (menuitem->menuItemType == QStyleOptionMenuItem::DefaultItem) font.setBold(true); painter->setFont(font); - painter->setPen(discol); + painter->setPen(textColor); painter->drawText(vTextRect, text_flags, s.left(t)); painter->restore(); } |