]> git.cworth.org Git - apitrace/blobdiff - gui/jumpwidget.cpp
Implement jumping to a specific call.
[apitrace] / gui / jumpwidget.cpp
diff --git a/gui/jumpwidget.cpp b/gui/jumpwidget.cpp
new file mode 100644 (file)
index 0000000..ca7f4b3
--- /dev/null
@@ -0,0 +1,37 @@
+#include "jumpwidget.h"
+
+#include <QDebug>
+
+JumpWidget::JumpWidget(QWidget *parent )
+    : QWidget(parent)
+{
+    m_ui.setupUi(this);
+
+    connect(m_ui.jumpButton, SIGNAL(clicked()),
+            SLOT(slotJump()));
+    connect(m_ui.spinBox, SIGNAL(editingFinished()),
+            SLOT(slotJump()));
+    connect(m_ui.cancelButton, SIGNAL(clicked()),
+            SLOT(slotCancel()));
+}
+
+void JumpWidget::slotJump()
+{
+    if (isVisible()) {
+        emit jumpTo(m_ui.spinBox->value());
+    }
+    hide();
+}
+
+void JumpWidget::slotCancel()
+{
+    hide();
+}
+
+void JumpWidget::showEvent(QShowEvent *event)
+{
+    m_ui.spinBox->setFocus(Qt::ShortcutFocusReason);
+    return QWidget::showEvent(event);
+}
+
+#include "jumpwidget.moc"