chat patch
This commit is contained in:
		
							parent
							
								
									1affc2f8d7
								
							
						
					
					
						commit
						86d5e03157
					
				@ -7,6 +7,7 @@ from PySide6.QtWidgets import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
from PySide6.QtCore import Qt, QPropertyAnimation, QEasingCurve, QTimer
 | 
					from PySide6.QtCore import Qt, QPropertyAnimation, QEasingCurve, QTimer
 | 
				
			||||||
from PySide6.QtGui import QColor
 | 
					from PySide6.QtGui import QColor
 | 
				
			||||||
 | 
					from PySide6.QtWidgets import QLineEdit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from app.core.theme import theme_manager
 | 
					from app.core.theme import theme_manager
 | 
				
			||||||
from app.core.dialogs import show_themed_messagebox
 | 
					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.addWidget(self.title_label)
 | 
				
			||||||
        top_bar_layout.addStretch()
 | 
					        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 = QPushButton("🔍")
 | 
				
			||||||
        self.search_button.setObjectName("SearchButton")
 | 
					        self.search_button.setObjectName("SearchButton")
 | 
				
			||||||
@ -272,12 +280,27 @@ class YobbleHomeView(QWidget):
 | 
				
			|||||||
        top_bar_layout.addWidget(self.search_button)
 | 
					        top_bar_layout.addWidget(self.search_button)
 | 
				
			||||||
        self.search_button.clicked.connect(self.handle_search_click)
 | 
					        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 = QPushButton("🔔")
 | 
				
			||||||
        self.notification_button.setObjectName("NotificationButton")
 | 
					        self.notification_button.setObjectName("NotificationButton")
 | 
				
			||||||
        self.notification_button.setFocusPolicy(Qt.NoFocus)
 | 
					        self.notification_button.setFocusPolicy(Qt.NoFocus)
 | 
				
			||||||
        self.notification_button.setCursor(Qt.PointingHandCursor)
 | 
					        self.notification_button.setCursor(Qt.PointingHandCursor)
 | 
				
			||||||
        top_bar_layout.addWidget(self.notification_button)
 | 
					        top_bar_layout.addWidget(self.notification_button)
 | 
				
			||||||
        self.notification_button.clicked.connect(self.handle_notification_click)
 | 
					        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
 | 
					        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):
 | 
					    def handle_notification_click(self):
 | 
				
			||||||
        """Пустышка для кнопки уведомлений."""
 | 
					        """Пустышка для кнопки уведомлений."""
 | 
				
			||||||
        show_themed_messagebox(
 | 
					        show_themed_messagebox(
 | 
				
			||||||
@ -718,6 +766,20 @@ class YobbleHomeView(QWidget):
 | 
				
			|||||||
                outline: none;
 | 
					                outline: none;
 | 
				
			||||||
                background-color: transparent;
 | 
					                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 {{
 | 
					            #BottomBar {{
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user