diff options
author | Ralf Engels <ralf.engels@nokia.com> | 2010-07-02 18:40:54 +0200 |
---|---|---|
committer | Ralf Engels <ralf.engels@nokia.com> | 2010-07-02 18:40:54 +0200 |
commit | 61d18dd5ff3310f3a3831814d86a5283d1c4910d (patch) | |
tree | 061516fc3557122f1c8372b88d7e6944680024a9 /testapp | |
parent | e3c1d7d45146fe99ef766a043c9d9eca3b4e22ed (diff) |
New architecturescrollevent
Diffstat (limited to 'testapp')
-rw-r--r-- | testapp/main.cpp | 16 | ||||
-rw-r--r-- | testapp/settingswidget.cpp | 28 | ||||
-rw-r--r-- | testapp/settingswidget.h | 3 |
3 files changed, 37 insertions, 10 deletions
diff --git a/testapp/main.cpp b/testapp/main.cpp index 3dd4e1e..9ec8a70 100644 --- a/testapp/main.cpp +++ b/testapp/main.cpp @@ -15,7 +15,7 @@ # include <QAbstractKineticScroller> #endif -#include "qscrollareakineticscroller.h" +// #include "qscrollareakineticscroller.h" #include <qflickgesture.h> #include "qwebviewkineticscroller.h" @@ -88,11 +88,11 @@ private slots: return; switch (page) { case 0: - m_settings->setKineticScroller(m_list_scroller); + m_settings->setKineticScroller(m_list->viewport(), m_list_scroller); m_plot->setKineticScroller(m_list_scroller); break; case 1: - m_settings->setKineticScroller(m_web_scroller); + m_settings->setKineticScroller(m_web, m_web_scroller); m_plot->setKineticScroller(m_web_scroller); break; default: @@ -140,6 +140,16 @@ private: return newScroller; } else if (QWebView *web = qobject_cast<QWebView *>(w)) { web->grabGesture(gestureType); + + QKineticScroller prop; + prop. + QFlickGestureRecognizer::setProperties(web, prop); + + prop = QFlickGestureRecognizer::properties(web); + + QFlicker f(web); + f.ensureVisible(10, 10); + QKineticScroller *newScroller = new QKineticScroller(web); w->setProperty("kineticScroller", QVariant::fromValue(static_cast<QKineticScroller*>(newScroller)) ); return newScroller; diff --git a/testapp/settingswidget.cpp b/testapp/settingswidget.cpp index 30f1d90..f61f297 100644 --- a/testapp/settingswidget.cpp +++ b/testapp/settingswidget.cpp @@ -51,8 +51,11 @@ #include <QCheckBox> #include <QScrollArea> +#include <QDebug> + #include "settingswidget.h" #include "qkineticscroller.h" +#include "qflickgesture.h" struct MetricItem { @@ -69,7 +72,8 @@ class MetricItemUpdater : public QObject Q_OBJECT public: MetricItemUpdater(MetricItem *item) - : m_item(item), m_scroller(0) + : m_item(item) + , m_scroller(0) { if (m_item->min.type() == QVariant::PointF) { m_slider = new QSlider(Qt::Horizontal); @@ -277,7 +281,10 @@ public: }; SettingsWidget::SettingsWidget(bool smallscreen) - : QScrollArea(), m_scroller(0), m_smallscreen(smallscreen) + : QScrollArea() + , m_widget(0) + , m_scroller(0) + , m_smallscreen(smallscreen) { setWindowTitle(QLatin1String("Settings")); QWidget *view = new QWidget(); @@ -368,8 +375,9 @@ SettingsWidget::SettingsWidget(bool smallscreen) setWidgetResizable(true); } -void SettingsWidget::setKineticScroller(QKineticScroller *scroller) +void SettingsWidget::setKineticScroller(QWidget *widget, QKineticScroller *scroller) { + m_widget = widget; m_scroller = scroller; //setEnabled(m_scroller); @@ -380,8 +388,8 @@ void SettingsWidget::setKineticScroller(QKineticScroller *scroller) if (!m_scroller) return; - m_onoff->setChecked(m_scroller->isEnabled()); - m_dpi->setValue(m_scroller->dpi()); + //TODO m_onoff->setChecked(m_scroller->isEnabled()); + //TODO m_dpi->setValue(m_scroller->dpi()); m_hospolicy->setCurrentIndex(m_hospolicy->findData(m_scroller->horizontalOvershootPolicy())); m_vospolicy->setCurrentIndex(m_vospolicy->findData(m_scroller->verticalOvershootPolicy())); @@ -399,14 +407,18 @@ void SettingsWidget::setKineticScroller(QKineticScroller *scroller) void SettingsWidget::enabledChanged(bool on) { + /* TODO if (m_scroller) m_scroller->setEnabled(on); + */ } void SettingsWidget::dpiChanged(int dpi) { + /* TODO if (m_scroller) m_scroller->setDpi(dpi); + */ } void SettingsWidget::overshootPolicyChanged(int index) @@ -427,7 +439,11 @@ void SettingsWidget::scrollTo() return; if (!m_scroller) return; - m_scroller->scrollTo(QPointF(m_scrollx->value(), m_scrolly->value()), m_scrolltime->value()); + +qDebug() << "SettingsWidget::scrollTo" << m_scrollx->value(); + + QFlickGesture *flick = QFlickGestureRecognizer::getFlickGesture(m_widget); + flick->scrollTo(QPointF(m_scrollx->value(), m_scrolly->value()), m_scrolltime->value()); } #include "settingswidget.moc" diff --git a/testapp/settingswidget.h b/testapp/settingswidget.h index ec7a180..c0605e4 100644 --- a/testapp/settingswidget.h +++ b/testapp/settingswidget.h @@ -59,7 +59,7 @@ class SettingsWidget : public QScrollArea public: SettingsWidget(bool smallscreen = false); - void setKineticScroller(QKineticScroller *scroller); + void setKineticScroller(QWidget *widget, QKineticScroller *scroller); private slots: void enabledChanged(bool on); @@ -70,6 +70,7 @@ private slots: private: void addToGrid(QGridLayout *grid, QWidget *label, int widgetCount, ...); + QWidget *m_widget; QKineticScroller *m_scroller; QCheckBox *m_onoff; QSpinBox *m_dpi, *m_scrollx, *m_scrolly, *m_scrolltime; |