diff options
Diffstat (limited to 'src/widgets/searchbox.cpp')
| -rw-r--r-- | src/widgets/searchbox.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/widgets/searchbox.cpp b/src/widgets/searchbox.cpp new file mode 100644 index 0000000..67e48f9 --- /dev/null +++ b/src/widgets/searchbox.cpp @@ -0,0 +1,31 @@ +#include "searchbox.hpp" + +#include <QKeyEvent> +#include <QDebug> + +SearchBox::SearchBox(QWidget * parent) : QLineEdit(parent) +{} + +void SearchBox::keyPressEvent(QKeyEvent *event) +{ + if(event->key() == Qt::Key_Return || event->key() == Qt::Key_F3) { + if (event->modifiers() == Qt::ShiftModifier) { + emit searchPrev(); + } + else { + emit searchNext(); + } + } else { + QLineEdit::keyPressEvent(event); + } +} + +void SearchBox::keyReleaseEvent(QKeyEvent *event) +{ + if(event->key() == Qt::Key_Return) { + // Eat the event + } else { + QLineEdit::keyReleaseEvent(event); + } +} + |
