--- a/src/hbcore/gui/hbmenucontainer_p.cpp Tue Jul 06 14:36:53 2010 +0300
+++ b/src/hbcore/gui/hbmenucontainer_p.cpp Wed Aug 18 10:05:37 2010 +0300
@@ -34,7 +34,7 @@
#include <QGraphicsGridLayout>
HbMenuContainerPrivate::HbMenuContainerPrivate(HbMenu *menu) :
- menu(menu), actionManager(0)
+ menu(menu), actionManager(0), mDelayLayout(false)
{
}
HbMenuContainerPrivate::~HbMenuContainerPrivate()
@@ -111,6 +111,7 @@
void HbMenuContainer::delayedLayout()
{
Q_D(HbMenuContainer);
+ d->mDelayLayout = true;
foreach (QAction *action, d->menu->actions()) {
QObject::connect(action, SIGNAL(triggered()), d->menu, SLOT(_q_onActionTriggered()));
if (action->isVisible()) {
@@ -118,6 +119,8 @@
addItem(action);
}
}
+ d->mDelayLayout = false;
+ reLayout();
}
/*!
@@ -168,7 +171,8 @@
HbMenuPrivate::d_ptr(castedAction->menu())->setSubMenuItem(item);
}
d->mItems.insert(pos, item);
- reLayout();
+ if (!d->mDelayLayout)
+ reLayout();
}
//this is called when an existing items visibility has changed.
@@ -239,6 +243,7 @@
d->mScrollDirections = Qt::Vertical;
d->mFrictionEnabled = false;
d->mContainer = new HbMenuContainer(menu, this);
+ d->mContainer->setFlag(QGraphicsItem::ItemHasNoContents, true);
setContentWidget(d->mContainer);
setScrollingStyle(HbScrollArea::Pan);
}
@@ -344,3 +349,6 @@
event->accept(panGesture);
}
}
+
+
+