Merge.
[dcpomatic.git] / src / wx / config_dialog.h
index 459d64dd701327c2e8bd07f6f5f9e027aae58ebd..49b466bcb9d31d4a080b240d5e9fc6cef3308024 100644 (file)
 #include <wx/listctrl.h>
 #include <wx/filepicker.h>
 #include "wx_util.h"
+#include "editable_list.h"
 
 class DirPickerCtrl;
 class wxNotebook;
-
-class ServerDescription;
+class PresetColourConversion;
+class PresetColourConversionDialog;
+class ServerDialog;
 
 /** @class ConfigDialog
  *  @brief A dialogue to edit DCP-o-matic configuration.
@@ -41,37 +43,45 @@ public:
        ConfigDialog (wxWindow *);
 
 private:
-       void set_language_changed (wxCommandEvent &);
-       void language_changed (wxCommandEvent &);
-       void tms_ip_changed (wxCommandEvent &);
-       void tms_path_changed (wxCommandEvent &);
-       void tms_user_changed (wxCommandEvent &);
-       void tms_password_changed (wxCommandEvent &);
-       void num_local_encoding_threads_changed (wxCommandEvent &);
-       void default_still_length_changed (wxCommandEvent &);
-       void default_directory_changed (wxCommandEvent &);
-       void edit_default_dci_metadata_clicked (wxCommandEvent &);
-       void add_server_clicked (wxCommandEvent &);
-       void edit_server_clicked (wxCommandEvent &);
-       void remove_server_clicked (wxCommandEvent &);
-       void server_selection_changed (wxListEvent &);
-       void default_container_changed (wxCommandEvent &);
-       void default_dcp_content_type_changed (wxCommandEvent &);
-       void issuer_changed (wxCommandEvent &);
-       void creator_changed (wxCommandEvent &);
+       void set_language_changed ();
+       void language_changed ();
+       void tms_ip_changed ();
+       void tms_path_changed ();
+       void tms_user_changed ();
+       void tms_password_changed ();
+       void num_local_encoding_threads_changed ();
+       void default_still_length_changed ();
+       void default_directory_changed ();
+       void edit_default_dci_metadata_clicked ();
+       void default_container_changed ();
+       void default_dcp_content_type_changed ();
+       void issuer_changed ();
+       void creator_changed ();
+       void default_j2k_bandwidth_changed ();
+       void default_audio_delay_changed ();
+       void mail_server_changed ();
+       void mail_user_changed ();
+       void mail_password_changed ();
+       void kdm_from_changed ();
+       void kdm_email_changed ();
+       void use_any_servers_changed ();
 
-       void add_server_to_control (ServerDescription *);
        void setup_language_sensitivity ();
 
        void make_misc_panel ();
+       void make_defaults_panel ();
+       void make_servers_panel ();
        void make_tms_panel ();
        void make_metadata_panel ();
-       void make_servers_panel ();
+       void make_colour_conversions_panel ();
+       void make_kdm_email_panel ();
 
        wxNotebook* _notebook;
        wxPanel* _misc_panel;
-       wxPanel* _tms_panel;
+       wxPanel* _defaults_panel;
        wxPanel* _servers_panel;
+       wxPanel* _tms_panel;
+       EditableList<PresetColourConversion, PresetColourConversionDialog>* _colour_conversions_panel;
        wxPanel* _metadata_panel;
        wxCheckBox* _set_language;
        wxChoice* _language;
@@ -82,6 +92,10 @@ private:
        wxTextCtrl* _tms_user;
        wxTextCtrl* _tms_password;
        wxSpinCtrl* _num_local_encoding_threads;
+       wxTextCtrl* _mail_server;
+       wxTextCtrl* _mail_user;
+       wxTextCtrl* _mail_password;
+       wxTextCtrl* _kdm_from;
        wxSpinCtrl* _default_still_length;
 #ifdef DCPOMATIC_USE_OWN_DIR_PICKER
        DirPickerCtrl* _default_directory;
@@ -89,11 +103,13 @@ private:
        wxDirPickerCtrl* _default_directory;
 #endif
        wxButton* _default_dci_metadata_button;
-       wxListCtrl* _servers;
-       wxButton* _add_server;
-       wxButton* _edit_server;
-       wxButton* _remove_server;
        wxTextCtrl* _issuer;
        wxTextCtrl* _creator;
+       wxSpinCtrl* _default_j2k_bandwidth;
+       wxSpinCtrl* _default_audio_delay;
+       wxPanel* _kdm_email_panel;
+       wxTextCtrl* _kdm_email;
+       wxCheckBox* _use_any_servers;
+       EditableList<std::string, ServerDialog>* _servers_list;
 };