Merge master.
[dcpomatic.git] / src / wx / config_dialog.h
index 000cf7d6906130cc922914d8187a13471660608e..8a17de58db9b460abf130692bf1a7a9fa7a656b4 100644 (file)
 */
 
 /** @file src/config_dialog.h
- *  @brief A dialogue to edit DVD-o-matic configuration.
+ *  @brief A dialogue to edit DCP-o-matic configuration.
  */
 
 #include <wx/wx.h>
 #include <wx/spinctrl.h>
 #include <wx/listctrl.h>
+#include <wx/filepicker.h>
+#include "wx_util.h"
+#include "editable_list.h"
 
-class Screen;
-class Server;
+class DirPickerCtrl;
+class wxNotebook;
+class PresetColourConversion;
+class PresetColourConversionDialog;
+class ServerDialog;
 
 /** @class ConfigDialog
- *  @brief A dialogue to edit DVD-o-matic configuration.
+ *  @brief A dialogue to edit DCP-o-matic configuration.
  */
 class ConfigDialog : public wxDialog
 {
@@ -37,34 +43,78 @@ public:
        ConfigDialog (wxWindow *);
 
 private:
-       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 colour_lut_changed (wxCommandEvent &);
-       void j2k_bandwidth_changed (wxCommandEvent &);
-       void reference_scaler_changed (wxCommandEvent &);
-       void edit_reference_filters_clicked (wxCommandEvent &);
-       void reference_filters_changed (std::vector<Filter const *>);
-       void add_server_clicked (wxCommandEvent &);
-       void remove_server_clicked (wxCommandEvent &);
-       void server_selection_changed (wxListEvent &);
+       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 (Server *);
-       
+       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_colour_conversions_panel ();
+       void make_kdm_email_panel ();
+
+       void check_for_updates_changed ();
+       void check_for_test_updates_changed ();
+
+       wxNotebook* _notebook;
+       wxPanel* _misc_panel;
+       wxPanel* _defaults_panel;
+       wxPanel* _servers_panel;
+       wxPanel* _tms_panel;
+       EditableList<PresetColourConversion, PresetColourConversionDialog>* _colour_conversions_panel;
+       wxPanel* _metadata_panel;
+       wxCheckBox* _set_language;
+       wxChoice* _language;
+       wxChoice* _default_container;
+       wxChoice* _default_dcp_content_type;
        wxTextCtrl* _tms_ip;
        wxTextCtrl* _tms_path;
        wxTextCtrl* _tms_user;
        wxTextCtrl* _tms_password;
        wxSpinCtrl* _num_local_encoding_threads;
-       wxComboBox* _colour_lut;
-       wxSpinCtrl* _j2k_bandwidth;
-       wxComboBox* _reference_scaler;
-       wxStaticText* _reference_filters;
-       wxButton* _reference_filters_button;
-       wxListCtrl* _servers;
-       wxButton* _add_server;
-       wxButton* _remove_server;
+       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;
+#else
+       wxDirPickerCtrl* _default_directory;
+#endif
+       wxButton* _default_dci_metadata_button;
+       wxTextCtrl* _issuer;
+       wxTextCtrl* _creator;
+       wxSpinCtrl* _default_j2k_bandwidth;
+       wxSpinCtrl* _default_audio_delay;
+       wxPanel* _kdm_email_panel;
+       wxTextCtrl* _kdm_email;
+       wxCheckBox* _use_any_servers;
+       wxCheckBox* _check_for_updates;
+       wxCheckBox* _check_for_test_updates;
+       EditableList<std::string, ServerDialog>* _servers_list;
 };