QMacStyle: Fix QCombobox offsets in Yosemite

Task-number: QTBUG-40833
Change-Id: Id3c3f4fd4f5c72cba844bf23f2e79ce0ea2b4a95
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
bb10
Gabriel de Dietrich 2014-10-27 18:39:26 +01:00
parent a860500f8e
commit 3f3955fec5
1 changed files with 6 additions and 3 deletions

View File

@ -4075,7 +4075,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
comboCopy.direction = Qt::LeftToRight;
if (opt->state & QStyle::State_Small)
comboCopy.rect.translate(0, w ? (QSysInfo::macVersion() > QSysInfo::MV_10_8 ? 0 : -1) : -2); // Supports Qt Quick Controls
else if (QSysInfo::macVersion() > QSysInfo::MV_10_8)
else if (QSysInfo::macVersion() == QSysInfo::MV_10_9)
comboCopy.rect.translate(0, 1);
QCommonStyle::drawControl(CE_ComboBoxLabel, &comboCopy, p, w);
}
@ -5738,10 +5738,13 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
if (const QStyleOptionComboBox *combo = qstyleoption_cast<const QStyleOptionComboBox *>(opt)){
HIThemeButtonDrawInfo bdi;
d->initComboboxBdi(combo, &bdi, widget, d->getDrawState(opt->state));
HIRect rect = qt_hirectForQRect(combo->rect);
if (combo->editable && QSysInfo::MacintoshVersion > QSysInfo::MV_10_9)
rect.origin.y += tds == kThemeStateInactive ? 1 : 2;
if (tds != kThemeStateInactive)
QMacStylePrivate::drawCombobox(qt_hirectForQRect(combo->rect), bdi, p);
QMacStylePrivate::drawCombobox(rect, bdi, p);
else
d->drawColorlessButton(qt_hirectForQRect(combo->rect), &bdi, p, opt);
d->drawColorlessButton(rect, &bdi, p, opt);
}
break;
case CC_TitleBar: