when leaving internal edit mode, if the current mode is range ("draw") and it wasn't before we entered internal edit mode, flip back to whatever it was before we entered
git-svn-id: svn://localhost/ardour2/branches/3.0@9102 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
92578ddef5
commit
b88c773894
@ -647,6 +647,7 @@ Editor::Editor ()
|
||||
_snap_mode = SnapOff;
|
||||
set_snap_mode (_snap_mode);
|
||||
set_mouse_mode (MouseObject, true);
|
||||
pre_internal_mouse_mode = MouseObject;
|
||||
set_edit_point_preference (EditAtMouse, true);
|
||||
|
||||
_playlist_selector = new PlaylistSelector();
|
||||
|
@ -498,6 +498,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
|
||||
void post_zoom ();
|
||||
|
||||
Editing::MouseMode mouse_mode;
|
||||
Editing::MouseMode pre_internal_mouse_mode;
|
||||
bool _internal_editing;
|
||||
Editing::MouseMode effective_mouse_mode () const;
|
||||
|
||||
|
@ -2657,6 +2657,8 @@ Editor::set_internal_edit (bool yn)
|
||||
ARDOUR_UI::instance()->set_tip (mouse_select_button, _("Draw/Edit MIDI Notes"));
|
||||
mouse_mode_toggled (mouse_mode);
|
||||
|
||||
pre_internal_mouse_mode = mouse_mode;
|
||||
|
||||
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
|
||||
(*i)->enter_internal_edit_mode ();
|
||||
}
|
||||
@ -2671,6 +2673,11 @@ Editor::set_internal_edit (bool yn)
|
||||
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
|
||||
(*i)->leave_internal_edit_mode ();
|
||||
}
|
||||
|
||||
if (mouse_mode == MouseRange && pre_internal_mouse_mode != MouseRange) {
|
||||
/* we were drawing .. flip back to something sensible */
|
||||
set_mouse_mode (pre_internal_mouse_mode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user