From 38f199e35565e58d48f68eafa3e5873d9787c55c Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 1 Jan 2016 13:24:23 +0100 Subject: [PATCH] Processors: separate drag-sources and drop-targets --- gtk2_ardour/processor_box.cc | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 181fc22a19..d1de736e57 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -1105,16 +1105,24 @@ ProcessorEntry::RoutingIcon::on_expose_event (GdkEventExpose* ev) static std::list drop_targets() { std::list tmp; - tmp.push_back (Gtk::TargetEntry ("processor")); - tmp.push_back (Gtk::TargetEntry ("PluginInfoPtr")); - tmp.push_back (Gtk::TargetEntry ("PluginPresetPtr")); + tmp.push_back (Gtk::TargetEntry ("processor")); // from processor-box to processor-box + tmp.push_back (Gtk::TargetEntry ("PluginInfoPtr")); // from plugin-manager + tmp.push_back (Gtk::TargetEntry ("PluginPresetPtr")); // from sidebar return tmp; } -static std::list drop_targets_noplugin() +static std::list drag_targets() { std::list tmp; - tmp.push_back (Gtk::TargetEntry ("processor")); + tmp.push_back (Gtk::TargetEntry ("PluginPresetPtr")); // to sidebar (optional preset) + tmp.push_back (Gtk::TargetEntry ("processor")); // to processor-box (copy) + return tmp; +} + +static std::list drag_targets_noplugin() +{ + std::list tmp; + tmp.push_back (Gtk::TargetEntry ("processor")); // to processor box (sends, faders re-order) return tmp; } @@ -2088,9 +2096,9 @@ ProcessorBox::add_processor_to_display (boost::weak_ptr p) #endif ) { - processor_display.add_child (e); + processor_display.add_child (e, drag_targets()); } else { - processor_display.add_child (e, drop_targets_noplugin()); + processor_display.add_child (e, drag_targets_noplugin()); } }