* @brief A dialogue to edit DVD-o-matic configuration.
*/
-#include <gtkmm.h>
+#include <wx/wx.h>
+#include <wx/spinctrl.h>
+#include <wx/listctrl.h>
+#include <wx/filepicker.h>
-class Screen;
-class Server;
+class DirPickerCtrl;
+
+class ServerDescription;
/** @class ConfigDialog
* @brief A dialogue to edit DVD-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 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 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_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 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 *);
+
+ 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
+ wxComboBox* _colour_lut;
+ wxSpinCtrl* _j2k_bandwidth;
+ wxComboBox* _reference_scaler;
+ wxStaticText* _reference_filters;
+ wxButton* _reference_filters_button;
+ wxListCtrl* _servers;
+ wxButton* _add_server;
+ wxButton* _edit_server;
+ wxButton* _remove_server;
};