};
Signal::Signal(pv::Session &session,
- shared_ptr<data::SignalBase> channel) :
- Trace(channel),
+ shared_ptr<data::SignalBase> signal) :
+ Trace(signal),
session_(session),
name_widget_(nullptr)
{
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;
}
void Signal::on_disable()
{
- base_->set_enabled(false);
+ if (base_->is_generated())
+ session_.remove_generated_signal(base_);
+ else
+ base_->set_enabled(false);
}
void Signal::on_enabled_changed(bool enabled)