This commit is contained in:
Vanessa 2023-10-08 23:41:10 +08:00
parent aa5acf39cf
commit f600cc1bde
4 changed files with 31 additions and 29 deletions

View file

@ -705,17 +705,26 @@ app.whenReady().then(() => {
let webContentsId = event.sender.id
if (typeof data !== "string") {
cmd = data.cmd;
webContentsId = data.webContentsId
if (data.webContentsId) {
webContentsId = data.webContentsId
}
}
const currentWindow = getWindowByContentId(webContentsId);
switch (cmd) {
case "openDevTools":
event.sender.openDevTools({mode: "bottom"});
break;
case "show":
showWindow(getWindowByContentId(webContentsId));
showWindow(currentWindow);
break;
case "hide":
getWindowByContentId(webContentsId).hide();
currentWindow.hide();
break;
case "focus":
currentWindow.focus();
break;
case "clearCache":
event.sender.session.clearCache();
break;
case "redo":
event.sender.redo();
@ -724,7 +733,14 @@ app.whenReady().then(() => {
event.sender.undo();
break;
case "destroy":
getWindowByContentId(webContentsId).destroy();
currentWindow.destroy();
break;
case "setProxy":
event.sender.session.closeAllConnections().then(() => {
event.sender.session.setProxy({proxyRules: data.proxyURL}).then(() => {
console.log("network proxy [" + data.proxyURL + "]");
});
});
break;
}
});

View file

@ -1,9 +1,10 @@
/// #if !BROWSER
import {getCurrentWindow} from "@electron/remote";
import {ipcRenderer} from "electron";
/// #endif
import {Dialog} from "../../dialog";
import {isMobile} from "../../util/functions";
import {fetchPost} from "../../util/fetch";
import {Constants} from "../../constants";
export const setProxy = () => {
/// #if !BROWSER
@ -11,13 +12,9 @@ export const setProxy = () => {
console.log("network proxy [system]");
return;
}
const session = getCurrentWindow().webContents.session;
session.closeAllConnections().then(() => {
const proxyURL = `${window.siyuan.config.system.networkProxy.scheme}://${window.siyuan.config.system.networkProxy.host}:${window.siyuan.config.system.networkProxy.port}`;
session.setProxy({proxyRules: proxyURL}).then(
() => console.log("network proxy [" + proxyURL + "]"),
);
ipcRenderer.send(Constants.SIYUAN_CMD, {
cmd: "setProxy",
proxyURL: `${window.siyuan.config.system.networkProxy.scheme}://${window.siyuan.config.system.networkProxy.host}:${window.siyuan.config.system.networkProxy.port}`
});
/// #endif
};

View file

@ -16,7 +16,6 @@ import {hasClosestBlock, hasClosestByAttribute, hasClosestByClassName} from "../
import {Constants} from "../constants";
/// #if !BROWSER
import {webFrame, ipcRenderer} from "electron";
import {getCurrentWindow} from "@electron/remote";
import {setModelsHash, setTabPosition} from "../window/setHeader";
/// #endif
import {Search} from "../search";
@ -123,17 +122,6 @@ export class Wnd {
if (window.siyuan.config.fileTree.openFilesUseCurrentTab && target.getAttribute("data-type") === "tab-header") {
target.classList.remove("item--unupdate");
break;
} else if (target.tagName === "SPAN" && target.className === "fn__flex-1" &&
isWindow() && this.headersElement.getBoundingClientRect().top <= 0) {
/// #if !BROWSER
const currentWindow = getCurrentWindow();
if (currentWindow.isMaximized()) {
currentWindow.unmaximize();
} else {
currentWindow.maximize();
}
/// #endif
break;
}
target = target.parentElement;
}
@ -237,7 +225,7 @@ export class Wnd {
ipcRenderer.send(Constants.SIYUAN_SEND_WINDOWS, {cmd: "closetab", data: tabData.id});
it.querySelector("li[data-clone='true']").remove();
wnd.switchTab(oldTab.headElement);
getCurrentWindow().focus();
ipcRenderer.send(Constants.SIYUAN_CMD, "focus");
}
}
/// #endif
@ -344,7 +332,7 @@ export class Wnd {
JSONToCenter(app, tabData, this);
oldTab = this.children[this.children.length - 1];
ipcRenderer.send(Constants.SIYUAN_SEND_WINDOWS, {cmd: "closetab", data: tabData.id});
getCurrentWindow().focus();
ipcRenderer.send(Constants.SIYUAN_CMD, "focus");
}
/// #endif
if (!oldTab) {
@ -791,7 +779,7 @@ export class Wnd {
}
/// #if !BROWSER
webFrame.clearCache();
getCurrentWindow().webContents.session.clearCache();
ipcRenderer.send(Constants.SIYUAN_CMD, "clearCache");
setTabPosition();
/// #endif
};

View file

@ -1,5 +1,6 @@
import {App} from "../index";
import {getCurrentWindow} from "@electron/remote";
import {Constants} from "../constants";
import { ipcRenderer } from "electron";
export const closeWindow = async (app: App) => {
for (let i = 0; i < app.plugins.length; i++) {
@ -9,5 +10,5 @@ export const closeWindow = async (app: App) => {
console.error(e);
}
}
getCurrentWindow().destroy();
ipcRenderer.send(Constants.SIYUAN_CMD, "destroy");
};