From f105af01effc58ad9293a5a06f90ee231e13eb61 Mon Sep 17 00:00:00 2001 From: Boris Yumankulov Date: Fri, 13 Jun 2025 17:43:49 +0500 Subject: [PATCH] fix: resolve Pyright type errors in SystemOverlay class Signed-off-by: Boris Yumankulov --- portprotonqt/system_overlay.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/portprotonqt/system_overlay.py b/portprotonqt/system_overlay.py index 1e49be6..7e5c845 100644 --- a/portprotonqt/system_overlay.py +++ b/portprotonqt/system_overlay.py @@ -1,6 +1,5 @@ import subprocess -from PySide6.QtWidgets import QDialog, QVBoxLayout, QPushButton, QMessageBox -from PySide6.QtWidgets import QApplication +from PySide6.QtWidgets import QDialog, QVBoxLayout, QPushButton, QMessageBox, QApplication, QWidget from PySide6.QtCore import Qt from portprotonqt.logger import get_logger import os @@ -94,19 +93,21 @@ class SystemOverlay(QDialog): layout.addWidget(cancel_button) def showEvent(self, event): - """Переопределяем showEvent для центрирования окна и установки фокуса""" + """Override showEvent to center window and set focus.""" super().showEvent(event) - # Центрируем окно относительно родителя или экрана - if self.parent(): - self.move(self.parent().geometry().center() - self.rect().center()) + # Center window relative to parent or screen + parent = self.parent() + if isinstance(parent, QWidget) and parent.isVisible(): + self.move(parent.geometry().center() - self.rect().center()) else: screen_geometry = QApplication.primaryScreen().availableGeometry() self.move(screen_geometry.center() - self.rect().center()) - # Устанавливаем фокус на первый элемент - self.setFocus() - self.findChild(QPushButton).setFocus() + # Set focus on first button + button = self.findChild(QPushButton) + if button is not None: + button.setFocus() def reboot(self): try: