diff options
| author | Carl Hetherington <cth@carlh.net> | 2017-08-15 00:37:36 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2017-08-15 00:37:36 +0100 |
| commit | c79c14e1ed3498094d0f82ea854ea43bea3728e1 (patch) | |
| tree | 080ad11a54d94614635b8740135e61a55c253520 /src/wx/player_config_dialog.cc | |
| parent | 0d493e91c4bffcb60960097264a804f6208b7bba (diff) | |
Give player its own configuration dialogue.
Diffstat (limited to 'src/wx/player_config_dialog.cc')
| -rw-r--r-- | src/wx/player_config_dialog.cc | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/src/wx/player_config_dialog.cc b/src/wx/player_config_dialog.cc new file mode 100644 index 000000000..028fd6d55 --- /dev/null +++ b/src/wx/player_config_dialog.cc @@ -0,0 +1,111 @@ +/* + Copyright (C) 2012-2017 Carl Hetherington <cth@carlh.net> + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>. + +*/ + +/** @file src/player_config_dialog.cc + * @brief A dialogue to edit DCP-o-matic Player configuration. + */ + +#include "config_dialog.h" +#include "wx_util.h" +#include "editable_list.h" +#include "filter_dialog.h" +#include "dir_picker_ctrl.h" +#include "file_picker_ctrl.h" +#include "isdcf_metadata_dialog.h" +#include "server_dialog.h" +#include "make_chain_dialog.h" +#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" +#include "lib/filter.h" +#include "lib/dcp_content_type.h" +#include "lib/log.h" +#include "lib/util.h" +#include "lib/cross.h" +#include "lib/exceptions.h" +#include <dcp/locale_convert.h> +#include <dcp/exceptions.h> +#include <dcp/certificate_chain.h> +#include <wx/stdpaths.h> +#include <wx/preferences.h> +#include <wx/spinctrl.h> +#include <wx/filepicker.h> +#include <RtAudio.h> +#include <boost/filesystem.hpp> +#include <boost/foreach.hpp> +#include <iostream> + +using std::vector; +using std::string; +using std::list; +using std::cout; +using std::pair; +using std::make_pair; +using std::map; +using boost::bind; +using boost::shared_ptr; +using boost::function; +using boost::optional; +using dcp::locale_convert; + +class PlayerGeneralPage : public GeneralPage +{ +public: + PlayerGeneralPage (wxSize panel_size, int border) + : GeneralPage (panel_size, border) + {} + +private: + void setup () + { + wxGridBagSizer* table = new wxGridBagSizer (DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP); + _panel->GetSizer()->Add (table, 1, wxALL | wxEXPAND, _border); + + int r = 0; + add_language_controls (table, r); + add_play_sound_controls (table, r); + add_update_controls (table, r); + } +}; + +wxPreferencesEditor* +create_player_config_dialog () +{ + wxPreferencesEditor* e = new wxPreferencesEditor (); + +#ifdef DCPOMATIC_OSX + /* Width that we force some of the config panels to be on OSX so that + the containing window doesn't shrink too much when we select those panels. + This is obviously an unpleasant hack. + */ + wxSize ps = wxSize (520, -1); + int const border = 16; +#else + wxSize ps = wxSize (-1, -1); + int const border = 8; +#endif + + e->AddPage (new PlayerGeneralPage (ps, border)); + return e; +} |
