diff --git a/portprotonqt/app.py b/portprotonqt/app.py index 555685b..69e33e5 100644 --- a/portprotonqt/app.py +++ b/portprotonqt/app.py @@ -3,8 +3,7 @@ from PySide6.QtCore import QLocale, QTranslator, QLibraryInfo from PySide6.QtWidgets import QApplication from PySide6.QtGui import QIcon from portprotonqt.main_window import MainWindow -from portprotonqt.tray import SystemTray -from portprotonqt.config_utils import read_theme_from_config, save_fullscreen_config +from portprotonqt.config_utils import save_fullscreen_config from portprotonqt.logger import get_logger from portprotonqt.cli import parse_args @@ -38,35 +37,13 @@ def main(): save_fullscreen_config(True) window.showFullScreen() - current_theme_name = read_theme_from_config() - tray = SystemTray(app, current_theme_name) - tray.show_action.triggered.connect(window.show) - tray.hide_action.triggered.connect(window.hide) - - def recreate_tray(): - nonlocal tray - if tray: - logger.debug("Recreating system tray") - tray.cleanup() - tray = None - current_theme = read_theme_from_config() - tray = SystemTray(app, current_theme) - # Ensure window is not None before connecting signals - if window: - tray.show_action.triggered.connect(window.show) - tray.hide_action.triggered.connect(window.hide) - def cleanup_on_exit(): - nonlocal tray, window + nonlocal window app.aboutToQuit.disconnect() - if tray: - tray.cleanup() - tray = None if window: window.close() app.quit() - window.settings_saved.connect(recreate_tray) app.aboutToQuit.connect(cleanup_on_exit) window.show() diff --git a/portprotonqt/game_card.py b/portprotonqt/game_card.py index 3c526de..f83c52a 100644 --- a/portprotonqt/game_card.py +++ b/portprotonqt/game_card.py @@ -188,7 +188,7 @@ class GameCard(QFrame): self.egsLabel.setVisible(self.egs_visible) # PortProton бейдж - portproton_icon = self.theme_manager.get_icon("ppqt-tray") + portproton_icon = self.theme_manager.get_icon("portproton") self.portprotonLabel = ClickableLabel( "PortProton", icon=portproton_icon, diff --git a/portprotonqt/main_window.py b/portprotonqt/main_window.py index 33fcd38..f886e81 100644 --- a/portprotonqt/main_window.py +++ b/portprotonqt/main_window.py @@ -48,7 +48,6 @@ logger = get_logger(__name__) class MainWindow(QMainWindow): """Main window of PortProtonQt.""" - settings_saved = Signal() games_loaded = Signal(list) update_progress = Signal(int) # Signal to update progress bar update_status_message = Signal(str, int) # Signal to update status message @@ -1331,7 +1330,6 @@ class MainWindow(QMainWindow): self.settingsDebounceTimer.start() - self.settings_saved.emit() # Управление полноэкранным режимом gamepad_connected = self.input_manager.find_gamepad() is not None @@ -1676,7 +1674,7 @@ class MainWindow(QMainWindow): egsLabel.setVisible(egs_visible) # PortProton badge - portproton_icon = self.theme_manager.get_icon("ppqt-tray") + portproton_icon = self.theme_manager.get_icon("portproton") portprotonLabel = ClickableLabel( "PortProton", icon=portproton_icon, diff --git a/portprotonqt/themes/standart/images/icons/ppqt-tray.svg b/portprotonqt/themes/standart/images/icons/portproton.svg similarity index 100% rename from portprotonqt/themes/standart/images/icons/ppqt-tray.svg rename to portprotonqt/themes/standart/images/icons/portproton.svg diff --git a/portprotonqt/tray.py b/portprotonqt/tray.py deleted file mode 100644 index 7c68fb3..0000000 --- a/portprotonqt/tray.py +++ /dev/null @@ -1,49 +0,0 @@ -from PySide6.QtGui import QAction, QIcon -from PySide6.QtWidgets import QSystemTrayIcon, QMenu -from portprotonqt.theme_manager import ThemeManager -from typing import cast -import portprotonqt.themes.standart.styles as default_styles -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("PortProtonQt") - self.tray.setVisible(True) - - # Создаём меню - self.menu = QMenu() - - self.hide_action = QAction("Скрыть окно") - self.menu.addAction(self.hide_action) - - self.show_action = QAction("Показать окно") - self.menu.addAction(self.show_action) - - self.quit_action = QAction("Выход") - self.quit_action.triggered.connect(app.quit) - self.menu.addAction(self.quit_action) - - self.tray.setContextMenu(self.menu) - - def hide_tray(self): - """Скрыть иконку трея""" - if self.tray: - self.tray.setVisible(False) - if self.menu: - self.menu.deleteLater() - self.menu = None - - def cleanup(self): - """Очистка ресурсов трея""" - if self.tray: - self.tray.setVisible(False) - self.tray = None - if self.menu: - self.menu.deleteLater() - self.menu = None