summaryrefslogtreecommitdiffstats
path: root/scroller/qflickgesture.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scroller/qflickgesture.cpp')
-rw-r--r--scroller/qflickgesture.cpp21
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);
}