This commit is contained in:
Vanessa 2023-10-23 17:52:00 +08:00
parent efa5ef6ca5
commit 7883377ffd
2 changed files with 16 additions and 10 deletions

View file

@ -39,7 +39,7 @@ export const keymap = {
item.commands.forEach(command => { item.commands.forEach(command => {
const keyValue = updateHotkeyTip(command.customHotkey); const keyValue = updateHotkeyTip(command.customHotkey);
commandHTML += `<label class="b3-list-item b3-list-item--narrow b3-list-item--hide-action"> commandHTML += `<label class="b3-list-item b3-list-item--narrow b3-list-item--hide-action">
<span class="b3-list-item__text">${command.langText || item.i18n[command.langKey] || command.langKey}</span> <span class="b3-list-item__text">${command.langText || (item.i18n ? item.i18n[command.langKey] : "") || command.langKey}</span>
<span data-type="reset" class="b3-list-item__action b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.reset}"> <span data-type="reset" class="b3-list-item__action b3-tooltips b3-tooltips__w" aria-label="${window.siyuan.languages.reset}">
<svg><use xlink:href="#iconUndo"></use></svg> <svg><use xlink:href="#iconUndo"></use></svg>
</span> </span>

View file

@ -110,7 +110,8 @@ const mergePluginHotkey = (plugin: Plugin) => {
if (!window.siyuan.config.keymap.plugin) { if (!window.siyuan.config.keymap.plugin) {
window.siyuan.config.keymap.plugin = {}; window.siyuan.config.keymap.plugin = {};
} }
plugin.commands.forEach(command => { for (let i = 0; i < plugin.commands.length; i++) {
const command = plugin.commands[i];
if (!window.siyuan.config.keymap.plugin[plugin.name]) { if (!window.siyuan.config.keymap.plugin[plugin.name]) {
command.customHotkey = command.hotkey; command.customHotkey = command.hotkey;
window.siyuan.config.keymap.plugin[plugin.name] = { window.siyuan.config.keymap.plugin[plugin.name] = {
@ -119,21 +120,26 @@ const mergePluginHotkey = (plugin: Plugin) => {
custom: command.hotkey, custom: command.hotkey,
} }
}; };
return; } else if (!window.siyuan.config.keymap.plugin[plugin.name][command.langKey]) {
}
if (!window.siyuan.config.keymap.plugin[plugin.name][command.langKey]) {
command.customHotkey = command.hotkey; command.customHotkey = command.hotkey;
window.siyuan.config.keymap.plugin[plugin.name][command.langKey] = { window.siyuan.config.keymap.plugin[plugin.name][command.langKey] = {
default: command.hotkey, default: command.hotkey,
custom: command.hotkey, custom: command.hotkey,
}; };
return; } else if (window.siyuan.config.keymap.plugin[plugin.name][command.langKey]) {
} if (typeof window.siyuan.config.keymap.plugin[plugin.name][command.langKey].custom === "string") {
if (window.siyuan.config.keymap.plugin[plugin.name][command.langKey]) { command.customHotkey = window.siyuan.config.keymap.plugin[plugin.name][command.langKey].custom;
command.customHotkey = window.siyuan.config.keymap.plugin[plugin.name][command.langKey].custom || command.hotkey; } else {
command.customHotkey = command.hotkey;
}
window.siyuan.config.keymap.plugin[plugin.name][command.langKey]["default"] = command.hotkey; window.siyuan.config.keymap.plugin[plugin.name][command.langKey]["default"] = command.hotkey;
} }
}); if (typeof command.customHotkey !== "string") {
console.error(`${plugin.name} - commands data is error and has been removed.`);
plugin.commands.splice(i, 1);
i--;
}
}
}; };
export const afterLoadPlugin = (plugin: Plugin) => { export const afterLoadPlugin = (plugin: Plugin) => {