forked from qt-creator/qt-creator
Sessions: select created session
This was a regression after refactoring the session dialog. Change-Id: I891b037d512a70a591f32e0ca5e0f801799ce424 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -228,6 +228,7 @@ void SessionModel::runNewSessionDialog(const QString &suggestedName, std::functi
|
|||||||
|
|
||||||
if (newSessionInputDialog.isSwitchToRequested())
|
if (newSessionInputDialog.isSwitchToRequested())
|
||||||
switchToSession(newSession);
|
switchToSession(newSession);
|
||||||
|
emit sessionCreated(newSession);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ public:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void sessionSwitched();
|
void sessionSwitched();
|
||||||
|
void sessionCreated(const QString &sessionName);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void resetSessions();
|
void resetSessions();
|
||||||
|
|||||||
@@ -75,11 +75,13 @@ SessionView::SessionView(QWidget *parent)
|
|||||||
(const QModelIndex &index) {
|
(const QModelIndex &index) {
|
||||||
emit selected(m_sessionModel.sessionAt(index.row()));
|
emit selected(m_sessionModel.sessionAt(index.row()));
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(&m_sessionModel, &SessionModel::sessionSwitched,
|
connect(&m_sessionModel, &SessionModel::sessionSwitched,
|
||||||
this, &SessionView::sessionSwitched);
|
this, &SessionView::sessionSwitched);
|
||||||
|
|
||||||
connect(&m_sessionModel, &SessionModel::modelReset,
|
connect(&m_sessionModel, &SessionModel::modelReset,
|
||||||
this, &SessionView::selectActiveSession);
|
this, &SessionView::selectActiveSession);
|
||||||
|
connect(&m_sessionModel, &SessionModel::sessionCreated,
|
||||||
|
this, &SessionView::selectSession);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SessionView::createNewSession()
|
void SessionView::createNewSession()
|
||||||
@@ -119,7 +121,12 @@ SessionModel *SessionView::sessionModel()
|
|||||||
|
|
||||||
void SessionView::selectActiveSession()
|
void SessionView::selectActiveSession()
|
||||||
{
|
{
|
||||||
int row = m_sessionModel.indexOfSession(SessionManager::activeSession());
|
selectSession(SessionManager::activeSession());
|
||||||
|
}
|
||||||
|
|
||||||
|
void SessionView::selectSession(const QString &sessionName)
|
||||||
|
{
|
||||||
|
int row = m_sessionModel.indexOfSession(sessionName);
|
||||||
selectionModel()->setCurrentIndex(model()->index(row, 0),
|
selectionModel()->setCurrentIndex(model()->index(row, 0),
|
||||||
QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows);
|
QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ public:
|
|||||||
QString currentSession();
|
QString currentSession();
|
||||||
SessionModel* sessionModel();
|
SessionModel* sessionModel();
|
||||||
void selectActiveSession();
|
void selectActiveSession();
|
||||||
|
void selectSession(const QString &sessionName);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void showEvent(QShowEvent* event) override;
|
void showEvent(QShowEvent* event) override;
|
||||||
|
|||||||
Reference in New Issue
Block a user