X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fdecodetrace.cpp;h=574e9d1ae96b8891689c402548182cceae2b869d;hb=556259d2d0a212c20db9b18311b9524b52401a56;hp=651b8c3d77b27f7797d66285896ab56da69f9959;hpb=a20c1fcc6c86659439a368f4d56c1b60c70dc62c;p=pulseview.git diff --git a/pv/views/trace/decodetrace.cpp b/pv/views/trace/decodetrace.cpp index 651b8c3..574e9d1 100644 --- a/pv/views/trace/decodetrace.cpp +++ b/pv/views/trace/decodetrace.cpp @@ -341,15 +341,33 @@ QMenu* DecodeTrace::create_view_context_menu(QWidget *parent, QPoint &click_pos) QMenu *const menu = new QMenu(parent); + if (decode_signal_->is_paused()) { + QAction *const resume = + new QAction(tr("Resume decoding"), this); + resume->setIcon(QIcon::fromTheme("media-playback-start", + QIcon(":/icons/media-playback-start.png"))); + connect(resume, SIGNAL(triggered()), this, SLOT(on_pause_decode())); + menu->addAction(resume); + } else { + QAction *const pause = + new QAction(tr("Pause decoding"), this); + pause->setIcon(QIcon::fromTheme("media-playback-pause", + QIcon(":/icons/media-playback-pause.png"))); + connect(pause, SIGNAL(triggered()), this, SLOT(on_pause_decode())); + menu->addAction(pause); + } + + menu->addSeparator(); + QAction *const export_all_rows = - new QAction(tr("Export all annotations"), this); + new QAction(tr("Export all annotations"), this); export_all_rows->setIcon(QIcon::fromTheme("document-save-as", QIcon(":/icons/document-save-as.png"))); connect(export_all_rows, SIGNAL(triggered()), this, SLOT(on_export_all_rows())); menu->addAction(export_all_rows); QAction *const export_row = - new QAction(tr("Export all annotations for this row"), this); + new QAction(tr("Export all annotations for this row"), this); export_row->setIcon(QIcon::fromTheme("document-save-as", QIcon(":/icons/document-save-as.png"))); connect(export_row, SIGNAL(triggered()), this, SLOT(on_export_row())); @@ -1037,6 +1055,14 @@ void DecodeTrace::on_decode_finished() owner_->row_item_appearance_changed(false, true); } +void DecodeTrace::on_pause_decode() +{ + if (decode_signal_->is_paused()) + decode_signal_->resume_decode(); + else + decode_signal_->pause_decode(); +} + void DecodeTrace::delete_pressed() { on_delete();