summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Sergey Starosek <sergey.starosek@gmail.com>2014-01-19 17:33:24 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-01-19 13:56:06 -0800
commitec1088f2ccf17312809cdee2b56f3de3c625b2f9 (patch)
treeff48a6f66f45a3a871a7b1238ad7c123f86d6a6e /qt-ui
parent1891cf1881df2e96f1b0d4ccfe9328b890ae5946 (diff)
downloadsubsurface-ec1088f2ccf17312809cdee2b56f3de3c625b2f9.tar.gz
Ignore mouse wheel events on tags widget
This prevents tags widgets (dive tags and buddy) from grabbing focus on mouse wheel events but allows entering dive edit mode on mouse click. It was attempted earlier by Dirk (commit d117beca), but edit mode did not work properly. Signed-off-by: Sergey Starosek <sergey.starosek@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r--qt-ui/maintab.cpp3
-rw-r--r--qt-ui/tagwidget.cpp6
-rw-r--r--qt-ui/tagwidget.h1
3 files changed, 8 insertions, 2 deletions
diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp
index 4258d093a..f3f85b05e 100644
--- a/qt-ui/maintab.cpp
+++ b/qt-ui/maintab.cpp
@@ -305,8 +305,7 @@ bool MainTab::eventFilter(QObject* object, QEvent* event)
// FocusIn for the starWidgets or RequestSoftwareInputPanel for tagWidget start the editing
if ((event->type() == QEvent::MouseButtonPress) ||
(event->type() == QEvent::KeyPress && object == ui.dateTimeEdit) ||
- (event->type() == QEvent::FocusIn && (object == ui.rating || object == ui.visibility || object == ui.buddy)) ||
- (event->type() == QEvent::RequestSoftwareInputPanel && object == ui.tagWidget)) {
+ (event->type() == QEvent::FocusIn && (object == ui.rating || object == ui.visibility || object == ui.buddy || object == ui.tagWidget))) {
tabBar()->setTabIcon(currentIndex(), QIcon(":warning"));
enableEdition();
}
diff --git a/qt-ui/tagwidget.cpp b/qt-ui/tagwidget.cpp
index dc78c8997..e7585dff1 100644
--- a/qt-ui/tagwidget.cpp
+++ b/qt-ui/tagwidget.cpp
@@ -27,6 +27,7 @@ TagWidget::TagWidget(QWidget *parent) : GroupedLineEdit(parent), m_completer(NUL
addColor( QColor(Qt::green).darker(120) );
addColor( QColor(Qt::blue).darker(120) );
} // light text. get a dark background.
+ setFocusPolicy(Qt::StrongFocus);
}
void TagWidget::setCompleter(QCompleter *completer)
@@ -187,3 +188,8 @@ void TagWidget::keyPressEvent(QKeyEvent *e) {
}
}
+void TagWidget::wheelEvent(QWheelEvent *event) {
+ if (hasFocus()) {
+ GroupedLineEdit::wheelEvent(event);
+ }
+}
diff --git a/qt-ui/tagwidget.h b/qt-ui/tagwidget.h
index b9c1619f9..1f5cc2d3e 100644
--- a/qt-ui/tagwidget.h
+++ b/qt-ui/tagwidget.h
@@ -16,6 +16,7 @@ public:
void setText(QString text);
void clear();
void setCursorPosition(int position);
+ void wheelEvent(QWheelEvent *event);
public slots:
void reparse();
void completionSelected(QString);