diff options
Diffstat (limited to 'scroller/qflickgesture.cpp')
-rw-r--r-- | scroller/qflickgesture.cpp | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/scroller/qflickgesture.cpp b/scroller/qflickgesture.cpp index 1feb050..a1eef75 100644 --- a/scroller/qflickgesture.cpp +++ b/scroller/qflickgesture.cpp @@ -48,7 +48,6 @@ QT_BEGIN_NAMESPACE - class QFlickGesturePrivate { public: @@ -58,11 +57,21 @@ public: QKineticScroller *scroller() { - if (!target || !target->parent()) + // qDebug() << "QKineticScroller::scroller"<<target<<"parent:"<<target->parent(); + QKineticScroller *res = 0; + + if (!target) + return 0; + + res = target->property("kineticScroller").value<QKineticScroller *>(); + if (res) + return res; + + if (!target->parent()) return 0; - QKineticScroller *s = target->parent()->property("kineticScroller").value<QKineticScroller *>(); - return s; + res = target->parent()->property("kineticScroller").value<QKineticScroller *>(); + return res; } QPointer<QWidget> target; @@ -83,6 +92,7 @@ QFlickGestureRecognizer::QFlickGestureRecognizer() QGesture *QFlickGestureRecognizer::create(QObject *target) { + qDebug() << "Recognizer::create for"<<target<<"widget?"<<(target?target->isWidgetType():false); if (target && target->isWidgetType()) { QWidget *widget = static_cast<QWidget *>(target); #if defined(Q_OS_WIN) && !defined(QT_NO_NATIVE_GESTURES) @@ -105,6 +115,7 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state, QFlickGesturePrivate *d = q->d; QKineticScroller *scroller = d->scroller(); + // qDebug() << "QFlickGestureRecognizer::recognize for"<<scroller; if (!scroller) return QGestureRecognizer::Ignore; @@ -189,10 +200,8 @@ QGestureRecognizer::Result QFlickGestureRecognizer::recognize(QGesture *state, void QFlickGestureRecognizer::reset(QGesture *state) { QFlickGesture *flick = static_cast<QFlickGesture*>(state); - /* flick->d->target = 0; flick->d->timer.start(); - */ QGestureRecognizer::reset(state); } |