diff options
author | Robin Gareus <robin@gareus.org> | 2015-12-23 18:23:11 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-12-24 01:45:16 +0100 |
commit | 646bcc68854b0c4bd0ccf5287136363a0f714130 (patch) | |
tree | dd274cd8d3b63d806abbc84e3bcd85348aa0eb15 /gtk2_ardour | |
parent | 80028d7c8277af8681f2505f3edef47a01baf728 (diff) |
allow dragging plugins directly from the manager
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/plugin_selector.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/plugin_selector.h | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gtk2_ardour/plugin_selector.cc b/gtk2_ardour/plugin_selector.cc index a38ad7d2e0..7d3594e4cd 100644 --- a/gtk2_ardour/plugin_selector.cc +++ b/gtk2_ardour/plugin_selector.cc @@ -105,6 +105,10 @@ PluginSelector::PluginSelector (PluginManager& mgr) plugin_display.set_headers_clickable (true); plugin_display.set_reorderable (false); plugin_display.set_rules_hint (true); + plugin_display.add_object_drag (plugin_columns.plugin.index(), "PluginInfoPtr"); + + // setting a sort-column prevents re-ordering via Drag/Drop + plugin_model->set_sort_column (plugin_columns.name.index(), Gtk::SORT_ASCENDING); CellRendererToggle* fav_cell = dynamic_cast<CellRendererToggle*>(plugin_display.get_column_cell_renderer (0)); fav_cell->property_activatable() = true; diff --git a/gtk2_ardour/plugin_selector.h b/gtk2_ardour/plugin_selector.h index cb90acc2d0..a377d5b49d 100644 --- a/gtk2_ardour/plugin_selector.h +++ b/gtk2_ardour/plugin_selector.h @@ -23,6 +23,7 @@ #include <gtkmm/dialog.h> #include <gtkmm/notebook.h> #include <gtkmm/treeview.h> +#include "gtkmm2ext/dndtreeview.h" #include <gtkmm2ext/selector.h> #include "ardour/plugin.h" @@ -99,7 +100,7 @@ class PluginSelector : public ArdourDialog }; PluginColumns plugin_columns; Glib::RefPtr<Gtk::ListStore> plugin_model; - Gtk::TreeView plugin_display; + Gtkmm2ext::DnDTreeView<ARDOUR::PluginInfoPtr> plugin_display; Gtk::Button* btn_add; Gtk::Button* btn_remove; |