1
0
mirror of https://github.com/upscayl/upscayl.git synced 2025-02-20 20:51:49 +01:00

Added overwrite toggle

This commit is contained in:
Nayam Amarshe 2023-08-10 15:47:35 +05:30
parent f43b7e53db
commit 02f9e9f8a8
4 changed files with 41 additions and 1 deletions

View File

@ -465,11 +465,11 @@ ipcMain.on(commands.UPSCAYL, async (event, payload) => {
try {
if (!mainWindow) return;
newImage
.quality(100 - quality)
.scaleToFit(
originalImage.getWidth() * parseInt(payload.scale),
originalImage.getHeight() * parseInt(payload.scale)
)
.quality(100 - quality)
.write(isAlpha ? outFile + ".png" : outFile);
mainWindow.setProgressBar(-1);
mainWindow.webContents.send(

View File

@ -0,0 +1,30 @@
import React from "react";
type ToggleOverwriteProps = {
overwrite: boolean;
setOverwrite: (arg: any) => void;
};
const ToggleOverwrite = ({ overwrite, setOverwrite }: ToggleOverwriteProps) => {
return (
<div className="flex flex-col gap-2">
<p className="text-sm font-medium">OVERWRITE PREVIOUS UPSCALE</p>
<input
type="checkbox"
className="toggle-primary toggle"
checked={overwrite}
onClick={() => {
setOverwrite((oldValue) => {
if (oldValue === true) {
localStorage.removeItem("overwrite");
}
return !oldValue;
});
localStorage.setItem("overwrite", JSON.stringify(!overwrite));
}}
/>
</div>
);
};
export default ToggleOverwrite;

View File

@ -13,6 +13,7 @@ import { customModelsPathAtom, scaleAtom } from "../../atoms/userSettingsAtom";
import { modelsListAtom } from "../../atoms/modelsListAtom";
import useLog from "../hooks/useLog";
import { QualityInput } from "./QualityInput";
import ToggleOverwrite from "./ToggleOverwrite";
interface IProps {
batchMode: boolean;
@ -24,6 +25,8 @@ interface IProps {
gpuId: string;
setGpuId: React.Dispatch<React.SetStateAction<string>>;
logData: string[];
overwrite: boolean;
setOverwrite: (arg: any) => void;
}
function SettingsTab({
@ -36,6 +39,8 @@ function SettingsTab({
saveImageAs,
setSaveImageAs,
logData,
overwrite,
setOverwrite,
}: IProps) {
// STATES
const [currentModel, setCurrentModel] = useState<{
@ -178,6 +183,8 @@ function SettingsTab({
setRememberOutputFolder={setRememberOutputFolder}
/>
<ToggleOverwrite overwrite={overwrite} setOverwrite={setOverwrite} />
{/* GPU ID INPUT */}
<GpuIdInput gpuId={gpuId} handleGpuIdChange={handleGpuIdChange} />

View File

@ -29,6 +29,7 @@ const Home = () => {
const [batchFolderPath, setBatchFolderPath] = useState("");
const [upscaledBatchFolderPath, setUpscaledBatchFolderPath] = useState("");
const [doubleUpscayl, setDoubleUpscayl] = useState(false);
const [overwrite, setOverwrite] = useState(false);
const [isVideo] = useState(false);
const [videoPath, setVideoPath] = useState("");
const [upscaledVideoPath, setUpscaledVideoPath] = useState("");
@ -564,6 +565,8 @@ const Home = () => {
saveImageAs={saveImageAs}
setSaveImageAs={setSaveImageAs}
logData={logData}
overwrite={overwrite}
setOverwrite={setOverwrite}
/>
)}
{/* )} */}