From e919a9f545af4496045dc23b2deae706c93149b6 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 9 May 2019 15:17:31 +0200 Subject: [PATCH] ProjectExplorer: Let the user delete sessions via the "Delete" key Task-number: QTCREATORBUG-17668 Change-Id: Id827be147627a54953e6495be503c97b31232cf3 Reviewed-by: hjk --- src/plugins/projectexplorer/sessionview.cpp | 11 +++++++++++ src/plugins/projectexplorer/sessionview.h | 6 +++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/plugins/projectexplorer/sessionview.cpp b/src/plugins/projectexplorer/sessionview.cpp index 4e3bda65101..a28988836b5 100644 --- a/src/plugins/projectexplorer/sessionview.cpp +++ b/src/plugins/projectexplorer/sessionview.cpp @@ -141,5 +141,16 @@ void SessionView::showEvent(QShowEvent *event) setFocus(); } +void SessionView::keyPressEvent(QKeyEvent *event) +{ + if (event->key() != Qt::Key_Delete) { + TreeView::keyPressEvent(event); + return; + } + const QString session = currentSession(); + if (!session.isEmpty() && session != "default" && session != SessionManager::activeSession()) + deleteCurrentSession(); +} + } // namespace Internal } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/sessionview.h b/src/plugins/projectexplorer/sessionview.h index 0f85e6ed210..cab80dffb6a 100644 --- a/src/plugins/projectexplorer/sessionview.h +++ b/src/plugins/projectexplorer/sessionview.h @@ -51,15 +51,15 @@ public: void selectActiveSession(); void selectSession(const QString &sessionName); -protected: - void showEvent(QShowEvent* event) override; - signals: void activated(const QString &session); void selected(const QString &session); void sessionSwitched(); private: + void showEvent(QShowEvent* event) override; + void keyPressEvent(QKeyEvent *event) override; + SessionModel m_sessionModel; };