QString Flag::get_text() const
{
- const shared_ptr<TimeItem> ref_item = view_.get_reference_time_item();
- if (ref_item == nullptr || ref_item.get() == this) {
- return text_;
- } else {
- return Ruler::format_time_with_distance(
+ QString s;
+
+ const shared_ptr<TimeItem> ref_item = view_.ruler()->get_reference_item();
+
+ if (!ref_item || (ref_item.get() == this))
+ s = text_;
+ else
+ s = Ruler::format_time_with_distance(
ref_item->time(), ref_item->delta(time_),
view_.tick_prefix(), view_.time_unit(), view_.tick_precision());
- }
+
+ return s;
}
QRectF Flag::label_rect(const QRectF &rect) const
{
- const shared_ptr<TimeItem> ref_item = view_.get_reference_time_item();
- if (ref_item == nullptr || ref_item.get() == this) {
- return TimeMarker::label_rect(rect);
+ QRectF r;
+ const shared_ptr<TimeItem> ref_item = view_.ruler()->get_reference_item();
+
+ if (!ref_item || (ref_item.get() == this)) {
+ r = TimeMarker::label_rect(rect);
} else {
// TODO: Remove code duplication between here and cursor.cpp
const float x = get_x();
const QSizeF label_size(
text_size.width() + LabelPadding.width() * 2,
text_size.height() + LabelPadding.height() * 2);
- const float top = rect.height() - label_size.height() -
- TimeMarker::ArrowSize - 0.5f;
+
const float height = label_size.height();
+ const float top =
+ rect.height() - label_size.height() - TimeMarker::ArrowSize - 0.5f;
const pv::util::Timestamp& delta = ref_item->delta(time_);
if (delta >= 0)
- return QRectF(x, top, label_size.width(), height);
+ r = QRectF(x, top, label_size.width(), height);
else
- return QRectF(x - label_size.width(), top, label_size.width(), height);
+ r = QRectF(x - label_size.width(), top, label_size.width(), height);
}
+
+ return r;
}
pv::widgets::Popup* Flag::create_popup(QWidget *parent)
connect(del, SIGNAL(triggered()), this, SLOT(on_delete()));
menu->addAction(del);
+ QAction *const snap_disable = new QAction(tr("Disable snapping"), this);
+ snap_disable->setCheckable(true);
+ snap_disable->setChecked(snapping_disabled_);
+ connect(snap_disable, &QAction::toggled, this, [=](bool checked){snapping_disabled_ = checked;});
+ menu->addAction(snap_disable);
+
return menu;
}