From 616c1aa0ce17f897d769ab029f91e9fd3986e655 Mon Sep 17 00:00:00 2001 From: André Nusser Date: Mon, 30 Nov 2015 16:49:09 +0100 Subject: Clean enter_internal and leave_internal in MidiRegionView. --- gtk2_ardour/midi_region_view.cc | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'gtk2_ardour/midi_region_view.cc') diff --git a/gtk2_ardour/midi_region_view.cc b/gtk2_ardour/midi_region_view.cc index 012f49aa36..22d1488367 100644 --- a/gtk2_ardour/midi_region_view.cc +++ b/gtk2_ardour/midi_region_view.cc @@ -433,14 +433,18 @@ MidiRegionView::mouse_mode_changed () // Adjust frame colour (become more transparent for internal tools) set_frame_color(); + // Only necessary for leave as a mouse_mode_change over a region + // automatically triggers an enter event. if (_entered) { - if (trackview.editor().internal_editing()) { - // Switched in to internal editing mode while entered - enter_internal(); - } else { + if (!trackview.editor().internal_editing()) { // Switched out of internal editing mode while entered leave_internal(); } + else if (trackview.editor().current_mouse_mode() == MouseContent) { + // hide cursor and ghost note after changing to internal edit mode + hide_verbose_cursor (); + remove_ghost_note (); + } } } @@ -451,10 +455,6 @@ MidiRegionView::enter_internal() // Show ghost note under pencil create_ghost_note(_last_event_x, _last_event_y); } - else { - remove_ghost_note (); - hide_verbose_cursor (); - } if (!_selection.empty()) { // Grab keyboard for moving selected notes with arrow keys @@ -476,6 +476,7 @@ MidiRegionView::leave_internal() { hide_verbose_cursor (); remove_ghost_note (); + _note_entered = false; if (_grabbed_keyboard) { Keyboard::magic_widget_drop_focus(); -- cgit v1.2.3