sistemato finestra di conferma
This commit is contained in:
parent
fedaa4d41b
commit
bf4f73dac1
@ -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": {
|
||||||
|
|||||||
@ -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()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user