/*
- Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
*/
/** @file src/config_dialog.h
- * @brief A dialogue to edit DCP-o-matic configuration.
+ * @brief A dialog to edit DCP-o-matic configuration.
*/
-#include <wx/wx.h>
-#include <wx/spinctrl.h>
-#include <wx/listctrl.h>
-#include <wx/filepicker.h>
-
-class DirPickerCtrl;
-
-class ServerDescription;
-
-/** @class ConfigDialog
- * @brief A dialogue to edit DCP-o-matic configuration.
- */
-class ConfigDialog : public wxDialog
-{
-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_directory_changed (wxCommandEvent &);
- void edit_default_dci_metadata_clicked (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 edit_server_clicked (wxCommandEvent &);
- void remove_server_clicked (wxCommandEvent &);
- void server_selection_changed (wxListEvent &);
-
- void add_server_to_control (ServerDescription *);
- void setup_language_sensitivity ();
-
- wxCheckBox* _set_language;
- wxChoice* _language;
- wxTextCtrl* _tms_ip;
- wxTextCtrl* _tms_path;
- wxTextCtrl* _tms_user;
- wxTextCtrl* _tms_password;
- wxSpinCtrl* _num_local_encoding_threads;
-#ifdef __WXMSW__
- DirPickerCtrl* _default_directory;
-#else
- wxDirPickerCtrl* _default_directory;
-#endif
- wxButton* _default_dci_metadata_button;
- wxChoice* _reference_scaler;
- wxStaticText* _reference_filters;
- wxButton* _reference_filters_button;
- wxListCtrl* _servers;
- wxButton* _add_server;
- wxButton* _edit_server;
- wxButton* _remove_server;
-};
+class wxPreferencesEditor;
+wxPreferencesEditor* create_config_dialog ();