Allow to edit group from the RouteGroupMenu

This commit is contained in:
Robin Gareus 2021-09-28 07:11:37 +02:00
parent 0dcf7d54e5
commit ef30c3dc8d
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 12 additions and 0 deletions

View File

@ -84,6 +84,9 @@ RouteGroupMenu::build (WeakRouteList const & s)
MenuList& items = _menu->items ();
items.push_back (MenuElem (_("New Group..."), sigc::mem_fun (*this, &RouteGroupMenu::new_group)));
if (groups.size() == 1 && *groups.begin() != 0) {
items.push_back (MenuElem (_("Edit Group..."), sigc::bind (sigc::mem_fun (*this, &RouteGroupMenu::edit_group), *groups.begin ())));
}
items.push_back (SeparatorElem ());
RadioMenuItem::Group group;
@ -185,6 +188,14 @@ RouteGroupMenu::new_group_dialog_finished (int r, RouteGroupDialog* d)
delete_when_idle (d);
}
void
RouteGroupMenu::edit_group (ARDOUR::RouteGroup* g)
{
RouteGroupDialog* d = new RouteGroupDialog (g, false);
d->signal_response().connect (sigc::hide (sigc::bind (sigc::ptr_fun (&delete_when_idle<RouteGroupDialog>), d)));
d->present ();
}
Gtk::Menu *
RouteGroupMenu::menu ()
{

View File

@ -38,6 +38,7 @@ public:
private:
void add_item (ARDOUR::RouteGroup *, std::set<ARDOUR::RouteGroup*> const &, Gtk::RadioMenuItem::Group*);
void new_group ();
void edit_group (ARDOUR::RouteGroup *);
void set_group (Gtk::RadioMenuItem*, ARDOUR::RouteGroup *);
void new_group_dialog_finished (int, RouteGroupDialog*);