#include "lib/util.h"
#include "lib/cross.h"
#include "lib/exceptions.h"
+#include "lib/warnings.h"
#include <dcp/locale_convert.h>
#include <dcp/exceptions.h>
#include <dcp/certificate_chain.h>
+DCPOMATIC_DISABLE_WARNINGS
#include <wx/stdpaths.h>
#include <wx/preferences.h>
#include <wx/spinctrl.h>
#include <wx/filepicker.h>
+DCPOMATIC_ENABLE_WARNINGS
#include <RtAudio.h>
#include <boost/filesystem.hpp>
#include <boost/foreach.hpp>
#include <iostream>
-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);
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);
boost::function<bool (void)> _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;
};
-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;
void config_changed ();
boost::optional<std::string> 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