From 0404cc760fe31307254b77ae4405903e81fec70b Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Fri, 21 Aug 2009 19:12:36 +0200 Subject: [PATCH] MainWindow: integrated new WelcomeScreen widget Initial integration of (not yet fully functional) WelcomeScreen. --- include/MainWindow.h | 6 ++++++ src/gui/MainWindow.cpp | 21 ++++++++++++++++----- src/gui/WelcomeScreen.cpp | 2 ++ 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/include/MainWindow.h b/include/MainWindow.h index da32cbfd9..578bbb894 100644 --- a/include/MainWindow.h +++ b/include/MainWindow.h @@ -69,6 +69,9 @@ public: return m_toolBar; } + // show MainWidget or WelcomeScreen + void setMainWidgetVisible( bool _visible ); + //int addWidgetToToolBar( QWidget * _w, int _row = -1, int _col = -1 ); //void addSpacingToToolBar( int _size ); @@ -158,6 +161,9 @@ private: void toggleWindow( QWidget * _w ); + QWidget * m_mainWidget; + QWidget * m_welcomeScreen; + QMdiArea * m_workspace; QWidget * m_toolBar; diff --git a/src/gui/MainWindow.cpp b/src/gui/MainWindow.cpp index 9b5575aa5..9cba4ba8b 100644 --- a/src/gui/MainWindow.cpp +++ b/src/gui/MainWindow.cpp @@ -73,6 +73,7 @@ #include "visualization_widget.h" #include "ResourceBrowser.h" #include "QuickLoadDialog.h" +#include "WelcomeScreen.h" #include "gui/tracks/track_container_scene.h" @@ -85,13 +86,13 @@ MainWindow::MainWindow() : { setAttribute( Qt::WA_DeleteOnClose ); - QWidget * main_widget = new QWidget( this ); - QVBoxLayout * vbox = new QVBoxLayout( main_widget ); + m_mainWidget = new QWidget( this ); + QVBoxLayout * vbox = new QVBoxLayout( m_mainWidget ); vbox->setSpacing( 0 ); vbox->setMargin( 0 ); - QWidget * w = new QWidget( main_widget ); + QWidget * w = new QWidget( m_mainWidget ); QHBoxLayout * hbox = new QHBoxLayout( w ); hbox->setSpacing( 0 ); hbox->setMargin( 0 ); @@ -139,7 +140,7 @@ MainWindow::MainWindow() : // create global-toolbar at the top of our window - m_toolBar = new QWidget( main_widget ); + m_toolBar = new QWidget( m_mainWidget ); m_toolBar->setObjectName( "mainToolbar" ); m_toolBar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); m_toolBar->setFixedHeight( 64 ); @@ -152,9 +153,11 @@ MainWindow::MainWindow() : vbox->addWidget( m_toolBar ); vbox->addWidget( w ); - setCentralWidget( main_widget ); + m_welcomeScreen = new WelcomeScreen( this ); + + setCentralWidget( m_welcomeScreen ); m_updateTimer.start( 1000 / 20, this ); // 20 fps } @@ -182,6 +185,14 @@ MainWindow::~MainWindow() +void MainWindow::setMainWidgetVisible( bool _visible ) +{ + setCentralWidget( _visible ? m_mainWidget : m_welcomeScreen ); +} + + + + void MainWindow::finalize() { resetWindowTitle(); diff --git a/src/gui/WelcomeScreen.cpp b/src/gui/WelcomeScreen.cpp index cc57ec51f..1ad6d7a7a 100644 --- a/src/gui/WelcomeScreen.cpp +++ b/src/gui/WelcomeScreen.cpp @@ -26,6 +26,7 @@ #include "WelcomeScreen.h" #include "RecentResourceListModel.h" +#include "MainWindow.h" #include "engine.h" #include "embed.h" @@ -102,6 +103,7 @@ WelcomeScreen::~WelcomeScreen() void WelcomeScreen::createNewProject() { + engine::mainWindow()->setMainWidgetVisible( true ); }