diff --git a/app/src/menus/commonMenuItem.ts b/app/src/menus/commonMenuItem.ts index 932d5cd58..79b6de468 100644 --- a/app/src/menus/commonMenuItem.ts +++ b/app/src/menus/commonMenuItem.ts @@ -718,8 +718,40 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat openAssetNewWindow(src.trim()); } }); + submenu.push({ + icon: "iconFolder", + label: window.siyuan.languages.showInFolder, + accelerator: showAccelerator ? "⌘Click" : "", + click: () => { + openBy(src, "folder"); + } + }); + submenu.push({ + label: window.siyuan.languages.useDefault, + accelerator: showAccelerator ? "⇧Click" : "", + click() { + openBy(src, "app"); + } + }); /// #endif } else { + /// #if !BROWSER + submenu.push({ + label: window.siyuan.languages.useDefault, + accelerator: showAccelerator ? "Click" : "", + click() { + openBy(src, "app"); + } + }); + submenu.push({ + icon: "iconFolder", + label: window.siyuan.languages.showInFolder, + accelerator: showAccelerator ? "⌘Click" : "", + click: () => { + openBy(src, "folder"); + } + }); + /// #else submenu.push({ label: window.siyuan.languages.useBrowserView, accelerator: showAccelerator ? "Click" : "", @@ -727,24 +759,8 @@ export const openMenu = (app: App, src: string, onlyMenu: boolean, showAccelerat openByMobile(src); } }); + /// #endif } - /// #if !BROWSER - submenu.push({ - icon: "iconFolder", - label: window.siyuan.languages.showInFolder, - accelerator: showAccelerator ? "⌘Click" : "", - click: () => { - openBy(src, "folder"); - } - }); - submenu.push({ - label: window.siyuan.languages.useDefault, - accelerator: showAccelerator ? "⇧Click" : "", - click() { - openBy(src, "app"); - } - }); - /// #endif } else if (src) { if (0 > src.indexOf(":")) { // 使用 : 判断,不使用 :// 判断 Open external application protocol invalid https://github.com/siyuan-note/siyuan/issues/10075 diff --git a/app/src/protyle/render/av/action.ts b/app/src/protyle/render/av/action.ts index afc2e2bdb..842e4edaa 100644 --- a/app/src/protyle/render/av/action.ts +++ b/app/src/protyle/render/av/action.ts @@ -66,19 +66,32 @@ export const avClick = (protyle: IProtyle, event: MouseEvent & { target: HTMLEle if (Constants.SIYUAN_ASSETS_EXTS.includes(suffix)) { if (event.altKey) { openAsset(protyle.app, linkAddress.trim(), parseInt(getSearch("page", linkAddress))); - } else if (!ctrlIsPressed && !event.shiftKey) { + } else if (ctrlIsPressed) { + /// #if !BROWSER + openBy(linkAddress, "folder"); + /// #else + openByMobile(linkAddress); + /// #endif + } else if (event.shiftKey) { + /// #if !BROWSER + openBy(linkAddress, "app"); + /// #else + openByMobile(linkAddress); + /// #endif + } else { openAsset(protyle.app, linkAddress.trim(), parseInt(getSearch("page", linkAddress)), "right"); } - } else if (!ctrlIsPressed && !event.shiftKey && !event.altKey) { + } else { + /// #if !BROWSER + if (ctrlIsPressed) { + openBy(linkAddress, "folder"); + } else { + openBy(linkAddress, "app"); + } + /// #else openByMobile(linkAddress); + /// #endif } - /// #if !BROWSER - if (ctrlIsPressed) { - openBy(linkAddress, "folder"); - } else if (event.shiftKey) { - openBy(linkAddress, "app"); - } - /// #endif /// #else openByMobile(linkAddress); /// #endif diff --git a/app/src/protyle/wysiwyg/index.ts b/app/src/protyle/wysiwyg/index.ts index 2de0d8df9..4d6856e68 100644 --- a/app/src/protyle/wysiwyg/index.ts +++ b/app/src/protyle/wysiwyg/index.ts @@ -2092,19 +2092,32 @@ export class WYSIWYG { ) { if (event.altKey) { openAsset(protyle.app, linkAddress, parseInt(getSearch("page", linkAddress))); - } else if (!ctrlIsPressed && !event.shiftKey) { + } else if (ctrlIsPressed) { + /// #if !BROWSER + openBy(linkAddress, "folder"); + /// #else + openByMobile(linkAddress); + /// #endif + } else if (event.shiftKey) { + /// #if !BROWSER + openBy(linkAddress, "app"); + /// #else + openByMobile(linkAddress); + /// #endif + } else { openAsset(protyle.app, linkPathname, parseInt(getSearch("page", linkAddress)), "right"); } - } else if (!ctrlIsPressed && !event.shiftKey && !event.altKey) { + } else { + /// #if !BROWSER + if (ctrlIsPressed) { + openBy(linkAddress, "folder"); + } else { + openBy(linkAddress, "app"); + } + /// #else openByMobile(linkAddress); + /// #endif } - /// #if !BROWSER - if (ctrlIsPressed) { - openBy(linkAddress, "folder"); - } else if (event.shiftKey) { - openBy(linkAddress, "app"); - } - /// #endif } else if (linkAddress) { if (0 > linkAddress.indexOf(":")) { // 使用 : 判断,不使用 :// 判断 Open external application protocol invalid https://github.com/siyuan-note/siyuan/issues/10075