X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fwx%2Fconfig_dialog.h;h=afbe9ed2ebe81e381cb0fba1658758e191ece458;hb=2e6f03cbb2c5664bd338ad28bfd6c54732e64b47;hp=1a9d97a436f0eee010a34ddac1941c596f108b62;hpb=30c9ecad729397574754163d13253c54a2285a6a;p=dcpomatic.git diff --git a/src/wx/config_dialog.h b/src/wx/config_dialog.h index 1a9d97a43..afbe9ed2e 100644 --- a/src/wx/config_dialog.h +++ b/src/wx/config_dialog.h @@ -32,24 +32,31 @@ #include "lib/util.h" #include "lib/cross.h" #include "lib/exceptions.h" +#include "lib/warnings.h" #include #include #include +DCPOMATIC_DISABLE_WARNINGS #include #include #include #include +DCPOMATIC_ENABLE_WARNINGS #include #include #include #include -class Page +class AudioMappingView; + +class Page : public wxPreferencesPage { public: Page (wxSize panel_size, int border); virtual ~Page () {} + wxWindow* CreateWindow (wxWindow* parent); + protected: wxWindow* create_window (wxWindow* parent); @@ -68,24 +75,19 @@ private: bool _window_exists; }; -class StockPage : public wxStockPreferencesPage, public Page +class GeneralPage : public Page { public: - StockPage (Kind kind, wxSize panel_size, int border); - wxWindow* CreateWindow (wxWindow* parent); -}; + GeneralPage (wxSize panel_size, int border); -class StandardPage : public wxPreferencesPage, public Page -{ -public: - StandardPage (wxSize panel_size, int border); - wxWindow* CreateWindow (wxWindow* parent); -}; + wxString GetName () const; -class GeneralPage : public StockPage -{ -public: - GeneralPage (wxSize panel_size, int border); +#ifdef DCPOMATIC_OSX + wxBitmap GetLargeIcon () const + { + return wxBitmap ("general", wxBITMAP_TYPE_PNG_RESOURCE); + } +#endif protected: void add_language_controls (wxGridBagSizer* table, int& r); @@ -148,11 +150,11 @@ private: boost::function _nag_alter; }; -class KeysPage : public StandardPage +class KeysPage : public Page { public: KeysPage (wxSize panel_size, int border) - : StandardPage (panel_size, border) + : Page (panel_size, border) {} wxString GetName () const; @@ -178,11 +180,11 @@ private: }; -class SoundPage : public StandardPage +class SoundPage : public Page { public: SoundPage (wxSize panel_size, int border) - : StandardPage (panel_size, border) + : Page (panel_size, border) {} wxString GetName() const; @@ -200,12 +202,45 @@ private: void config_changed (); boost::optional get_sound_output (); void sound_changed (); - void sound_output_changed (); + void sound_output_changed (); void setup_sensitivity (); + void map_changed (AudioMapping m); + void reset_to_default (); wxCheckBox* _sound; wxChoice* _sound_output; wxStaticText* _sound_output_details; + AudioMappingView* _map; + Button* _reset_to_default; }; +class LocationsPage : public Page +{ +public: + LocationsPage (wxSize panel_size, int border); + + wxString GetName () const; + +#ifdef DCPOMATIC_OSX + wxBitmap GetLargeIcon () const; +#endif + +private: + void setup (); + void config_changed (); + void content_directory_changed (); + void playlist_directory_changed (); + void kdm_directory_changed (); + +#ifdef DCPOMATIC_VARIANT_SWAROOP + void background_image_changed (); +#endif + + wxDirPickerCtrl* _content_directory; + wxDirPickerCtrl* _playlist_directory; + wxDirPickerCtrl* _kdm_directory; +#ifdef DCPOMATIC_VARIANT_SWAROOP + FilePickerCtrl* _background_image; +#endif +}; #endif