From a2384a0061e6be3cbfd42536f8dd8bedb35393f1 Mon Sep 17 00:00:00 2001 From: mx57 <38256814+mx57@users.noreply.github.com> Date: Sat, 5 Sep 2026 05:29:10 +0000 Subject: [PATCH] feat: add customizable pet size setting (50-250px) --- src/ui/main_window.py | 15 ++++++++-- src/ui/settings_dialog.py | 16 +++++++++++ src/ui/tray_menu.py | 3 +- src/utils/config_manager.py | 3 +- tests/test_utils.py | 31 +++++++++++++++++++++ verification/screenshots/stats_history.png | Bin 22831 -> 23364 bytes 6 files changed, 64 insertions(+), 4 deletions(-) diff --git a/src/ui/main_window.py b/src/ui/main_window.py index e619905..d9e8df9 100644 --- a/src/ui/main_window.py +++ b/src/ui/main_window.py @@ -44,9 +44,12 @@ def __init__(self, config_manager=None): self.animation_manager = AnimationManager(self.pet_label, self.config) self.animation_manager.play_state("idle") - # Применяем прозрачность из конфига + # Применяем прозрачность и размер из конфига if self.config: self.set_opacity(self.config.get("opacity")) + pet_size = self.config.get("pet_size") + else: + pet_size = 100 self.last_state_before_drag = "idle" @@ -55,7 +58,7 @@ def __init__(self, config_manager=None): self.is_dragging = False self.shake_count = 0 self.last_shake_time = 0 - self.original_size = QSize(100, 100) + self.original_size = QSize(pet_size, pet_size) # Начальный размер self.resize(self.original_size) @@ -91,6 +94,14 @@ def set_opacity(self, value): """Устанавливает прозрачность окна (0-100)""" self.setWindowOpacity(value / 100.0) + def set_pet_size(self, size_px): + """Динамически изменяет базовый размер питомца в пикселях.""" + if self.config: + self.config.set("pet_size", size_px) + self.original_size = QSize(size_px, size_px) + self.resize(self.original_size) + self.animation_manager.update_size(self.size()) + def set_always_on_top(self, enabled): """Включает или выключает режим 'Поверх всех окон' динамически""" if self.config: diff --git a/src/ui/settings_dialog.py b/src/ui/settings_dialog.py index 5339824..6b69990 100644 --- a/src/ui/settings_dialog.py +++ b/src/ui/settings_dialog.py @@ -52,6 +52,21 @@ def __init__(self, config, parent=None): self.opacity_slider.valueChanged.connect(lambda v: self.opacity_val_label.setText(f"{v}%")) layout.addWidget(self.opacity_slider) + # Размер питомца + size_header_layout = QHBoxLayout() + size_header_layout.addWidget(QLabel("Размер котика:")) + self.size_val_label = QLabel(f"{self.config.get('pet_size')} px") + self.size_val_label.setStyleSheet("font-weight: bold; color: #555;") + size_header_layout.addStretch() + size_header_layout.addWidget(self.size_val_label) + layout.addLayout(size_header_layout) + + self.size_slider = QSlider(Qt.Horizontal) + self.size_slider.setRange(50, 250) + self.size_slider.setValue(self.config.get("pet_size")) + self.size_slider.valueChanged.connect(lambda v: self.size_val_label.setText(f"{v} px")) + layout.addWidget(self.size_slider) + # Интервал растяжки layout.addWidget(QLabel("Интервал растяжки (мин):")) self.stretch_spin = QSpinBox() @@ -168,6 +183,7 @@ def save_settings(self): self.config.set("always_on_top", self.always_on_top_check.isChecked()) self.config.set("volume", self.volume_slider.value()) self.config.set("opacity", self.opacity_slider.value()) + self.config.set("pet_size", self.size_slider.value()) self.config.set("stretch_interval", self.stretch_spin.value()) self.config.set("pomodoro_work", self.pomodoro_work_spin.value()) self.config.set("pomodoro_break", self.pomodoro_break_spin.value()) diff --git a/src/ui/tray_menu.py b/src/ui/tray_menu.py index b3d0392..ac423da 100644 --- a/src/ui/tray_menu.py +++ b/src/ui/tray_menu.py @@ -183,9 +183,10 @@ 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_opacity(self.window.config.get("opacity")) + self.window.set_pet_size(self.window.config.get("pet_size")) # Обновляем меню скинов self.update_skin_menu() # Обновляем режим "Поверх всех окон" в реальном времени diff --git a/src/utils/config_manager.py b/src/utils/config_manager.py index e6ad878..fb39511 100644 --- a/src/utils/config_manager.py +++ b/src/utils/config_manager.py @@ -12,7 +12,8 @@ class ConfigManager: "volume": 70, "language": "ru", "skin": "default", - "opacity": 100 + "opacity": 100, + "pet_size": 100 } def __init__(self, config_path="settings.json"): diff --git a/tests/test_utils.py b/tests/test_utils.py index 1a72e44..69c5625 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -57,6 +57,37 @@ def test_always_on_top_logic(self): flags = window.windowFlags() self.assertFalse(bool(flags & Qt.WindowStaysOnTopHint)) self.assertFalse(config.get("always_on_top")) + window.close() + + def test_pet_size_logic(self): + os.environ["QT_QPA_PLATFORM"] = "offscreen" + from PySide6.QtWidgets import QApplication + app = QApplication.instance() or QApplication([]) + + config = ConfigManager(self.config_path) + + # 1. Проверяем значение по умолчанию (100) + self.assertEqual(config.get("pet_size"), 100) + + # 2. Перезаписываем значение в конфиге + config.set("pet_size", 150) + self.assertEqual(config.get("pet_size"), 150) + + # 3. Инициализируем окно PetWindow с размером 150 + window = PetWindow(config) + self.assertEqual(window.original_size.width(), 150) + self.assertEqual(window.original_size.height(), 150) + self.assertEqual(window.width(), 150) + self.assertEqual(window.height(), 150) + + # 4. Динамически меняем размер на 200 через set_pet_size + window.set_pet_size(200) + self.assertEqual(window.original_size.width(), 200) + self.assertEqual(window.original_size.height(), 200) + self.assertEqual(window.width(), 200) + self.assertEqual(window.height(), 200) + self.assertEqual(config.get("pet_size"), 200) + window.close() def test_config_manager(self): config = ConfigManager(self.config_path) diff --git a/verification/screenshots/stats_history.png b/verification/screenshots/stats_history.png index 1fa59b4d5793668869a36bebd63e723b22c6927b..63d97870d1aa8615a713555e664d0d884e5d9880 100644 GIT binary patch literal 23364 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 W7M+g*0RLjKFKIv5S1*5N6Z$_7)+>Dg literal 22831 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
    ~#Z^ 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