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);