Fix widgets flashing before start.

Pass parent to status bar widgets.

Change-Id: I5834ce5feececc33e850dafd55f3b29bd0df38c8
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
Friedemann Kleint
2013-04-10 10:41:29 +02:00
committed by Eike Ziller
parent 4b0bafd615
commit 0a5eeb542b

View File

@@ -41,9 +41,9 @@
using namespace Core; using namespace Core;
using namespace Core::Internal; using namespace Core::Internal;
static QWidget *createWidget() static QWidget *createWidget(QWidget *parent = 0)
{ {
QWidget *w = new QWidget(); QWidget *w = new QWidget(parent);
w->setLayout(new QHBoxLayout); w->setLayout(new QHBoxLayout);
w->setVisible(true); w->setVisible(true);
w->layout()->setMargin(0); w->layout()->setMargin(0);
@@ -54,14 +54,15 @@ StatusBarManager::StatusBarManager(MainWindow *mainWnd)
: QObject(mainWnd), : QObject(mainWnd),
m_mainWnd(mainWnd) m_mainWnd(mainWnd)
{ {
QStatusBar *bar = m_mainWnd->statusBar();
for (int i = 0; i <= StatusBarWidget::LastLeftAligned; ++i) { for (int i = 0; i <= StatusBarWidget::LastLeftAligned; ++i) {
QWidget *w = createWidget(); QWidget *w = createWidget(bar);
m_mainWnd->statusBar()->insertPermanentWidget(i, w); bar->insertPermanentWidget(i, w);
m_statusBarWidgets.append(w); m_statusBarWidgets.append(w);
} }
m_mainWnd->statusBar()->insertPermanentWidget(StatusBarWidget::LastLeftAligned + 1, m_mainWnd->statusBar()->insertPermanentWidget(StatusBarWidget::LastLeftAligned + 1,
new QLabel(), 1); new QLabel(), 1);
QWidget *rightCornerWidget = createWidget(); QWidget *rightCornerWidget = createWidget(bar);
m_mainWnd->statusBar()->insertPermanentWidget(StatusBarWidget::LastLeftAligned + 2, m_mainWnd->statusBar()->insertPermanentWidget(StatusBarWidget::LastLeftAligned + 2,
rightCornerWidget); rightCornerWidget);
m_statusBarWidgets.append(rightCornerWidget); m_statusBarWidgets.append(rightCornerWidget);