Show selected status visually for AutomationTimeAxisViews
authorCarl Hetherington <carl@carlh.net>
Mon, 9 Aug 2010 17:28:25 +0000 (17:28 +0000)
committerCarl Hetherington <carl@carlh.net>
Mon, 9 Aug 2010 17:28:25 +0000 (17:28 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@7575 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/editor_selection.cc

index 33685be2ff2cae571f949b871ea5b9dcd43ab9ce..f8555505b29ec31c4cefcca70e97e387bafe505d 100644 (file)
@@ -802,7 +802,7 @@ Editor::set_selected_regionview_from_map_event (GdkEventAny* /*ev*/, StreamView*
 void
 Editor::track_selection_changed ()
 {
-       switch (selection->tracks.size()){
+       switch (selection->tracks.size()) {
        case 0:
                break;
        default:
@@ -811,10 +811,11 @@ Editor::track_selection_changed ()
        }
 
        for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
-               if (find (selection->tracks.begin(), selection->tracks.end(), *i) != selection->tracks.end()) {
-                       (*i)->set_selected (true);
-               } else {
-                       (*i)->set_selected (false);
+               (*i)->set_selected (find (selection->tracks.begin(), selection->tracks.end(), *i) != selection->tracks.end());
+
+               TimeAxisView::Children c = (*i)->get_child_list ();
+               for (TimeAxisView::Children::iterator j = c.begin(); j != c.end(); ++j) {
+                       (*j)->set_selected (find (selection->tracks.begin(), selection->tracks.end(), j->get()) != selection->tracks.end());
                }
        }