aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJukka Halonen <ext-jukka.a.halonen@nokia.com>2010-12-22 11:49:22 +0200
committerStanislav Ionascu <stanislav.ionascu@nokia.com>2010-12-28 12:32:08 +0200
commita39d735c6d0c8985c1cf92bc26dd0f018233e6e0 (patch)
tree1921f8b20141caa46e284500ebbeb544b21d1809
parentac5e3c79936bb302c2ca53f359442f79dddf39da (diff)
Fixes: NB#211291 - Note object menu animation displayed asymmetrically
RevBy: Stanislav Ionascu
-rw-r--r--src/views/mobjectmenuview.cpp10
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");