diff options
-rw-r--r-- | src/declarative/util/qmleasefollow.cpp | 11 | ||||
-rw-r--r-- | src/declarative/util/qmlview.cpp | 30 | ||||
-rw-r--r-- | src/declarative/util/qmlview.h | 4 |
3 files changed, 18 insertions, 27 deletions
diff --git a/src/declarative/util/qmleasefollow.cpp b/src/declarative/util/qmleasefollow.cpp index efa6faf..deb474a 100644 --- a/src/declarative/util/qmleasefollow.cpp +++ b/src/declarative/util/qmleasefollow.cpp @@ -300,6 +300,13 @@ Rectangle { } \endcode + The default velocity of EaseFollow is 200 units/second. Note that if the range of the + value being animated is small, then the velocity will need to be adjusted + appropriately. For example, the opacity of an item ranges from 0 - 1.0. + To enable a smooth animation in this range the velocity will need to be + set to a value such as 0.5 units/second. Animating from 0 to 1.0 with a velocity + of 0.5 will take 2000 ms to complete. + \sa SpringFollow */ @@ -415,7 +422,7 @@ void QmlEaseFollow::setSourceValue(qreal s) This property holds the animation duration used when tracking the source. - Setting this to -1 disables the duration value. + Setting this to -1 (the default) disables the duration value. */ qreal QmlEaseFollow::duration() const { @@ -449,6 +456,8 @@ qreal QmlEaseFollow::velocity() const This property holds the average velocity allowed when tracking the source. + The default velocity of EaseFollow is 200 units/second. + Setting this to -1 disables the velocity value. */ void QmlEaseFollow::setVelocity(qreal v) diff --git a/src/declarative/util/qmlview.cpp b/src/declarative/util/qmlview.cpp index 4a6d697..400ae52 100644 --- a/src/declarative/util/qmlview.cpp +++ b/src/declarative/util/qmlview.cpp @@ -126,12 +126,13 @@ void FrameBreakAnimation::updateCurrentTime(int msecs) server->frameBreak(); } -class QmlViewPrivate : public QGraphicsViewPrivate +class QmlViewPrivate { - Q_DECLARE_PUBLIC(QmlView) public: - QmlViewPrivate() - : root(0), component(0), resizeMode(QmlView::SizeViewToRootObject) {} + QmlViewPrivate(QmlView *view) + : q(view), root(0), component(0), resizeMode(QmlView::SizeViewToRootObject) {} + + QmlView *q; QGuard<QGraphicsObject> root; QGuard<QmlGraphicsItem> qmlRoot; @@ -213,16 +214,14 @@ public: Constructs a QmlView with the given \a parent. */ QmlView::QmlView(QWidget *parent) -: QGraphicsView(*(new QmlViewPrivate), parent) +: QGraphicsView(parent), d(new QmlViewPrivate(this)) { - Q_D(QmlView); setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred); d->init(); } void QmlViewPrivate::init() { - Q_Q(QmlView); #ifdef Q_ENABLE_PERFORMANCE_LOG { QmlPerfTimer<QmlPerf::FontDatabase> perf; @@ -251,7 +250,6 @@ void QmlViewPrivate::init() */ QmlView::~QmlView() { - Q_D(QmlView); delete d->root; } @@ -264,7 +262,6 @@ QmlView::~QmlView() */ void QmlView::setSource(const QUrl& url) { - Q_D(QmlView); d->source = url; } @@ -275,7 +272,6 @@ void QmlView::setSource(const QUrl& url) */ QUrl QmlView::source() const { - Q_D(const QmlView); return d->source; } @@ -285,7 +281,6 @@ QUrl QmlView::source() const */ QmlEngine* QmlView::engine() { - Q_D(QmlView); return &d->engine; } @@ -298,7 +293,6 @@ QmlEngine* QmlView::engine() */ QmlContext* QmlView::rootContext() { - Q_D(QmlView); return d->engine.rootContext(); } @@ -309,7 +303,6 @@ QmlContext* QmlView::rootContext() */ void QmlView::execute() { - Q_D(QmlView); delete d->root; delete d->component; d->component = new QmlComponent(&d->engine, d->source, this); @@ -339,7 +332,6 @@ void QmlView::execute() QmlView::Status QmlView::status() const { - Q_D(const QmlView); if (!d->component) return QmlView::Null; @@ -352,7 +344,6 @@ QmlView::Status QmlView::status() const */ QList<QmlError> QmlView::errors() const { - Q_D(const QmlView); if (d->component) return d->component->errors(); return QList<QmlError>(); @@ -378,7 +369,6 @@ QList<QmlError> QmlView::errors() const void QmlView::setResizeMode(ResizeMode mode) { - Q_D(QmlView); if (d->resizeMode == mode) return; @@ -396,7 +386,6 @@ void QmlView::setResizeMode(ResizeMode mode) QmlView::ResizeMode QmlView::resizeMode() const { - Q_D(const QmlView); return d->resizeMode; } @@ -405,7 +394,6 @@ QmlView::ResizeMode QmlView::resizeMode() const */ void QmlView::continueExecute() { - Q_D(QmlView); disconnect(d->component, SIGNAL(statusChanged(QmlComponent::Status)), this, SLOT(continueExecute())); @@ -482,7 +470,6 @@ void QmlView::continueExecute() */ void QmlView::sizeChanged() { - Q_D(QmlView); // delay, so we catch both width and height changing. d->resizetimer.start(0,this); } @@ -494,7 +481,6 @@ void QmlView::sizeChanged() */ void QmlView::timerEvent(QTimerEvent* e) { - Q_D(QmlView); if (!e || e->timerId() == d->resizetimer.timerId()) { if (d->qmlRoot) { QSize sz(d->qmlRoot->width(),d->qmlRoot->height()); @@ -513,7 +499,6 @@ void QmlView::timerEvent(QTimerEvent* e) */ QSize QmlView::sizeHint() const { - Q_D(const QmlView); if (d->qmlRoot) { if (d->initialSize.width() <= 0) d->initialSize.setWidth(d->qmlRoot->width()); @@ -528,7 +513,6 @@ QSize QmlView::sizeHint() const */ QGraphicsObject *QmlView::rootObject() const { - Q_D(const QmlView); return d->root; } @@ -539,7 +523,6 @@ QGraphicsObject *QmlView::rootObject() const */ void QmlView::resizeEvent(QResizeEvent *e) { - Q_D(QmlView); if (d->resizeMode == SizeRootObjectToView && d->qmlRoot) { d->qmlRoot->setWidth(width()); d->qmlRoot->setHeight(height()); @@ -559,7 +542,6 @@ void QmlView::resizeEvent(QResizeEvent *e) */ void QmlView::paintEvent(QPaintEvent *event) { - Q_D(QmlView); int time = 0; if (frameRateDebug() || QmlViewDebugServer::isDebuggingEnabled()) time = d->frameTimer.restart(); diff --git a/src/declarative/util/qmlview.h b/src/declarative/util/qmlview.h index 1c6d865..1d6ef1c 100644 --- a/src/declarative/util/qmlview.h +++ b/src/declarative/util/qmlview.h @@ -65,8 +65,6 @@ class Q_DECLARATIVE_EXPORT QmlView : public QGraphicsView Q_PROPERTY(ResizeMode resizeMode READ resizeMode WRITE setResizeMode) Q_PROPERTY(Status status READ status NOTIFY statusChanged) - Q_DECLARE_PRIVATE(QmlView) - public: explicit QmlView(QWidget *parent = 0); virtual ~QmlView(); @@ -103,6 +101,8 @@ protected: virtual void resizeEvent(QResizeEvent *); virtual void paintEvent(QPaintEvent *event); void timerEvent(QTimerEvent*); + + QmlViewPrivate *d; }; QT_END_NAMESPACE |