From 20961991aa3a29e5c3bff1758bbcb5ca85232944 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Wed, 30 Sep 2009 17:08:41 +1000 Subject: Fix repeater item ordering Note that while QT-2241 exists there will still be an issue with the specific usecase of placing a repeater inside a positioner --- src/declarative/fx/qfxrepeater.cpp | 15 +-------------- src/declarative/fx/qfxtextedit.cpp | 2 +- 2 files changed, 2 insertions(+), 15 deletions(-) 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 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); } -- cgit v0.12