diff options
author | Robert Jonsson <spamatica@gmail.com> | 2011-06-04 20:17:27 +0000 |
---|---|---|
committer | Robert Jonsson <spamatica@gmail.com> | 2011-06-04 20:17:27 +0000 |
commit | e33204ce476daafda6dbfda8c9db2d8dce898ef3 (patch) | |
tree | 3712b99177592e1c2ab06f24457b4f30a6a20d62 | |
parent | 11a5e9eacf5b967beb11ec71681188e9a520592b (diff) |
fixed regression with copying items on canvas with mouse
-rw-r--r-- | muse2/ChangeLog | 4 | ||||
-rw-r--r-- | muse2/muse/widgets/canvas.cpp | 31 |
2 files changed, 19 insertions, 16 deletions
diff --git a/muse2/ChangeLog b/muse2/ChangeLog index 98c03156..f7b15ef7 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,3 +1,7 @@ +04.06.2011: + - fixed regression with switching ctrl/shift when manipulating + items in canvas. drag+shift limits movement, drag+ctrl copies (rj) + 02.06.2011: - the score editor now allows batch-movements, that is, you can transpose or move the whole selection and not diff --git a/muse2/muse/widgets/canvas.cpp b/muse2/muse/widgets/canvas.cpp index 18de985b..eb89af1e 100644 --- a/muse2/muse/widgets/canvas.cpp +++ b/muse2/muse/widgets/canvas.cpp @@ -504,19 +504,19 @@ void Canvas::viewMousePressEvent(QMouseEvent* event) // like moving or drawing lasso is performed. ///if (event->stateAfter() & Qt::RightButton) { if (event->buttons() & Qt::RightButton & ~(event->button())) { - //printf("viewMousePressEvent special buttons:%x mods:%x button:%x\n", (int)event->buttons(), (int)keyState, event->button()); - switch (drag) { - case DRAG_LASSO: - drag = DRAG_OFF; - redraw(); - return; - case DRAG_MOVE: - drag = DRAG_OFF; - endMoveItems (start, MOVE_MOVE, 0); - return; - default: - break; - } + //printf("viewMousePressEvent special buttons:%x mods:%x button:%x\n", (int)event->buttons(), (int)keyState, event->button()); + switch (drag) { + case DRAG_LASSO: + drag = DRAG_OFF; + redraw(); + return; + case DRAG_MOVE: + drag = DRAG_OFF; + endMoveItems (start, MOVE_MOVE, 0); + return; + default: + break; + } } // ignore event if (another) button is already active: @@ -622,13 +622,12 @@ void Canvas::viewMousePressEvent(QMouseEvent* event) // Changed by T356. Alt is default reserved for moving the whole window in KDE. Changed to Shift-Alt. // Hmm, nope, shift-alt is also reserved sometimes. Must find a way to bypass, // why make user turn off setting? Left alone for now... - if (ctrl && !shift) + if (ctrl) drag = DRAG_COPY_START; else if (alt) { drag = DRAG_CLONE_START; } else if (shift) { //Select all on the same pitch (e.g. same y-value) - if (!ctrl) deselectAll(); for (iCItem i = items.begin(); i != items.end(); ++i) { if (i->second->y() == curItem->y() ) @@ -987,7 +986,7 @@ void Canvas::viewMouseMoveEvent(QMouseEvent* event) case DRAG_CLONE_START: if (!moving) break; - if (keyState & Qt::ControlModifier) { + if (keyState & Qt::ShiftModifier) { if (ax > ay) { if (drag == DRAG_MOVE_START) drag = DRAGX_MOVE; |