]> sigrok.org Git - pulseview.git/blobdiff - pv/view/signal.cpp
Use libsigrok C++ bindings (patch version 7).
[pulseview.git] / pv / view / signal.cpp
index 97e05494cca05eac922a47a6bb0c1dd878472d93..16ebc74d24a890f70f8ca3f5bf0d8b1335506f5b 100644 (file)
 #include <QLineEdit>
 #include <QMenu>
 
-#include <libsigrok/libsigrok.h>
+#include <libsigrok/libsigrok.hpp>
 
 #include "signal.h"
 #include "view.h"
 
-#include <pv/device/devinst.h>
-
 using std::shared_ptr;
 
+using sigrok::Channel;
+
 namespace pv {
 namespace view {
 
@@ -58,10 +58,8 @@ const char *const ChannelNames[] = {
        "SCL"
 };
 
-Signal::Signal(shared_ptr<pv::device::DevInst> dev_inst,
-       const sr_channel *const channel) :
-       Trace(channel->name),
-       _dev_inst(dev_inst),
+Signal::Signal(shared_ptr<Channel> channel) :
+       Trace(channel->name().c_str()),
        _channel(channel),
        _name_widget(NULL),
        _updating_name_widget(false)
@@ -79,16 +77,16 @@ void Signal::set_name(QString name)
 
 bool Signal::enabled() const
 {
-       return _channel->enabled;
+       return _channel->enabled();
 }
 
 void Signal::enable(bool enable)
 {
-       _dev_inst->enable_channel(_channel, enable);
+       _channel->set_enabled(enable);
        visibility_changed();
 }
 
-const sr_channel* Signal::channel() const
+shared_ptr<Channel> Signal::channel() const
 {
        return _channel;
 }
@@ -112,15 +110,9 @@ void Signal::populate_popup_form(QWidget *parent, QFormLayout *form)
                _name_widget->setCurrentIndex(index);
        }
 
-       _name_widget->lineEdit()->selectAll();
-       _name_widget->setFocus();
-
        connect(_name_widget, SIGNAL(editTextChanged(const QString&)),
                this, SLOT(on_text_changed(const QString&)));
 
-       // We want to close the popup when the Enter key was pressed.
-       _name_widget->installEventFilter(this);
-
        form->addRow(tr("Name"), _name_widget);
 
        add_colour_option(parent, form);
@@ -140,24 +132,6 @@ QMenu* Signal::create_context_menu(QWidget *parent)
        return menu;
 }
 
-bool Signal::eventFilter(QObject *obj, QEvent *evt)
-{
-       QKeyEvent *keyEvent;
-
-       (void)obj;
-
-       if (evt->type() == QEvent::KeyPress) {
-               keyEvent = static_cast<QKeyEvent*>(evt);
-               if (keyEvent->key() == Qt::Key_Enter ||
-                   keyEvent->key() == Qt::Key_Return) {
-                       close_popup();
-                       return true;
-               }
-       }
-
-       return false;
-}
-
 void Signal::delete_pressed()
 {
        on_disable();