X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fwidgets%2Fdecodermenu.cpp;h=23c74a0ac70abe3f1e25db3e871b9a5291349fdf;hp=3273123ecc40cf6bbf66b8c5122765a8561c570d;hb=f69ec72d3cead13847045ca9cdf15d503f69e370;hpb=1ae8a74b45011027c3719d84f4c5ace5b9ba22d9 diff --git a/pv/widgets/decodermenu.cpp b/pv/widgets/decodermenu.cpp index 3273123..23c74a0 100644 --- a/pv/widgets/decodermenu.cpp +++ b/pv/widgets/decodermenu.cpp @@ -25,7 +25,7 @@ namespace pv { namespace widgets { -DecoderMenu::DecoderMenu(QWidget *parent) : +DecoderMenu::DecoderMenu(QWidget *parent, bool first_level_decoder) : QMenu(parent), _mapper(this) { @@ -33,12 +33,17 @@ DecoderMenu::DecoderMenu(QWidget *parent) : (GSList*)srd_decoder_list()), decoder_name_cmp); for(; l; l = l->next) { - QAction *const action = addAction(QString::fromUtf8( - ((srd_decoder*)l->data)->name)); - action->setData(qVariantFromValue(l->data)); - _mapper.setMapping(action, action); - connect(action, SIGNAL(triggered()), - &_mapper, SLOT(map())); + const srd_decoder *const d = (srd_decoder*)l->data; + assert(d); + + if (!first_level_decoder || d->probes || d->opt_probes) { + QAction *const action = + addAction(QString::fromUtf8(d->name)); + action->setData(qVariantFromValue(l->data)); + _mapper.setMapping(action, action); + connect(action, SIGNAL(triggered()), + &_mapper, SLOT(map())); + } } g_slist_free(l);