X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fconfig_dialog.h;h=9924909273a0b62c84f662adebb3f1fc0fd5f592;hb=796aaab029ebd06a6176383714ef75726b2b9ec2;hp=565ecf1c4f738c026aa0901a1bee0256335b5885;hpb=e0b2ef3dbac6fc4900cad6fea4395c212578602b;p=dcpomatic.git diff --git a/src/wx/config_dialog.h b/src/wx/config_dialog.h index 565ecf1c4..992490927 100644 --- a/src/wx/config_dialog.h +++ b/src/wx/config_dialog.h @@ -32,26 +32,30 @@ #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 AudioMappingView; -class Page +class Page : public wxPreferencesPage { public: Page (wxSize panel_size, int border); virtual ~Page () {} + wxWindow* CreateWindow (wxWindow* parent); + protected: wxWindow* create_window (wxWindow* parent); @@ -70,24 +74,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(bitmap_path("general"), wxBITMAP_TYPE_PNG); + } +#endif protected: void add_language_controls (wxGridBagSizer* table, int& r); @@ -114,9 +113,9 @@ public: wxWindow* parent, wxString title, int border, - boost::function)> set, - boost::function (void)> get, - boost::function nag_alter + std::function)> set, + std::function (void)> get, + std::function nag_alter ); void add_button (wxWindow* button); @@ -145,16 +144,16 @@ private: wxStaticText* _private_key_bad; wxSizer* _sizer; wxBoxSizer* _button_sizer; - boost::function)> _set; - boost::function (void)> _get; - boost::function _nag_alter; + std::function)> _set; + std::function (void)> _get; + std::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; @@ -162,7 +161,7 @@ public: #ifdef DCPOMATIC_OSX wxBitmap GetLargeIcon () const { - return wxBitmap ("keys", wxBITMAP_TYPE_PNG_RESOURCE); + return wxBitmap(bitmap_path("keys"), wxBITMAP_TYPE_PNG); } #endif @@ -180,11 +179,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; @@ -192,7 +191,7 @@ public: #ifdef DCPOMATIC_OSX wxBitmap GetLargeIcon () const { - return wxBitmap ("sound", wxBITMAP_TYPE_PNG_RESOURCE); + return wxBitmap(bitmap_path("sound"), wxBITMAP_TYPE_PNG); } #endif @@ -214,4 +213,26 @@ private: 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 (); + + wxDirPickerCtrl* _content_directory; + wxDirPickerCtrl* _playlist_directory; + wxDirPickerCtrl* _kdm_directory; +}; #endif