don't show WelcomeScreen when importing/loading

WelcomeScreen was incorrectly shown when lmms loaded or imported
a project (for example via command line). Fixed.
This commit is contained in:
Andrew Kelley
2009-11-10 20:22:38 -07:00
parent 0408186094
commit b7e73fbe0c
5 changed files with 30 additions and 23 deletions

View File

@@ -69,8 +69,6 @@ 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 );
@@ -109,6 +107,7 @@ public:
void setPlaybackMode( ProjectPlaybackMode _playbackMode );
void showWelcomeScreen(bool _visible = true);
public slots:
void resetWindowTitle();
@@ -145,6 +144,7 @@ public slots:
protected:
virtual void closeEvent( QCloseEvent * _ce );
virtual void showEvent( QShowEvent * _se );
virtual void focusOutEvent( QFocusEvent * _fe );
virtual void keyPressEvent( QKeyEvent * _ke );
virtual void keyReleaseEvent( QKeyEvent * _ke );

View File

@@ -53,7 +53,7 @@ private slots:
private:
void switchView();
void hideWelcomeScreen();
Ui::WelcomeScreen * ui;
RecentResourceListModel * m_recentProjectsModel;

View File

@@ -458,6 +458,9 @@ int main( int argc, char * * argv )
engine::mainWindow()->showMaximized();
}
engine::getSong()->loadProject( file_to_load );
// don't show welcome screen
engine::mainWindow()->showWelcomeScreen( false );
}
else if( !file_to_import.isEmpty() )
{
@@ -472,6 +475,9 @@ int main( int argc, char * * argv )
{
engine::mainWindow()->showMaximized();
}
// don't show welcome screen
engine::mainWindow()->showWelcomeScreen( false );
}
else
{
@@ -484,6 +490,9 @@ int main( int argc, char * * argv )
{
engine::mainWindow()->showMaximized();
}
// show welcome screen
engine::mainWindow()->showWelcomeScreen();
}
}
else
@@ -519,9 +528,7 @@ int main( int argc, char * * argv )
}
}
const int ret = app->exec();
delete app;
return( ret );
return app->exec();
}

View File

@@ -92,7 +92,6 @@ MainWindow::MainWindow() :
vbox->setSpacing( 0 );
vbox->setMargin( 0 );
QWidget * w = new QWidget( m_mainWidget );
QHBoxLayout * hbox = new QHBoxLayout( w );
hbox->setSpacing( 0 );
@@ -152,17 +151,14 @@ MainWindow::MainWindow() :
vbox->addWidget( m_toolBar );
vbox->addWidget( w );
m_updateTimer.start( 1000 / 20, this ); // 20 fps
m_welcomeScreen = new WelcomeScreen( this );
setCentralWidget( m_welcomeScreen );
m_updateTimer.start( 1000 / 20, this ); // 20 fps
m_welcomeScreen->setVisible( false );
}
MainWindow::~MainWindow()
{
for( QList<PluginView *>::Iterator it = m_tools.begin();
@@ -182,15 +178,14 @@ MainWindow::~MainWindow()
void MainWindow::setMainWidgetVisible( bool _visible )
void MainWindow::showWelcomeScreen(bool _visible)
{
setCentralWidget( _visible ? m_mainWidget : m_welcomeScreen );
m_welcomeScreen->setVisible( _visible );
setCentralWidget( _visible ? m_welcomeScreen : m_mainWidget );
}
void MainWindow::finalize()
{
resetWindowTitle();
@@ -312,8 +307,7 @@ void MainWindow::finalize()
// create the grid layout for the first buttons area
QWidget * gridButtons_w = new QWidget( m_toolBar );
QGridLayout * gridButtons_layout = new QGridLayout( gridButtons_w/*, 2, 1*/ );
QGridLayout * gridButtons_layout = new QGridLayout( gridButtons_w );
// create tool-buttons
toolButton * project_new = new toolButton(
@@ -1197,6 +1191,12 @@ void MainWindow::closeEvent( QCloseEvent * _ce )
}
void MainWindow::showEvent( QShowEvent * _se )
{
//showWelcomeScreen( false ); // must explicitly ask for welcome screen
_se->accept();
}
void MainWindow::focusOutEvent( QFocusEvent * _fe )

View File

@@ -112,7 +112,7 @@ WelcomeScreen::~WelcomeScreen()
void WelcomeScreen::createNewProject()
{
switchView();
hideWelcomeScreen();
}
@@ -141,7 +141,7 @@ void WelcomeScreen::instantMidiAction()
void WelcomeScreen::openRecentProject( const QModelIndex & _idx )
{
switchView();
hideWelcomeScreen();
ResourceAction( m_recentProjectsModel->item( _idx ) ).loadProject();
}
@@ -156,7 +156,7 @@ void WelcomeScreen::openCommunityResource( const QModelIndex & _idx )
switch( item->type() )
{
case ResourceItem::TypeProject:
switchView();
hideWelcomeScreen();
action.loadProject();
break;
default:
@@ -177,9 +177,9 @@ void WelcomeScreen::openOnlineResource( QListWidgetItem * _item )
void WelcomeScreen::switchView()
void WelcomeScreen::hideWelcomeScreen()
{
engine::mainWindow()->setMainWidgetVisible( true );
engine::mainWindow()->showWelcomeScreen( false );
}