diff --git a/src/plugins/core/session/sessiondialog.cpp b/src/plugins/core/session/sessiondialog.cpp index 00d0f1aaa..1c72b437c 100644 --- a/src/plugins/core/session/sessiondialog.cpp +++ b/src/plugins/core/session/sessiondialog.cpp @@ -79,6 +79,7 @@ void SessionDialog::initUI() void SessionDialog::initConnect() { connect(view, &SessionListView::sessionsSelected, this, &SessionDialog::updateOptions); + connect(view, &SessionListView::sessionSwitched, this, &SessionDialog::close); connect(addBtn, &DIconButton::clicked, view, &SessionListView::createSession); connect(renameBtn, &DIconButton::clicked, view, &SessionListView::renameCurrentSession); connect(cloneBtn, &DIconButton::clicked, view, &SessionListView::cloneCurrentSession); diff --git a/src/plugins/core/session/sessionlistview.cpp b/src/plugins/core/session/sessionlistview.cpp index 5f4550c92..c1bd9f2c1 100644 --- a/src/plugins/core/session/sessionlistview.cpp +++ b/src/plugins/core/session/sessionlistview.cpp @@ -156,6 +156,7 @@ void SessionListView::switchToCurrentSession() { const auto session = currentSession(); SessionManager::instance()->loadSession(session); + Q_EMIT sessionSwitched(); } void SessionListView::showEvent(QShowEvent *event) diff --git a/src/plugins/core/session/sessionlistview.h b/src/plugins/core/session/sessionlistview.h index fa2e81991..558c67121 100644 --- a/src/plugins/core/session/sessionlistview.h +++ b/src/plugins/core/session/sessionlistview.h @@ -30,6 +30,7 @@ public Q_SLOTS: Q_SIGNALS: void sessionsSelected(const QStringList &sessions); void sessionCreated(const QString &session); + void sessionSwitched(); private: void initUI();