X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fdecodetrace.cpp;h=9c7196bfb04f24e1c3322172ce023d12f12f4b36;hb=3b2ead4fbeb899188564ec9c69c216708311a881;hp=2797891138ffcd691b4c65ce241bb720547f2583;hpb=67fb15bfd6f26e45cfd4486d473fda688ae8b2de;p=pulseview.git diff --git a/pv/views/trace/decodetrace.cpp b/pv/views/trace/decodetrace.cpp index 2797891..9c7196b 100644 --- a/pv/views/trace/decodetrace.cpp +++ b/pv/views/trace/decodetrace.cpp @@ -328,6 +328,23 @@ QMenu* DecodeTrace::create_header_context_menu(QWidget *parent) QMenu* DecodeTrace::create_view_context_menu(QWidget *parent, QPoint &click_pos) { + // Get entries from default menu before adding our own + QMenu *const menu = new QMenu(parent); + + QMenu* default_menu = Trace::create_view_context_menu(parent, click_pos); + if (default_menu) { + for (QAction *action : default_menu->actions()) { // clazy:exclude=range-loop + menu->addAction(action); + if (action->parent() == default_menu) + action->setParent(menu); + } + delete default_menu; + + // Add separator if needed + if (menu->actions().length() > 0) + menu->addSeparator(); + } + try { selected_row_ = &visible_rows_[get_row_at_point(click_pos)]; } catch (out_of_range&) { @@ -339,8 +356,6 @@ QMenu* DecodeTrace::create_view_context_menu(QWidget *parent, QPoint &click_pos) get_view_sample_range(click_pos.x(), click_pos.x() + 1); selected_sample_range_ = make_pair(sample_range.first, numeric_limits::max()); - QMenu *const menu = new QMenu(parent); - if (decode_signal_->is_paused()) { QAction *const resume = new QAction(tr("Resume decoding"), this); @@ -884,7 +899,7 @@ void DecodeTrace::create_decoder_form(int index, const vector channels = decode_signal_->get_channels(); // Add the channels - for (DecodeChannel ch : channels) { + for (const DecodeChannel& ch : channels) { // Ignore channels not part of the decoder we create the form for if (ch.decoder_ != dec) continue;