]> sigrok.org Git - pulseview.git/blobdiff - pv/view/logicsignal.cpp
SigSession: Made _sr_session non-static
[pulseview.git] / pv / view / logicsignal.cpp
index 54d257819ade28b05be7ac0646f01e96390a579e..6fda499b47d1ac551431f41c48c67e983bf754c0 100644 (file)
@@ -72,10 +72,12 @@ const QColor LogicSignal::SignalColours[10] = {
        QColor(0xEE, 0xEE, 0xEC),       // White
 };
 
-LogicSignal::LogicSignal(shared_ptr<Device> device,
-               shared_ptr<Channel> channel,
-               shared_ptr<data::Logic> data) :
-       Signal(channel),
+LogicSignal::LogicSignal(
+       pv::SigSession &session,
+       shared_ptr<Device> device,
+       shared_ptr<Channel> channel,
+       shared_ptr<data::Logic> data) :
+       Signal(session, channel),
        _device(device),
        _data(data),
        _trigger_none(NULL),
@@ -92,7 +94,7 @@ LogicSignal::LogicSignal(shared_ptr<Device> device,
        /* Populate this channel's trigger setting with whatever we
         * find in the current session trigger, if anything. */
        _trigger_match = nullptr;
-       if ((trigger = SigSession::_sr_session->trigger()))
+       if ((trigger = _session.session()->trigger()))
                for (auto stage : trigger->stages())
                        for (auto match : stage->matches())
                                if (match->channel() == _channel)
@@ -133,10 +135,10 @@ void LogicSignal::paint_mid(QPainter &p, int left, int right)
 
        assert(_view);
        const int y = _v_offset - _view->v_offset();
-       
+
        const double scale = _view->scale();
        assert(scale > 0);
-       
+
        const double offset = _view->offset();
 
        if (!_channel->enabled())
@@ -301,7 +303,6 @@ void LogicSignal::populate_popup_form(QWidget *parent, QFormLayout *form)
 {
        Glib::VariantContainerBase gvar;
        vector<int32_t> trig_types;
-       bool is_checked;
 
        Signal::populate_popup_form(parent, form);
 
@@ -320,8 +321,7 @@ void LogicSignal::populate_popup_form(QWidget *parent, QFormLayout *form)
        for (auto type_id : trig_types) {
                auto type = TriggerMatchType::get(type_id);
                _trigger_bar->addAction(match_action(type));
-               is_checked = _trigger_match == type;
-               match_action(type)->setChecked(is_checked);
+               match_action(type)->setChecked(_trigger_match == type);
        }
        form->addRow(tr("Trigger"), _trigger_bar);
 
@@ -331,10 +331,10 @@ void LogicSignal::on_trigger()
 {
        QAction *action;
 
-       match_action(_trigger_match)->setChecked(FALSE);
+       match_action(_trigger_match)->setChecked(false);
 
        action = (QAction *)sender();
-       action->setChecked(TRUE);
+       action->setChecked(true);
        _trigger_match = action_match(action);
 
 }