Insta geht wieder, wegen dem Domain Umzug
Dieser Commit ist enthalten in:
@ -11,7 +11,7 @@ from PyQt5.QtWidgets import (
|
||||
QLabel, QPushButton, QStackedWidget, QTabWidget,
|
||||
QAction, QMessageBox
|
||||
)
|
||||
from PyQt5.QtCore import Qt, pyqtSignal, QSize, QFile
|
||||
from PyQt5.QtCore import Qt, pyqtSignal, QSize, QFile, QTimer
|
||||
from PyQt5.QtGui import QIcon, QFont, QPixmap
|
||||
from localization.language_manager import LanguageManager
|
||||
|
||||
@ -114,6 +114,14 @@ class MainWindow(QMainWindow):
|
||||
# Verbinde Signale
|
||||
self.connect_signals()
|
||||
|
||||
# Timer für periodische Guard-Status-Prüfung des Zurück-Buttons
|
||||
self.guard_check_timer = QTimer()
|
||||
self.guard_check_timer.timeout.connect(self._update_back_button_state)
|
||||
self.guard_check_timer.start(1000) # Alle 1 Sekunde prüfen
|
||||
|
||||
# Initiale Button-Status-Prüfung
|
||||
self._update_back_button_state()
|
||||
|
||||
def connect_signals(self):
|
||||
"""Verbindet die internen Signale."""
|
||||
# Platform-Selector-Signal verbinden
|
||||
@ -267,6 +275,37 @@ class MainWindow(QMainWindow):
|
||||
"""Setzt eine Nachricht in der Statusleiste."""
|
||||
self.statusBar().showMessage(message)
|
||||
|
||||
def _update_back_button_state(self):
|
||||
"""
|
||||
Aktualisiert den Status des Zurück-Buttons basierend auf ProcessGuard.
|
||||
|
||||
Deaktiviert den Zurück-Button wenn ein Prozess läuft oder Pause aktiv ist,
|
||||
um zu verhindern dass User während Account-Erstellung/Login navigieren.
|
||||
"""
|
||||
from utils.process_guard import get_guard
|
||||
guard = get_guard()
|
||||
|
||||
# Prüfe ob blockiert
|
||||
is_locked = guard.is_locked()
|
||||
is_paused = guard.is_paused()
|
||||
is_blocked = is_locked or is_paused
|
||||
|
||||
# Button entsprechend setzen (nur wenn auf Platform-View)
|
||||
if self.stacked_widget.currentWidget() == self.platform_container:
|
||||
self.back_button.setEnabled(not is_blocked)
|
||||
|
||||
# Tooltip setzen
|
||||
if is_blocked:
|
||||
status_msg = guard.get_status_message()
|
||||
self.back_button.setToolTip(f"⚠ {status_msg}")
|
||||
else:
|
||||
# Reset Tooltip
|
||||
if self.language_manager:
|
||||
tooltip = self.language_manager.get_text("buttons.back", "↩ Zurück")
|
||||
else:
|
||||
tooltip = "↩ Zurück"
|
||||
self.back_button.setToolTip(tooltip)
|
||||
|
||||
def add_log_widget(self, text_widget):
|
||||
"""Fügt einen GUI-Handler zum Logger hinzu."""
|
||||
add_gui_handler(logger, text_widget)
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren