summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorAndré Nusser <andre.nusser@googlemail.com>2015-11-30 16:49:09 +0100
committerRobin Gareus <robin@gareus.org>2016-01-12 13:45:39 +0100
commit616c1aa0ce17f897d769ab029f91e9fd3986e655 (patch)
tree1ee27ee25f0576da7583c61bf1bba9bbb6c72cdf /gtk2_ardour
parent39bd216725668390534789a895cacf4ee070531f (diff)
Clean enter_internal and leave_internal in MidiRegionView.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/midi_region_view.cc17
1 files changed, 9 insertions, 8 deletions
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();