]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/viewport.cpp
Fix item dragging
[pulseview.git] / pv / views / trace / viewport.cpp
index 8eb32a5e94f03d11254a87e7eae5b14f714c4810..e5fb607639eac3b6ae7a2985c1c7735988c16f40 100644 (file)
@@ -64,9 +64,9 @@ shared_ptr<ViewItem> Viewport::get_mouse_over_item(const QPoint &pt)
        return nullptr;
 }
 
-void Viewport::item_hover(const shared_ptr<ViewItem> &item)
+void Viewport::item_hover(const shared_ptr<ViewItem> &item, QPoint pos)
 {
-       if (item && item->is_draggable())
+       if (item && item->is_draggable(pos))
                setCursor(dynamic_pointer_cast<RowItem>(item) ?
                        Qt::SizeVerCursor : Qt::SizeHorCursor);
        else
@@ -165,7 +165,7 @@ void Viewport::paintEvent(QPaintEvent*)
 
        stable_sort(row_items.begin(), row_items.end(),
                [](const shared_ptr<RowItem> &a, const shared_ptr<RowItem> &b) {
-                       return a->point(QRect()).y() < b->point(QRect()).y(); });
+                       return a->drag_point(QRect()).y() < b->drag_point(QRect()).y(); });
 
        const vector< shared_ptr<TimeItem> > time_items(view_.time_items());
        assert(none_of(time_items.begin(), time_items.end(),