summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_mouse.cc
diff options
context:
space:
mode:
authornick_m <mainsbridge@gmail.com>2015-01-15 01:39:00 +1100
committernick_m <mainsbridge@gmail.com>2015-01-15 01:39:00 +1100
commit18c502f646474b54f538fbc499a9c5d18f2a1b4e (patch)
tree0d07c2117bdea2d8e7cd8ec8df5e92bdefefe7dd /gtk2_ardour/editor_mouse.cc
parent44f2f53cdef43bc7ca3abe60bb138baa2565db0c (diff)
Reduce selection loss when changing mouse modes.
Never change selection when smart mode toggled.
Diffstat (limited to 'gtk2_ardour/editor_mouse.cc')
-rw-r--r--gtk2_ardour/editor_mouse.cc31
1 files changed, 30 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc
index b8da2ee80c..b5b77803be 100644
--- a/gtk2_ardour/editor_mouse.cc
+++ b/gtk2_ardour/editor_mouse.cc
@@ -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;