summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_mouse.cc
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2014-12-12 17:16:50 -0600
committerDavid Robillard <d@drobilla.net>2014-12-18 20:22:48 -0500
commit7ab8a11fb53782dfcf67b652dc65d8d177b0a1b6 (patch)
tree15975093e1a36db99e29ceca0f9f22fdd662cbb2 /gtk2_ardour/editor_mouse.cc
parentcebf191cba74dea1c6630aa487a2a434a85ceb40 (diff)
Enforce internal/external selection exclusivity.
Diffstat (limited to 'gtk2_ardour/editor_mouse.cc')
-rw-r--r--gtk2_ardour/editor_mouse.cc38
1 files changed, 31 insertions, 7 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc
index ab153b943b..99f0775106 100644
--- a/gtk2_ardour/editor_mouse.cc
+++ b/gtk2_ardour/editor_mouse.cc
@@ -329,13 +329,37 @@ Editor::internal_editing() const
void
Editor::update_time_selection_display ()
{
- switch (mouse_mode) {
- case MouseRange:
- selection->clear_objects ();
- break;
- default:
- selection->clear_time ();
- break;
+ if (smart_mode_action->get_active()) {
+ /* not sure what to do here */
+ if (mouse_mode == MouseObject) {
+ } else {
+ }
+ } else {
+ switch (mouse_mode) {
+ case MouseRange:
+ selection->clear_objects ();
+ selection->ClearMidiNoteSelection(); //signal
+ break;
+ case MouseObject:
+ selection->clear_objects ();
+ selection->clear_time ();
+ selection->clear_tracks ();
+ selection->ClearMidiNoteSelection(); //signal
+ break;
+ case MouseContent:
+ case MouseDraw:
+ //if we go into internal editing, clear everything in the outside world
+ selection->clear_objects ();
+ selection->clear_time ();
+ selection->clear_tracks ();
+ break;
+ default:
+ //clear everything
+ selection->clear_objects ();
+ selection->clear_time ();
+ selection->clear_tracks ();
+ break;
+ }
}
}