34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
from PyQt6.QtWidgets import QMessageBox
|
|
|
|
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:
|
|
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
|