diff --git a/addons/tabswitcher/tabswitchertreeview.h b/addons/tabswitcher/tabswitchertreeview.h --- a/addons/tabswitcher/tabswitchertreeview.h +++ b/addons/tabswitcher/tabswitchertreeview.h @@ -47,6 +47,11 @@ * Reimplemented for tracking the CTRL key modifier. */ void keyReleaseEvent(QKeyEvent * event) override; + + /** + * Reimplemented for tracking the ESCAPE key. + */ + void keyPressEvent(QKeyEvent * event) override; }; #endif // KTEXTEDITOR_TABSWITCHER_TREEVIEW_H diff --git a/addons/tabswitcher/tabswitchertreeview.cpp b/addons/tabswitcher/tabswitchertreeview.cpp --- a/addons/tabswitcher/tabswitchertreeview.cpp +++ b/addons/tabswitcher/tabswitchertreeview.cpp @@ -44,3 +44,13 @@ QListView::keyReleaseEvent(event); } } + +void TabSwitcherTreeView::keyPressEvent(QKeyEvent * event) +{ + if (event->key() == Qt::Key_Escape) { + event->accept(); + hide(); + } else { + QListView::keyPressEvent(event); + } +}