summaryrefslogtreecommitdiffstats
path: root/src/declarative/fx
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2009-10-02 03:15:19 (GMT)
committerMichael Brasser <michael.brasser@nokia.com>2009-10-02 03:15:19 (GMT)
commitb148b182b5b48d60c2b57d8b74ad0f30272bb578 (patch)
tree43de2ac7798d4baf18f638d56cee403e70000e6b /src/declarative/fx
parent6d06a9d19b4e0fc3ec2b7e32a014103c58e93ae0 (diff)
parentd1b4ce6a10267a7a7ca0fde24c2030815c96522d (diff)
downloadQt-b148b182b5b48d60c2b57d8b74ad0f30272bb578.zip
Qt-b148b182b5b48d60c2b57d8b74ad0f30272bb578.tar.gz
Qt-b148b182b5b48d60c2b57d8b74ad0f30272bb578.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'src/declarative/fx')
-rw-r--r--src/declarative/fx/qfxflickable.cpp11
-rw-r--r--src/declarative/fx/qfxlistview.cpp35
-rw-r--r--src/declarative/fx/qfxlistview.h7
-rw-r--r--src/declarative/fx/qfxrepeater.cpp15
-rw-r--r--src/declarative/fx/qfxtextedit.cpp2
5 files changed, 45 insertions, 25 deletions
diff --git a/src/declarative/fx/qfxflickable.cpp b/src/declarative/fx/qfxflickable.cpp
index 5c1cccf..a83ee66 100644
--- a/src/declarative/fx/qfxflickable.cpp
+++ b/src/declarative/fx/qfxflickable.cpp
@@ -744,12 +744,19 @@ void QFxFlickablePrivate::captureDelayedPress(QGraphicsSceneMouseEvent *event)
if (event->buttons() & i) {
Qt::MouseButton button = Qt::MouseButton(i);
delayedPressEvent->setButtonDownPos(button, event->buttonDownPos(button));
+ delayedPressEvent->setButtonDownScenePos(button, event->buttonDownScenePos(button));
+ delayedPressEvent->setButtonDownScreenPos(button, event->buttonDownScreenPos(button));
}
}
- delayedPressEvent->setScenePos(event->scenePos());
- delayedPressEvent->setLastScenePos(event->lastScenePos());
+ delayedPressEvent->setButtons(event->buttons());
+ delayedPressEvent->setButton(event->button());
delayedPressEvent->setPos(event->pos());
+ delayedPressEvent->setScenePos(event->scenePos());
+ delayedPressEvent->setScreenPos(event->screenPos());
delayedPressEvent->setLastPos(event->lastPos());
+ delayedPressEvent->setLastScenePos(event->lastScenePos());
+ delayedPressEvent->setLastScreenPos(event->lastScreenPos());
+ delayedPressEvent->setModifiers(event->modifiers());
delayedPressTimer.start(pressDelay, q);
}
diff --git a/src/declarative/fx/qfxlistview.cpp b/src/declarative/fx/qfxlistview.cpp
index 5de9bf3..3584892 100644
--- a/src/declarative/fx/qfxlistview.cpp
+++ b/src/declarative/fx/qfxlistview.cpp
@@ -1339,13 +1339,19 @@ qreal QFxListView::maxXExtent() const
void QFxListView::keyPressEvent(QKeyEvent *event)
{
Q_D(QFxListView);
+ QFxFlickable::keyPressEvent(event);
+ if (event->isAccepted())
+ return;
+
if (d->model && d->model->count() && d->interactive) {
if ((d->orient == Qt::Horizontal && event->key() == Qt::Key_Left)
|| (d->orient == Qt::Vertical && event->key() == Qt::Key_Up)) {
if (currentIndex() > 0 || (d->wrap && !event->isAutoRepeat())) {
d->moveReason = QFxListViewPrivate::Key;
- int index = currentIndex()-1;
- d->updateCurrent(index >= 0 ? index : d->model->count()-1);
+ decrementCurrentIndex();
+ event->accept();
+ return;
+ } else if (d->wrap) {
event->accept();
return;
}
@@ -1353,8 +1359,10 @@ void QFxListView::keyPressEvent(QKeyEvent *event)
|| (d->orient == Qt::Vertical && event->key() == Qt::Key_Down)) {
if (currentIndex() < d->model->count() - 1 || (d->wrap && !event->isAutoRepeat())) {
d->moveReason = QFxListViewPrivate::Key;
- int index = currentIndex()+1;
- d->updateCurrent(index < d->model->count() ? index : 0);
+ incrementCurrentIndex();
+ event->accept();
+ return;
+ } else if (d->wrap) {
event->accept();
return;
}
@@ -1362,7 +1370,24 @@ void QFxListView::keyPressEvent(QKeyEvent *event)
}
d->moveReason = QFxListViewPrivate::Other;
event->ignore();
- QFxFlickable::keyPressEvent(event);
+}
+
+void QFxListView::incrementCurrentIndex()
+{
+ Q_D(QFxListView);
+ if (currentIndex() < d->model->count() - 1 || d->wrap) {
+ int index = currentIndex()+1;
+ d->updateCurrent(index < d->model->count() ? index : 0);
+ }
+}
+
+void QFxListView::decrementCurrentIndex()
+{
+ Q_D(QFxListView);
+ if (currentIndex() > 0 || d->wrap) {
+ int index = currentIndex()-1;
+ d->updateCurrent(index >= 0 ? index : d->model->count()-1);
+ }
}
void QFxListView::componentComplete()
diff --git a/src/declarative/fx/qfxlistview.h b/src/declarative/fx/qfxlistview.h
index cc3d910..fc15967 100644
--- a/src/declarative/fx/qfxlistview.h
+++ b/src/declarative/fx/qfxlistview.h
@@ -50,9 +50,6 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
-//### incrementCurrentIndex(), decrementCurrentIndex() slots
-//### default Keys.OnUp/DownPressed handler
-
class QFxVisualModel;
class QFxListViewAttached;
@@ -131,6 +128,10 @@ public:
static QFxListViewAttached *qmlAttachedProperties(QObject *);
+public Q_SLOTS:
+ void incrementCurrentIndex();
+ void decrementCurrentIndex();
+
Q_SIGNALS:
void countChanged();
void spacingChanged();
diff --git a/src/declarative/fx/qfxrepeater.cpp b/src/declarative/fx/qfxrepeater.cpp
index 5ef7b10..bc34839 100644
--- a/src/declarative/fx/qfxrepeater.cpp
+++ b/src/declarative/fx/qfxrepeater.cpp
@@ -282,26 +282,13 @@ void QFxRepeater::regenerate()
if (!d->model || !d->model->count() || !d->model->isValid() || !parentItem() || !isComponentComplete())
return;
- //In order to do the insertion like the examples, we have to be at the
- //same point in the childItems() list. Temporary measure until we think of something better
- int pos = parentItem()->childItems().indexOf(this);
- Q_ASSERT(pos != -1);
- QList<QGraphicsItem*> otherChildren;
- for (int ii = pos+1; ii < parentItem()->childItems().count(); ii++){
- QGraphicsItem* otherChild = parentItem()->childItems()[ii];
- otherChildren << otherChild;
- otherChild->setParentItem(0);
- }
-
for (int ii = 0; ii < count(); ++ii) {
QFxItem *item = d->model->item(ii);
if (item) {
item->setParent(parentItem());
+ item->stackBefore(this);
d->deletables << item;
}
}
-
- foreach(QGraphicsItem* other, otherChildren)
- other->setParentItem(parentItem());
}
QT_END_NAMESPACE
diff --git a/src/declarative/fx/qfxtextedit.cpp b/src/declarative/fx/qfxtextedit.cpp
index 935ccb7..f4c2e4c 100644
--- a/src/declarative/fx/qfxtextedit.cpp
+++ b/src/declarative/fx/qfxtextedit.cpp
@@ -767,7 +767,7 @@ bool QFxTextEdit::event(QEvent *event)
Q_D(QFxTextEdit);
if (event->type() == QEvent::ShortcutOverride) {
d->control->processEvent(event, QPointF(0, 0));
- return true;
+ return event->isAccepted();
}
return QFxPaintedItem::event(event);
}