This commit is contained in:
Vanessa 2022-06-29 10:15:01 +08:00
parent b038135338
commit 5a206a770f
2 changed files with 35 additions and 21 deletions

View file

@ -5,7 +5,7 @@ import {newFile} from "../util/newFile";
import {getDockByType} from "../layout/util"; import {getDockByType} from "../layout/util";
import {confirmDialog} from "../dialog/confirmDialog"; import {confirmDialog} from "../dialog/confirmDialog";
import {getSearch, isMobile} from "../util/functions"; import {getSearch, isMobile} from "../util/functions";
import {isLocalPath, movePathTo} from "../util/pathName"; import {isLocalPath, movePathTo, pathPosix} from "../util/pathName";
import {MenuItem} from "./Menu"; import {MenuItem} from "./Menu";
import {hasClosestByClassName} from "../protyle/util/hasClosest"; import {hasClosestByClassName} from "../protyle/util/hasClosest";
import {saveExport} from "../protyle/export"; import {saveExport} from "../protyle/export";
@ -711,6 +711,10 @@ export const exportMd = (id: string) => {
export const openMenu = (src: string, onlyMenu = false) => { export const openMenu = (src: string, onlyMenu = false) => {
const submenu = []; const submenu = [];
if (isLocalPath(src)) { if (isLocalPath(src)) {
if (Constants.SIYUAN_ASSETS_EXTS.includes(pathPosix().extname(src)) &&
(!src.endsWith(".pdf") ||
(src.endsWith(".pdf") && !src.startsWith("file://")))
) {
submenu.push({ submenu.push({
label: window.siyuan.languages.insertRight, label: window.siyuan.languages.insertRight,
accelerator: "Click", accelerator: "Click",
@ -726,6 +730,19 @@ export const openMenu = (src: string, onlyMenu = false) => {
openBy(src, "app"); openBy(src, "app");
} }
}); });
/// #endif
} else {
/// #if !BROWSER
submenu.push({
label: window.siyuan.languages.useDefault,
accelerator: "Click",
click() {
openBy(src, "app");
}
});
/// #endif
}
/// #if !BROWSER
submenu.push({ submenu.push({
label: window.siyuan.languages.showInFolder, label: window.siyuan.languages.showInFolder,
accelerator: "⌘Click", accelerator: "⌘Click",
@ -736,7 +753,7 @@ export const openMenu = (src: string, onlyMenu = false) => {
/// #endif /// #endif
} else { } else {
submenu.push({ submenu.push({
label: window.siyuan.languages.useBrowserView, label: window.siyuan.languages.useDefault,
accelerator: "Click", accelerator: "Click",
click: () => { click: () => {
/// #if !BROWSER /// #if !BROWSER

View file

@ -302,8 +302,7 @@ export const contentMenu = (protyle: IProtyle, nodeElement: Element) => {
try { try {
// * _ [ ] ! \ ` < > & ~ { } ( ) = # $ ^ | // * _ [ ] ! \ ` < > & ~ { } ( ) = # $ ^ |
let clipText = await navigator.clipboard.readText(); let clipText = await navigator.clipboard.readText();
clipText = clipText.replace(/\*/g, "\\*").replace(/\_/g, "\\_").replace(/\[/g, "\\[").replace(/\]/g, "\\]").replace(/\!/g, "\\!").replace(/\\/g, "\\").replace(/\`/g, "\\`").replace(/\</g, "\\<").replace(/\>/g, "\\>"). clipText = clipText.replace(/\*/g, "\\*").replace(/\_/g, "\\_").replace(/\[/g, "\\[").replace(/\]/g, "\\]").replace(/\!/g, "\\!").replace(/\\/g, "\\").replace(/\`/g, "\\`").replace(/\</g, "\\<").replace(/\>/g, "\\>").replace(/\&/g, "\\&").replace(/\~/g, "\\~").replace(/\{/g, "\\{").replace(/\}/g, "\\}").replace(/\(/g, "\\(").replace(/\)/g, "\\)").replace(/\=/g, "\\=").replace(/\#/g, "\\#").replace(/\$/g, "\\$").replace(/\^/g, "\\^").replace(/\|/g, "\\|");
replace(/\&/g, "\\&").replace(/\~/g, "\\~").replace(/\{/g, "\\{").replace(/\}/g, "\\}").replace(/\(/g, "\\(").replace(/\)/g, "\\)").replace(/\=/g, "\\=").replace(/\#/g, "\\#").replace(/\$/g, "\\$").replace(/\^/g, "\\^").replace(/\|/g, "\\|");
pasteText(protyle, clipText, nodeElement); pasteText(protyle, clipText, nodeElement);
} catch (e) { } catch (e) {
console.log(e); console.log(e);
@ -684,9 +683,7 @@ export const linkMenu = (protyle: IProtyle, linkElement: HTMLElement, focusText
} }
}).element); }).element);
} }
if (isLocalPath(linkAddress)) {
openMenu(linkAddress); openMenu(linkAddress);
}
window.siyuan.menus.menu.element.classList.remove("fn__none"); window.siyuan.menus.menu.element.classList.remove("fn__none");
if (focusText || protyle.lute.IsValidLinkDest(linkAddress)) { if (focusText || protyle.lute.IsValidLinkDest(linkAddress)) {
window.siyuan.menus.menu.element.querySelectorAll("input")[1].select(); window.siyuan.menus.menu.element.querySelectorAll("input")[1].select();