X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Ftools%2Fdcpomatic_batch.cc;h=827229e8f38066f4892efeb6abd2fe45fba6e683;hb=f1dbcec7552052856369631e77c5eb160badd619;hp=ca9ec3a6be3fdd8b00a1473c57307558f7e2e133;hpb=992a640cb1ceff2a57867f3167fec71ee67bf8a4;p=dcpomatic.git diff --git a/src/tools/dcpomatic_batch.cc b/src/tools/dcpomatic_batch.cc index ca9ec3a6b..827229e8f 100644 --- a/src/tools/dcpomatic_batch.cc +++ b/src/tools/dcpomatic_batch.cc @@ -22,7 +22,7 @@ #include "wx/about_dialog.h" #include "wx/wx_signal_manager.h" #include "wx/job_manager_view.h" -#include "wx/config_dialog.h" +#include "wx/full_config_dialog.h" #include "wx/servers_list_dialog.h" #include "lib/version.h" #include "lib/compose.hpp" @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -59,7 +60,7 @@ void setup_menu (wxMenuBar* m) { wxMenu* file = new wxMenu; - file->Append (ID_file_add_film, _("&Add Film...")); + file->Append (ID_file_add_film, _("&Add Film...\tCtrl-A")); #ifdef DCPOMATIC_OSX file->Append (wxID_EXIT, _("&Exit")); #else @@ -100,23 +101,23 @@ public: setup_menu (bar); SetMenuBar (bar); - Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&DOMFrame::file_add_film, this), ID_file_add_film); - Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&DOMFrame::file_quit, this), wxID_EXIT); - Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&DOMFrame::edit_preferences, this), wxID_PREFERENCES); - Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&DOMFrame::tools_encoding_servers, this), ID_tools_encoding_servers); - Bind (wxEVT_COMMAND_MENU_SELECTED, boost::bind (&DOMFrame::help_about, this), ID_help_about); + Bind (wxEVT_MENU, boost::bind (&DOMFrame::file_add_film, this), ID_file_add_film); + Bind (wxEVT_MENU, boost::bind (&DOMFrame::file_quit, this), wxID_EXIT); + Bind (wxEVT_MENU, boost::bind (&DOMFrame::edit_preferences, this), wxID_PREFERENCES); + Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_encoding_servers, this), ID_tools_encoding_servers); + Bind (wxEVT_MENU, boost::bind (&DOMFrame::help_about, this), ID_help_about); wxPanel* panel = new wxPanel (this); wxSizer* s = new wxBoxSizer (wxHORIZONTAL); s->Add (panel, 1, wxEXPAND); SetSizer (s); - JobManagerView* job_manager_view = new JobManagerView (panel, false); + JobManagerView* job_manager_view = new JobManagerView (panel, true); _sizer->Add (job_manager_view, 1, wxALL | wxEXPAND, 6); wxSizer* buttons = new wxBoxSizer (wxHORIZONTAL); wxButton* add = new wxButton (panel, wxID_ANY, _("Add Film...")); - add->Bind (wxEVT_COMMAND_BUTTON_CLICKED, boost::bind (&DOMFrame::add_film, this)); + add->Bind (wxEVT_BUTTON, boost::bind (&DOMFrame::add_film, this)); buttons->Add (add, 1, wxALL, 6); _sizer->Add (buttons, 0, wxALL, 6); @@ -136,7 +137,7 @@ public: } catch (std::exception& e) { wxString p = std_to_wx (path.string ()); wxCharBuffer b = p.ToUTF8 (); - error_dialog (this, wxString::Format (_("Could not open film at %s (%s)"), p.data(), std_to_wx (e.what()).data())); + error_dialog (this, wxString::Format (_("Could not open film at %s"), p.data()), std_to_wx(e.what())); } } @@ -190,7 +191,7 @@ private: void edit_preferences () { if (!_config_dialog) { - _config_dialog = create_config_dialog (); + _config_dialog = create_full_config_dialog (); } _config_dialog->Show (this); } @@ -252,7 +253,7 @@ class JobServer : public Server { public: JobServer (DOMFrame* frame) - : Server (Config::instance()->server_port_base() + 2) + : Server (BATCH_JOB_PORT) , _frame (frame) {} @@ -280,6 +281,11 @@ class App : public wxApp { SetAppName (_("DCP-o-matic Batch Converter")); + Config::FailedToLoad.connect (boost::bind (&App::config_failed_to_load, this)); + Config::Warning.connect (boost::bind (&App::config_warning, this, _1)); + + wxSplashScreen* splash = maybe_show_splash (); + if (!wxApp::OnInit()) { return false; } @@ -308,12 +314,15 @@ class App : public wxApp */ Config::drop (); - DOMFrame* f = new DOMFrame (_("DCP-o-matic Batch Converter")); - SetTopWindow (f); - f->Maximize (); - f->Show (); + _frame = new DOMFrame (_("DCP-o-matic Batch Converter")); + SetTopWindow (_frame); + _frame->Maximize (); + if (splash) { + splash->Destroy (); + } + _frame->Show (); - JobServer* server = new JobServer (f); + JobServer* server = new JobServer (_frame); new thread (boost::bind (&JobServer::run, server)); signal_manager = new wxSignalManager (this); @@ -328,12 +337,9 @@ class App : public wxApp film->make_dcp (); } catch (exception& e) { error_dialog ( - 0, std_to_wx ( - String::compose ( - wx_to_std (_("Could not load film %1 (%2)")), i.string(), - e.what() - ) - ) + 0, + std_to_wx (String::compose (wx_to_std (_("Could not load film %1")), i.string())), + std_to_wx(e.what()) ); } } @@ -361,6 +367,18 @@ class App : public wxApp return true; } + + void config_failed_to_load () + { + message_dialog (_frame, _("The existing configuration failed to load. Default values will be used instead. These may take a short time to create.")); + } + + void config_warning (string m) + { + message_dialog (_frame, std_to_wx (m)); + } + + DOMFrame* _frame; }; IMPLEMENT_APP (App)