summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-12-03 08:27:47 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-12-03 08:30:28 -0500
commitcd339a1033ab6dea42d915318d621b34fac32a68 (patch)
tree9773ad639babcacb7604ecc1ad583a7229ab141b /gtk2_ardour
parent43e5d639cc7e3f01fb3abd66abcd3d9eb7749213 (diff)
Revert "NO-OP: remove cruft"
This reverts commit 5facfc113de7da94a9cab2b6cb274155b5dcb39e.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/rc_option_editor.cc45
1 files changed, 45 insertions, 0 deletions
diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc
index 94dcde974b..2243b5af01 100644
--- a/gtk2_ardour/rc_option_editor.cc
+++ b/gtk2_ardour/rc_option_editor.cc
@@ -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];