From 1a22c55572921a8b4a2df8c1d5b84d8122b4fb4c Mon Sep 17 00:00:00 2001 From: Lino Schmidt Date: Thu, 23 Jun 2022 12:34:40 +0200 Subject: [PATCH] Added warning message on exit while rendering --- src/components/blender-controller.ts | 9 +++++++++ src/components/logger.ts | 1 + src/index.ts | 25 ++++++++++++++++++++++++- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/components/blender-controller.ts b/src/components/blender-controller.ts index a98ac35..f146829 100644 --- a/src/components/blender-controller.ts +++ b/src/components/blender-controller.ts @@ -7,6 +7,7 @@ import {imageLoading, imageLoaded} from "./ui/settingsSide"; import { settingList } from "./settings"; import isValid from "is-valid-path"; import { sideSetRendering } from "../renderer"; +import { ipcRenderer } from "electron"; const blenderStartString = [ templatePath, @@ -155,6 +156,14 @@ function blender(command:blenderCmd) { } } +ipcRenderer.on("isRenderActiveClose", () => { + if(renderingPicture || renderingVideo) { + ipcRenderer.send("renderActiveClose"); + } else { + ipcRenderer.send("renderInactiveClose"); + } +}); + export { blender, blenderCmd, diff --git a/src/components/logger.ts b/src/components/logger.ts index 1d4a63c..47c4610 100644 --- a/src/components/logger.ts +++ b/src/components/logger.ts @@ -23,6 +23,7 @@ const logger = { dialog.showMessageBox({ type: 'error', + noLink: true, buttons: ['Open Log', 'OK'], defaultId: 1, title: 'Something went wrong!', diff --git a/src/index.ts b/src/index.ts index 0ac2e89..345f3cd 100644 --- a/src/index.ts +++ b/src/index.ts @@ -76,12 +76,35 @@ const createWindow = () => { mainWindow.loadFile(path.join(__dirname, 'index.html')); ipcMain.on('closeApp', () => { - app.quit(); + mainWindow.webContents.send('isRenderActiveClose'); }); ipcMain.on('minimize', () => { mainWindow.minimize(); }); + + ipcMain.on('renderInactiveClose', () => { + app.quit(); + }); + ipcMain.on('renderActiveClose', async () => { + const response = await dialog.showMessageBox({ + type: 'warning', + noLink: true, + buttons: ['Cancel', 'Exit'], + defaultId: 0, + title: 'Close', + message: 'A video is still being renderd!', + detail: + 'If you close the application, the progress will be lost!', + }); + if (response.response === 1) { + app.quit(); + } + }); + + mainWindow.on('close', () => { + mainWindow.webContents.send('closeApp'); + }); }; // This method will be called when Electron has finished