diff --git a/ui/hud_overlay_clean.py b/ui/hud_overlay_clean.py index 73ec8bf..dcb47a2 100644 --- a/ui/hud_overlay_clean.py +++ b/ui/hud_overlay_clean.py @@ -466,6 +466,9 @@ class HUDOverlay(QWidget): footer.addWidget(self.drag_hint) layout.addLayout(footer) + + # Ensure container is visible + self.container.show() def _get_stylesheet(self) -> str: """Get stylesheet based on compact mode.""" @@ -517,14 +520,28 @@ class HUDOverlay(QWidget): def _rebuild_ui(self): """Rebuild UI with current config.""" - # Delete old container and recreate + # Hide first to avoid visual glitch + self.hide() + + # Delete old container if hasattr(self, 'container') and self.container: self.container.deleteLater() self.container = None - # Rebuild everything - self._setup_ui() - self._refresh_display() + # Small delay to ensure cleanup + from PyQt6.QtCore import QTimer + QTimer.singleShot(10, self._do_rebuild) + + def _do_rebuild(self): + """Actually rebuild the UI.""" + try: + self._setup_ui() + self._refresh_display() + self.show() + except Exception as e: + logger.error(f"Error rebuilding HUD: {e}") + # Try to recover + self.show() # === Session Management === @@ -552,6 +569,10 @@ class HUDOverlay(QWidget): self.status_label.setText("● Live") self.status_label.setStyleSheet("color: #7FFF7F; font-weight: bold;") + def end_session(self) -> None: + """Alias for stop_session for backward compatibility.""" + self.stop_session() + def stop_session(self) -> None: """Stop the current session.""" self.session_active = False