diff --git a/app/src/boot/globalEvent/command/panel.ts b/app/src/boot/globalEvent/command/panel.ts
index eb22a8861..0ffef3b53 100644
--- a/app/src/boot/globalEvent/command/panel.ts
+++ b/app/src/boot/globalEvent/command/panel.ts
@@ -69,6 +69,14 @@ export const commandPanel = (app: App) => {
html += `
${window.siyuan.languages[key]}
${updateHotkeyTip(window.siyuan.config.keymap.general[key].custom)}
+`;
+ }
+ });
+ Object.keys(window.siyuan.config.keymap.editor.general).forEach((key) => {
+ if (["switchReadonly", "switchAdjust"].includes(key)) {
+ html += `
+ ${window.siyuan.languages[key]}
+ ${updateHotkeyTip(window.siyuan.config.keymap.editor.general[key].custom)}
`;
}
});
diff --git a/app/src/boot/globalEvent/command/protyle.ts b/app/src/boot/globalEvent/command/protyle.ts
index 919e400fd..08f1adc2b 100644
--- a/app/src/boot/globalEvent/command/protyle.ts
+++ b/app/src/boot/globalEvent/command/protyle.ts
@@ -5,12 +5,33 @@ import {enterBack, zoomOut} from "../../../menus/protyle";
import {openFileById} from "../../../editor/util";
/// #endif
import {checkFold} from "../../../util/noRelyPCFunction";
+import {updateReadonly} from "../../../protyle/breadcrumb/action";
+import {Constants} from "../../../constants";
+import {fetchPost} from "../../../util/fetch";
export const onlyProtyleCommand = (options: {
command: string,
previousRange: Range,
protyle: IProtyle,
}) => {
+ if (options.command === "switchReadonly") {
+ updateReadonly(options.protyle.breadcrumb.element.parentElement.querySelector('.block__icon[data-type="readonly"]'), options.protyle);
+ return true;
+ }
+ if (options.command === "switchAdjust") {
+ let fullWidth;
+ const adjustWidth = options.protyle.wysiwyg.element.getAttribute(Constants.CUSTOM_SY_FULLWIDTH)
+ if (!adjustWidth) {
+ fullWidth = window.siyuan.config.editor.fullWidth ? "false" : "true";
+ } else {
+ fullWidth = adjustWidth === "true" ? "false" : "true";
+ }
+ fetchPost("/api/attr/setBlockAttrs", {
+ id: options.protyle.block.rootID,
+ attrs: {[Constants.CUSTOM_SY_FULLWIDTH]: fullWidth}
+ });
+ return true;
+ }
const nodeElement = hasClosestBlock(options.previousRange.startContainer);
if (!nodeElement) {
return false;
diff --git a/app/src/boot/globalEvent/keydown.ts b/app/src/boot/globalEvent/keydown.ts
index e1769a188..a5ad57321 100644
--- a/app/src/boot/globalEvent/keydown.ts
+++ b/app/src/boot/globalEvent/keydown.ts
@@ -73,6 +73,7 @@ import {copyPNGByLink} from "../../menus/util";
import {globalCommand} from "./command/global";
import {duplicateCompletely} from "../../protyle/render/av/action";
import {copyTextByType} from "../../protyle/toolbar/util";
+import {onlyProtyleCommand} from "./command/protyle";
const switchDialogEvent = (app: App, event: MouseEvent) => {
event.preventDefault();
@@ -377,21 +378,19 @@ const editKeydown = (app: App, event: KeyboardEvent) => {
}
if (matchHotKey(window.siyuan.config.keymap.editor.general.switchReadonly.custom, event)) {
event.preventDefault();
- updateReadonly(protyle.breadcrumb.element.parentElement.querySelector('.block__icon[data-type="readonly"]'), protyle);
+ onlyProtyleCommand({
+ protyle,
+ command: "switchReadonly",
+ previousRange: range,
+ });
return true;
}
if (matchHotKey(window.siyuan.config.keymap.editor.general.switchAdjust.custom, event)) {
event.preventDefault();
- let fullWidth;
- const adjustWidth = protyle.wysiwyg.element.getAttribute(Constants.CUSTOM_SY_FULLWIDTH)
- if (!adjustWidth) {
- fullWidth = window.siyuan.config.editor.fullWidth ? "false" : "true";
- } else {
- fullWidth = adjustWidth === "true" ? "false" : "true";
- }
- fetchPost("/api/attr/setBlockAttrs", {
- id: protyle.block.rootID,
- attrs: {[Constants.CUSTOM_SY_FULLWIDTH]: fullWidth}
+ onlyProtyleCommand({
+ protyle,
+ command: "switchAdjust",
+ previousRange: range,
});
return true;
}