X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fview.cpp;h=65b06aea82cba76279f185f40b4af933578a18dd;hp=99e75bfdc9ec72de6281d86b3d922e626a5911a5;hb=cbd9ec7f751a5403d1465e966ccecd31b7086e8a;hpb=d9b55cc8ab01e83b392762ed1fa400fdafafb60b;ds=sidebyside diff --git a/pv/views/trace/view.cpp b/pv/views/trace/view.cpp index 99e75bfd..65b06aea 100644 --- a/pv/views/trace/view.cpp +++ b/pv/views/trace/view.cpp @@ -875,6 +875,11 @@ void View::restack_all_trace_tree_items() i->animate_to_layout_v_offset(); } +int View::header_width() const +{ + return header_->extended_size_hint().width(); +} + void View::on_setting_changed(const QString &key, const QVariant &value) { if (key == GlobalSettings::Key_View_TriggerIsZeroTime) @@ -1087,12 +1092,11 @@ void View::set_scroll_default() void View::determine_if_header_was_shrunk() { const int header_pane_width = splitter_->sizes().front(); - const int header_width = header_->extended_size_hint().width(); // Allow for a slight margin of error so that we also accept // slight differences when e.g. a label name change increased // the overall width - header_was_shrunk_ = (header_pane_width < (header_width - 10)); + header_was_shrunk_ = (header_pane_width < (header_width() - 10)); } void View::resize_header_to_fit() @@ -1254,11 +1258,13 @@ bool View::eventFilter(QObject *object, QEvent *event) void View::contextMenuEvent(QContextMenuEvent *event) { - const shared_ptr r = viewport_->get_mouse_over_item(event->pos()); + QPoint pos = event->pos() - QPoint(0, ruler_->sizeHint().height()); + + const shared_ptr r = viewport_->get_mouse_over_item(pos); if (!r) return; - QMenu *menu = r->create_view_context_menu(this); + QMenu *menu = r->create_view_context_menu(this, pos); if (menu) menu->exec(event->globalPos()); }