Skip to content
Snippets Groups Projects
Commit 4a52385a authored by luyikei's avatar luyikei Committed by Hugo Beauzée-Luyssen
Browse files

ProjectWizard: Use itemSelectionChanged to set a project path


Since we don't necessarily get a project path from a selected item, we have to implement a slot of itemSelectionChanged to set a project path.

Signed-off-by: default avatarHugo Beauzée-Luyssen <hugo@beauzee.fr>
parent 5afcb363
No related branches found
No related tags found
No related merge requests found
......@@ -50,6 +50,7 @@ WelcomePage::WelcomePage( QWidget* parent )
this, SLOT( selectOpenRadio() ) );
connect( m_ui.projectsListWidget, SIGNAL( itemDoubleClicked(QListWidgetItem*) ),
this, SLOT( projectDoubleClicked(QListWidgetItem*) ) );
connect( m_ui.projectsListWidget, &QListWidget::itemSelectionChanged, this, &WelcomePage::itemSelectionChanged);
registerField( "loadProject", m_ui.projectsListWidget );
m_projectPath = new QString();
......@@ -94,15 +95,13 @@ WelcomePage::validatePage()
{
if ( m_ui.openRadioButton->isChecked() )
{
if ( m_ui.projectsListWidget->selectedItems().count() == 0 )
if ( m_projectPath->isEmpty() == true )
{
QMessageBox::information( this, tr( "Sorry" ),
tr( "You first need to select a project from "
"the list.\nThen click next to continue..." ) );
return false;
}
QList<QListWidgetItem*> selected = m_ui.projectsListWidget->selectedItems();
setProjectPath( selected.at( 0 )->data( FilePath ).toString() );
return true;
}
return true;
......@@ -146,9 +145,14 @@ WelcomePage::loadProject()
return;
}
selectOpenRadio();
m_ui.projectsListWidget->clearSelection();
m_ui.projectsListWidget->clearFocus();
selectOpenRadio();
setProjectPath( projectPath );
if ( wizard() )
wizard()->next();
}
void
......@@ -173,6 +177,18 @@ WelcomePage::selectOpenRadio()
m_ui.removeProjectButton->setEnabled( true );
}
void
WelcomePage::itemSelectionChanged()
{
if ( m_ui.projectsListWidget->selectedItems().count() == 0 )
setProjectPath( "" );
else
{
QList<QListWidgetItem*> selected = m_ui.projectsListWidget->selectedItems();
setProjectPath( selected.at( 0 )->data( FilePath ).toString() );
}
}
void
WelcomePage::projectDoubleClicked( QListWidgetItem* item )
{
......
......@@ -54,6 +54,7 @@ class WelcomePage : public QWizardPage
void loadRecentsProjects();
void projectDoubleClicked( QListWidgetItem* item );
void selectOpenRadio();
void itemSelectionChanged();
private:
Ui::WelcomePage m_ui;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment