fix(touch_bar): fix text editor commands

This commit is contained in:
Elian Doran 2025-03-08 22:18:03 +02:00
parent c2e4af1cfa
commit 0fe5f79f09
No known key found for this signature in database
2 changed files with 8 additions and 17 deletions

View File

@ -2,19 +2,8 @@ import utils from "../services/utils.js";
import Component from "../components/component.js";
import appContext from "../components/app_context.js";
import NoteContextAwareWidget from "./note_context_aware_widget.js";
import type FNote from "../entities/fnote.js";
import type { TouchBarButton, TouchBarGroup, TouchBarSegmentedControl, TouchBarSpacer } from "@electron/remote";
async function triggerTextEditorCommand(command: string, args?: object) {
const editor = await appContext.tabManager.getActiveContext().getTextEditor();
if (!editor) {
return;
}
// TODO: Fix type of editor.
(editor as any).execute(command, args);
}
export default class TouchBarWidget extends NoteContextAwareWidget {
nativeImage: typeof import("electron").nativeImage;

View File

@ -510,6 +510,8 @@ export default class EditableTextTypeWidget extends AbstractTextTypeWidget {
buildTouchBarCommand(data) {
const { TouchBar, buildIcon } = data;
const { TouchBarSegmentedControl, TouchBarGroup, TouchBarButton } = TouchBar;
const { editor } = this.watchdog;
return [
new TouchBarSegmentedControl({
segments: [
@ -520,13 +522,13 @@ export default class EditableTextTypeWidget extends AbstractTextTypeWidget {
change(selectedIndex, isSelected) {
switch (selectedIndex) {
case 0:
triggerTextEditorCommand("paragraph")
editor.execute("paragraph")
break;
case 1:
triggerTextEditorCommand("heading", { value: "heading2" });
editor.execute("heading", { value: "heading2" });
break;
case 2:
triggerTextEditorCommand("heading", { value: "heading3" });
editor.execute("heading", { value: "heading3" });
break;
}
},
@ -536,15 +538,15 @@ export default class EditableTextTypeWidget extends AbstractTextTypeWidget {
items: [
new TouchBarButton({
icon: buildIcon("NSTouchBarTextBoldTemplate"),
click: () => triggerTextEditorCommand("bold")
click: () => editor.execute("bold")
}),
new TouchBarButton({
icon: buildIcon("NSTouchBarTextItalicTemplate"),
click: () => triggerTextEditorCommand("italic")
click: () => editor.execute("italic")
}),
new TouchBarButton({
icon: buildIcon("NSTouchBarTextUnderlineTemplate"),
click: () => triggerTextEditorCommand("underline")
click: () => editor.execute("underline")
})
]
})