diff options
author | nick_m <mainsbridge@gmail.com> | 2015-01-15 01:39:00 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2015-01-15 01:39:00 +1100 |
commit | 18c502f646474b54f538fbc499a9c5d18f2a1b4e (patch) | |
tree | 0d07c2117bdea2d8e7cd8ec8df5e92bdefefe7dd /gtk2_ardour/editor_mouse.cc | |
parent | 44f2f53cdef43bc7ca3abe60bb138baa2565db0c (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.cc | 31 |
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; |