aboutsummaryrefslogtreecommitdiff
path: root/src/widgets/searchbox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/searchbox.cpp')
-rw-r--r--src/widgets/searchbox.cpp31
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);
+ }
+}
+