make track selection after set-range-selection-from-region-selection be sensible
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 24 Apr 2015 18:17:09 +0000 (14:17 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 24 Apr 2015 18:19:40 +0000 (14:19 -0400)
gtk2_ardour/editor_selection.cc

index 0ea6e6f9ca494527e24d923bd4f9c0d79068fdb3..0f39bbe8ae7dca14c7596e93fc7e162999c8c22e 100644 (file)
@@ -1545,11 +1545,21 @@ Editor::set_selection_from_region ()
        }
 
        selection->set (selection->regions.start(), selection->regions.end_frame());
+
+       /* find all the tracks that have selected regions */
+
+       set<TimeAxisView*> tracks;
+       
+       for (RegionSelection::const_iterator r = selection->regions.begin(); r != selection->regions.end(); ++r) {
+               tracks.insert (&(*r)->get_time_axis_view());
+       }
+
+       TrackViewList tvl;
+       tvl.insert (tvl.end(), tracks.begin(), tracks.end());
+
+       /* and select them */
        
-       //we must now select tracks, because otherwise set_selection_from_region would appear to do nothing
-       //perhaps too drastic; perhaps the user really only wants the region's track selected
-       //but I can't think of any use-case for that (why wouldn't you just select the region?)
-       select_all_tracks();    
+       selection->set (tvl);
        
        if (!Profile->get_sae()) {
                set_mouse_mode (Editing::MouseRange, false);