diff options
author | Jukka Halonen <ext-jukka.a.halonen@nokia.com> | 2010-12-22 11:49:22 +0200 |
---|---|---|
committer | Stanislav Ionascu <stanislav.ionascu@nokia.com> | 2010-12-28 12:32:08 +0200 |
commit | a39d735c6d0c8985c1cf92bc26dd0f018233e6e0 (patch) | |
tree | 1921f8b20141caa46e284500ebbeb544b21d1809 | |
parent | ac5e3c79936bb302c2ca53f359442f79dddf39da (diff) |
Fixes: NB#211291 - Note object menu animation displayed asymmetrically
RevBy: Stanislav Ionascu
-rw-r--r-- | src/views/mobjectmenuview.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/views/mobjectmenuview.cpp b/src/views/mobjectmenuview.cpp index dc83adad..54746add 100644 --- a/src/views/mobjectmenuview.cpp +++ b/src/views/mobjectmenuview.cpp @@ -53,9 +53,11 @@ MObjectMenuViewPrivate::MObjectMenuViewPrivate() : MObjectMenuViewPrivate::~MObjectMenuViewPrivate() { + if (!titleArea->parentItem() && !titleArea->parentLayoutItem()) { + delete titleArea; + } } - void MObjectMenuViewPrivate::init() { mainLayout = new QGraphicsLinearLayout(Qt::Vertical); @@ -90,7 +92,7 @@ void MObjectMenuViewPrivate::init() actionLayout = new QGraphicsLinearLayout(Qt::Vertical); actionLayout->setSpacing(0); actionLayout->setContentsMargins(0.0,0.0,0.0,0.0); - actionWidget = new QGraphicsWidget(controller); + actionWidget = new QGraphicsWidget; actionWidget->setLayout(actionLayout); actionViewport = new MPannableViewport(controller); actionViewport->setWidget(actionWidget); @@ -130,6 +132,10 @@ void MObjectMenuViewPrivate::updateTitleAreaVisibility() mainLayout->removeItem(titleArea); actionViewport->setStyleName("objectMenuViewportWithoutTitle"); titleArea->hide(); + if (controller->scene()) { + //Remove from the scene as otherwise it might distract appear/disappear animation + controller->scene()->removeItem(titleArea); + } } else if( mainLayout->itemAt(0) != titleArea ) { mainLayout->insertItem(0, titleArea); actionViewport->setStyleName("objectMenuViewportWithTitle"); |