Merge master.
[dcpomatic.git] / src / wx / config_dialog.h
index ec345750ab0c4ffd537131c37a3bbdf74fa8521f..459d64dd701327c2e8bd07f6f5f9e027aae58ebd 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 <gtkmm.h>
+#include <wx/wx.h>
+#include <wx/spinctrl.h>
+#include <wx/listctrl.h>
+#include <wx/filepicker.h>
+#include "wx_util.h"
 
-class Screen;
-class Server;
+class DirPickerCtrl;
+class wxNotebook;
+
+class ServerDescription;
 
 /** @class ConfigDialog
- *  @brief A dialogue to edit DVD-o-matic configuration.
+ *  @brief A dialogue to edit DCP-o-matic configuration.
  */
-class ConfigDialog : public Gtk::Dialog
+class ConfigDialog : public wxDialog
 {
 public:
-       ConfigDialog ();
+       ConfigDialog (wxWindow *);
 
 private:
-       void on_response (int);
-
-       void tms_ip_changed ();
-       void tms_path_changed ();
-       void tms_user_changed ();
-       void tms_password_changed ();
-       void num_local_encoding_threads_changed ();
-       void colour_lut_changed ();
-       void j2k_bandwidth_changed ();
-       void add_server_clicked ();
-       void remove_server_clicked ();
-       void server_selection_changed ();
-       void add_screen_clicked ();
-       void remove_screen_clicked ();
-       void screen_selection_changed ();
-       void reference_scaler_changed ();
-       void edit_reference_filters_clicked ();
-       void reference_filters_changed (std::vector<Filter const *>);
-
-       void add_screen_to_store (boost::shared_ptr<Screen>);
-       void add_server_to_store (Server *);
-
-       struct ServersModelColumns : public Gtk::TreeModelColumnRecord
-       {
-               ServersModelColumns () {
-                       add (_host_name);
-                       add (_threads);
-               }
-
-               Gtk::TreeModelColumn<std::string> _host_name;
-               Gtk::TreeModelColumn<int> _threads;
-       };
-
-       struct ScreensModelColumns : public Gtk::TreeModelColumnRecord
-       {
-               ScreensModelColumns () {
-                       add (_name);
-                       add (_format_name);
-                       add (_format_nickname);
-                       add (_x);
-                       add (_y);
-                       add (_width);
-                       add (_height);
-               }
-
-               Gtk::TreeModelColumn<std::string> _name;
-               Gtk::TreeModelColumn<std::string> _format_name;
-               Gtk::TreeModelColumn<std::string> _format_nickname;
-               Gtk::TreeModelColumn<std::string> _x;
-               Gtk::TreeModelColumn<std::string> _y;
-               Gtk::TreeModelColumn<std::string> _width;
-               Gtk::TreeModelColumn<std::string> _height;
-       };
-
-       Gtk::Entry _tms_ip;
-       Gtk::Entry _tms_path;
-       Gtk::Entry _tms_user;
-       Gtk::Entry _tms_password;
-       Gtk::SpinButton _num_local_encoding_threads;
-       Gtk::ComboBoxText _colour_lut;
-       Gtk::SpinButton _j2k_bandwidth;
-       Gtk::ComboBoxText _reference_scaler;
-       Gtk::Label _reference_filters;
-       Gtk::Button _reference_filters_button;
-       ServersModelColumns _servers_columns;
-       Glib::RefPtr<Gtk::ListStore> _servers_store;
-       Gtk::TreeView _servers_view;
-       Gtk::Button _add_server;
-       Gtk::Button _remove_server;
-       ScreensModelColumns _screens_columns;
-       Glib::RefPtr<Gtk::TreeStore> _screens_store;
-       Gtk::TreeView _screens_view;
-       Gtk::Button _add_screen;
-       Gtk::Button _remove_screen;
+       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 add_server_to_control (ServerDescription *);
+       void setup_language_sensitivity ();
+
+       void make_misc_panel ();
+       void make_tms_panel ();
+       void make_metadata_panel ();
+       void make_servers_panel ();
+
+       wxNotebook* _notebook;
+       wxPanel* _misc_panel;
+       wxPanel* _tms_panel;
+       wxPanel* _servers_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;
+       wxSpinCtrl* _default_still_length;
+#ifdef DCPOMATIC_USE_OWN_DIR_PICKER
+       DirPickerCtrl* _default_directory;
+#else
+       wxDirPickerCtrl* _default_directory;
+#endif
+       wxButton* _default_dci_metadata_button;
+       wxListCtrl* _servers;
+       wxButton* _add_server;
+       wxButton* _edit_server;
+       wxButton* _remove_server;
+       wxTextCtrl* _issuer;
+       wxTextCtrl* _creator;
 };