22QScrollerPropertiesPrivate *QScrollerPropertiesPrivate::defaults()
24 if (!systemDefaults) {
25 QScrollerPropertiesPrivate spp;
26 spp.mousePressEventDelay = qreal(0.25);
27 spp.dragStartDistance = qreal(5.0 / 1000);
28 spp.dragVelocitySmoothingFactor = qreal(0.8);
29 spp.axisLockThreshold = qreal(0);
30 spp.scrollingCurve.setType(QEasingCurve::OutQuad);
31 spp.decelerationFactor = qreal(0.125);
32 spp.minimumVelocity = qreal(50.0 / 1000);
33 spp.maximumVelocity = qreal(500.0 / 1000);
34 spp.maximumClickThroughVelocity = qreal(66.5 / 1000);
35 spp.acceleratingFlickMaximumTime = qreal(1.25);
36 spp.acceleratingFlickSpeedupFactor = qreal(3.0);
37 spp.snapPositionRatio = qreal(0.5);
38 spp.snapTime = qreal(0.3);
39 spp.overshootDragResistanceFactor = qreal(0.5);
40 spp.overshootDragDistanceFactor = qreal(1);
41 spp.overshootScrollDistanceFactor = qreal(0.5);
42 spp.overshootScrollTime = qreal(0.7);
43 spp.hOvershootPolicy = QScrollerProperties::OvershootWhenScrollable;
44 spp.vOvershootPolicy = QScrollerProperties::OvershootWhenScrollable;
45 spp.frameRate = QScrollerProperties::Standard;
47 systemDefaults =
new QScrollerPropertiesPrivate(spp);
49 return new QScrollerPropertiesPrivate(userDefaults ? *userDefaults : *systemDefaults);
118bool QScrollerPropertiesPrivate::operator==(
const QScrollerPropertiesPrivate &p)
const
121 same &= (mousePressEventDelay == p.mousePressEventDelay);
122 same &= (dragStartDistance == p.dragStartDistance);
123 same &= (dragVelocitySmoothingFactor == p.dragVelocitySmoothingFactor);
124 same &= (axisLockThreshold == p.axisLockThreshold);
125 same &= (scrollingCurve == p.scrollingCurve);
126 same &= (decelerationFactor == p.decelerationFactor);
127 same &= (minimumVelocity == p.minimumVelocity);
128 same &= (maximumVelocity == p.maximumVelocity);
129 same &= (maximumClickThroughVelocity == p.maximumClickThroughVelocity);
130 same &= (acceleratingFlickMaximumTime == p.acceleratingFlickMaximumTime);
131 same &= (acceleratingFlickSpeedupFactor == p.acceleratingFlickSpeedupFactor);
132 same &= (snapPositionRatio == p.snapPositionRatio);
133 same &= (snapTime == p.snapTime);
134 same &= (overshootDragResistanceFactor == p.overshootDragResistanceFactor);
135 same &= (overshootDragDistanceFactor == p.overshootDragDistanceFactor);
136 same &= (overshootScrollDistanceFactor == p.overshootScrollDistanceFactor);
137 same &= (overshootScrollTime == p.overshootScrollTime);
138 same &= (hOvershootPolicy == p.hOvershootPolicy);
139 same &= (vOvershootPolicy == p.vOvershootPolicy);
140 same &= (frameRate == p.frameRate);
181QVariant QScrollerProperties::scrollMetric(ScrollMetric metric)
const
184 case MousePressEventDelay:
return d->mousePressEventDelay;
185 case DragStartDistance:
return d->dragStartDistance;
186 case DragVelocitySmoothingFactor:
return d->dragVelocitySmoothingFactor;
187 case AxisLockThreshold:
return d->axisLockThreshold;
188 case ScrollingCurve:
return d->scrollingCurve;
189 case DecelerationFactor:
return d->decelerationFactor;
190 case MinimumVelocity:
return d->minimumVelocity;
191 case MaximumVelocity:
return d->maximumVelocity;
192 case MaximumClickThroughVelocity:
return d->maximumClickThroughVelocity;
193 case AcceleratingFlickMaximumTime:
return d->acceleratingFlickMaximumTime;
194 case AcceleratingFlickSpeedupFactor:
return d->acceleratingFlickSpeedupFactor;
195 case SnapPositionRatio:
return d->snapPositionRatio;
196 case SnapTime:
return d->snapTime;
197 case OvershootDragResistanceFactor:
return d->overshootDragResistanceFactor;
198 case OvershootDragDistanceFactor:
return d->overshootDragDistanceFactor;
199 case OvershootScrollDistanceFactor:
return d->overshootScrollDistanceFactor;
200 case OvershootScrollTime:
return d->overshootScrollTime;
201 case HorizontalOvershootPolicy:
return QVariant::fromValue(d->hOvershootPolicy);
202 case VerticalOvershootPolicy:
return QVariant::fromValue(d->vOvershootPolicy);
203 case FrameRate:
return QVariant::fromValue(d->frameRate);
204 case ScrollMetricCount:
break;
214void QScrollerProperties::setScrollMetric(ScrollMetric metric,
const QVariant &value)
217 case MousePressEventDelay: d->mousePressEventDelay = value.toReal();
break;
218 case DragStartDistance: d->dragStartDistance = value.toReal();
break;
219 case DragVelocitySmoothingFactor: d->dragVelocitySmoothingFactor = qBound(qreal(0), value.toReal(), qreal(1));
break;
220 case AxisLockThreshold: d->axisLockThreshold = qBound(qreal(0), value.toReal(), qreal(1));
break;
221 case ScrollingCurve: d->scrollingCurve = value.toEasingCurve();
break;
222 case DecelerationFactor: d->decelerationFactor = value.toReal();
break;
223 case MinimumVelocity: d->minimumVelocity = value.toReal();
break;
224 case MaximumVelocity: d->maximumVelocity = value.toReal();
break;
225 case MaximumClickThroughVelocity: d->maximumClickThroughVelocity = value.toReal();
break;
226 case AcceleratingFlickMaximumTime: d->acceleratingFlickMaximumTime = value.toReal();
break;
227 case AcceleratingFlickSpeedupFactor:d->acceleratingFlickSpeedupFactor = value.toReal();
break;
228 case SnapPositionRatio: d->snapPositionRatio = qBound(qreal(0), value.toReal(), qreal(1));
break;
229 case SnapTime: d->snapTime = value.toReal();
break;
230 case OvershootDragResistanceFactor: d->overshootDragResistanceFactor = value.toReal();
break;
231 case OvershootDragDistanceFactor: d->overshootDragDistanceFactor = qBound(qreal(0), value.toReal(), qreal(1));
break;
232 case OvershootScrollDistanceFactor: d->overshootScrollDistanceFactor = qBound(qreal(0), value.toReal(), qreal(1));
break;
233 case OvershootScrollTime: d->overshootScrollTime = value.toReal();
break;
234 case HorizontalOvershootPolicy: d->hOvershootPolicy = qvariant_cast<QScrollerProperties::OvershootPolicy>(value);
break;
235 case VerticalOvershootPolicy: d->vOvershootPolicy = qvariant_cast<QScrollerProperties::OvershootPolicy>(value);
break;
236 case FrameRate: d->frameRate = qvariant_cast<QScrollerProperties::FrameRates>(value);
break;
237 case ScrollMetricCount:
break;