Revert "NO-OP: remove cruft"
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 3 Dec 2015 13:27:47 +0000 (08:27 -0500)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 3 Dec 2015 13:30:28 +0000 (08:30 -0500)
This reverts commit 5facfc113de7da94a9cab2b6cb274155b5dcb39e.

gtk2_ardour/rc_option_editor.cc

index 94dcde974bdf8b4c466a03bd624c3d0c1a312987..2243b5af01e42c828e2ecd3c5a8e0c10208c69f2 100644 (file)
@@ -1311,6 +1311,7 @@ public:
 
                _store->signal_row_changed().connect (sigc::mem_fun (*this, &ControlSurfacesOptions::view_changed));
                _view.signal_button_release_event().connect_notify (sigc::mem_fun(*this, &ControlSurfacesOptions::edit_clicked));
+               _view.get_selection()->signal_changed().connect (sigc::mem_fun (*this, &ControlSurfacesOptions::selection_changed));
        }
 
        void parameter_changed (std::string const &)
@@ -1354,6 +1355,10 @@ private:
                }
        }
 
+       void selection_changed ()
+       {
+       }
+
        void view_changed (TreeModel::Path const &, TreeModel::iterator const & i)
        {
                TreeModel::Row r = *i;
@@ -1367,6 +1372,46 @@ private:
                        return;
                }
 
+#if 0
+               /* XXX when we move to putting all editors into a notebook,
+                  this test will have to be more subtle.
+               */
+               bool const was_editing = (cpi && cpi->protocol && (cpi->protocol->get_gui() != 0));
+               bool const is_editing = r[_model.edit];
+
+               if (was_editing != is_editing) {
+                       if (!was_editing) {
+                               if (!r[_model.enabled]) {
+                                       return;
+                               }
+                               cpi = r[_model.protocol_info];
+                               if (!cpi || !cpi->protocol || !cpi->protocol->has_editor ()) {
+                                       return;
+                               }
+                               Box* box = (Box*) cpi->protocol->get_gui ();
+                               if (!box) {
+                                       return;
+                               }
+                               if (box->get_parent()) {
+                                       static_cast<ArdourWindow*>(box->get_parent())->present();
+                                       return;
+                               }
+                               WindowTitle title (Glib::get_application_name());
+                               title += r[_model.name];
+                               title += _("Configuration");
+                               /* once created, the window is managed by the surface itself (as ->get_parent())
+                                * Surface's tear_down_gui() is called on session close, when de-activating
+                                * or re-initializing a surface.
+                                * tear_down_gui() hides an deletes the Window if it exists.
+                                */
+                               ArdourWindow* win = new ArdourWindow (_parent, title.get_string());
+                               win->add (*box);
+                               box->show ();
+                               win->present ();
+                       } else {
+                       }
+               }
+#endif
                bool const was_enabled = (cpi->protocol != 0);
                bool const is_enabled = r[_model.enabled];