Get scroll bar metrics from public API instead of hardcoded numbers.
Change-Id: I8c6efcab44d6d238d7b20b7f57cb457455f4a17f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
This commit is contained in:
parent
33a43cdbf2
commit
f2b96c3c51
@ -1105,6 +1105,17 @@ static void qt_drawFocusRingOnPath(CGContextRef cg, NSBezierPath *focusRingPath)
|
|||||||
CGContextRestoreGState(cg);
|
CGContextRestoreGState(cg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QAquaWidgetSize QMacStylePrivate::effectiveAquaSizeConstrain(const QStyleOption *option,
|
||||||
|
const QWidget *widg,
|
||||||
|
QStyle::ContentsType ct,
|
||||||
|
QSize szHint, QSize *insz) const
|
||||||
|
{
|
||||||
|
QAquaWidgetSize sz = aquaSizeConstrain(option, widg, ct, szHint, insz);
|
||||||
|
if (sz == QAquaSizeUnknown)
|
||||||
|
return QAquaSizeLarge;
|
||||||
|
return sz;
|
||||||
|
}
|
||||||
|
|
||||||
QAquaWidgetSize QMacStylePrivate::aquaSizeConstrain(const QStyleOption *option, const QWidget *widg,
|
QAquaWidgetSize QMacStylePrivate::aquaSizeConstrain(const QStyleOption *option, const QWidget *widg,
|
||||||
QStyle::ContentsType ct, QSize szHint, QSize *insz) const
|
QStyle::ContentsType ct, QSize szHint, QSize *insz) const
|
||||||
{
|
{
|
||||||
@ -2525,29 +2536,10 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PM_ScrollBarExtent: {
|
case PM_ScrollBarExtent: {
|
||||||
if ([NSScroller preferredScrollerStyle] == NSScrollerStyleOverlay) {
|
const QAquaWidgetSize size = d->effectiveAquaSizeConstrain(opt, widget);
|
||||||
switch (d->aquaSizeConstrain(opt, widget)) {
|
ret = static_cast<SInt32>([NSScroller
|
||||||
case QAquaSizeUnknown:
|
scrollerWidthForControlSize:static_cast<NSControlSize>(size)
|
||||||
case QAquaSizeLarge:
|
scrollerStyle:[NSScroller preferredScrollerStyle]]);
|
||||||
ret = QSysInfo::macVersion() >= QSysInfo::MV_10_8 ? 16 : 9;
|
|
||||||
break;
|
|
||||||
case QAquaSizeMini:
|
|
||||||
case QAquaSizeSmall:
|
|
||||||
ret = QSysInfo::macVersion() >= QSysInfo::MV_10_8 ? 14 : 7;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
switch (d->aquaSizeConstrain(opt, widget)) {
|
|
||||||
case QAquaSizeUnknown:
|
|
||||||
case QAquaSizeLarge:
|
|
||||||
GetThemeMetric(kThemeMetricScrollBarWidth, &ret);
|
|
||||||
break;
|
|
||||||
case QAquaSizeMini:
|
|
||||||
case QAquaSizeSmall:
|
|
||||||
GetThemeMetric(kThemeMetricSmallScrollBarWidth, &ret);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break; }
|
break; }
|
||||||
case PM_IndicatorHeight: {
|
case PM_IndicatorHeight: {
|
||||||
switch (d->aquaSizeConstrain(opt, widget)) {
|
switch (d->aquaSizeConstrain(opt, widget)) {
|
||||||
|
@ -172,6 +172,9 @@ public:
|
|||||||
QAquaWidgetSize aquaSizeConstrain(const QStyleOption *option, const QWidget *widg,
|
QAquaWidgetSize aquaSizeConstrain(const QStyleOption *option, const QWidget *widg,
|
||||||
QStyle::ContentsType ct = QStyle::CT_CustomBase,
|
QStyle::ContentsType ct = QStyle::CT_CustomBase,
|
||||||
QSize szHint=QSize(-1, -1), QSize *insz = 0) const;
|
QSize szHint=QSize(-1, -1), QSize *insz = 0) const;
|
||||||
|
QAquaWidgetSize effectiveAquaSizeConstrain(const QStyleOption *option, const QWidget *widg,
|
||||||
|
QStyle::ContentsType ct = QStyle::CT_CustomBase,
|
||||||
|
QSize szHint=QSize(-1, -1), QSize *insz = 0) const;
|
||||||
void getSliderInfo(QStyle::ComplexControl cc, const QStyleOptionSlider *slider,
|
void getSliderInfo(QStyle::ComplexControl cc, const QStyleOptionSlider *slider,
|
||||||
HIThemeTrackDrawInfo *tdi, const QWidget *needToRemoveMe) const;
|
HIThemeTrackDrawInfo *tdi, const QWidget *needToRemoveMe) const;
|
||||||
inline int animateSpeed(Animates) const { return 33; }
|
inline int animateSpeed(Animates) const { return 33; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user