Abort the drag when pressing ESC (resolves #73)
This commit is contained in:
+11
-1
@@ -119,6 +119,7 @@ function handleKeys(event, key, up) {
|
|||||||
if (lowercaseKey === "x") return onKeyX(up)
|
if (lowercaseKey === "x") return onKeyX(up)
|
||||||
if (lowercaseKey === "shift") return onKeyShift(up)
|
if (lowercaseKey === "shift") return onKeyShift(up)
|
||||||
if (lowercaseKey === "space") return onKeySpace(up);
|
if (lowercaseKey === "space") return onKeySpace(up);
|
||||||
|
if (lowercaseKey === "escape") return onKeyEscape(up);
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -160,13 +161,22 @@ function onKeySpace(up) {
|
|||||||
|
|
||||||
if (!up) {
|
if (!up) {
|
||||||
if (swapSpacebarRightClick)
|
if (swapSpacebarRightClick)
|
||||||
ruler.dragRulerDeleteWaypoint();
|
ruler.dragRulerAbortDrag();
|
||||||
else
|
else
|
||||||
startDragRuler.call(ruler.draggedEntity, options);
|
startDragRuler.call(ruler.draggedEntity, options);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onKeyEscape(up) {
|
||||||
|
const ruler = canvas.controls.ruler;
|
||||||
|
if (!ruler.draggedEntity)
|
||||||
|
return false;
|
||||||
|
if (!up)
|
||||||
|
ruler.dragRulerAbortDrag();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
function onEntityLeftDragStart(event) {
|
function onEntityLeftDragStart(event) {
|
||||||
const isToken = this instanceof Token;
|
const isToken = this instanceof Token;
|
||||||
const ruler = canvas.controls.ruler
|
const ruler = canvas.controls.ruler
|
||||||
|
|||||||
+5
-1
@@ -110,6 +110,11 @@ export class DragRulerRuler extends Ruler {
|
|||||||
game.user.broadcastActivity({ruler: this});
|
game.user.broadcastActivity({ruler: this});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
this.dragRulerAbortDrag(event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dragRulerAbortDrag(event={preventDefault: () => {return}}) {
|
||||||
const token = this.draggedEntity;
|
const token = this.draggedEntity;
|
||||||
this._endMeasurement();
|
this._endMeasurement();
|
||||||
|
|
||||||
@@ -121,7 +126,6 @@ export class DragRulerRuler extends Ruler {
|
|||||||
// Pass in a fake event that hopefully is enough to allow other modules to function
|
// Pass in a fake event that hopefully is enough to allow other modules to function
|
||||||
token._onDragLeftCancel(event);
|
token._onDragLeftCancel(event);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
async dragRulerRecalculate(tokenIds) {
|
async dragRulerRecalculate(tokenIds) {
|
||||||
if (this._state !== Ruler.STATES.MEASURING)
|
if (this._state !== Ruler.STATES.MEASURING)
|
||||||
|
|||||||
Reference in New Issue
Block a user