diff --git a/src/plugins/projectexplorer/sessiondialog.cpp b/src/plugins/projectexplorer/sessiondialog.cpp index 89b0a489bb3e7bb635f904f7a43c0f8b55cde98d..911131d9e29528095950291b4203fb6dd4563933 100644 --- a/src/plugins/projectexplorer/sessiondialog.cpp +++ b/src/plugins/projectexplorer/sessiondialog.cpp @@ -110,6 +110,11 @@ SessionDialog::SessionDialog(SessionManager *sessionManager, const QString &last { m_ui.setupUi(this); + QPushButton *switchButton = m_ui.buttonBox->addButton(tr("Switch to session"), + QDialogButtonBox::AcceptRole); + connect(switchButton, SIGNAL(clicked()), + this, SLOT(switchToSession())); + connect(m_ui.btCreateNew, SIGNAL(clicked()), this, SLOT(createNew())); @@ -143,18 +148,6 @@ void SessionDialog::updateActions() m_ui.btDelete->setEnabled(enableDelete); } -void SessionDialog::accept() -{ - // do nothing - QDialog::accept(); -} - -void SessionDialog::reject() -{ - // clear list - QDialog::reject(); -} - void SessionDialog::createNew() { NewSessionInputDialog newSessionInputDialog(m_sessionManager->sessions()); @@ -192,6 +185,15 @@ void SessionDialog::remove() m_ui.sessionList->addItems(m_sessionManager->sessions()); } +void SessionDialog::switchToSession() +{ + if (m_ui.sessionList->currentItem()) { + QString session = m_ui.sessionList->currentItem()->text(); + m_sessionManager->loadSession(session); + } + accept(); +} + } // namespace Internal } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/sessiondialog.h b/src/plugins/projectexplorer/sessiondialog.h index aed6c1a696b604bd0d6539f9a0e59f27e2dad7c8..9116ff731b661c195ac61e7804c98ce7f28359e0 100644 --- a/src/plugins/projectexplorer/sessiondialog.h +++ b/src/plugins/projectexplorer/sessiondialog.h @@ -47,13 +47,11 @@ class SessionDialog : public QDialog public: SessionDialog(SessionManager *sessionManager, const QString &lastSession, bool startup); - void accept(); - void reject(); - private slots: void createNew(); void clone(); void remove(); + void switchToSession(); void updateActions(); diff --git a/src/plugins/projectexplorer/sessiondialog.ui b/src/plugins/projectexplorer/sessiondialog.ui index ad11881aaef34185fc59991642a54eb48803be9c..ecc9bbd988bc36dae2a2d18235abbad3369ec389 100644 --- a/src/plugins/projectexplorer/sessiondialog.ui +++ b/src/plugins/projectexplorer/sessiondialog.ui @@ -65,7 +65,7 @@ <item row="1" column="1" colspan="2"> <widget class="QDialogButtonBox" name="buttonBox"> <property name="standardButtons"> - <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + <set>QDialogButtonBox::Close</set> </property> </widget> </item>