summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Engels <ralf.engels@nokia.com>2010-04-21 15:47:10 +0200
committerRalf Engels <ralf.engels@nokia.com>2010-04-21 15:47:10 +0200
commit70797dc1c4175f3b7da59e0ba7e4111690d2dafa (patch)
treeb60decfe44c5e111d636a553813065c6b15e591c
parent7a430d1ad9073ae1c2663be13a806460a8a5a90e (diff)
Maemo 5 fixes
-rw-r--r--scroller/qkineticscroller.cpp19
-rw-r--r--testapp/main.cpp32
-rw-r--r--testapp/plotwidget.cpp15
-rw-r--r--testapp/plotwidget.h6
-rw-r--r--testapp/qscrollareakineticscroller.cpp1
-rw-r--r--testapp/settingswidget.cpp16
-rw-r--r--testapp/settingswidget.h6
7 files changed, 73 insertions, 22 deletions
diff --git a/scroller/qkineticscroller.cpp b/scroller/qkineticscroller.cpp
index 9b40792..32e9296 100644
--- a/scroller/qkineticscroller.cpp
+++ b/scroller/qkineticscroller.cpp
@@ -221,16 +221,16 @@ void QKineticScroller::resetScrollMetrics()
metrics.insert(LinearDecelerationFactor, qreal(0));
metrics.insert(OvershootSpringConstant, qreal(0.1));
metrics.insert(OvershootDragResistanceFactor, qreal(1));
- metrics.insert(OvershootMaximumDistance, QPointF(qreal(150), qreal(150)));
- metrics.insert(DragStartDistance, qreal(25));
- metrics.insert(DragStartDirectionErrorMargin, qreal(10));
- metrics.insert(MaximumVelocity, qreal(70000));
- metrics.insert(MinimumVelocity, qreal(200));
- metrics.insert(MaximumNonAcceleratedVelocity, qreal(5600));
- metrics.insert(MaximumClickThroughVelocity, qreal(700));
+ metrics.insert(OvershootMaximumDistance, QPointF(qreal(15.0 / 1000), qreal(15.0 / 1000)));
+ metrics.insert(DragStartDistance, qreal(10.0 / 1000));
+ metrics.insert(DragStartDirectionErrorMargin, qreal(1.0 / 1000));
+ metrics.insert(MaximumVelocity, qreal(7000.0 / 1000));
+ metrics.insert(MinimumVelocity, qreal(20.0 / 1000));
+ metrics.insert(MaximumNonAcceleratedVelocity, qreal(5600.0 / 1000));
+ metrics.insert(MaximumClickThroughVelocity, qreal(700.0 / 1000));
metrics.insert(AxisLockThreshold, qreal(0));
- metrics.insert(FastSwipeBaseVelocity, qreal(540));
- metrics.insert(FastSwipeMinimumVelocity, qreal(800));
+ metrics.insert(FastSwipeBaseVelocity, qreal(540.0 / 1000));
+ metrics.insert(FastSwipeMinimumVelocity, qreal(80.0 / 1000));
metrics.insert(FastSwipeMaximumTime, qreal(0.125));
metrics.insert(FramesPerSecond, qreal(20));
#else
@@ -243,7 +243,6 @@ void QKineticScroller::resetScrollMetrics()
metrics.insert(DragStartDistance, qreal(2.5 / 1000));
metrics.insert(DragStartDirectionErrorMargin, qreal(1.0 / 1000));
metrics.insert(MaximumVelocity, qreal(6650.0 / 1000));
- metrics.insert(MaximumVelocity, qreal(6650.0 / 1000));
metrics.insert(MinimumVelocity, qreal(30.0 / 1000));
metrics.insert(MaximumNonAcceleratedVelocity, qreal(532.0 / 1000));
metrics.insert(MaximumClickThroughVelocity, qreal(66.5 / 1000));
diff --git a/testapp/main.cpp b/testapp/main.cpp
index 732f67c..92fe4f3 100644
--- a/testapp/main.cpp
+++ b/testapp/main.cpp
@@ -1,4 +1,19 @@
-#include <QtGui>
+
+#include <QApplication>
+#include <QListWidget>
+#include <QListWidgetItem>
+#include <QTabWidget>
+#include <QSplitter>
+#include <QStackedWidget>
+#include <QSignalMapper>
+#include <QMainWindow>
+#include <QMenuBar>
+#include <QActionGroup>
+
+#ifdef Q_WS_MAEMO_5
+# include <QAbstractKineticScroller>
+#endif
+
#include "qscrollareakineticscroller.h"
#include "settingswidget.h"
@@ -11,10 +26,15 @@ int main(int argc, char **argv)
QListWidget *list = new QListWidget();
for (int i = 0; i < 1000; ++i)
- new QListWidgetItem(QString("Oa dsjfhdk jhdsjk hfdskj k %1").arg(i), list);
+ new QListWidgetItem(QString("This is a test text %1 %2").arg(i).arg(QString("--------").left(i % 8)), list);
+
+ // remove the old kinetic scroller if any
+ QAbstractKineticScroller *oldScroller = list->property("kineticScroller").value<QAbstractKineticScroller *>();
+ oldScroller->setEnabled(false);
- QScrollAreaKineticScroller *s = new QScrollAreaKineticScroller();
- s->setWidget(list);
+ // set a new kinetic scroller
+ QScrollAreaKineticScroller *newScroller = new QScrollAreaKineticScroller();
+ newScroller->setWidget(list);
#if defined(Q_WS_MAEMO_5) || defined(Q_WS_S60) || defined(Q_WS_WINCE)
bool smallScreen = true;
@@ -22,8 +42,8 @@ int main(int argc, char **argv)
bool smallScreen = false;
#endif
- QWidget *settings = new SettingsWidget(s, smallScreen);
- QWidget *plot = new PlotWidget(s);
+ QWidget *settings = new SettingsWidget(newScroller, smallScreen);
+ QWidget *plot = new PlotWidget(newScroller);
if (smallScreen) {
QMainWindow *top = new QMainWindow();
diff --git a/testapp/plotwidget.cpp b/testapp/plotwidget.cpp
index 019c3c8..43c179b 100644
--- a/testapp/plotwidget.cpp
+++ b/testapp/plotwidget.cpp
@@ -39,7 +39,13 @@
**
****************************************************************************/
-#include <QtGui>
+#include <QPushButton>
+#include <QTextStream>
+#include <QColor>
+#include <QPainter>
+#include <QLabel>
+#include <QResizeEvent>
+#include <QPlastiqueStyle>
#include "plotwidget.h"
#include "qkineticscroller.h"
@@ -51,11 +57,16 @@ PlotWidget::PlotWidget(QKineticScroller *scroller)
m_scroller->registerDebugHook(debugHook, this);
m_clear = new QPushButton(QLatin1String("Clear"), this);
+#if defined(Q_WS_MAEMO_5)
+ m_clear->setStyle(new QPlastiqueStyle());
+ m_clear->setFixedHeight(55);
+#endif
connect(m_clear, SIGNAL(clicked()), this, SLOT(reset()));
m_legend = new QLabel(this);
QString legend;
QTextStream ts(&legend);
- ts << "<table border=\"0\">";
+ // ok. this wouldn't pass the w3c html verification...
+ ts << "<table style=\"color:#000;\" border=\"0\">";
ts << "<tr><td width=\"30\" bgcolor=\"" << QColor(Qt::red).light().name() << "\" /><td>Velocity X</td></tr>";
ts << "<tr><td width=\"30\" bgcolor=\"" << QColor(Qt::red).dark().name() << "\" /><td>Velocity Y</td></tr>";
ts << "<tr><td width=\"30\" bgcolor=\"" << QColor(Qt::green).light().name() << "\" /><td>Content Position X</td></tr>";
diff --git a/testapp/plotwidget.h b/testapp/plotwidget.h
index 80e76ad..12fefe3 100644
--- a/testapp/plotwidget.h
+++ b/testapp/plotwidget.h
@@ -42,7 +42,11 @@
#ifndef PLOTWIDGET_H
#define PLOTWIDGET_H
-#include <QtGui>
+#include <QWidget>
+#include <QPointF>
+
+class QPushButton;
+class QLabel;
class QKineticScroller;
diff --git a/testapp/qscrollareakineticscroller.cpp b/testapp/qscrollareakineticscroller.cpp
index 0a00b4e..ce41610 100644
--- a/testapp/qscrollareakineticscroller.cpp
+++ b/testapp/qscrollareakineticscroller.cpp
@@ -178,6 +178,7 @@ bool QScrollAreaKineticScroller::eventFilter(QObject *o, QEvent *e)
bool isMouseEvent = false;
bool isMouseDown = false;
+ qDebug("QScrollAreaKineticScroller::eventFilter: %d", e->type());
if (d->area && (o == d->area->viewport()) &&
!d->ignoreEvents && d->area->isEnabled() && isEnabled()) {
switch (e->type()) {
diff --git a/testapp/settingswidget.cpp b/testapp/settingswidget.cpp
index 5756cf8..77b5cd9 100644
--- a/testapp/settingswidget.cpp
+++ b/testapp/settingswidget.cpp
@@ -39,7 +39,17 @@
**
****************************************************************************/
-#include <QtGui>
+#include <QVariant>
+#include <QSlider>
+#include <QHBoxLayout>
+#include <QLabel>
+#include <QPushButton>
+#include <QComboBox>
+#include <QSpinBox>
+#include <QGroupBox>
+#include <QToolButton>
+#include <QCheckBox>
+#include <QScrollArea>
#include "settingswidget.h"
#include "qkineticscroller.h"
@@ -113,10 +123,11 @@ public:
QWidget *resetButton() { return m_resetButton; }
private slots:
- void valueChanged(const QVariant v)
+ void valueChanged(const QVariant &v)
{
m_value = v;
switch (m_item->min.type()) {
+ case QMetaType::Float:
case QVariant::Double: {
m_slider->setValue(int((m_value.toReal() * m_item->scaling - m_item->min.toReal()) / m_item->step.toReal()));
break;
@@ -140,6 +151,7 @@ private slots:
QString text;
switch (m_item->min.type()) {
+ case QMetaType::Float:
case QVariant::Double: {
qreal d = m_item->min.toReal() + qreal(value) * m_item->step.toReal();
text = QString::number(d);
diff --git a/testapp/settingswidget.h b/testapp/settingswidget.h
index 749962a..6e05163 100644
--- a/testapp/settingswidget.h
+++ b/testapp/settingswidget.h
@@ -42,10 +42,14 @@
#ifndef SETTINGSWIDGET_H
#define SETTINGSWIDGET_H
-#include <QtGui>
+#include <QScrollArea>
class QKineticScroller;
+class QGridLayout;
+class QSpinBox;
+class QComboBox;
+
class SettingsWidget : public QScrollArea
{
Q_OBJECT