diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-08-30 18:08:41 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-08-30 18:08:41 +0000 |
commit | 6e8a5fa13598bfb2b76a673b431b98fa94cbdebe (patch) | |
tree | 9d3f901da2509f03458fdd4242eb0b36b1ec5b98 /gtk2_ardour/editor_route_groups.cc | |
parent | a8e86b8f09e603e7b6cb2eb73471b80b89781ef2 (diff) |
more improvements for range drag/track selection logic etc.
git-svn-id: svn://localhost/ardour2/branches/3.0@7714 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_route_groups.cc')
-rw-r--r-- | gtk2_ardour/editor_route_groups.cc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_route_groups.cc b/gtk2_ardour/editor_route_groups.cc index 31ab21c2bf..88c74182f8 100644 --- a/gtk2_ardour/editor_route_groups.cc +++ b/gtk2_ardour/editor_route_groups.cc @@ -487,10 +487,20 @@ EditorRouteGroups::set_session (Session* s) SessionHandlePtr::set_session (s); if (_session) { + + RouteGroup& arg (_session->all_route_group()); + + arg.PropertyChanged.connect (property_changed_connection, MISSING_INVALIDATOR, ui_bind (&EditorRouteGroups::all_group_changed, this, _1), gui_context()); + _session->route_group_added.connect (_session_connections, MISSING_INVALIDATOR, ui_bind (&EditorRouteGroups::add, this, _1), gui_context()); _session->route_group_removed.connect (_session_connections, MISSING_INVALIDATOR, boost::bind (&EditorRouteGroups::groups_changed, this), gui_context()); } + PBD::PropertyChange pc; + pc.add (Properties::select); + pc.add (Properties::active); + all_group_changed (pc); + groups_changed (); } @@ -510,3 +520,15 @@ EditorRouteGroups::all_group_toggled () } } +void +EditorRouteGroups::all_group_changed (const PropertyChange&) +{ + if (_session) { + RouteGroup& arg (_session->all_route_group()); + _all_group_active_button.set_active (arg.is_active() && arg.is_select()); + } else { + _all_group_active_button.set_active (false); + } + +} + |