blob: 8c9ca337c1b9bf550e8281c466c2838a5b216cb2 [file] [log] [blame]
Zack Rusinc52d18a2011-04-11 00:15:07 -04001#include "jumpwidget.h"
2
3#include <QDebug>
Zack Rusin83387fb2011-04-13 01:54:00 -04004#include <QKeyEvent>
Zack Rusinc52d18a2011-04-11 00:15:07 -04005
6JumpWidget::JumpWidget(QWidget *parent )
7 : QWidget(parent)
8{
9 m_ui.setupUi(this);
10
11 connect(m_ui.jumpButton, SIGNAL(clicked()),
12 SLOT(slotJump()));
13 connect(m_ui.spinBox, SIGNAL(editingFinished()),
14 SLOT(slotJump()));
15 connect(m_ui.cancelButton, SIGNAL(clicked()),
16 SLOT(slotCancel()));
Zack Rusin83387fb2011-04-13 01:54:00 -040017
18 installEventFilter(this);
Zack Rusinc52d18a2011-04-11 00:15:07 -040019}
20
21void JumpWidget::slotJump()
22{
23 if (isVisible()) {
24 emit jumpTo(m_ui.spinBox->value());
25 }
26 hide();
27}
28
29void JumpWidget::slotCancel()
30{
31 hide();
32}
33
34void JumpWidget::showEvent(QShowEvent *event)
35{
36 m_ui.spinBox->setFocus(Qt::ShortcutFocusReason);
37 return QWidget::showEvent(event);
38}
39
Zack Rusin83387fb2011-04-13 01:54:00 -040040bool JumpWidget::eventFilter(QObject *object, QEvent* event)
41{
42 if (event->type() == QEvent::KeyPress) {
43 if ((static_cast<QKeyEvent*>(event))->key() == Qt::Key_Escape) {
44 hide();
45 }
46 }
47 return QWidget::eventFilter(object, event);
48}
49
Zack Rusinc52d18a2011-04-11 00:15:07 -040050#include "jumpwidget.moc"