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 => {
const keyValue = updateHotkeyTip(command.customHotkey);
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}">
<svg><use xlink:href="#iconUndo"></use></svg>
</span>

View file

@ -110,7 +110,8 @@ const mergePluginHotkey = (plugin: Plugin) => {
if (!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]) {
command.customHotkey = command.hotkey;
window.siyuan.config.keymap.plugin[plugin.name] = {
@ -119,21 +120,26 @@ const mergePluginHotkey = (plugin: Plugin) => {
custom: command.hotkey,
}
};
return;
}
if (!window.siyuan.config.keymap.plugin[plugin.name][command.langKey]) {
} else if (!window.siyuan.config.keymap.plugin[plugin.name][command.langKey]) {
command.customHotkey = command.hotkey;
window.siyuan.config.keymap.plugin[plugin.name][command.langKey] = {
default: command.hotkey,
custom: command.hotkey,
};
return;
}
if (window.siyuan.config.keymap.plugin[plugin.name][command.langKey]) {
command.customHotkey = window.siyuan.config.keymap.plugin[plugin.name][command.langKey].custom || command.hotkey;
} else if (window.siyuan.config.keymap.plugin[plugin.name][command.langKey]) {
if (typeof window.siyuan.config.keymap.plugin[plugin.name][command.langKey].custom === "string") {
command.customHotkey = window.siyuan.config.keymap.plugin[plugin.name][command.langKey].custom;
} else {
command.customHotkey = 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) => {