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 ---