Fix uninitialised variable.
[dcpomatic.git] / src / wx / config_dialog.h
index ab2553e5661d16382109acf14911d34fac454237..5203af609f8e13673968d50dca03610cdf8496ee 100644 (file)
@@ -44,6 +44,8 @@
 #include <boost/foreach.hpp>
 #include <iostream>
 
+class AudioMappingView;
+
 class Page
 {
 public:
@@ -89,24 +91,18 @@ public:
 
 protected:
        void add_language_controls (wxGridBagSizer* table, int& r);
-       void add_play_sound_controls (wxGridBagSizer* table, int& r);
        void add_update_controls (wxGridBagSizer* table, int& r);
        virtual void config_changed ();
 
 private:
        void setup_sensitivity ();
-        boost::optional<std::string> get_sound_output ();
        void set_language_changed ();
        void language_changed ();
        void check_for_updates_changed ();
        void check_for_test_updates_changed ();
-       void sound_changed ();
-        void sound_output_changed ();
 
        wxCheckBox* _set_language;
        wxChoice* _language;
-       wxCheckBox* _sound;
-       wxChoice* _sound_output;
        wxCheckBox* _check_for_updates;
        wxCheckBox* _check_for_test_updates;
 };
@@ -184,4 +180,67 @@ private:
 };
 
 
+class SoundPage : public StandardPage
+{
+public:
+       SoundPage (wxSize panel_size, int border)
+               : StandardPage (panel_size, border)
+       {}
+
+       wxString GetName() const;
+
+#ifdef DCPOMATIC_OSX
+       wxBitmap GetLargeIcon () const
+       {
+               return wxBitmap ("sound", wxBITMAP_TYPE_PNG_RESOURCE);
+       }
+#endif
+
+private:
+
+       void setup ();
+       void config_changed ();
+        boost::optional<std::string> get_sound_output ();
+       void sound_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 StandardPage
+{
+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