connect(set_zero_position, SIGNAL(triggered()), this, SLOT(on_setZeroPosition()));
menu->addAction(set_zero_position);
+ if (view_.zero_offset().convert_to<double>() != 0) {
+ QAction *const reset_zero_position = new QAction(tr("Reset zero point"), this);
+ connect(reset_zero_position, SIGNAL(triggered()), this, SLOT(on_resetZeroPosition()));
+ menu->addAction(reset_zero_position);
+ }
+
QAction *const toggle_hover_marker = new QAction(this);
connect(toggle_hover_marker, SIGNAL(triggered()), this, SLOT(on_toggleHoverMarker()));
menu->addAction(toggle_hover_marker);
shared_ptr<TimeItem> Ruler::get_reference_item() const
{
+ // Note: time() returns 0 if item returns no valid time
+
if (mouse_modifiers_ & Qt::ShiftModifier)
return nullptr;
- if (hover_item_)
+ if (hover_item_ && (hover_item_->time() != 0))
return hover_item_;
shared_ptr<TimeItem> ref_item;
}
}
+ if (ref_item && (ref_item->time() == 0))
+ ref_item.reset();
+
return ref_item;
}
view_.set_zero_position(get_absolute_time_from_x_pos(mouse_down_point_.x()));
}
+void Ruler::on_resetZeroPosition()
+{
+ view_.reset_zero_position();
+}
+
void Ruler::on_toggleHoverMarker()
{
GlobalSettings settings;