Skip to content

Commit 26d925b

Browse files
committed
Some keyboard shortcuts doesn't work on macOS #663
1 parent da19b8b commit 26d925b

File tree

3 files changed

+34
-10
lines changed

3 files changed

+34
-10
lines changed

packages/home/tabs-store.tsx

+21-2
Original file line numberDiff line numberDiff line change
@@ -647,13 +647,32 @@ export class ProjectEditorTab implements IHomeTab {
647647
!(event.target instanceof HTMLInputElement) &&
648648
!(event.target instanceof HTMLTextAreaElement)
649649
) {
650-
if (event.ctrlKey) {
651-
if (event.key == "x") {
650+
if (
651+
(event.ctrlKey || event.metaKey) &&
652+
!event.shiftKey &&
653+
!event.altKey
654+
) {
655+
if (event.key == "z") {
656+
undo();
657+
} else if (event.key == "y") {
658+
redo();
659+
} else if (event.key == "x") {
652660
cut();
653661
} else if (event.key == "c") {
654662
copy();
655663
} else if (event.key == "v") {
656664
paste();
665+
} else if (event.key == "a") {
666+
selectAll();
667+
}
668+
} else if (
669+
!event.ctrlKey &&
670+
!event.metaKey &&
671+
!event.shiftKey &&
672+
!event.altKey
673+
) {
674+
if (event.key == "Backspace" || event.key == "Delete") {
675+
deleteSelection();
657676
}
658677
}
659678
}

packages/main/menu.ts

+8-8
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ function buildEditMenu(win: IWindow | undefined) {
471471
id: "undo",
472472
label: "Undo",
473473
accelerator: "CmdOrCtrl+Z",
474-
role: isMacOs() ? "undo" : undefined,
474+
role: "undo",
475475
click: function (item, focusedWindow) {
476476
if (focusedWindow) {
477477
const win = findWindowByBrowserWindow(focusedWindow);
@@ -488,7 +488,7 @@ function buildEditMenu(win: IWindow | undefined) {
488488
id: "redo",
489489
label: "Redo",
490490
accelerator: "CmdOrCtrl+Y",
491-
role: isMacOs() ? "redo" : undefined,
491+
role: "redo",
492492
click: function (item, focusedWindow) {
493493
if (focusedWindow) {
494494
const win = findWindowByBrowserWindow(focusedWindow);
@@ -507,7 +507,7 @@ function buildEditMenu(win: IWindow | undefined) {
507507
{
508508
label: "Cut",
509509
accelerator: "CmdOrCtrl+X",
510-
role: isMacOs() ? "cut" : undefined,
510+
role: "cut",
511511
click: function (item) {
512512
if (win) {
513513
win.browserWindow.webContents.send("cut");
@@ -517,7 +517,7 @@ function buildEditMenu(win: IWindow | undefined) {
517517
{
518518
label: "Copy",
519519
accelerator: "CmdOrCtrl+C",
520-
role: isMacOs() ? "copy" : undefined,
520+
role: "copy",
521521
click: function (item) {
522522
if (win) {
523523
win.browserWindow.webContents.send("copy");
@@ -527,7 +527,7 @@ function buildEditMenu(win: IWindow | undefined) {
527527
{
528528
label: "Paste",
529529
accelerator: "CmdOrCtrl+V",
530-
role: isMacOs() ? "paste" : undefined,
530+
role: "paste",
531531
click: function (item) {
532532
if (win) {
533533
win.browserWindow.webContents.send("paste");
@@ -537,7 +537,7 @@ function buildEditMenu(win: IWindow | undefined) {
537537
{
538538
label: "Delete",
539539
accelerator: "Delete",
540-
role: isMacOs() ? "delete" : undefined,
540+
role: "delete",
541541
click: function (item) {
542542
if (win) {
543543
win.browserWindow.webContents.send("delete");
@@ -549,8 +549,8 @@ function buildEditMenu(win: IWindow | undefined) {
549549
},
550550
{
551551
label: "Select All",
552-
accelerator: isMacOs() ? "CmdOrCtrl+A" : undefined,
553-
role: isMacOs() ? "selectAll" : undefined,
552+
accelerator: "CmdOrCtrl+A",
553+
role: "selectAll",
554554
click: function (item) {
555555
if (win) {
556556
win.browserWindow.webContents.send("select-all");

packages/project-editor/features/page/PagesNavigation.tsx

+5
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,11 @@ export const PageStructure = observer(
168168
deleteSelection() {
169169
this.treeAdapter!.deleteSelection();
170170
}
171+
selectAll() {
172+
this.treeAdapter!.selectItems(
173+
this.treeAdapter!.allRows.map(row => row.item)
174+
);
175+
}
171176
onFocus = () => {
172177
this.context.navigationStore.setSelectedPanel(this);
173178
};

0 commit comments

Comments
 (0)