diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-01-30 22:53:22 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-01-30 22:53:22 +0000 |
commit | 7629120cda89dd4ec1b03ba4ddcc6f5dd1b0ca5a (patch) | |
tree | 8021cafa93fb6bec082a7362261f9040947f5329 /gtk2_ardour/editor_ops.cc | |
parent | 664cec21359ba055243c3feaf47c6eb16fccbb3b (diff) |
many changes, large and small, related to smart mode editing, range/region selection, and behaviour of playhead when always-play-range is enabled. could be buggy, but probably in subtle (or even very subtle) ways rather than obvious
git-svn-id: svn://localhost/ardour2/branches/3.0@11394 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r-- | gtk2_ardour/editor_ops.cc | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 1dd5256d2a..2109b54ad2 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -3594,8 +3594,7 @@ Editor::cut_copy (CutCopyOp op) /* we only want to cut regions if some are selected */ - switch (current_mouse_mode()) { - case MouseObject: + if (doing_object_stuff()) { rs = get_regions_from_selection (); if (!rs.empty() || !selection->points.empty()) { @@ -3617,15 +3616,15 @@ Editor::cut_copy (CutCopyOp op) } } commit_reversible_command (); - break; // terminate case statement here + goto out; } - if (!selection->time.empty()) { + if (!selection->time.empty() && (_join_object_range_state == JOIN_OBJECT_RANGE_NONE)) { /* don't cause suprises */ - break; + goto out; } - // fall thru if there was nothing selected + } - case MouseRange: + if (doing_range_stuff()) { if (selection->time.empty()) { framepos_t start, end; if (!get_edit_op_range (start, end)) { @@ -3641,14 +3640,10 @@ Editor::cut_copy (CutCopyOp op) if (op == Cut || op == Delete) { selection->clear_time (); } - - break; - - default: - break; } } + out: if (op == Delete || op == Cut || op == Clear) { _drags->abort (); } |