X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fplayer_config_dialog.cc;h=b16c76b363f27648159640991c36eb87b72f3458;hb=424ffe2828a76e8b0f2dc43d7391f6e2cf153468;hp=a131a46689116b43b967250eb054e4f1274d883d;hpb=716dcf82ecebb79d0f2f01550cc58a66fc14786e;p=dcpomatic.git diff --git a/src/wx/player_config_dialog.cc b/src/wx/player_config_dialog.cc index a131a4668..b16c76b36 100644 --- a/src/wx/player_config_dialog.cc +++ b/src/wx/player_config_dialog.cc @@ -35,6 +35,7 @@ #include "name_format_editor.h" #include "nag_dialog.h" #include "monitor_dialog.h" +#include "check_box.h" #include "lib/config.h" #include "lib/ratio.h" #include "lib/filter.h" @@ -101,7 +102,7 @@ private: table->Add (_image_display, wxGBPosition(r, 1)); ++r; - _respect_kdm = new wxCheckBox (_panel, wxID_ANY, _("Respect KDM validity periods")); + _respect_kdm = new CheckBox (_panel, _("Respect KDM validity periods")); table->Add (_respect_kdm, wxGBPosition(r, 0), wxGBSpan(1, 2)); ++r; @@ -115,6 +116,11 @@ private: _kdm_server_url = new wxTextCtrl (_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(400, -1)); table->Add (_kdm_server_url, wxGBPosition (r, 1)); ++r; + + add_label_to_sizer (table, _panel, _("Lock file"), true, wxGBPosition(r, 0)); + _lock_file = new FilePickerCtrl (_panel, _("Select lock file"), "*", true); + table->Add (_lock_file, wxGBPosition (r, 1)); + ++r; #endif _player_mode->Bind (wxEVT_CHOICE, bind(&PlayerGeneralPage::player_mode_changed, this)); @@ -123,6 +129,7 @@ private: _log_file->Bind (wxEVT_FILEPICKER_CHANGED, bind(&PlayerGeneralPage::log_file_changed, this)); #ifdef DCPOMATIC_VARIANT_SWAROOP _kdm_server_url->Bind (wxEVT_TEXT, bind(&PlayerGeneralPage::kdm_server_url_changed, this)); + _lock_file->Bind (wxEVT_FILEPICKER_CHANGED, bind(&PlayerGeneralPage::lock_file_changed, this)); #endif } @@ -151,6 +158,9 @@ private: } #ifdef DCPOMATIC_VARIANT_SWAROOP checked_set (_kdm_server_url, config->kdm_server_url()); + if (config->player_lock_file()) { + checked_set (_lock_file, config->player_lock_file().get()); + } #endif } @@ -190,6 +200,11 @@ private: { Config::instance()->set_kdm_server_url(wx_to_std(_kdm_server_url->GetValue())); } + + void lock_file_changed () + { + Config::instance()->set_player_lock_file(wx_to_std(_lock_file->GetPath())); + } #endif wxChoice* _player_mode; @@ -198,6 +213,7 @@ private: FilePickerCtrl* _log_file; #ifdef DCPOMATIC_VARIANT_SWAROOP wxTextCtrl* _kdm_server_url; + FilePickerCtrl* _lock_file; #endif }; @@ -229,9 +245,14 @@ private: wxGridBagSizer* table = new wxGridBagSizer (DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP); _panel->GetSizer()->Add (table, 1, wxALL | wxEXPAND, _border); - add_label_to_sizer (table, _panel, _("DCP directory"), true, wxGBPosition (r, 0)); - _dcp_directory = new wxDirPickerCtrl (_panel, wxID_ANY, wxEmptyString, wxDirSelectorPromptStr, wxDefaultPosition, wxSize (300, -1)); - table->Add (_dcp_directory, wxGBPosition (r, 1)); + add_label_to_sizer (table, _panel, _("Content directory"), true, wxGBPosition (r, 0)); + _content_directory = new wxDirPickerCtrl (_panel, wxID_ANY, wxEmptyString, wxDirSelectorPromptStr, wxDefaultPosition, wxSize (300, -1)); + table->Add (_content_directory, wxGBPosition (r, 1)); + ++r; + + add_label_to_sizer (table, _panel, _("Playlist directory"), true, wxGBPosition (r, 0)); + _playlist_directory = new wxDirPickerCtrl (_panel, wxID_ANY, wxEmptyString, wxDirSelectorPromptStr, wxDefaultPosition, wxSize (300, -1)); + table->Add (_playlist_directory, wxGBPosition (r, 1)); ++r; add_label_to_sizer (table, _panel, _("KDM directory"), true, wxGBPosition (r, 0)); @@ -246,7 +267,8 @@ private: ++r; #endif - _dcp_directory->Bind (wxEVT_DIRPICKER_CHANGED, bind(&LocationsPage::dcp_directory_changed, this)); + _content_directory->Bind (wxEVT_DIRPICKER_CHANGED, bind(&LocationsPage::content_directory_changed, this)); + _playlist_directory->Bind (wxEVT_DIRPICKER_CHANGED, bind(&LocationsPage::playlist_directory_changed, this)); _kdm_directory->Bind (wxEVT_DIRPICKER_CHANGED, bind(&LocationsPage::kdm_directory_changed, this)); #ifdef DCPOMATIC_VARIANT_SWAROOP _background_image->Bind (wxEVT_FILEPICKER_CHANGED, bind(&LocationsPage::background_image_changed, this)); @@ -257,8 +279,11 @@ private: { Config* config = Config::instance (); - if (config->player_dcp_directory()) { - checked_set (_dcp_directory, *config->player_dcp_directory()); + if (config->player_content_directory()) { + checked_set (_content_directory, *config->player_content_directory()); + } + if (config->player_playlist_directory()) { + checked_set (_playlist_directory, *config->player_playlist_directory()); } if (config->player_kdm_directory()) { checked_set (_kdm_directory, *config->player_kdm_directory()); @@ -270,9 +295,14 @@ private: #endif } - void dcp_directory_changed () + void content_directory_changed () + { + Config::instance()->set_player_content_directory(wx_to_std(_content_directory->GetPath())); + } + + void playlist_directory_changed () { - Config::instance()->set_player_dcp_directory(wx_to_std(_dcp_directory->GetPath())); + Config::instance()->set_player_playlist_directory(wx_to_std(_playlist_directory->GetPath())); } void kdm_directory_changed () @@ -287,7 +317,8 @@ private: } #endif - wxDirPickerCtrl* _dcp_directory; + wxDirPickerCtrl* _content_directory; + wxDirPickerCtrl* _playlist_directory; wxDirPickerCtrl* _kdm_directory; #ifdef DCPOMATIC_VARIANT_SWAROOP FilePickerCtrl* _background_image; @@ -400,7 +431,7 @@ private: ); _panel->GetSizer()->Add(_monitor_list, 1, wxEXPAND | wxALL, _border); - wxButton* get = new wxButton(_panel, wxID_ANY, _("Read current devices")); + wxButton* get = new Button(_panel, _("Read current devices")); _panel->GetSizer()->Add(get, 0, wxEXPAND | wxALL, DCPOMATIC_SIZER_GAP); get->Bind(wxEVT_BUTTON, bind(&DevicesPage::get_clicked, this)); }