Move locale_convert into libdcp.
[dcpomatic.git] / src / wx / timing_panel.cc
index 7abe9e8f981cc9efad9f145f9b34905e11a12ea5..d9777834f9a113015108841b8ca329063bacdcd7 100644 (file)
 #include "move_to_dialog.h"
 #include "lib/content.h"
 #include "lib/image_content.h"
-#include "lib/raw_convert.h"
 #include "lib/subtitle_content.h"
 #include "lib/dcp_subtitle_content.h"
 #include "lib/audio_content.h"
 #include "lib/text_subtitle_content.h"
 #include "lib/video_content.h"
+#include <dcp/locale_convert.h>
 #include <boost/foreach.hpp>
 #include <set>
 #include <iostream>
@@ -42,6 +42,7 @@ using std::set;
 using boost::shared_ptr;
 using boost::dynamic_pointer_cast;
 using boost::optional;
+using dcp::locale_convert;
 
 TimingPanel::TimingPanel (ContentPanel* p, FilmViewer* viewer)
        /* horrid hack for apparent lack of context support with wxWidgets i18n code */
@@ -146,6 +147,9 @@ TimingPanel::TimingPanel (ContentPanel* p, FilmViewer* viewer)
        t->SetLabelMarkup (out);
        grid->Add (t, 0, wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT, 6);
 
+       /* Completely speculative fix for #891 */
+       grid->Layout ();
+
        _position->Changed.connect    (boost::bind (&TimingPanel::position_changed, this));
        _move_to_start_of_reel->Bind  (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&TimingPanel::move_to_start_of_reel_clicked, this));
        _full_length->Changed.connect (boost::bind (&TimingPanel::full_length_changed, this));
@@ -284,7 +288,7 @@ TimingPanel::film_content_changed (int property)
                bool const single_frame_image_content = content && dynamic_pointer_cast<const ImageContent> (content) && content->number_of_paths() == 1;
 
                if ((check_vc.size() == 1 || count_ac == 1 || count_sc == 1) && !single_frame_image_content) {
-                       checked_set (_video_frame_rate, raw_convert<string> (content->video_frame_rate().get(), 5));
+                       checked_set (_video_frame_rate, locale_convert<string> (content->video_frame_rate().get(), 5));
                        _video_frame_rate->Enable (true);
                } else {
                        checked_set (_video_frame_rate, wxT (""));
@@ -395,7 +399,7 @@ TimingPanel::video_frame_rate_changed ()
 void
 TimingPanel::set_video_frame_rate ()
 {
-       double const fr = raw_convert<double> (wx_to_std (_video_frame_rate->GetValue ()));
+       double const fr = locale_convert<double> (wx_to_std (_video_frame_rate->GetValue ()));
        BOOST_FOREACH (shared_ptr<Content> i, _parent->selected ()) {
                i->set_video_frame_rate (fr);
        }
@@ -465,6 +469,7 @@ TimingPanel::setup_sensitivity ()
        bool const e = !_parent->selected().empty ();
 
        _position->Enable (e);
+       _move_to_start_of_reel->Enable (e);
        _full_length->Enable (e);
        _trim_start->Enable (e);
        _trim_end->Enable (e);