fix: completly exit on app close
Some checks failed
Code and build check / Check code (push) Failing after 1m35s
Code and build check / Build with uv (push) Successful in 56s

Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
This commit is contained in:
2025-06-15 22:33:33 +05:00
parent 14687d12ca
commit 56b105d7b4
3 changed files with 67 additions and 7 deletions

View File

@ -7,12 +7,13 @@ from portprotonqt.config_utils import read_theme_from_config
class SystemTray:
def __init__(self, app, theme=None):
self.app = app
self.theme_manager = ThemeManager()
self.theme = theme if theme is not None else default_styles
self.current_theme_name = read_theme_from_config()
self.tray = QSystemTrayIcon()
self.tray.setIcon(cast(QIcon, self.theme_manager.get_icon("ppqt-tray", self.current_theme_name)))
self.tray.setToolTip("PortProton QT")
self.tray.setToolTip("PortProtonQt")
self.tray.setVisible(True)
# Создаём меню
@ -32,4 +33,16 @@ class SystemTray:
def hide_tray(self):
"""Скрыть иконку трея"""
self.tray.hide()
if self.tray:
self.tray.setVisible(False)
self.tray.setContextMenu(None)
def cleanup(self):
"""Очистка ресурсов трея"""
self.hide_tray()
if self.menu:
self.menu.deleteLater()
self.menu = None
if self.tray:
self.tray.deleteLater()
self.tray = None