X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fview.cpp;h=2a4c4372194749d5c9ce9a6d0bf377d507f1cfd6;hp=05e6da3e67000a75720595aba455697ac7d265d7;hb=4eba9990f617cba59193c7df8e6359ea642ccb27;hpb=66ab3d702150a3122c5ec3bfcd7f4da930732383 diff --git a/pv/views/trace/view.cpp b/pv/views/trace/view.cpp index 05e6da3e..2a4c4372 100644 --- a/pv/views/trace/view.cpp +++ b/pv/views/trace/view.cpp @@ -790,22 +790,37 @@ bool View::cursors_shown() const void View::show_cursors(bool show) { - show_cursors_ = show; - cursor_state_changed(show); - ruler_->update(); - viewport_->update(); + if (show_cursors_ != show) { + show_cursors_ = show; + cursor_state_changed(show); + ruler_->update(); + viewport_->update(); + + } else { + show_cursors_ = show; + } +} + +void View::set_cursors(pv::util::Timestamp& first, pv::util::Timestamp& second) { + assert(cursors); + + cursors_->first()->set_time(first); + cursors_->second()->set_time(second); + + ruler_->update(); + viewport_->update(); } void View::centre_cursors() { - if (cursors_) { - const double time_width = scale_ * viewport_->width(); - cursors_->first()->set_time(offset_ + time_width * 0.4); - cursors_->second()->set_time(offset_ + time_width * 0.6); + assert(cursors); - ruler_->update(); - viewport_->update(); - } + const double time_width = scale_ * viewport_->width(); + cursors_->first()->set_time(offset_ + time_width * 0.4); + cursors_->second()->set_time(offset_ + time_width * 0.6); + + ruler_->update(); + viewport_->update(); } shared_ptr View::cursors() const