X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Fwx%2Fplayer_config_dialog.cc;h=c84c8b2129c60d6d461b1566e1a0f744a5b0e679;hp=a7d4ab71c0b86a77492d6902efa7d0bbd48fdd90;hb=234bca29f70aeeba4fffd67f987de876ff89b6cc;hpb=67ff21a970b9c680e243eec9e7129a256898e156 diff --git a/src/wx/player_config_dialog.cc b/src/wx/player_config_dialog.cc index a7d4ab71c..c84c8b212 100644 --- a/src/wx/player_config_dialog.cc +++ b/src/wx/player_config_dialog.cc @@ -85,7 +85,65 @@ private: add_language_controls (table, r); add_play_sound_controls (table, r); add_update_controls (table, r); + + add_label_to_sizer (table, _panel, _("Start player as"), true, wxGBPosition(r, 0)); + _player_mode = new wxChoice (_panel, wxID_ANY); + _player_mode->Append (_("window")); + _player_mode->Append (_("full screen")); + _player_mode->Append (_("full screen with controls on second monitor")); + table->Add (_player_mode, wxGBPosition(r, 1)); + ++r; + + _respect_kdm = new wxCheckBox (_panel, wxID_ANY, _("Respect KDM validity periods")); + table->Add (_respect_kdm, wxGBPosition(r, 0), wxGBSpan(1, 2)); + ++r; + + _player_mode->Bind (wxEVT_CHOICE, bind(&PlayerGeneralPage::player_mode_changed, this)); + _respect_kdm->Bind (wxEVT_CHECKBOX, bind(&PlayerGeneralPage::respect_kdm_changed, this)); + } + + void config_changed () + { + GeneralPage::config_changed (); + + switch (Config::instance()->player_mode()) { + case Config::PLAYER_MODE_WINDOW: + checked_set (_player_mode, 0); + break; + case Config::PLAYER_MODE_FULL: + checked_set (_player_mode, 1); + break; + case Config::PLAYER_MODE_DUAL: + checked_set (_player_mode, 2); + break; + } + + checked_set (_respect_kdm, Config::instance()->respect_kdm_validity_periods()); } + +private: + void player_mode_changed () + { + switch (_player_mode->GetSelection()) { + case 0: + Config::instance()->set_player_mode(Config::PLAYER_MODE_WINDOW); + break; + case 1: + Config::instance()->set_player_mode(Config::PLAYER_MODE_FULL); + break; + case 2: + Config::instance()->set_player_mode(Config::PLAYER_MODE_DUAL); + break; + } + } + + void respect_kdm_changed () + { + Config::instance()->set_respect_kdm_validity_periods(_respect_kdm->GetValue()); + } + + wxChoice* _player_mode; + wxCheckBox* _respect_kdm; }; wxPreferencesEditor*