diff --git a/index.html b/index.html index 8d82a1d..62e4dda 100644 --- a/index.html +++ b/index.html @@ -252,6 +252,10 @@ Size - + diff --git a/main.js b/main.js index b3980eb..3f5aec1 100644 --- a/main.js +++ b/main.js @@ -22,6 +22,7 @@ function createWindow() { }); mainWindow.loadFile(path.join(__dirname, 'index.html')); + mainWindow.setMenu(null); // Disable default menu and browser shortcuts (F5, F11, Ctrl+F5) to act as a proper native application. // Open DevTools if running in dev (optional) // mainWindow.webContents.openDevTools(); diff --git a/renderer.js b/renderer.js index 21a6270..002f5e9 100644 --- a/renderer.js +++ b/renderer.js @@ -69,6 +69,7 @@ const elements = { infoFilename: document.getElementById('info-filename'), infoResolution: document.getElementById('info-resolution'), infoSize: document.getElementById('info-size'), + btnChangeImage: document.getElementById('btn-change-image'), // Control Tower: AI Processor btnRemoveBg: document.getElementById('btn-remove-bg'), @@ -147,6 +148,39 @@ function initWorkspace() { selectLocalImage(); } }); + + // Change image button click + elements.btnChangeImage.addEventListener('click', resetWorkspaceToEmpty); +} + +function resetWorkspaceToEmpty() { + currentImagePath = null; + originalFileName = ''; + processedTempPath = null; + activeBgMode = 'transparent'; + scaleX = 1; + scaleY = 1; + + // Destroy cropper safely + if (cropper) { + cropper.destroy(); + cropper = null; + } + + // Restore drag drop state views + elements.editorContainer.classList.add('hidden'); + elements.dropzone.classList.remove('hidden'); + + elements.infoCardLoaded.classList.add('hidden'); + elements.infoCardEmpty.classList.remove('hidden'); + + // Disable processing button until a new file is loaded + elements.btnRemoveBg.disabled = true; + + // Clear background customizations + resetBgSettings(); + + showToast("Image Changed", "Workspace cleared. You can now load a new image.", "info"); } // --- PYTHON VENV INSTALLER ENGINE ---