bool Panto::event (QEvent *evt) { //qDebug () << PANTO_PRETTY_FUNCTION << evt; if (evt) { QEvent::Type tipo = evt->type (); if (tipo ==QEvent::Gesture ) { qDebug () << "GESTURE event in " << this; QGestureEvent * gev = dynamic_cast <QGestureEvent*> (evt); if (gev) { qDebug () << " gev " << gev; } return true; } else if (tipo == QEvent::GestureOverride) { QGestureEvent * gev = dynamic_cast <QGestureEvent*> (evt); if (gev) { QDeclarativeItem * dItem = qobject_cast<QDeclarativeItem*>(gev->widget()); qDebug () << " override what? gev " << gev << gev->widget() << dItem; if (dItem) { QVariant retVar; QMetaObject::invokeMethod (dItem,"handleLoopGesture", Q_RETURN_ARG(QVariant, retVar)); if (retVar.isValid()) { return retVar.toBool(); } } } } } bool handled = QDeclarativeView::event (evt); //qDebug () << PANTO_PRETTY_FUNCTION << " returning " << handled; return handled; }