X-Git-Url: http://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Ftimeitem.cpp;fp=pv%2Fviews%2Ftrace%2Ftimeitem.cpp;h=3de62258ae4fff0e3371f001036d15df81a9f628;hp=f2eb5957c45ce2d92f914afb2f7ba636957be916;hb=0aabc15a4e23b2a636d2452ae1a69981bdb77329;hpb=58abb3a372d0fc3b9e0a0087112e5f026e77cdb2 diff --git a/pv/views/trace/timeitem.cpp b/pv/views/trace/timeitem.cpp index f2eb5957..3de62258 100644 --- a/pv/views/trace/timeitem.cpp +++ b/pv/views/trace/timeitem.cpp @@ -31,13 +31,17 @@ TimeItem::TimeItem(View &view) : void TimeItem::drag_by(const QPoint &delta) { - int64_t sample_num = view_.get_nearest_level_change(drag_point_ + delta); - - if (sample_num > -1) - set_time(sample_num / view_.get_signal_under_mouse_cursor()->base()->get_samplerate()); - else + if (snapping_disabled_) { set_time(view_.offset() + (drag_point_.x() + delta.x() - 0.5) * view_.scale()); + } else { + int64_t sample_num = view_.get_nearest_level_change(drag_point_ + delta); + + if (sample_num > -1) + set_time(sample_num / view_.get_signal_under_mouse_cursor()->base()->get_samplerate()); + else + set_time(view_.offset() + (drag_point_.x() + delta.x() - 0.5) * view_.scale()); + } } const pv::util::Timestamp TimeItem::delta(const pv::util::Timestamp& other) const @@ -45,6 +49,12 @@ const pv::util::Timestamp TimeItem::delta(const pv::util::Timestamp& other) cons return other - time(); } + +bool TimeItem::is_snapping_disabled() const +{ + return snapping_disabled_; +} + } // namespace trace } // namespace views } // namespace pv