X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fsignal.cpp;h=8840825c2fe2c08cba62cc646a162176b6a49b76;hp=98cc0eae9d285ae46dbf739cf9575c0a20d92bf0;hb=HEAD;hpb=7d5a9c3e79cbfc7640365894c79ef5b6caaa1631 diff --git a/pv/views/trace/signal.cpp b/pv/views/trace/signal.cpp index 98cc0eae..8840825c 100644 --- a/pv/views/trace/signal.cpp +++ b/pv/views/trace/signal.cpp @@ -51,7 +51,7 @@ const char *const ChannelNames[] = { "TX", "RX", "SDA", - "SCL" + "SCL", "SCLK", "MOSI", "MISO", @@ -64,8 +64,8 @@ const char *const ChannelNames[] = { }; Signal::Signal(pv::Session &session, - shared_ptr channel) : - Trace(channel), + shared_ptr signal) : + Trace(signal), session_(session), name_widget_(nullptr) { @@ -161,10 +161,17 @@ QMenu* Signal::create_header_context_menu(QWidget *parent) menu->addSeparator(); - QAction *const disable = new QAction(tr("Disable"), this); - disable->setShortcuts(QKeySequence::Delete); - connect(disable, SIGNAL(triggered()), this, SLOT(on_disable())); - menu->addAction(disable); + QString caption; + + if (base_->is_generated()) + caption = tr("Remove"); + else + caption = tr("Disable"); + + QAction *const a = new QAction(caption, this); + a->setShortcuts(QKeySequence::Delete); + connect(a, SIGNAL(triggered()), this, SLOT(on_disable())); + menu->addAction(a); return menu; } @@ -189,7 +196,11 @@ void Signal::on_name_changed(const QString &text) void Signal::on_disable() { - base_->set_enabled(false); + // For generated signals, "disable" means "remove" + if (base_->is_generated()) + session_.remove_generated_signal(base_); + else + base_->set_enabled(false); } void Signal::on_enabled_changed(bool enabled)