]> sigrok.org Git - pulseview.git/blobdiff - pv/view/signal.cpp
Populate signal popup combo box with signal name instead of probe name
[pulseview.git] / pv / view / signal.cpp
index ba1271b0c4251afee4f3dedfff8b534d59a3d647..0ce423feaae6b97e5bc6809d75fa368b0a71bccb 100644 (file)
@@ -25,6 +25,7 @@
 
 #include <QApplication>
 #include <QFormLayout>
+#include <QLineEdit>
 #include <QMenu>
 
 #include <libsigrok/libsigrok.h>
@@ -32,7 +33,9 @@
 #include "signal.h"
 #include "view.h"
 
-using boost::shared_ptr;
+#include <pv/device/devinst.h>
+
+using std::shared_ptr;
 
 namespace pv {
 namespace view {
@@ -54,9 +57,9 @@ const char *const ProbeNames[] = {
        "SCL"
 };
 
-Signal::Signal(pv::SigSession &session, shared_ptr<pv::DevInst> dev_inst,
-       sr_probe *const probe) :
-       Trace(session, probe->name),
+Signal::Signal(shared_ptr<pv::device::DevInst> dev_inst,
+       const sr_channel *const probe) :
+       Trace(probe->name),
        _dev_inst(dev_inst),
        _probe(probe),
        _name_widget(NULL),
@@ -80,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;
 }
@@ -96,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&)));