]> sigrok.org Git - pulseview.git/blobdiff - pv/view/viewwidget.cpp
ViewWidget: Added mouse_down
[pulseview.git] / pv / view / viewwidget.cpp
index 0b3b2fd1e233f962bc9f6b50417109e72582722b..e2b2d17295f3295bc429f550548d95545c3ca1f3 100644 (file)
@@ -35,7 +35,7 @@ namespace view {
 ViewWidget::ViewWidget(View &parent) :
        QWidget(&parent),
        view_(parent),
 ViewWidget::ViewWidget(View &parent) :
        QWidget(&parent),
        view_(parent),
-       dragging_(false)
+       item_dragging_(false)
 {
        setFocusPolicy(Qt::ClickFocus);
        setMouseTracking(true);
 {
        setFocusPolicy(Qt::ClickFocus);
        setMouseTracking(true);
@@ -86,6 +86,12 @@ bool ViewWidget::accept_drag() const
        return false;
 }
 
        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
 void ViewWidget::drag_items(const QPoint &delta)
 {
        // Drag the row items
@@ -157,7 +163,7 @@ void ViewWidget::mouse_left_release_event(QMouseEvent *event)
        for (auto &i : items)
                i->drag_release();
 
        for (auto &i : items)
                i->drag_release();
 
-       if (dragging_)
+       if (item_dragging_)
                view_.restack_all_row_items();
        else
        {
                view_.restack_all_row_items();
        else
        {
@@ -171,7 +177,7 @@ void ViewWidget::mouse_left_release_event(QMouseEvent *event)
                }
        }
 
                }
        }
 
-       dragging_ = false;
+       item_dragging_ = false;
 }
 
 void ViewWidget::mousePressEvent(QMouseEvent *event)
 }
 
 void ViewWidget::mousePressEvent(QMouseEvent *event)
@@ -191,6 +197,7 @@ void ViewWidget::mouseReleaseEvent(QMouseEvent *event)
        if (event->button() & Qt::LeftButton)
                mouse_left_release_event(event);
 
        if (event->button() & Qt::LeftButton)
                mouse_left_release_event(event);
 
+       mouse_down_point_ = QPoint(INT_MIN, INT_MIN);
        mouse_down_item_ = nullptr;
 }
 
        mouse_down_item_ = nullptr;
 }
 
@@ -210,7 +217,7 @@ void ViewWidget::mouseMoveEvent(QMouseEvent *event)
                return;
 
        // Do the drag
                return;
 
        // Do the drag
-       dragging_ = true;
+       item_dragging_ = true;
        drag_items(event->pos() - mouse_down_point_);
 
        update();
        drag_items(event->pos() - mouse_down_point_);
 
        update();