diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 5af616f0a..7f7942b19 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -899,6 +899,7 @@ "column": "Column", "copied": "Copied", "copy": "Copy", + "copyText": "Copy text *", "delete-column": "Delete Column", "delete-row": "Delete Row", "down": "Down", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 43e4c14e4..7212f623e 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -899,6 +899,7 @@ "column": "Columna", "copied": "Copiado", "copy": "Copiar", + "copyText": "Copiar texto *", "delete-column": "Borrar columna", "delete-row": "Borrar fila", "down": "Abajo", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index c4d0ddd90..342669c6d 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -899,6 +899,7 @@ "column": "Colonne", "copied": "Copié", "copy": "Copie", + "copyText": "Copier le texte *", "delete-column": "Supprimer une Colonne", "delete-row": "Supprimer la rangée", "down": "En bas", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index 68b5ffe53..09da9647e 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -899,6 +899,7 @@ "column": "行", "copied": "已複製", "copy": "複製", + "copyText": "複製 文本 *", "delete-column": "刪除行", "delete-row": "刪除列", "down": "下", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 6f8c159b5..00c89d2d4 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -899,6 +899,7 @@ "column": "列", "copied": "已复制", "copy": "复制", + "copyText": "复制 文本 *", "delete-column": "删除列", "delete-row": "删除行", "down": "下", diff --git a/app/src/constants.ts b/app/src/constants.ts index df60b5436..e06a57806 100644 --- a/app/src/constants.ts +++ b/app/src/constants.ts @@ -253,6 +253,7 @@ export abstract class Constants { hLayout: {default: "", custom: ""}, vLayout: {default: "", custom: ""}, refPopover: {default: "", custom: ""}, + copyText: {default: "", custom: ""}, expand: {default: "⌘↓", custom: "⌘↓"}, collapse: {default: "⌘↑", custom: "⌘↑"}, insertBottom: {default: "⌥⌘.", custom: "⌥⌘."}, diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 5057f505d..7aaaf129d 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -729,7 +729,7 @@ export class Gutter { if (protyle?.app?.plugins) { emitOpenMenu({ - plugins:protyle.app.plugins, + plugins: protyle.app.plugins, type: "click-blockicon", detail: { protyle, @@ -1545,7 +1545,7 @@ export class Gutter { if (protyle?.app?.plugins) { emitOpenMenu({ - plugins:protyle.app.plugins, + plugins: protyle.app.plugins, type: "click-blockicon", detail: { protyle, @@ -1749,7 +1749,8 @@ export class Gutter { return false; } return { - label: `${window.siyuan.languages.copy} ${window.siyuan.languages.text} *`, + accelerator: window.siyuan.config.keymap.editor.general.copyText.custom, + label: window.siyuan.languages.copyText, click() { // 用于标识复制文本 * selectsElement[0].setAttribute("data-reftext", "true"); diff --git a/app/src/protyle/wysiwyg/keydown.ts b/app/src/protyle/wysiwyg/keydown.ts index 45efba95f..3ec5b881d 100644 --- a/app/src/protyle/wysiwyg/keydown.ts +++ b/app/src/protyle/wysiwyg/keydown.ts @@ -971,6 +971,15 @@ export const keydown = (protyle: IProtyle, editorElement: HTMLElement) => { event.stopPropagation(); return true; } + if (matchHotKey(window.siyuan.config.keymap.editor.general.copyText.custom, event)) { + // 用于标识复制文本 * + nodeElement.setAttribute("data-reftext", "true"); + focusByRange(getEditorRange(nodeElement)); + document.execCommand("copy"); + event.preventDefault(); + event.stopPropagation(); + return true; + } if (matchHotKey(window.siyuan.config.keymap.editor.general.copyBlockRef.custom, event)) { event.preventDefault(); event.stopPropagation();