summaryrefslogtreecommitdiff
path: root/src/wx/config_dialog.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-07-25 00:28:33 +0100
committerCarl Hetherington <cth@carlh.net>2012-07-25 00:28:33 +0100
commit26b9ae1e7700b545df4b5445a7efba412c2cbb68 (patch)
tree21eeea7a3fd357bb9f4d9d89722e84e5c4bfe579 /src/wx/config_dialog.h
parent8cb9f95ba7bc8a86236273535cd9000088a009ab (diff)
Just move gtk -> wx (part deux)
Diffstat (limited to 'src/wx/config_dialog.h')
-rw-r--r--src/wx/config_dialog.h113
1 files changed, 113 insertions, 0 deletions
diff --git a/src/wx/config_dialog.h b/src/wx/config_dialog.h
new file mode 100644
index 000000000..ec345750a
--- /dev/null
+++ b/src/wx/config_dialog.h
@@ -0,0 +1,113 @@
+/*
+ Copyright (C) 2012 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
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+/** @file src/config_dialog.h
+ * @brief A dialogue to edit DVD-o-matic configuration.
+ */
+
+#include <gtkmm.h>
+
+class Screen;
+class Server;
+
+/** @class ConfigDialog
+ * @brief A dialogue to edit DVD-o-matic configuration.
+ */
+class ConfigDialog : public Gtk::Dialog
+{
+public:
+ ConfigDialog ();
+
+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;
+};
+