summaryrefslogtreecommitdiffstats
path: root/testapp/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'testapp/main.cpp')
-rw-r--r--testapp/main.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/testapp/main.cpp b/testapp/main.cpp
index c08c745..3dd4e1e 100644
--- a/testapp/main.cpp
+++ b/testapp/main.cpp
@@ -16,6 +16,7 @@
#endif
#include "qscrollareakineticscroller.h"
+#include <qflickgesture.h>
#include "qwebviewkineticscroller.h"
#include "settingswidget.h"
@@ -120,6 +121,12 @@ private:
QKineticScroller *installKineticScroller(QWidget *w)
{
+ static Qt::GestureType gestureType = (Qt::GestureType)0;
+ // need to register the gesture type
+ if( !gestureType ) {
+ gestureType = QGestureRecognizer::registerRecognizer( new QFlickGestureRecognizer() );
+ }
+
#if defined(Q_WS_MAEMO_5)
// remove the old kinetic scroller if any
QAbstractKineticScroller *oldScroller = w->property("kineticScroller").value<QAbstractKineticScroller *>();
@@ -127,13 +134,13 @@ private:
#endif
// set a new kinetic scroller
if (QAbstractScrollArea *area = qobject_cast<QAbstractScrollArea *>(w)) {
- QScrollAreaKineticScroller *newScroller = new QScrollAreaKineticScroller();
- newScroller->setWidget(area);
+ area->viewport()->grabGesture(gestureType);
+ QKineticScroller *newScroller = new QKineticScroller(area);
w->setProperty("kineticScroller", QVariant::fromValue(static_cast<QKineticScroller*>(newScroller)) );
return newScroller;
} else if (QWebView *web = qobject_cast<QWebView *>(w)) {
- QWebViewKineticScroller *newScroller = new QWebViewKineticScroller();
- newScroller->setWidget(web);
+ web->grabGesture(gestureType);
+ QKineticScroller *newScroller = new QKineticScroller(web);
w->setProperty("kineticScroller", QVariant::fromValue(static_cast<QKineticScroller*>(newScroller)) );
return newScroller;
} else {