X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fviewwidget.cpp;h=816fbf513db042fa48dd6edd48fe7c68bd869453;hb=c9743553584975b338890c16ef22943d7beaacdd;hp=57053298d00a81d0495f2ce290a5aa3cdea77ac8;hpb=803cdac41caf71af9298e3f612468aa522a107d5;p=pulseview.git diff --git a/pv/view/viewwidget.cpp b/pv/view/viewwidget.cpp index 5705329..816fbf5 100644 --- a/pv/view/viewwidget.cpp +++ b/pv/view/viewwidget.cpp @@ -20,6 +20,7 @@ #include #include +#include #include "rowitem.hpp" #include "view.hpp" @@ -38,6 +39,7 @@ ViewWidget::ViewWidget(View &parent) : item_dragging_(false) { setFocusPolicy(Qt::ClickFocus); + setAttribute(Qt::WA_AcceptTouchEvents, true); setMouseTracking(true); } @@ -86,6 +88,12 @@ bool ViewWidget::accept_drag() const return false; } +bool ViewWidget::mouse_down() const +{ + return mouse_down_point_.x() != INT_MIN && + mouse_down_point_.y() != INT_MIN; +} + void ViewWidget::drag_items(const QPoint &delta) { // Drag the row items @@ -174,6 +182,29 @@ void ViewWidget::mouse_left_release_event(QMouseEvent *event) item_dragging_ = false; } +bool ViewWidget::touch_event(QTouchEvent *e) +{ + (void)e; + return false; +} + +bool ViewWidget::event(QEvent *event) +{ + switch (event->type()) { + case QEvent::TouchBegin: + case QEvent::TouchUpdate: + case QEvent::TouchEnd: + if (touch_event(static_cast(event))) + return true; + break; + + default: + break; + } + + return QWidget::event(event); +} + void ViewWidget::mousePressEvent(QMouseEvent *event) { assert(event); @@ -191,6 +222,7 @@ void ViewWidget::mouseReleaseEvent(QMouseEvent *event) if (event->button() & Qt::LeftButton) mouse_left_release_event(event); + mouse_down_point_ = QPoint(INT_MIN, INT_MIN); mouse_down_item_ = nullptr; }