]> git.cworth.org Git - apitrace/commitdiff
Allow closing of the goto widget with the escape key.
authorZack Rusin <zack@kde.org>
Wed, 13 Apr 2011 05:54:00 +0000 (01:54 -0400)
committerZack Rusin <zack@kde.org>
Wed, 13 Apr 2011 05:54:00 +0000 (01:54 -0400)
gui/jumpwidget.cpp
gui/jumpwidget.h

index ca7f4b39e73a5e4fd31d623da6c0f07bb2d12775..8c9ca337c1b9bf550e8281c466c2838a5b216cb2 100644 (file)
@@ -1,6 +1,7 @@
 #include "jumpwidget.h"
 
 #include <QDebug>
+#include <QKeyEvent>
 
 JumpWidget::JumpWidget(QWidget *parent )
     : QWidget(parent)
@@ -13,6 +14,8 @@ JumpWidget::JumpWidget(QWidget *parent )
             SLOT(slotJump()));
     connect(m_ui.cancelButton, SIGNAL(clicked()),
             SLOT(slotCancel()));
+
+    installEventFilter(this);
 }
 
 void JumpWidget::slotJump()
@@ -34,4 +37,14 @@ void JumpWidget::showEvent(QShowEvent *event)
     return QWidget::showEvent(event);
 }
 
+bool JumpWidget::eventFilter(QObject *object, QEvent* event)
+{
+    if (event->type() == QEvent::KeyPress) {
+        if ((static_cast<QKeyEvent*>(event))->key() == Qt::Key_Escape) {
+            hide();
+        }
+    }
+    return QWidget::eventFilter(object, event);
+}
+
 #include "jumpwidget.moc"
index 40f8b9d9405e13eb9ed8400baca3b9d8e2ab1cf4..5f71c002d2032ba69394623eb0ced202edd123ce 100644 (file)
@@ -4,6 +4,7 @@
 #include "ui_jumpwidget.h"
 #include <QWidget>
 
+class QKeyEvent;
 class QShowEvent;
 
 class JumpWidget : public QWidget
@@ -20,6 +21,7 @@ private slots:
     void slotCancel();
 
 protected:
+    virtual bool eventFilter(QObject *object, QEvent* event);
     virtual void showEvent(QShowEvent *event);
 
 private: