sistemato finestra di conferma

This commit is contained in:
VALLONGOL 2026-01-22 17:19:12 +01:00
parent fedaa4d41b
commit bf4f73dac1
2 changed files with 17 additions and 17 deletions

View File

@ -10,7 +10,7 @@
"default_target": "EIF_FPGA1", "default_target": "EIF_FPGA1",
"verify_after_write": true, "verify_after_write": true,
"max_tftp_retries": 3, "max_tftp_retries": 3,
"max_register_retries": 500, "max_register_retries": 10,
"max_chunk_write_retries": 3 "max_chunk_write_retries": 3
}, },
"models": { "models": {

View File

@ -772,9 +772,9 @@ class ConfigManagerDialog:
self.manager.global_config.max_register_retries = int(self.global_register_retries_entry.get().strip()) self.manager.global_config.max_register_retries = int(self.global_register_retries_entry.get().strip())
self.manager.global_config.max_chunk_write_retries = int(self.global_chunk_retries_entry.get().strip()) self.manager.global_config.max_chunk_write_retries = int(self.global_chunk_retries_entry.get().strip())
messagebox.showinfo("Success", "Global settings applied successfully") messagebox.showinfo("Success", "Global settings applied successfully", parent=self.dialog)
except ValueError as e: except ValueError as e:
messagebox.showerror("Error", f"Invalid input: {e}") messagebox.showerror("Error", f"Invalid input: {e}", parent=self.dialog)
# Models Methods # Models Methods
def _refresh_models_list(self) -> None: def _refresh_models_list(self) -> None:
@ -912,7 +912,7 @@ class ConfigManagerDialog:
else: else:
id_model = int(self.model_id_entry.get().strip()) id_model = int(self.model_id_entry.get().strip())
if id_model in self.manager.models: if id_model in self.manager.models:
messagebox.showerror("Error", f"Model ID {id_model} already exists.") messagebox.showerror("Error", f"Model ID {id_model} already exists.", parent=self.dialog)
return return
test_addr_str = self.model_test_addr_entry.get().strip() test_addr_str = self.model_test_addr_entry.get().strip()
@ -944,16 +944,16 @@ class ConfigManagerDialog:
self.models_listbox.see(idx) self.models_listbox.see(idx)
break break
messagebox.showinfo("Success", f"Model '{new_model.model}' saved successfully") messagebox.showinfo("Success", f"Model '{new_model.model}' saved successfully", parent=self.dialog)
except ValueError as e: except ValueError as e:
messagebox.showerror("Error", f"Invalid input: {e}") messagebox.showerror("Error", f"Invalid input: {e}", parent=self.dialog)
def _delete_model(self) -> None: def _delete_model(self) -> None:
"""Delete selected model.""" """Delete selected model."""
selection = self.models_listbox.curselection() selection = self.models_listbox.curselection()
if not selection: if not selection:
messagebox.showwarning("No Selection", "Please select a model to delete.") messagebox.showwarning("No Selection", "Please select a model to delete.", parent=self.dialog)
return return
models_list = sorted(self.manager.models.items()) models_list = sorted(self.manager.models.items())
@ -962,10 +962,10 @@ class ConfigManagerDialog:
# Check if model is in use # Check if model is in use
in_use = [t.id_target for t in self.manager.targets.values() if t.id_model == id_model] in_use = [t.id_target for t in self.manager.targets.values() if t.id_model == id_model]
if in_use: if in_use:
messagebox.showerror("Cannot Delete", f"Model is in use by targets: {', '.join(in_use)}") messagebox.showerror("Cannot Delete", f"Model is in use by targets: {', '.join(in_use)}", parent=self.dialog)
return return
if messagebox.askyesno("Confirm Delete", f"Delete model '{model.model}'?"): if messagebox.askyesno("Confirm Delete", f"Delete model '{model.model}'?", parent=self.dialog):
self.manager.delete_model(id_model) self.manager.delete_model(id_model)
self._refresh_models_list() self._refresh_models_list()
self._show_model_editor(None) self._show_model_editor(None)
@ -1118,16 +1118,16 @@ class ConfigManagerDialog:
else: else:
id_target = self.target_id_entry.get().strip() id_target = self.target_id_entry.get().strip()
if not id_target: if not id_target:
messagebox.showerror("Error", "Target ID is required.") messagebox.showerror("Error", "Target ID is required.", parent=self.dialog)
return return
if id_target in self.manager.targets: if id_target in self.manager.targets:
messagebox.showerror("Error", f"Target '{id_target}' already exists.") messagebox.showerror("Error", f"Target '{id_target}' already exists.", parent=self.dialog)
return return
# Extract model ID from combobox selection # Extract model ID from combobox selection
model_str = self.target_model_combo.get() model_str = self.target_model_combo.get()
if not model_str: if not model_str:
messagebox.showerror("Error", "Please select a model.") messagebox.showerror("Error", "Please select a model.", parent=self.dialog)
return return
# Parse "[ID] ..." format # Parse "[ID] ..." format
@ -1164,22 +1164,22 @@ class ConfigManagerDialog:
# Refresh default target combo in global tab # Refresh default target combo in global tab
self.global_default_combo['values'] = list(self.manager.targets.keys()) self.global_default_combo['values'] = list(self.manager.targets.keys())
messagebox.showinfo("Success", f"Target '{new_target.id_target}' saved successfully") messagebox.showinfo("Success", f"Target '{new_target.id_target}' saved successfully", parent=self.dialog)
except ValueError as e: except ValueError as e:
messagebox.showerror("Error", f"Invalid input: {e}") messagebox.showerror("Error", f"Invalid input: {e}", parent=self.dialog)
def _delete_target(self) -> None: def _delete_target(self) -> None:
"""Delete selected target.""" """Delete selected target."""
selection = self.targets_listbox.curselection() selection = self.targets_listbox.curselection()
if not selection: if not selection:
messagebox.showwarning("No Selection", "Please select a target to delete.") messagebox.showwarning("No Selection", "Please select a target to delete.", parent=self.dialog)
return return
targets_list = sorted(self.manager.targets.items()) targets_list = sorted(self.manager.targets.items())
id_target, target = targets_list[selection[0]] id_target, target = targets_list[selection[0]]
if messagebox.askyesno("Confirm Delete", f"Delete target '{target.id_target}'?"): if messagebox.askyesno("Confirm Delete", f"Delete target '{target.id_target}'?", parent=self.dialog):
self.manager.delete_target(id_target) self.manager.delete_target(id_target)
self._refresh_targets_list() self._refresh_targets_list()
self.refresh_callback() self.refresh_callback()
@ -1192,7 +1192,7 @@ class ConfigManagerDialog:
"""Save configuration and close dialog.""" """Save configuration and close dialog."""
self.manager.save() self.manager.save()
self.refresh_callback() self.refresh_callback()
messagebox.showinfo("Success", "Configuration saved successfully") messagebox.showinfo("Success", "Configuration saved successfully", parent=self.dialog)
self.dialog.destroy() self.dialog.destroy()