X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fview%2Fsignal.cpp;h=0ce423feaae6b97e5bc6809d75fa368b0a71bccb;hb=989718da1a432fcb3bf1d6e7e915a2afe362e267;hp=1f00477a2012d9cb5a3a8e11f6cd046ff62f8682;hpb=b213ef0991a13af0c74ffe5c54382c5c455c5496;p=pulseview.git diff --git a/pv/view/signal.cpp b/pv/view/signal.cpp index 1f00477a..0ce423fe 100644 --- a/pv/view/signal.cpp +++ b/pv/view/signal.cpp @@ -25,11 +25,18 @@ #include #include +#include #include +#include + #include "signal.h" #include "view.h" +#include + +using std::shared_ptr; + namespace pv { namespace view { @@ -50,8 +57,10 @@ const char *const ProbeNames[] = { "SCL" }; -Signal::Signal(pv::SigSession &session, sr_probe *const probe) : - Trace(session, probe->name), +Signal::Signal(shared_ptr dev_inst, + const sr_channel *const probe) : + Trace(probe->name), + _dev_inst(dev_inst), _probe(probe), _name_widget(NULL), _updating_name_widget(false) @@ -74,11 +83,11 @@ bool Signal::enabled() const void Signal::enable(bool enable) { - _probe->enabled = enable; + _dev_inst->enable_probe(_probe, enable); visibility_changed(); } -const sr_probe* Signal::probe() const +const sr_channel* Signal::probe() const { return _probe; } @@ -90,7 +99,9 @@ void Signal::populate_popup_form(QWidget *parent, QFormLayout *form) for(unsigned int i = 0; i < countof(ProbeNames); i++) _name_widget->insertItem(i, ProbeNames[i]); - _name_widget->setEditText(_probe->name); + _name_widget->setEditText(_name); + _name_widget->lineEdit()->selectAll(); + _name_widget->setFocus(); connect(_name_widget, SIGNAL(editTextChanged(const QString&)), this, SLOT(on_text_changed(const QString&)));