vca: make Remove context menu option work

Also cancel spill view if relevant, during VCA Master Strip deletion
This commit is contained in:
Paul Davis 2016-05-18 22:02:14 -04:00
parent 69d2758e8c
commit 808346de0f
2 changed files with 17 additions and 1 deletions

View File

@ -168,6 +168,11 @@ VCAMasterStrip::VCAMasterStrip (Session* s, boost::shared_ptr<VCA> v)
VCAMasterStrip::~VCAMasterStrip ()
{
if ((_session && !_session->deletion_in_progress()) && Mixer_UI::instance()->showing_vca_slaves_for (_vca)) {
/* cancel spill for this VCA */
Mixer_UI::instance()->show_vca_slaves (boost::shared_ptr<VCA>());
}
delete delete_dialog;
delete context_menu;
@ -476,7 +481,7 @@ VCAMasterStrip::build_context_menu ()
context_menu = new Menu;
MenuList& items = context_menu->items();
items.push_back (MenuElem (_("Rename"), sigc::mem_fun (*this, &VCAMasterStrip::start_name_edit)));
items.push_back (MenuElem (_("Remove")));
items.push_back (MenuElem (_("Remove"), sigc::mem_fun (*this, &VCAMasterStrip::remove)));
}
void
@ -498,3 +503,13 @@ VCAMasterStrip::spill_change (boost::shared_ptr<VCA> vca)
vertical_button.set_active_state (Gtkmm2ext::ExplicitActive);
}
}
void
VCAMasterStrip::remove ()
{
if (!_session) {
return;
}
_session->vca_manager().remove_vca (_vca);
}

View File

@ -94,6 +94,7 @@ class VCAMasterStrip : public AxisView, public Gtk::EventBox
void build_context_menu ();
void hide_confirmation (int);
void self_delete ();
void remove ();
};