mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 06:22:22 -04:00
add select all tool (#2981)
Co-authored-by: Damien Elmes <dae@users.noreply.github.com>
This commit is contained in:
parent
6aa51cc933
commit
ec3698502b
5 changed files with 32 additions and 2 deletions
|
@ -79,6 +79,7 @@ editing-image-occlusion-delete = Delete
|
||||||
editing-image-occlusion-duplicate = Duplicate
|
editing-image-occlusion-duplicate = Duplicate
|
||||||
editing-image-occlusion-group = Group Selection
|
editing-image-occlusion-group = Group Selection
|
||||||
editing-image-occlusion-ungroup = Ungroup Selection
|
editing-image-occlusion-ungroup = Ungroup Selection
|
||||||
|
editing-image-occlusion-select-all = Select All
|
||||||
editing-image-occlusion-alignment = Alignment
|
editing-image-occlusion-alignment = Alignment
|
||||||
editing-image-occlusion-align-left = Align Left
|
editing-image-occlusion-align-left = Align Left
|
||||||
editing-image-occlusion-align-h-center = Align Horizontal Centers
|
editing-image-occlusion-align-h-center = Align Horizontal Centers
|
||||||
|
|
|
@ -29,6 +29,7 @@ export { default as mdiMagnifyScan } from "@mdi/svg/svg/magnify-scan.svg";
|
||||||
export { default as mdiRectangleOutline } from "@mdi/svg/svg/rectangle-outline.svg";
|
export { default as mdiRectangleOutline } from "@mdi/svg/svg/rectangle-outline.svg";
|
||||||
export { default as mdiRedo } from "@mdi/svg/svg/redo.svg";
|
export { default as mdiRedo } from "@mdi/svg/svg/redo.svg";
|
||||||
export { default as mdiRefresh } from "@mdi/svg/svg/refresh.svg";
|
export { default as mdiRefresh } from "@mdi/svg/svg/refresh.svg";
|
||||||
|
export { default as mdiSelectAll } from "@mdi/svg/svg/select-all.svg";
|
||||||
export { default as mdiSquare } from "@mdi/svg/svg/square.svg";
|
export { default as mdiSquare } from "@mdi/svg/svg/square.svg";
|
||||||
export { default as mdiTextBox } from "@mdi/svg/svg/text-box.svg";
|
export { default as mdiTextBox } from "@mdi/svg/svg/text-box.svg";
|
||||||
export { default as mdiUndo } from "@mdi/svg/svg/undo.svg";
|
export { default as mdiUndo } from "@mdi/svg/svg/undo.svg";
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// Copyright: Ankitects Pty Ltd and contributors
|
// Copyright: Ankitects Pty Ltd and contributors
|
||||||
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||||
|
|
||||||
import type fabric from "fabric";
|
import { fabric } from "fabric";
|
||||||
import type { PanZoom } from "panzoom";
|
import type { PanZoom } from "panzoom";
|
||||||
import { get } from "svelte/store";
|
import { get } from "svelte/store";
|
||||||
|
|
||||||
|
@ -316,3 +316,12 @@ export const makeShapeRemainInCanvas = (canvas: fabric.Canvas) => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const selectAllShapes = (canvas: fabric.Canvas) => {
|
||||||
|
canvas.discardActiveObject();
|
||||||
|
const sel = new fabric.ActiveSelection(canvas.getObjects(), {
|
||||||
|
canvas: canvas,
|
||||||
|
});
|
||||||
|
canvas.setActiveObject(sel);
|
||||||
|
redraw(canvas);
|
||||||
|
};
|
||||||
|
|
|
@ -13,12 +13,22 @@ import {
|
||||||
mdiCopy,
|
mdiCopy,
|
||||||
mdiDeleteOutline,
|
mdiDeleteOutline,
|
||||||
mdiGroup,
|
mdiGroup,
|
||||||
|
mdiSelectAll,
|
||||||
mdiUngroup,
|
mdiUngroup,
|
||||||
mdiZoomIn,
|
mdiZoomIn,
|
||||||
mdiZoomOut,
|
mdiZoomOut,
|
||||||
mdiZoomReset,
|
mdiZoomReset,
|
||||||
} from "../icons";
|
} from "../icons";
|
||||||
import { deleteItem, duplicateItem, groupShapes, unGroupShapes, zoomIn, zoomOut, zoomReset } from "./lib";
|
import {
|
||||||
|
deleteItem,
|
||||||
|
duplicateItem,
|
||||||
|
groupShapes,
|
||||||
|
selectAllShapes,
|
||||||
|
unGroupShapes,
|
||||||
|
zoomIn,
|
||||||
|
zoomOut,
|
||||||
|
zoomReset,
|
||||||
|
} from "./lib";
|
||||||
import {
|
import {
|
||||||
alignBottomKeyCombination,
|
alignBottomKeyCombination,
|
||||||
alignHorizontalCenterKeyCombination,
|
alignHorizontalCenterKeyCombination,
|
||||||
|
@ -29,6 +39,7 @@ import {
|
||||||
deleteKeyCombination,
|
deleteKeyCombination,
|
||||||
duplicateKeyCombination,
|
duplicateKeyCombination,
|
||||||
groupKeyCombination,
|
groupKeyCombination,
|
||||||
|
selectAllKeyCombination,
|
||||||
ungroupKeyCombination,
|
ungroupKeyCombination,
|
||||||
zoomInKeyCombination,
|
zoomInKeyCombination,
|
||||||
zoomOutKeyCombination,
|
zoomOutKeyCombination,
|
||||||
|
@ -58,6 +69,13 @@ export const groupUngroupTools = [
|
||||||
tooltip: tr.editingImageOcclusionUngroup,
|
tooltip: tr.editingImageOcclusionUngroup,
|
||||||
shortcut: ungroupKeyCombination,
|
shortcut: ungroupKeyCombination,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "select-all",
|
||||||
|
icon: mdiSelectAll,
|
||||||
|
action: selectAllShapes,
|
||||||
|
tooltip: tr.editingImageOcclusionSelectAll,
|
||||||
|
shortcut: selectAllKeyCombination,
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export const deleteDuplicateTools = [
|
export const deleteDuplicateTools = [
|
||||||
|
|
|
@ -17,6 +17,7 @@ export const deleteKeyCombination = "Delete";
|
||||||
export const duplicateKeyCombination = "D";
|
export const duplicateKeyCombination = "D";
|
||||||
export const groupKeyCombination = "G";
|
export const groupKeyCombination = "G";
|
||||||
export const ungroupKeyCombination = "U";
|
export const ungroupKeyCombination = "U";
|
||||||
|
export const selectAllKeyCombination = "A";
|
||||||
export const alignLeftKeyCombination = "Shift+L";
|
export const alignLeftKeyCombination = "Shift+L";
|
||||||
export const alignHorizontalCenterKeyCombination = "Shift+H";
|
export const alignHorizontalCenterKeyCombination = "Shift+H";
|
||||||
export const alignRightKeyCombination = "Shift+R";
|
export const alignRightKeyCombination = "Shift+R";
|
||||||
|
|
Loading…
Reference in a new issue