X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=inline;f=pv%2Fview%2Fview.cpp;h=7f9caa4cb50e69fb63f50e621d5dad01adbebc99;hb=48257a69ffad409c9893605d99cd6e15161dff4f;hp=99a28e4d7ee187b805490699ace737428cc31e1f;hpb=769a79b51a3c042770e97bb3303d0b8a20f5c648;p=pulseview.git diff --git a/pv/view/view.cpp b/pv/view/view.cpp index 99a28e4d..7f9caa4c 100644 --- a/pv/view/view.cpp +++ b/pv/view/view.cpp @@ -349,24 +349,12 @@ void View::zoom_one_to_one() if (visible_data.empty()) return; - double samplerate = 0.0; - for (const shared_ptr d : visible_data) { - assert(d); - const vector< shared_ptr > segments = - d->segments(); - for (const shared_ptr &s : segments) - samplerate = max(samplerate, s->samplerate()); - } - - if (samplerate == 0.0) - return; - assert(viewport_); const int w = viewport_->width(); if (w <= 0) return; - set_zoom(1.0 / samplerate, w / 2); + set_zoom(1.0 / session_.get_samplerate(), w / 2); } void View::set_scale_offset(double scale, const Timestamp& offset) @@ -474,8 +462,14 @@ void View::add_flag(const Timestamp& time) { flags_.push_back(shared_ptr(new Flag(*this, time, QString("%1").arg(next_flag_text_)))); + next_flag_text_ = (next_flag_text_ >= 'Z') ? 'A' : (next_flag_text_ + 1); + + // Skip 'T' (for trigger) as it's treated special + if (next_flag_text_ == 'T') + next_flag_text_ += 1; + time_item_appearance_changed(true, true); } @@ -530,6 +524,16 @@ void View::restack_all_trace_tree_items() i->animate_to_layout_v_offset(); } +void View::trigger_event(util::Timestamp location) +{ + char next_flag_text = next_flag_text_; + + next_flag_text_ = 'T'; + add_flag(location); + + next_flag_text_ = next_flag_text; +} + void View::get_scroll_layout(double &length, Timestamp &offset) const { const pair extents = get_time_extents();