diff --git a/.vscode/settings.json b/.vscode/settings.json index 0d09930..7e74831 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,6 @@ { "[typescript]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "vscode.typescript-language-features" }, "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" diff --git a/src/main/commands/BasicCommand.ts b/src/main/commands/BasicCommand.ts index eb3889b..de5608d 100644 --- a/src/main/commands/BasicCommand.ts +++ b/src/main/commands/BasicCommand.ts @@ -1,5 +1,58 @@ +import { app, dialog } from "electron" +import { inject } from "inversify" +import WindowManager from "main/modules/window-manager" + export default class BasicCommand { - log() { - console.log("1231") + constructor(@inject(WindowManager) private _WindowManager: WindowManager) { + // + } + + toggleDevTools() { + const focusedWindow = this._WindowManager.getFocusWindow() + if (focusedWindow) { + // @ts-ignore ... + focusedWindow.toggleDevTools() + } + } + fullscreen() { + const focusedWindow = this._WindowManager.getFocusWindow() + const isFullScreen = focusedWindow!.isFullScreen() + focusedWindow!.setFullScreen(!isFullScreen) + return !isFullScreen + } + isFullscreen() { + const focusedWindow = this._WindowManager.getFocusWindow() + return focusedWindow!.isFullScreen() + } + + relunch() { + app.relaunch() + app.exit() + } + + reload() { + const focusedWindow = this._WindowManager.getFocusWindow() + // 重载之后, 刷新并关闭所有的次要窗体 + if (this._WindowManager.length() > 1 && focusedWindow && focusedWindow.$$opts!.name === this._WindowManager.mainInfo.name) { + const choice = dialog.showMessageBoxSync(focusedWindow, { + type: "question", + buttons: ["取消", "是的,继续", "不,算了"], + title: "警告", + defaultId: 2, + cancelId: 0, + message: "警告", + detail: "重载主窗口将关闭所有子窗口,是否继续", + }) + if (choice == 1) { + this._WindowManager.getWndows().forEach(win => { + if (win.$$opts!.name !== this._WindowManager.mainInfo.name) { + win.close() + } + }) + } else { + return + } + } + focusedWindow!.reload() } } diff --git a/src/renderer/index.html b/src/renderer/index.html index 82eacab..2cf2727 100644 --- a/src/renderer/index.html +++ b/src/renderer/index.html @@ -1,17 +1,19 @@ - - - Electron - - - - -
- - - + + + Electron + + + + + +
+ + + + \ No newline at end of file diff --git a/src/renderer/src/components/AdjustLine.vue b/src/renderer/src/components/AdjustLine.vue index d0d31a1..d399061 100644 --- a/src/renderer/src/components/AdjustLine.vue +++ b/src/renderer/src/components/AdjustLine.vue @@ -1,17 +1,29 @@ diff --git a/src/renderer/src/components/NavBar.vue b/src/renderer/src/components/NavBar.vue index a8f6ac4..90d8706 100644 --- a/src/renderer/src/components/NavBar.vue +++ b/src/renderer/src/components/NavBar.vue @@ -1,5 +1,14 @@