X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fviewwidget.cpp;h=9c4c56ff6f0e50d20f1ec3839ee9b4b8ebbc6f30;hb=1dffa582704bb6acb144a3e89bd6eb0e2ccf4f25;hp=9408a2de6b6793968317207aff32452e593054be;hpb=f15bb3bc4f964eaafdd4c46f29f69ef74572baee;p=pulseview.git diff --git a/pv/view/viewwidget.cpp b/pv/view/viewwidget.cpp index 9408a2d..9c4c56f 100644 --- a/pv/view/viewwidget.cpp +++ b/pv/view/viewwidget.cpp @@ -70,5 +70,31 @@ bool ViewWidget::accept_drag() const return false; } +void ViewWidget::drag_items(const QPoint &delta) +{ + // Drag the row items + RowItemOwner *item_owner = nullptr; + for (std::shared_ptr r : view_) + if (r->dragging()) { + item_owner = r->owner(); + r->drag_by(delta); + + // Ensure the trace is selected + r->select(); + } + + if (item_owner) { + item_owner->restack_items(); + for (const auto &r : *item_owner) + r->animate_to_layout_v_offset(); + } + + // Drag the time items + const vector< shared_ptr > items(view_.time_items()); + for (auto &i : items) + if (i->dragging()) + i->drag_by(delta); +} + } // namespace view } // namespace pv