#include "email_dialog.h"
#include "name_format_editor.h"
#include "nag_dialog.h"
-#include "config_move_dialog.h"
#include "config_dialog.h"
#include "lib/config.h"
#include "lib/ratio.h"
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;
+
+ add_label_to_sizer (table, _panel, _("Log file"), true, wxGBPosition (r, 0));
+ _log_file = new FilePickerCtrl (_panel, _("Select log file"), "*", true);
+ table->Add (_log_file, wxGBPosition (r, 1));
+ ++r;
+
+ _player_mode->Bind (wxEVT_CHOICE, bind(&PlayerGeneralPage::player_mode_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));
}
+
+ void config_changed ()
+ {
+ GeneralPage::config_changed ();
+
+ Config* config = Config::instance ();
+
+ switch (config->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->respect_kdm_validity_periods());
+ if (config->player_log_file()) {
+ checked_set (_log_file, *config->player_log_file());
+ }
+ }
+
+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());
+ }
+
+ void log_file_changed ()
+ {
+ Config::instance()->set_player_log_file(wx_to_std(_log_file->GetPath()));
+ }
+
+ wxChoice* _player_mode;
+ wxCheckBox* _respect_kdm;
+ FilePickerCtrl* _log_file;
};
wxPreferencesEditor*
#endif
e->AddPage (new PlayerGeneralPage (ps, border));
- e->AddPage (new KeysPage (ps, border, false));
+ e->AddPage (new KeysPage (ps, border));
return e;
}