summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_route_groups.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-08-30 18:08:41 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-08-30 18:08:41 +0000
commit6e8a5fa13598bfb2b76a673b431b98fa94cbdebe (patch)
tree9d3f901da2509f03458fdd4242eb0b36b1ec5b98 /gtk2_ardour/editor_route_groups.cc
parenta8e86b8f09e603e7b6cb2eb73471b80b89781ef2 (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.cc22
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);
+ }
+
+}
+