diff --git a/src/components/settings.ts b/src/components/settings.ts index dc43772..cec784e 100644 --- a/src/components/settings.ts +++ b/src/components/settings.ts @@ -27,6 +27,7 @@ type JSONSettings = { profiles: JSONProfile[], logs: string[], output: string, + showRenderTerminal: boolean } const defaultSettings:JSONSettings = { @@ -42,7 +43,8 @@ const defaultSettings:JSONSettings = { } ], logs: [], - output: defaultOutputPath + output: defaultOutputPath, + showRenderTerminal: false }; function catchSetting(tryFunc:()=>string, catchFunc:()=>string) { @@ -126,7 +128,8 @@ const settingList = await fetch(SettingPath).then(function(response) { output: catchSetting(function() {return getXMLChild(xmlDoc, "output");},function() { fetchFailed === "singleSetting"? fetchFailed = "multiSetting":fetchFailed = "singleSetting"; return defaultSettings.output; - }) + }), + showRenderTerminal: defaultSettings.showRenderTerminal } as JSONSettings; }); } @@ -195,7 +198,15 @@ const settingList = await fetch(SettingPath).then(function(response) { output: catchSetting(function() {return parsedData.output;},function() { fetchFailed === "singleSetting"? fetchFailed = "multiSetting":fetchFailed = "singleSetting"; return defaultSettings.output; - }) + }), + showRenderTerminal: function() { + if(typeof parsedData.showRenderTerminal === "boolean") { + return parsedData.showRenderTerminal; + } else { + fetchFailed === "singleSetting"? fetchFailed = "multiSetting":fetchFailed = "singleSetting"; + return defaultSettings.showRenderTerminal; + } + }() } }); if(fetchFailed !== "") { @@ -332,6 +343,14 @@ function getInOutSettings() { return {logs: settingList.logs, output: settingList.output}; } +function setShowRenderTerminal(show:boolean) { + settingList.showRenderTerminal = show; + writeSettings(); +} +function getShowRenderTerminal() { + return settingList.showRenderTerminal; +} + function removeProfile(profileName?:string) { if(profileName === undefined) { profileName = getActiveProfile().profileName; @@ -498,6 +517,8 @@ export { getActiveProfile, setInOutSettings, getInOutSettings, + setShowRenderTerminal, + getShowRenderTerminal, getLogSize, importProfile, exportProfile, diff --git a/src/components/ui/renderingPage.tsx b/src/components/ui/renderingPage.tsx index 135606c..ef95032 100644 --- a/src/components/ui/renderingPage.tsx +++ b/src/components/ui/renderingPage.tsx @@ -1,5 +1,5 @@ import React, {useEffect, useRef, useState} from "react"; -import {getInOutSettings} from "../settings"; +import {getInOutSettings, getShowRenderTerminal, setShowRenderTerminal} from "../settings"; import openFolder from "../openFolder"; import { blenderCmd, blender } from "../blenderController"; @@ -14,7 +14,7 @@ let pastTimeNow = "0m 0s"; let remainingTimeNow = "calculating..."; function RenderingPage() { - const [terminalHidden, setTerminalHidden] = useState("none"); + const [terminalHidden, setTerminalHidden] = useState(getShowRenderTerminal() ? "block" : "none"); const [terminalScroll, setTerminalScroll] = useState(true); const [scrollButtonText, setScrollButtonText] = useState("pause scroll"); const [logNumber, setLogNumberInner] = useState("0"); @@ -93,10 +93,12 @@ function RenderingPage() {