Store subtitle language(s) in Film, and allow setup of those
[dcpomatic.git] / src / tools / dcpomatic_player.cc
index 11f4bfaa7a4fd9107aff49a383047962273972ba..a82e67b88d7d6c09d2340c31571a9aa376aee116 100644 (file)
@@ -95,6 +95,9 @@ using boost::optional;
 using boost::dynamic_pointer_cast;
 using boost::thread;
 using boost::bind;
+#if BOOST_VERSION >= 106100
+using namespace boost::placeholders;
+#endif
 using dcp::raw_convert;
 using namespace dcpomatic;
 
@@ -150,6 +153,7 @@ public:
                , _system_information_dialog (0)
                , _view_full_screen (0)
                , _view_dual_screen (0)
+               , _main_sizer (new wxBoxSizer (wxVERTICAL))
 {
                dcpomatic_log.reset (new NullLog());
 
@@ -293,13 +297,15 @@ public:
 
        void setup_main_sizer (Config::PlayerMode mode)
        {
-               wxSizer* main_sizer = new wxBoxSizer (wxVERTICAL);
+               _main_sizer->Detach (_viewer->panel());
+               _main_sizer->Detach (_controls);
+               _main_sizer->Detach (_info);
                if (mode != Config::PLAYER_MODE_DUAL) {
-                       main_sizer->Add (_viewer->panel(), 1, wxEXPAND | wxALIGN_CENTER_VERTICAL);
+                       _main_sizer->Add (_viewer->panel(), 1, wxEXPAND);
                }
-               main_sizer->Add (_controls, mode == Config::PLAYER_MODE_DUAL ? 1 : 0, wxEXPAND | wxALL, 6);
-               main_sizer->Add (_info, 0, wxEXPAND | wxALL, 6);
-               _overall_panel->SetSizer (main_sizer);
+               _main_sizer->Add (_controls, mode == Config::PLAYER_MODE_DUAL ? 1 : 0, wxEXPAND | wxALL, 6);
+               _main_sizer->Add (_info, 0, wxEXPAND | wxALL, 6);
+               _overall_panel->SetSizer (_main_sizer);
                _overall_panel->Layout ();
        }
 
@@ -782,6 +788,7 @@ private:
 
                dcp->set_cpl ((*i)->id());
                dcp->examine (_film, shared_ptr<Job>());
+               _info->triggered_update ();
        }
 
        void view_full_screen ()
@@ -834,10 +841,10 @@ private:
                                switch (Config::instance()->image_display()) {
                                case 0:
                                        _dual_screen->Move (0, 0);
-                                       Move (wxDisplay(0).GetClientArea().GetWidth(), 0);
+                                       Move (wxDisplay(0U).GetClientArea().GetWidth(), 0);
                                        break;
                                case 1:
-                                       _dual_screen->Move (wxDisplay(0).GetClientArea().GetWidth(), 0);
+                                       _dual_screen->Move (wxDisplay(0U).GetClientArea().GetWidth(), 0);
                                        // (0, 0) doesn't seem to work for some strange reason
                                        Move (8, 8);
                                        break;
@@ -1081,6 +1088,7 @@ private:
        wxMenuItem* _tools_verify;
        wxMenuItem* _view_full_screen;
        wxMenuItem* _view_dual_screen;
+       wxSizer* _main_sizer;
        PlayerStressTester _stress;
 };