* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
+#include "signal.hpp"
#include "timeitem.hpp"
#include "view.hpp"
void TimeItem::drag_by(const QPoint &delta)
{
- set_time(view_.offset() + (drag_point_.x() + delta.x() - 0.5) *
- view_.scale());
+ 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());
}
} // namespace trace