diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2009-10-02 03:15:19 (GMT) |
---|---|---|
committer | Michael Brasser <michael.brasser@nokia.com> | 2009-10-02 03:15:19 (GMT) |
commit | b148b182b5b48d60c2b57d8b74ad0f30272bb578 (patch) | |
tree | 43de2ac7798d4baf18f638d56cee403e70000e6b /src/declarative/fx | |
parent | 6d06a9d19b4e0fc3ec2b7e32a014103c58e93ae0 (diff) | |
parent | d1b4ce6a10267a7a7ca0fde24c2030815c96522d (diff) | |
download | Qt-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.cpp | 11 | ||||
-rw-r--r-- | src/declarative/fx/qfxlistview.cpp | 35 | ||||
-rw-r--r-- | src/declarative/fx/qfxlistview.h | 7 | ||||
-rw-r--r-- | src/declarative/fx/qfxrepeater.cpp | 15 | ||||
-rw-r--r-- | src/declarative/fx/qfxtextedit.cpp | 2 |
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); } |