void
Controls::update_position ()
{
- if (!_slider_being_moved) {
+ if (!_slider_being_moved && !_viewer->pending_idle_get()) {
update_position_label ();
update_position_slider ();
}
void
Controls::timecode_clicked ()
{
- PlayheadToTimecodeDialog* dialog = new PlayheadToTimecodeDialog (this, _film->video_frame_rate ());
+ PlayheadToTimecodeDialog* dialog = new PlayheadToTimecodeDialog (this, _viewer->position(), _film->video_frame_rate());
if (dialog->ShowModal() == wxID_OK) {
_viewer->seek (dialog->get(), true);
}
void
Controls::frame_number_clicked ()
{
- PlayheadToFrameDialog* dialog = new PlayheadToFrameDialog (this, _film->video_frame_rate ());
+ PlayheadToFrameDialog* dialog = new PlayheadToFrameDialog (this, _viewer->position(), _film->video_frame_rate());
if (dialog->ShowModal() == wxID_OK) {
_viewer->seek (dialog->get(), true);
}
}
}
}
+
+void
+Controls::seek (int slider)
+{
+ _slider->SetValue (slider);
+ slider_moved (false);
+ slider_released ();
+}