diff --git a/src/plugins/coreplugin/variablechooser.cpp b/src/plugins/coreplugin/variablechooser.cpp index a77f47ccf4b..ec8e45f3d57 100644 --- a/src/plugins/coreplugin/variablechooser.cpp +++ b/src/plugins/coreplugin/variablechooser.cpp @@ -35,6 +35,8 @@ #include "variablemanager.h" #include "coreconstants.h" +#include + using namespace Core; VariableChooser::VariableChooser(QWidget *parent) : @@ -175,3 +177,11 @@ void VariableChooser::insertVariable(const QString &variable) m_plainTextEdit->activateWindow(); } } + +void VariableChooser::keyPressEvent(QKeyEvent *ke) +{ + if (ke->key() == Qt::Key_Escape && !ke->modifiers()) { + ke->accept(); + QTimer::singleShot(0, this, SLOT(close())); + } +} diff --git a/src/plugins/coreplugin/variablechooser.h b/src/plugins/coreplugin/variablechooser.h index 14b46282c4e..07f19e723e7 100644 --- a/src/plugins/coreplugin/variablechooser.h +++ b/src/plugins/coreplugin/variablechooser.h @@ -58,6 +58,9 @@ public: explicit VariableChooser(QWidget *parent = 0); ~VariableChooser(); +protected: + void keyPressEvent(QKeyEvent *ke); + private slots: void updateDescription(const QString &variable); void updateCurrentEditor(QWidget *old, QWidget *widget);