diff options
Diffstat (limited to 'src/quick/items/qquickflipable.cpp')
-rw-r--r-- | src/quick/items/qquickflipable.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/quick/items/qquickflipable.cpp b/src/quick/items/qquickflipable.cpp index 4fd146f0e4..b0bacf0eb6 100644 --- a/src/quick/items/qquickflipable.cpp +++ b/src/quick/items/qquickflipable.cpp @@ -152,8 +152,10 @@ void QQuickFlipable::setFront(QQuickItem *front) } d->front = front; d->front->setParentItem(this); - if (Back == d->current) + if (Back == d->current) { d->front->setOpacity(0.); + d->front->setEnabled(false); + } emit frontChanged(); } @@ -178,8 +180,11 @@ void QQuickFlipable::setBack(QQuickItem *back) d->backTransform = new QQuickLocalTransform(d->back); d->backTransform->prependToItem(d->back); - if (Front == d->current) + if (Front == d->current) { d->back->setOpacity(0.); + d->back->setEnabled(false); + } + connect(back, SIGNAL(widthChanged()), this, SLOT(retransformBack())); connect(back, SIGNAL(heightChanged()), @@ -271,10 +276,14 @@ void QQuickFlipablePrivate::updateSide() current = newSide; if (current == QQuickFlipable::Back && back) setBackTransform(); - if (front) + if (front) { front->setOpacity((current==QQuickFlipable::Front)?1.:0.); - if (back) + front->setEnabled((current==QQuickFlipable::Front)?true:false); + } + if (back) { back->setOpacity((current==QQuickFlipable::Back)?1.:0.); + back->setEnabled((current==QQuickFlipable::Back)?true:false); + } emit q->sideChanged(); } } |