QMacStyle: enable transient scrollbars for the desktop components
Change-Id: I4f57a2c4eade779c594abaacaa872540b3b23cb1 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
This commit is contained in:
parent
90361fd36c
commit
ec51ad81ff
@ -2707,15 +2707,14 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w
|
|||||||
ret = false;
|
ret = false;
|
||||||
break;
|
break;
|
||||||
case SH_ScrollBar_Transient:
|
case SH_ScrollBar_Transient:
|
||||||
if (!qobject_cast<const QScrollBar*>(w)) {
|
if (qobject_cast<const QScrollBar *>(w) ||
|
||||||
ret = false;
|
(opt && QStyleHelper::hasAncestor(opt->styleObject, QAccessible::ScrollBar))) {
|
||||||
break;
|
ret = QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7;
|
||||||
}
|
|
||||||
ret = QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7;
|
|
||||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
|
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
|
||||||
if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7)
|
if (ret)
|
||||||
ret &= [NSScroller preferredScrollerStyle] == NSScrollerStyleOverlay;
|
ret = [NSScroller preferredScrollerStyle] == NSScrollerStyleOverlay;
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ret = QCommonStyle::styleHint(sh, opt, w, hret);
|
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 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;
|
bool wasActive = false;
|
||||||
CGFloat opacity = 1.0;
|
CGFloat opacity = 1.0;
|
||||||
CGFloat expandScale = 1.0;
|
CGFloat expandScale = 1.0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user