Fixed issue 146: Rotating via mouse should only be undoable as one action

git-svn-id: http://svg-edit.googlecode.com/svn/trunk@519 eee81c28-f429-11dd-99c0-75d572ba1ddd
master
Alexis Deveria 2009-09-01 15:26:26 +00:00
parent 781cde5190
commit ee2e362b1a
1 changed files with 5 additions and 2 deletions

View File

@ -1406,6 +1406,7 @@ function SvgCanvas(c)
break; break;
case "rotate": case "rotate":
started = true; started = true;
canvas.setRotationAngle(canvas.getRotationAngle());
break; break;
default: default:
console.log("Unknown mode in mousedown: " + current_mode); console.log("Unknown mode in mousedown: " + current_mode);
@ -1714,6 +1715,7 @@ function SvgCanvas(c)
} }
break; break;
case "rotate": case "rotate":
canvas.dragging = true;
var box = canvas.getBBox(selected),cx = box.x + box.width/2, cy = box.y + box.height/2; var box = canvas.getBBox(selected),cx = box.x + box.width/2, cy = box.y + box.height/2;
var angle = parseInt(((Math.atan2(cy-y,cx-x) * (180/Math.PI))-90) % 360); var angle = parseInt(((Math.atan2(cy-y,cx-x) * (180/Math.PI))-90) % 360);
canvas.setRotationAngle(angle<-180?(360+angle):angle); canvas.setRotationAngle(angle<-180?(360+angle):angle);
@ -1806,6 +1808,7 @@ function SvgCanvas(c)
started = false; started = false;
var element = svgdoc.getElementById(getId()); var element = svgdoc.getElementById(getId());
var keep = false; var keep = false;
canvas.dragging = false;
switch (current_mode) switch (current_mode)
{ {
// intentionally fall-through to select here // intentionally fall-through to select here
@ -2717,13 +2720,13 @@ function SvgCanvas(c)
changes['transform'] = rotate; changes['transform'] = rotate;
} }
} }
batchCmd.addSubCommand(new ChangeElementCommand(elem, changes, attr)); batchCmd.addSubCommand(new ChangeElementCommand(elem, changes, attr));
} }
} }
svgroot.unsuspendRedraw(handle); svgroot.unsuspendRedraw(handle);
if (!batchCmd.isEmpty()) { if (!batchCmd.isEmpty()) {
addCommandToHistory(batchCmd); if(!canvas.dragging) addCommandToHistory(batchCmd);
call("changed", elems); call("changed", elems);
} }
}; };