diff options
author | Robin Gareus <robin@gareus.org> | 2015-12-27 18:17:45 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-12-27 18:17:45 +0100 |
commit | 47922c5d19736c3d1fc8eeee7ca8a83561ac268b (patch) | |
tree | 6cdaa4fa5c1e1c36c7c5df110040c49eaf4cb02f | |
parent | 9b7352f35f1e8755415635f775ef32f07f85a1b4 (diff) |
add "remove from favorites" context menu
-rw-r--r-- | gtk2_ardour/mixer_ui.cc | 43 | ||||
-rw-r--r-- | gtk2_ardour/mixer_ui.h | 1 |
2 files changed, 33 insertions, 11 deletions
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 822363c1a8..7bbfb843c6 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -2343,18 +2343,19 @@ Mixer_UI::popup_note_context_menu (GdkEventButton *ev) if (_selection.routes.empty()) { items.push_back (MenuElem (_("No Track/Bus is selected."))); - m->popup (ev->button, ev->time); - return; - } + } else { - items.push_back (MenuElem (_("Add at the top"), - sigc::bind (sigc::mem_fun (*this, &Mixer_UI::add_selected_processor), AddTop))); - items.push_back (MenuElem (_("Add Pre-Fader"), - sigc::bind (sigc::mem_fun (*this, &Mixer_UI::add_selected_processor), AddPreFader))); - items.push_back (MenuElem (_("Add Post-Fader"), - sigc::bind (sigc::mem_fun (*this, &Mixer_UI::add_selected_processor), AddPostFader))); - items.push_back (MenuElem (_("Add at the end"), - sigc::bind (sigc::mem_fun (*this, &Mixer_UI::add_selected_processor), AddBottom))); + items.push_back (MenuElem (_("Add at the top"), + sigc::bind (sigc::mem_fun (*this, &Mixer_UI::add_selected_processor), AddTop))); + items.push_back (MenuElem (_("Add Pre-Fader"), + sigc::bind (sigc::mem_fun (*this, &Mixer_UI::add_selected_processor), AddPreFader))); + items.push_back (MenuElem (_("Add Post-Fader"), + sigc::bind (sigc::mem_fun (*this, &Mixer_UI::add_selected_processor), AddPostFader))); + items.push_back (MenuElem (_("Add at the end"), + sigc::bind (sigc::mem_fun (*this, &Mixer_UI::add_selected_processor), AddBottom))); + } + items.push_back (SeparatorElem()); + items.push_back (MenuElem (_("Remove from favorites"), sigc::mem_fun (*this, &Mixer_UI::remove_selected_from_favorites))); m->popup (ev->button, ev->time); } @@ -2383,6 +2384,26 @@ Mixer_UI::add_selected_processor (ProcessorPosition pos) } void +Mixer_UI::remove_selected_from_favorites () +{ + Glib::RefPtr<Gtk::TreeView::Selection> selection = favorite_plugins_display.get_selection(); + if (!selection) { + return; + } + Gtk::TreeModel::iterator iter = selection->get_selected(); + if (!iter) { + return; + } + ARDOUR::PluginPresetPtr ppp = (*iter)[favorite_plugins_columns.plugin]; + PluginManager::PluginStatusType status = PluginManager::Normal; + PluginManager& manager (PluginManager::instance()); + + manager.set_status (ppp->_pip->type, ppp->_pip->unique_id, status); + manager.save_statuses (); + sync_treeview_from_favorite_order (); +} + +void Mixer_UI::plugin_row_activated (const TreeModel::Path& path, TreeViewColumn* column) { TreeIter iter; diff --git a/gtk2_ardour/mixer_ui.h b/gtk2_ardour/mixer_ui.h index 5399307be6..492ecd3a14 100644 --- a/gtk2_ardour/mixer_ui.h +++ b/gtk2_ardour/mixer_ui.h @@ -211,6 +211,7 @@ class Mixer_UI : public Gtk::Window, public PBD::ScopedConnectionList, public AR void add_selected_processor (ProcessorPosition); void add_favorite_processor (ARDOUR::PluginPresetPtr, ProcessorPosition); + void remove_selected_from_favorites (); void initial_track_display (); void show_track_list_menu (); |