vtl: rc config dialog for simple/advanced config
authorRobin Gareus <robin@gareus.org>
Thu, 28 Mar 2013 12:20:47 +0000 (13:20 +0100)
committerRobin Gareus <robin@gareus.org>
Thu, 28 Mar 2013 12:42:45 +0000 (13:42 +0100)
gtk2_ardour/rc_option_editor.cc

index d58ad2994c1c05504bc4306a5f5600a440c40e80..4a115b0f31363e8281a9f59f299b431150b46d1f 100644 (file)
@@ -818,35 +818,43 @@ public:
                , _show_xjadeo_setup_button (_("Show Video Monitor Option Dialog"))
                , _show_video_export_info_button (_("Show Video Export Info before export"))
                , _show_video_server_dialog_button (_("Show Video Server Startup Dialog"))
+               , _video_advanced_setup_button (_("Advanced Setup (remote video server)"))
        {
-               Table* t = manage (new Table (2, 6));
+               Table* t = manage (new Table (2, 7));
                t->set_spacings (4);
 
+               t->attach (_video_advanced_setup_button, 0, 2, 0, 1);
+               _video_advanced_setup_button.signal_toggled().connect (sigc::mem_fun (*this, &VideoTimelineOptions::video_advanced_setup_toggled));
+               Gtkmm2ext::UI::instance()->set_tip (_video_advanced_setup_button,
+                                           _("<b>When enabled</b> you can speficify a custom video-server URL and docroot. - Do not enable this option unless you know what you are doing."));
+
                Label* l = manage (new Label (_("Video Server URL:")));
                l->set_alignment (0, 0.5);
-               t->attach (*l, 0, 1, 0, 1, FILL);
-               t->attach (_video_server_url_entry, 1, 2, 0, 1, FILL);
+               t->attach (*l, 0, 1, 1, 2, FILL);
+               t->attach (_video_server_url_entry, 1, 2, 1, 2, FILL);
                Gtkmm2ext::UI::instance()->set_tip (_video_server_url_entry,
                                            _("Base URL of the video-server including http prefix. This is usually 'http://hostname.example.org:1554/' and defaults to 'http://localhost:1554/' when the video-server is runing locally"));
 
-               l = manage (new Label (_("Video Server Docroot:")));
+               l = manage (new Label (_("Video Folder:")));
                l->set_alignment (0, 0.5);
-               t->attach (*l, 0, 1, 1, 2, FILL);
-               t->attach (_video_server_docroot_entry, 1, 2, 1, 2);
+               t->attach (*l, 0, 1, 2, 3, FILL);
+               t->attach (_video_server_docroot_entry, 1, 2, 2, 3);
                Gtkmm2ext::UI::instance()->set_tip (_video_server_docroot_entry,
-                                           _("Local path to the video-server docroot. If the server runs remotely, it should point to a network mounted folder of the server's docroot or be left empty if it is unvailable. It is used for the local video-monitor and file-browsing when opening/adding a video file."));
+                                           _("Local path to the video-server document-root. Only files below this directory will be accessible by the video-server. If the server run on a remote host, it should point to a network mounted folder of the server's docroot or be left empty if it is unvailable. It is used for the local video-monitor and file-browsing when opening/adding a video file."));
 
-               t->attach (_show_xjadeo_setup_button, 0, 2, 3, 4);
+               /* small vspace  y=3..4 */
+
+               t->attach (_show_xjadeo_setup_button, 0, 2, 4, 5);
                _show_xjadeo_setup_button.signal_toggled().connect (sigc::mem_fun (*this, &VideoTimelineOptions::show_xjadeo_setup_toggled));
                Gtkmm2ext::UI::instance()->set_tip (_show_xjadeo_setup_button,
                                            _("<b>When enabled</b> an option dialog is presented before opening the video monitor"));
 
-               t->attach (_show_video_export_info_button, 0, 2, 4, 5);
+               t->attach (_show_video_export_info_button, 0, 2, 5, 6);
                _show_video_export_info_button.signal_toggled().connect (sigc::mem_fun (*this, &VideoTimelineOptions::show_video_export_info_toggled));
                Gtkmm2ext::UI::instance()->set_tip (_show_video_export_info_button,
                                            _("<b>When enabled</b> an information window with details is displayed before the video-export dialog."));
 
-               t->attach (_show_video_server_dialog_button, 0, 2, 5, 6);
+               t->attach (_show_video_server_dialog_button, 0, 2, 6, 7);
                _show_video_server_dialog_button.signal_toggled().connect (sigc::mem_fun (*this, &VideoTimelineOptions::show_video_server_dialog_toggled));
                Gtkmm2ext::UI::instance()->set_tip (_show_video_server_dialog_button,
                                            _("<b>When enabled</b> the video server is never launched automatically without confirmation"));
@@ -887,6 +895,12 @@ public:
                _rc_config->set_show_video_server_dialog (x);
        }
 
+       void video_advanced_setup_toggled ()
+       {
+               bool const x = _video_advanced_setup_button.get_active ();
+               _rc_config->set_video_advanced_setup(x);
+       }
+
        void parameter_changed (string const & p)
        {
                if (p == "video-server-url") {
@@ -899,6 +913,14 @@ public:
                } else if (p == "show-video-export-info") {
                        bool const x = _rc_config->get_show_video_export_info();
                        _show_video_export_info_button.set_active (x);
+               } else if (p == "show-video-server-dialog") {
+                       bool const x = _rc_config->get_show_video_server_dialog();
+                       _show_video_server_dialog_button.set_active (x);
+               } else if (p == "video-advanced-setup") {
+                       bool const x = _rc_config->get_video_advanced_setup();
+                       _video_advanced_setup_button.set_active(x);
+                       _video_server_docroot_entry.set_sensitive(x);
+                       _video_server_url_entry.set_sensitive(x);
                }
        }
 
@@ -908,7 +930,8 @@ public:
                parameter_changed ("video-server-docroot");
                parameter_changed ("video-monitor-setup-dialog");
                parameter_changed ("show-video-export-info");
-               parameter_changed ("how-video-server-dialog");
+               parameter_changed ("show-video-server-dialog");
+               parameter_changed ("video-advanced-setup");
        }
 
 private:
@@ -918,6 +941,7 @@ private:
        CheckButton _show_xjadeo_setup_button;
        CheckButton _show_video_export_info_button;
        CheckButton _show_video_server_dialog_button;
+       CheckButton _video_advanced_setup_button;
 };
 #endif