Rename shared_path -> resources_path.
[dcpomatic.git] / src / wx / controls.cc
index 92103637cf4d41c628bb22f831ba654df8624c59..caa0dc823974a3882511b19b99dd278bd203bed9 100644 (file)
@@ -105,10 +105,17 @@ Controls::Controls (wxWindow* parent, shared_ptr<FilmViewer> viewer, bool editor
 
        _v_sizer->Add (h_sizer, 0, wxEXPAND | wxALL, 6);
 
+#ifdef __WXGTK3__
+       _frame_number->SetMinSize (wxSize(100, -1));
+       _rewind_button->SetMinSize (wxSize(48, -1));
+       _back_button->SetMinSize (wxSize(48, -1));
+       _forward_button->SetMinSize (wxSize(48, -1));
+#else
        _frame_number->SetMinSize (wxSize (84, -1));
        _rewind_button->SetMinSize (wxSize (32, -1));
        _back_button->SetMinSize (wxSize (32, -1));
        _forward_button->SetMinSize (wxSize (32, -1));
+#endif
 
        if (_eye) {
                _eye->Bind (wxEVT_CHOICE, boost::bind (&Controls::eye_changed, this));
@@ -170,7 +177,7 @@ Controls::stopped ()
 void
 Controls::update_position ()
 {
-       if (!_slider_being_moved) {
+       if (!_slider_being_moved && !_viewer->pending_idle_get()) {
                update_position_label ();
                update_position_slider ();
        }
@@ -252,15 +259,15 @@ void
 Controls::update_position_label ()
 {
        if (!_film) {
-               _frame_number->SetLabel ("0");
-               _timecode->SetLabel ("0:0:0.0");
+               checked_set (_frame_number, wxT("0"));
+               checked_set (_timecode, wxT("0:0:0.0"));
                return;
        }
 
        double const fps = _film->video_frame_rate ();
        /* Count frame number from 1 ... not sure if this is the best idea */
-       _frame_number->SetLabel (wxString::Format (wxT("%ld"), lrint (_viewer->position().seconds() * fps) + 1));
-       _timecode->SetLabel (time_to_timecode (_viewer->position(), fps));
+       checked_set (_frame_number, wxString::Format (wxT("%ld"), lrint (_viewer->position().seconds() * fps) + 1));
+       checked_set (_timecode, time_to_timecode (_viewer->position(), fps));
 }
 
 void
@@ -345,7 +352,7 @@ Controls::setup_sensitivity ()
 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);
        }
@@ -355,7 +362,7 @@ Controls::timecode_clicked ()
 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);
        }