_gdc_password = optional<string>();
_interface_complexity = INTERFACE_SIMPLE;
_player_mode = PLAYER_MODE_WINDOW;
+ _image_display = 0;
_respect_kdm_validity_periods = true;
_player_log_file = boost::none;
_player_mode = PLAYER_MODE_DUAL;
}
+ _image_display = f.optional_number_child<int>("ImageDisplay").get_value_or(0);
_respect_kdm_validity_periods = f.optional_bool_child("RespectKDMValidityPeriods").get_value_or(true);
_player_log_file = f.optional_string_child("PlayerLogFile");
break;
}
+ root->add_child("ImageDisplay")->add_child_text(raw_convert<string>(_image_display));
root->add_child("RespectKDMValidityPeriods")->add_child_text(_respect_kdm_validity_periods ? "1" : "0");
if (_player_log_file) {
root->add_child("PlayerLogFile")->add_child_text(_player_log_file->string());
return _player_mode;
}
+ int image_display () const {
+ return _image_display;
+ }
+
bool respect_kdm_validity_periods () const {
return _respect_kdm_validity_periods;
}
maybe_set (_player_mode, m);
}
+ void set_image_display (int n) {
+ maybe_set (_image_display, n);
+ }
+
void set_respect_kdm_validity_periods (bool r) {
maybe_set (_respect_kdm_validity_periods, r);
}
boost::optional<std::string> _gdc_password;
Interface _interface_complexity;
PlayerMode _player_mode;
+ int _image_display;
bool _respect_kdm_validity_periods;
boost::optional<boost::filesystem::path> _player_log_file;
if (_mode == Config::PLAYER_MODE_DUAL) {
_cinema_dialog->Show ();
if (wxDisplay::GetCount() > 1) {
- this->Move (wxDisplay(0).GetClientArea().GetWidth(), 0);
- /* (0, 0) doesn't seem to work for some strange reason */
- _cinema_dialog->Move (8, 8);
+ switch (Config::instance()->image_display()) {
+ case 0:
+ this->Move (0, 0);
+ _cinema_dialog->Move (wxDisplay(0).GetClientArea().GetWidth(), 0);
+ break;
+ case 1:
+ this->Move (wxDisplay(0).GetClientArea().GetWidth(), 0);
+ /* (0, 0) doesn't seem to work for some strange reason */
+ _cinema_dialog->Move (8, 8);
+ break;
+ }
}
}
}
_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"));
+ _player_mode->Append (_("full screen with controls on other monitor"));
table->Add (_player_mode, wxGBPosition(r, 1));
++r;
+ add_label_to_sizer (table, _panel, _("Displays"), true, wxGBPosition(r, 0));
+ _image_display = new wxChoice (_panel, wxID_ANY);
+ _image_display->Append (_("Image on primary, controls on secondary"));
+ _image_display->Append (_("Image on secondary, controls on primary"));
+ table->Add (_image_display, 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;
++r;
_player_mode->Bind (wxEVT_CHOICE, bind(&PlayerGeneralPage::player_mode_changed, this));
+ _image_display->Bind (wxEVT_CHOICE, bind(&PlayerGeneralPage::image_display_changed, this));
_respect_kdm->Bind (wxEVT_CHECKBOX, bind(&PlayerGeneralPage::respect_kdm_changed, this));
_log_file->Bind (wxEVT_FILEPICKER_CHANGED, bind(&PlayerGeneralPage::log_file_changed, this));
}
break;
}
+ checked_set (_image_display, config->image_display());
checked_set (_respect_kdm, config->respect_kdm_validity_periods());
if (config->player_log_file()) {
checked_set (_log_file, *config->player_log_file());
}
}
+ void image_display_changed ()
+ {
+ Config::instance()->set_image_display(_image_display->GetSelection());
+ }
+
void respect_kdm_changed ()
{
Config::instance()->set_respect_kdm_validity_periods(_respect_kdm->GetValue());
}
wxChoice* _player_mode;
+ wxChoice* _image_display;
wxCheckBox* _respect_kdm;
FilePickerCtrl* _log_file;
};