summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-01-01 13:24:23 +0100
committerRobin Gareus <robin@gareus.org>2016-01-01 13:28:47 +0100
commit38f199e35565e58d48f68eafa3e5873d9787c55c (patch)
tree80a959f3b6d6a4c1936514ec110dbcab39999297
parentca6ee56347ede03d87c1b3bdbdec52458fd25662 (diff)
Processors: separate drag-sources and drop-targets
-rw-r--r--gtk2_ardour/processor_box.cc22
1 files 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<Gtk::TargetEntry> drop_targets()
{
std::list<Gtk::TargetEntry> 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<Gtk::TargetEntry> drop_targets_noplugin()
+static std::list<Gtk::TargetEntry> drag_targets()
{
std::list<Gtk::TargetEntry> 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<Gtk::TargetEntry> drag_targets_noplugin()
+{
+ std::list<Gtk::TargetEntry> 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<Processor> 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());
}
}