diff --git a/flash_profiles.json b/flash_profiles.json index 6c84b11..cc7de72 100644 --- a/flash_profiles.json +++ b/flash_profiles.json @@ -10,7 +10,7 @@ "default_target": "EIF_FPGA1", "verify_after_write": true, "max_tftp_retries": 3, - "max_register_retries": 500, + "max_register_retries": 10, "max_chunk_write_retries": 3 }, "models": { diff --git a/pydownloadfwviasrio/gui/gui.py b/pydownloadfwviasrio/gui/gui.py index b20b964..176aeca 100644 --- a/pydownloadfwviasrio/gui/gui.py +++ b/pydownloadfwviasrio/gui/gui.py @@ -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_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: - messagebox.showerror("Error", f"Invalid input: {e}") + messagebox.showerror("Error", f"Invalid input: {e}", parent=self.dialog) # Models Methods def _refresh_models_list(self) -> None: @@ -912,7 +912,7 @@ class ConfigManagerDialog: else: id_model = int(self.model_id_entry.get().strip()) 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 test_addr_str = self.model_test_addr_entry.get().strip() @@ -944,16 +944,16 @@ class ConfigManagerDialog: self.models_listbox.see(idx) 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: - messagebox.showerror("Error", f"Invalid input: {e}") + messagebox.showerror("Error", f"Invalid input: {e}", parent=self.dialog) def _delete_model(self) -> None: """Delete selected model.""" selection = self.models_listbox.curselection() 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 models_list = sorted(self.manager.models.items()) @@ -962,10 +962,10 @@ class ConfigManagerDialog: # Check if model is in use in_use = [t.id_target for t in self.manager.targets.values() if t.id_model == id_model] 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 - 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._refresh_models_list() self._show_model_editor(None) @@ -1118,16 +1118,16 @@ class ConfigManagerDialog: else: id_target = self.target_id_entry.get().strip() if not id_target: - messagebox.showerror("Error", "Target ID is required.") + messagebox.showerror("Error", "Target ID is required.", parent=self.dialog) return 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 # Extract model ID from combobox selection model_str = self.target_model_combo.get() if not model_str: - messagebox.showerror("Error", "Please select a model.") + messagebox.showerror("Error", "Please select a model.", parent=self.dialog) return # Parse "[ID] ..." format @@ -1164,22 +1164,22 @@ class ConfigManagerDialog: # Refresh default target combo in global tab 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: - messagebox.showerror("Error", f"Invalid input: {e}") + messagebox.showerror("Error", f"Invalid input: {e}", parent=self.dialog) def _delete_target(self) -> None: """Delete selected target.""" selection = self.targets_listbox.curselection() 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 targets_list = sorted(self.manager.targets.items()) 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._refresh_targets_list() self.refresh_callback() @@ -1192,7 +1192,7 @@ class ConfigManagerDialog: """Save configuration and close dialog.""" self.manager.save() self.refresh_callback() - messagebox.showinfo("Success", "Configuration saved successfully") + messagebox.showinfo("Success", "Configuration saved successfully", parent=self.dialog) self.dialog.destroy()