forked from qt-creator/qt-creator
VariableChooser: Fix closing with Escape key
Change-Id: Ibf0f344d50941255a28c19cf6914521c1c7b0cf6 Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
@@ -545,9 +545,14 @@ static bool handleEscapePressed(QKeyEvent *ke, QWidget *widget)
|
|||||||
/*!
|
/*!
|
||||||
* \internal
|
* \internal
|
||||||
*/
|
*/
|
||||||
void VariableChooser::keyPressEvent(QKeyEvent *ev)
|
bool VariableChooser::event(QEvent *ev)
|
||||||
{
|
{
|
||||||
handleEscapePressed(ev, this);
|
if (ev->type() == QEvent::KeyPress || ev->type() == QEvent::ShortcutOverride) {
|
||||||
|
QKeyEvent *ke = static_cast<QKeyEvent *>(ev);
|
||||||
|
if (handleEscapePressed(ke, this))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return QWidget::event(ev);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@@ -557,7 +562,7 @@ bool VariableChooser::eventFilter(QObject *obj, QEvent *event)
|
|||||||
{
|
{
|
||||||
if (obj != d->currentWidget())
|
if (obj != d->currentWidget())
|
||||||
return false;
|
return false;
|
||||||
if (event->type() == QEvent::KeyPress && isVisible()) {
|
if ((event->type() == QEvent::KeyPress || event->type() == QEvent::ShortcutOverride) && isVisible()) {
|
||||||
QKeyEvent *ke = static_cast<QKeyEvent *>(event);
|
QKeyEvent *ke = static_cast<QKeyEvent *>(event);
|
||||||
return handleEscapePressed(ke, this);
|
return handleEscapePressed(ke, this);
|
||||||
} else if (event->type() == QEvent::Resize) {
|
} else if (event->type() == QEvent::Resize) {
|
||||||
|
@@ -58,7 +58,7 @@ public:
|
|||||||
static void addSupportForChildWidgets(QWidget *parent, Utils::MacroExpander *expander);
|
static void addSupportForChildWidgets(QWidget *parent, Utils::MacroExpander *expander);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void keyPressEvent(QKeyEvent *ev);
|
bool event(QEvent *ev);
|
||||||
bool eventFilter(QObject *, QEvent *event);
|
bool eventFilter(QObject *, QEvent *event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Reference in New Issue
Block a user