summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@digia.com>2013-01-25 16:58:23 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-01-31 12:34:15 +0100
commitec51ad81ff885d8d07187c17231a59818acc46f6 (patch)
treea1579cd75b0e3a09ee8617ccacdf73971ddf43a5
parent90361fd36c803c4c5c28d67f05ed66f619e0d39c (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.mm15
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;