#include "timemarker.hpp"
#include "pv/widgets/timestampspinbox.hpp"
+#include "ruler.hpp"
#include "view.hpp"
#include <QApplication>
color_(color),
time_(time),
value_action_(nullptr),
- value_widget_(nullptr),
- updating_value_widget_(false)
+ value_widget_(nullptr)
{
}
time_ = time;
if (value_widget_) {
- updating_value_widget_ = true;
- value_widget_->setValue(time);
- updating_value_widget_ = false;
+ QSignalBlocker blocker(value_widget_);
+ value_widget_->setValue(view_.ruler()->get_ruler_time_from_absolute_time(time));
}
view_.time_item_appearance_changed(true, true);
QPoint TimeMarker::drag_point(const QRect &rect) const
{
- return QPoint(get_x(), rect.bottom());
+ (void)rect;
+
+ return QPoint(get_x(), view_.mapFromGlobal(QCursor::pos()).y());
}
QRectF TimeMarker::label_rect(const QRectF &rect) const
popup->setLayout(form);
value_widget_ = new pv::widgets::TimestampSpinBox(parent);
- value_widget_->setValue(time_);
+ value_widget_->setValue(view_.ruler()->get_ruler_time_from_absolute_time(time_));
connect(value_widget_, SIGNAL(valueChanged(const pv::util::Timestamp&)),
this, SLOT(on_value_changed(const pv::util::Timestamp&)));
void TimeMarker::on_value_changed(const pv::util::Timestamp& value)
{
- if (!updating_value_widget_)
- set_time(value);
+ set_time(view_.ruler()->get_absolute_time_from_ruler_time(value));
}
} // namespace trace