From 6e8a5fa13598bfb2b76a673b431b98fa94cbdebe Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 30 Aug 2010 18:08:41 +0000 Subject: more improvements for range drag/track selection logic etc. git-svn-id: svn://localhost/ardour2/branches/3.0@7714 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor_route_groups.cc | 22 ++++++++++++++++++++++ gtk2_ardour/editor_route_groups.h | 1 + 2 files changed, 23 insertions(+) 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); + } + +} + diff --git a/gtk2_ardour/editor_route_groups.h b/gtk2_ardour/editor_route_groups.h index 127eedd0e2..e5d583cfba 100644 --- a/gtk2_ardour/editor_route_groups.h +++ b/gtk2_ardour/editor_route_groups.h @@ -72,6 +72,7 @@ private: void remove_selected (); void run_new_group_dialog (); void all_group_toggled(); + void all_group_changed (const PBD::PropertyChange&); Glib::RefPtr _model; Glib::RefPtr _selection; -- cgit v1.2.3