diff options
author | J-P Nurmi <jpnurmi@digia.com> | 2013-01-25 16:58:23 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-01-31 12:34:15 +0100 |
commit | ec51ad81ff885d8d07187c17231a59818acc46f6 (patch) | |
tree | a1579cd75b0e3a09ee8617ccacdf73971ddf43a5 | |
parent | 90361fd36c803c4c5c28d67f05ed66f619e0d39c (diff) |
QMacStyle: enable transient scrollbars for the desktop components
Change-Id: I4f57a2c4eade779c594abaacaa872540b3b23cb1
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
-rw-r--r-- | src/widgets/styles/qmacstyle_mac.mm | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index bb2423adae..dddeb97f32 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -2707,15 +2707,14 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w ret = false; break; case SH_ScrollBar_Transient: - if (!qobject_cast<const QScrollBar*>(w)) { - ret = false; - break; - } - ret = QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7; + if (qobject_cast<const QScrollBar *>(w) || + (opt && QStyleHelper::hasAncestor(opt->styleObject, QAccessible::ScrollBar))) { + ret = QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7; #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 - if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7) - ret &= [NSScroller preferredScrollerStyle] == NSScrollerStyleOverlay; + if (ret) + ret = [NSScroller preferredScrollerStyle] == NSScrollerStyleOverlay; #endif + } break; default: ret = QCommonStyle::styleHint(sh, opt, w, hret); @@ -4920,7 +4919,7 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex } #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 - if (cc == CC_ScrollBar && proxy()->styleHint(SH_ScrollBar_Transient, 0, widget)) { + if (cc == CC_ScrollBar && proxy()->styleHint(SH_ScrollBar_Transient, opt, widget)) { bool wasActive = false; CGFloat opacity = 1.0; CGFloat expandScale = 1.0; |