using namespace Gtk;
using namespace ARDOUR;
+using namespace PBD;
-RouteGroupMenu::RouteGroupMenu (Session* s, RouteGroup::Property p)
+RouteGroupMenu::RouteGroupMenu (Session* s, PropertyList* plist)
: SessionHandlePtr (s)
- , _default_properties (p)
+ , _default_properties (plist)
, _inhibit_group_selected (false)
, _selected_route_group (0)
{
rebuild (0);
}
+RouteGroupMenu::~RouteGroupMenu()
+{
+ delete _default_properties;
+}
+
void
RouteGroupMenu::rebuild (RouteGroup* curr)
{
}
}
+/** Called when a group is selected from the menu.
+ * @param Group, or 0 for none.
+ */
void
RouteGroupMenu::set_group (RouteGroup* g)
{
return;
}
- RouteGroup* g = new RouteGroup (*_session, "", RouteGroup::Active, _default_properties);
+ RouteGroup* g = new RouteGroup (*_session, "");
+ g->apply_changes (*_default_properties);
- RouteGroupDialog d (g, Gtk::Stock::NEW);
- int const r = d.do_run ();
+ RouteGroupDialog d (g, true);
- if (r == Gtk::RESPONSE_OK) {
+ if (d.do_run ()) {
+ delete g;
+ } else {
_session->add_route_group (g);
set_group (g);
- } else {
- delete g;
}
}