from PyQt5.QtWidgets import QDialog, QVBoxLayout, QLabel, QPushButton from PyQt5.QtCore import Qt from updates.version import get_version class AboutDialog(QDialog): """Dialog that shows information about the application.""" def __init__(self, language_manager=None, parent=None): super().__init__(parent) # Remove the standard "?" help button that appears on some platforms self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint) self.language_manager = language_manager self._setup_ui() if self.language_manager: self.language_manager.language_changed.connect(self.update_texts) self.update_texts() def _setup_ui(self): self.setWindowTitle("About") layout = QVBoxLayout(self) self.info_label = QLabel() self.info_label.setAlignment(Qt.AlignCenter) self.info_label.setWordWrap(True) layout.addWidget(self.info_label) self.close_button = QPushButton("OK") self.close_button.clicked.connect(self.accept) layout.addWidget(self.close_button, alignment=Qt.AlignCenter) def update_texts(self): version_text = ( self.language_manager.get_text("main.version", f"Version {get_version()}") if self.language_manager else f"Version {get_version()}" ) lm = self.language_manager title = "Social Media Account Generator" if not lm else lm.get_text("main.title", "Social Media Account Generator") support = ( lm.get_text( "about_dialog.support", "Für Support kontaktieren Sie uns unter: support@example.com", ) if lm else "Für Support kontaktieren Sie uns unter: support@example.com" ) license_text = ( lm.get_text( "about_dialog.license", "Diese Software ist lizenzpflichtig und darf nur mit gültiger Lizenz verwendet werden.", ) if lm else "Diese Software ist lizenzpflichtig und darf nur mit gültiger Lizenz verwendet werden." ) lines = [ f"
{version_text}
", "© 2025 Chimaira
", f"{support}
", f"{license_text}
", ] self.info_label.setText("".join(lines)) if lm: self.setWindowTitle(lm.get_text("menu.about", "Über")) self.close_button.setText(lm.get_text("buttons.ok", "OK"))