summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/plugin_selector.cc8
-rw-r--r--gtk2_ardour/plugin_selector.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/gtk2_ardour/plugin_selector.cc b/gtk2_ardour/plugin_selector.cc
index fcf056307e..2a1ce85ee3 100644
--- a/gtk2_ardour/plugin_selector.cc
+++ b/gtk2_ardour/plugin_selector.cc
@@ -187,6 +187,7 @@ PluginSelector::PluginSelector (PluginManager& mgr)
btn_add->signal_clicked().connect(sigc::mem_fun(*this, &PluginSelector::btn_add_clicked));
btn_remove->signal_clicked().connect(sigc::mem_fun(*this, &PluginSelector::btn_remove_clicked));
added_list.get_selection()->signal_changed().connect (sigc::mem_fun(*this, &PluginSelector::added_list_selection_changed));
+ added_list.signal_button_press_event().connect_notify (mem_fun(*this, &PluginSelector::added_row_clicked));
refill ();
}
@@ -202,6 +203,13 @@ PluginSelector::row_activated(Gtk::TreeModel::Path, Gtk::TreeViewColumn*)
btn_add_clicked();
}
+void
+PluginSelector::added_row_clicked(GdkEventButton* event)
+{
+ if (event->type == GDK_2BUTTON_PRESS)
+ btn_remove_clicked();
+}
+
bool
PluginSelector::show_this_plugin (const PluginInfoPtr& info, const std::string& filterstr)
{
diff --git a/gtk2_ardour/plugin_selector.h b/gtk2_ardour/plugin_selector.h
index dacbcccd74..84c165138e 100644
--- a/gtk2_ardour/plugin_selector.h
+++ b/gtk2_ardour/plugin_selector.h
@@ -123,6 +123,7 @@ class PluginSelector : public ArdourDialog
void btn_remove_clicked();
void btn_update_clicked();
void added_list_selection_changed();
+ void added_row_clicked(GdkEventButton* event);
void display_selection_changed();
void btn_apply_clicked();
ARDOUR::PluginPtr load_plugin (ARDOUR::PluginInfoPtr);