From 1e93ac137404ac8e75d17e6366d54d1903fb0d31 Mon Sep 17 00:00:00 2001 From: mx57 <38256814+mx57@users.noreply.github.com> Date: Wed, 22 Jul 2026 05:37:46 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Complete:=20Implement=20dynamic=20A?= =?UTF-8?q?lways=20on=20Top=20configuration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added set_always_on_top(self, enabled) to PetWindow to toggle Qt.WindowStaysOnTopHint dynamically. - Integrated "Always on Top" checkbox in SettingsDialog. - Dynamically update always_on_top state in TrayMenu upon settings save. - Added test_pet_window_always_on_top unit test to verify flag changes. - Maintained backward compatibility by defaulting always_on_top to True. --- src/ui/main_window.py | 20 ++++++++++++----- src/ui/settings_dialog.py | 8 ++++++- src/ui/tray_menu.py | 3 ++- tests/test_utils.py | 24 +++++++++++++++++++++ verification/screenshots/stats_history.png | Bin 21136 -> 20975 bytes 5 files changed, 48 insertions(+), 7 deletions(-) diff --git a/src/ui/main_window.py b/src/ui/main_window.py index df1843f..ddb34d8 100644 --- a/src/ui/main_window.py +++ b/src/ui/main_window.py @@ -15,11 +15,10 @@ def __init__(self, config_manager=None): self.input_manager = None # Настройка прозрачного и безрамочного окна - self.setWindowFlags( - Qt.WindowStaysOnTopHint | - Qt.FramelessWindowHint | - Qt.Tool - ) + flags = Qt.FramelessWindowHint | Qt.Tool + if not self.config or self.config.get("always_on_top"): + flags |= Qt.WindowStaysOnTopHint + self.setWindowFlags(flags) self.setAttribute(Qt.WA_TranslucentBackground) self.setWindowOpacity(self.config.get("opacity") / 100.0 if self.config else 1.0) @@ -88,6 +87,17 @@ def moveEvent(self, event): def get_cached_pos(self): return self._cached_pos + def set_always_on_top(self, enabled): + """Включает или выключает отображение поверх всех окон.""" + flags = self.windowFlags() + if enabled: + flags |= Qt.WindowStaysOnTopHint + else: + flags &= ~Qt.WindowStaysOnTopHint + self.setWindowFlags(flags) + if self.isVisible(): + self.show() + def set_opacity(self, value): """Устанавливает прозрачность окна (0-100)""" self.setWindowOpacity(value / 100.0) diff --git a/src/ui/settings_dialog.py b/src/ui/settings_dialog.py index 17c1a0f..e91ed2e 100644 --- a/src/ui/settings_dialog.py +++ b/src/ui/settings_dialog.py @@ -1,4 +1,4 @@ -from PySide6.QtWidgets import QDialog, QVBoxLayout, QHBoxLayout, QLabel, QLineEdit, QSlider, QComboBox, QPushButton, QSpinBox +from PySide6.QtWidgets import QDialog, QVBoxLayout, QHBoxLayout, QLabel, QLineEdit, QSlider, QComboBox, QPushButton, QSpinBox, QCheckBox from PySide6.QtCore import Qt from src.utils.bonding_utils import CAT_SKINS @@ -16,6 +16,11 @@ def __init__(self, config, parent=None): self.name_edit = QLineEdit(self.config.get("username")) layout.addWidget(self.name_edit) + # Поверх всех окон + self.always_on_top_cb = QCheckBox("Поверх всех окон") + self.always_on_top_cb.setChecked(self.config.get("always_on_top")) + layout.addWidget(self.always_on_top_cb) + # Громкость layout.addWidget(QLabel("Громкость звука:")) self.volume_slider = QSlider(Qt.Horizontal) @@ -74,6 +79,7 @@ def __init__(self, config, parent=None): def save_settings(self): self.config.set("username", self.name_edit.text()) + self.config.set("always_on_top", self.always_on_top_cb.isChecked()) self.config.set("volume", self.volume_slider.value()) self.config.set("opacity", self.opacity_slider.value()) self.config.set("stretch_interval", self.stretch_spin.value()) diff --git a/src/ui/tray_menu.py b/src/ui/tray_menu.py index c7ca788..7a71b31 100644 --- a/src/ui/tray_menu.py +++ b/src/ui/tray_menu.py @@ -174,8 +174,9 @@ def start_break_timer(self, checked=False): def show_settings(self, checked=False): dialog = SettingsDialog(self.window.config, self.window) if dialog.exec(): - # Обновляем скин и прозрачность в реальном времени + # Обновляем скин, всегда поверх и прозрачность в реальном времени self.window.animation_manager.set_skin(self.window.config.get("skin")) + self.window.set_always_on_top(self.window.config.get("always_on_top")) self.window.set_opacity(self.window.config.get("opacity")) # Обновляем тексты в меню Pomodoro self.update_pomodoro_menu_texts() diff --git a/tests/test_utils.py b/tests/test_utils.py index e363433..51b599c 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -11,12 +11,21 @@ import os import json import time +from PySide6.QtCore import Qt +from src.ui.main_window import PetWindow from src.utils.config_manager import ConfigManager from src.utils.data_store import DataStore from src.core.timer_system import TimerSystem from src.core.input_manager import InputManager class TestUtils(unittest.TestCase): + @classmethod + def setUpClass(cls): + from PySide6.QtWidgets import QApplication + # Initialize offscreen app for testing PetWindow + os.environ["QT_QPA_PLATFORM"] = "offscreen" + cls.app = QApplication.instance() or QApplication(sys.argv) + def setUp(self): self.config_path = "test_settings.json" self.db_path = "test_activity.db" @@ -86,6 +95,21 @@ def test_timer_system_pomodoro(self): self.assertEqual(ts.pomodoro_state, "idle") self.assertEqual(ts.pomodoro_remaining, 0) + def test_pet_window_always_on_top(self): + config = ConfigManager(self.config_path) + # Test initial state with always_on_top = True (default) + config.set("always_on_top", True) + window = PetWindow(config) + self.assertTrue(bool(window.windowFlags() & Qt.WindowStaysOnTopHint)) + + # Test disabling always_on_top dynamically + window.set_always_on_top(False) + self.assertFalse(bool(window.windowFlags() & Qt.WindowStaysOnTopHint)) + + # Test enabling always_on_top dynamically + window.set_always_on_top(True) + self.assertTrue(bool(window.windowFlags() & Qt.WindowStaysOnTopHint)) + def test_input_manager_petting_logic(self): # Мокаем PetWindow, AnimationManager и SoundManager mock_window = MagicMock() diff --git a/verification/screenshots/stats_history.png b/verification/screenshots/stats_history.png index 9dbf8062765750a4b65a9008842a424e0bdee310..1be1d5e4b5d963bbe528e585c7970cbaa9cc3cc9 100644 GIT binary patch literal 20975 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

st*j{@njraRPqSnF?tg&X#(9&hc?X2%Pz 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