#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;
+
+ _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*
#endif
e->AddPage (new PlayerGeneralPage (ps, border));
- e->AddPage (new KeysPage (ps, border, false));
+ e->AddPage (new KeysPage (ps, border));
return e;
}