X-Git-Url: http://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fview.cpp;fp=pv%2Fviews%2Ftrace%2Fview.cpp;h=e72770f07eabe7481f2f48b95a1cf0f86a15816d;hp=d2e9006075d698f1af96b9ba8a77aa27df02d96f;hb=74bf66669012692f7eda790abe724bd5bb4ae8c6;hpb=dd86facc33e7b52d48e3671b4a98167a106b455d diff --git a/pv/views/trace/view.cpp b/pv/views/trace/view.cpp index d2e90060..e72770f0 100644 --- a/pv/views/trace/view.cpp +++ b/pv/views/trace/view.cpp @@ -1382,6 +1382,7 @@ void View::determine_time_unit() bool View::eventFilter(QObject *object, QEvent *event) { const QEvent::Type type = event->type(); + if (type == QEvent::MouseMove) { if (object) @@ -1399,6 +1400,15 @@ bool View::eventFilter(QObject *object, QEvent *event) update_hover_point(); + } else if (type == QEvent::MouseButtonPress) { + const QMouseEvent *const mouse_event = (QMouseEvent*)event; + if ((object == viewport_) && (mouse_event->button() & Qt::LeftButton)) { + // Send event to all trace tree items + const vector> trace_tree_items( + list_by_type()); + for (const shared_ptr& r : trace_tree_items) + r->mouse_left_press_event(mouse_event); + } } else if (type == QEvent::Leave) { hover_point_ = QPoint(-1, -1); update_hover_point();