from PyQt6.QtWidgets import QMessageBox from typing import Optional class AlertManager: def __init__(self, language_manager, theme_manager) -> None: self.language_manager = language_manager self.theme_manager = theme_manager def show_success(self, success_key: str, parent=None) -> None: success_title = self.language_manager.get_text("success") success_text = self.language_manager.get_text(success_key) QMessageBox.information(parent, success_title, success_text) def show_error(self, error_key: str, parent=None) -> None: error_title = self.language_manager.get_text("error") error_text = self.language_manager.get_text(error_key) QMessageBox.critical(parent, error_title, error_text) def show_choice(self, message: str, parent=None) -> bool: """ Affiche une boîte de dialogue Oui/Non. Si detailed_text est fourni, l'ajoute comme texte détaillé (affichable par l'utilisateur). """ box = QMessageBox(parent) box.setWindowTitle(self.language_manager.get_text("confirmation")) box.setText(message) box.setIcon(QMessageBox.Icon.Question) yes = box.addButton(QMessageBox.StandardButton.Yes) no = box.addButton(QMessageBox.StandardButton.No) yes.setText(self.language_manager.get_text("yes")) no.setText(self.language_manager.get_text("no")) box.setDefaultButton(yes) box.exec() return box.clickedButton() == yes