diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-02-13 14:34:21 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-02-13 14:34:21 +0000 |
commit | 671ec99bac183b84f43dc4c2114b9b93fca3aee0 (patch) | |
tree | 809edcb592aaa1a5633863fae5e0f6d96ba93eb3 /gtk2_ardour/editor_mouse.cc | |
parent | 8ef8bfc64ffba6d87cdb8ffcd6ecd535e2391641 (diff) |
(1) remove magic number voodoo when saving zoom focus/snap settings to instant.xml etc. (this has a minor breaking-behaviour for existing sessions etc (2) keep track of grid type/settings in and out of note edit mode and switch back and forth, thus allowing independent grids while working at the note or region level
git-svn-id: svn://localhost/ardour2/branches/3.0@11486 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_mouse.cc')
-rw-r--r-- | gtk2_ardour/editor_mouse.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc index 16f87d920d..a3a563340f 100644 --- a/gtk2_ardour/editor_mouse.cc +++ b/gtk2_ardour/editor_mouse.cc @@ -2705,16 +2705,29 @@ Editor::escape () void Editor::set_internal_edit (bool yn) { + if (_internal_editing == yn) { + return; + } + _internal_editing = yn; if (yn) { pre_internal_mouse_mode = mouse_mode; + pre_internal_snap_type = _snap_type; + pre_internal_snap_mode = _snap_mode; for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) { (*i)->enter_internal_edit_mode (); } + set_snap_to (internal_snap_type); + set_snap_mode (internal_snap_mode); + } else { + + internal_snap_mode = _snap_mode; + internal_snap_type = _snap_type; + for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) { (*i)->leave_internal_edit_mode (); } @@ -2723,6 +2736,9 @@ Editor::set_internal_edit (bool yn) /* we were drawing .. flip back to something sensible */ set_mouse_mode (pre_internal_mouse_mode); } + + set_snap_to (pre_internal_snap_type); + set_snap_mode (pre_internal_snap_mode); } set_canvas_cursor (); |