diff options
author | Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> | 2014-10-27 18:39:26 +0100 |
---|---|---|
committer | Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> | 2014-10-30 10:49:22 +0100 |
commit | 3f3955fec533c77639d6f1eb20cff593597d6222 (patch) | |
tree | 49e86ecbf505f684de8c47ba7827d8920e5b6b43 | |
parent | a860500f8e7f705939ce489849e73c640d4316ce (diff) |
QMacStyle: Fix QCombobox offsets in Yosemite
Task-number: QTBUG-40833
Change-Id: Id3c3f4fd4f5c72cba844bf23f2e79ce0ea2b4a95
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
-rw-r--r-- | src/widgets/styles/qmacstyle_mac.mm | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index 1d4aab7686..446946d793 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -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: |