From 86d5e031578f47853fcde361a187d7f827db38c4 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 4 Oct 2025 02:10:01 +0300 Subject: [PATCH] chat patch --- app/ui/views/yobble_home_view.py | 62 ++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/app/ui/views/yobble_home_view.py b/app/ui/views/yobble_home_view.py index ca893e4..022cf7f 100644 --- a/app/ui/views/yobble_home_view.py +++ b/app/ui/views/yobble_home_view.py @@ -7,6 +7,7 @@ from PySide6.QtWidgets import ( ) from PySide6.QtCore import Qt, QPropertyAnimation, QEasingCurve, QTimer from PySide6.QtGui import QColor +from PySide6.QtWidgets import QLineEdit from app.core.theme import theme_manager from app.core.dialogs import show_themed_messagebox @@ -264,6 +265,13 @@ class YobbleHomeView(QWidget): top_bar_layout.addWidget(self.title_label) top_bar_layout.addStretch() + # Поле ввода для поиска (скрыто по умолчанию) + self.search_input = QLineEdit() + self.search_input.setObjectName("SearchInput") + self.search_input.setPlaceholderText("Поиск…") + self.search_input.hide() + top_bar_layout.addWidget(self.search_input, 1) + # Новые кнопки справа self.search_button = QPushButton("🔍") self.search_button.setObjectName("SearchButton") @@ -272,12 +280,27 @@ class YobbleHomeView(QWidget): top_bar_layout.addWidget(self.search_button) self.search_button.clicked.connect(self.handle_search_click) + # Кнопка закрытия режима поиска (скрыта по умолчанию) + self.search_close_button = QPushButton("✕") + self.search_close_button.setObjectName("SearchCloseButton") + self.search_close_button.setFocusPolicy(Qt.NoFocus) + self.search_close_button.setCursor(Qt.PointingHandCursor) + self.search_close_button.hide() + top_bar_layout.addWidget(self.search_close_button) + self.search_close_button.clicked.connect(self.exit_search_mode) + self.notification_button = QPushButton("🔔") self.notification_button.setObjectName("NotificationButton") self.notification_button.setFocusPolicy(Qt.NoFocus) self.notification_button.setCursor(Qt.PointingHandCursor) top_bar_layout.addWidget(self.notification_button) self.notification_button.clicked.connect(self.handle_notification_click) + # Иконки для кнопок (визуальная корректировка) + try: + self.search_button.setText("🔍") + self.notification_button.setText("🔔") + except Exception: + pass return top_bar_widget @@ -616,6 +639,31 @@ class YobbleHomeView(QWidget): "🔍 Функция поиска пока в разработке." ) + # Переопределяем обработчик поиска и добавляем режим поиска + def handle_search_click(self): + """Включает режим поиска: показывает поле и крестик.""" + self.enter_search_mode() + + def enter_search_mode(self): + # Скрываем элементы, показываем поиск + self.title_label.hide() + self.search_button.hide() + self.notification_button.hide() + # Показываем поле ввода и кнопку закрытия + self.search_input.show() + self.search_close_button.show() + self.search_input.setFocus() + + def exit_search_mode(self): + # Прячем поле поиска, очищаем + self.search_input.clear() + self.search_input.hide() + self.search_close_button.hide() + # Возвращаем элементы + self.title_label.show() + self.search_button.show() + self.notification_button.show() + def handle_notification_click(self): """Пустышка для кнопки уведомлений.""" show_themed_messagebox( @@ -718,6 +766,20 @@ class YobbleHomeView(QWidget): outline: none; background-color: transparent; }} + #SearchInput {{ + border-radius: 8px; + padding: 6px 10px; + font-size: 14px; + color: {title_color}; + background-color: {bar_bg_color}; + border: 1px solid {top_bar_border}; + }} + #SearchCloseButton {{ + font-size: 18px; + padding: 5px; + color: {title_color}; + background: transparent; + }} /* Нижняя панель */ #BottomBar {{