Reduce selection loss when changing mouse modes.
authornick_m <mainsbridge@gmail.com>
Wed, 14 Jan 2015 14:39:00 +0000 (01:39 +1100)
committernick_m <mainsbridge@gmail.com>
Wed, 14 Jan 2015 14:39:00 +0000 (01:39 +1100)
Never change selection when smart mode toggled.

gtk2_ardour/editor_mouse.cc

index b8da2ee80c034b153e68b0df62f6782341b45c09..b5b77803be2aded5b15f932c3ca255f725964d86 100644 (file)
@@ -346,12 +346,41 @@ Editor::update_time_selection_display ()
                 would destroy the range selection rectangle, which we need to stick
                 around for AutomationRangeDrag. */
                selection->clear_regions ();
+               selection->clear_playlists ();
                break;
-       default:
+       case MouseContent:
                /* This handles internal edit.
                   Clear everything except points and notes. 
                */
                selection->clear_regions();
+               selection->clear_lines();
+               selection->clear_playlists ();
+
+               selection->clear_time ();
+               selection->clear_tracks ();
+               break;
+
+       case MouseTimeFX:
+               /* We probably want to keep region selection */
+               selection->clear_points ();
+               selection->clear_lines();
+               selection->clear_playlists ();
+
+               selection->clear_time ();
+               selection->clear_tracks ();
+               break;
+
+       case MouseAudition:
+               /*Don't lose lines or points if no action in this mode */
+               selection->clear_regions ();
+               selection->clear_playlists ();
+               selection->clear_time ();
+               selection->clear_tracks ();
+               break;
+
+       default:
+               /*Clear everything */
+               selection->clear_objects();
                selection->clear_time ();
                selection->clear_tracks ();
                break;