diff --git a/app/ui/views/yobble_home_view.py b/app/ui/views/yobble_home_view.py index c38813e..b079881 100644 --- a/app/ui/views/yobble_home_view.py +++ b/app/ui/views/yobble_home_view.py @@ -82,7 +82,10 @@ class YobbleHomeView(QWidget): theme_manager.theme_changed.connect(self.update_styles) # Previous content page to return to after search self._prev_content_widget = None - + try: + self._update_window_title() + except Exception: + pass # Анти-спам/кулдауны для прав self._permission_checking = set() # индекс вкладки, где сейчас идёт проверка self._denied_recently = {} # {index: bool} — активен кулдаун после "Доступ запрещен" @@ -511,6 +514,10 @@ class YobbleHomeView(QWidget): self.update_tab_selection(index) titles = ["Лента", "Музыка", "Чаты", "Лицо"] self.title_label.setText(titles[index]) + try: + self._update_window_title() + except Exception: + pass def open_chat_view(self, chat_id: UUID): """Открывает виджет чата, загружая его историю.""" @@ -541,7 +548,6 @@ class YobbleHomeView(QWidget): self.content_stack.removeWidget(self.chat_view_container) self.content_stack.addWidget(self.chat_view) self.content_stack.setCurrentWidget(self.chat_view) - self.bottom_bar.hide() self.burger_menu_button.hide() self.back_button.show() @@ -664,7 +670,7 @@ class YobbleHomeView(QWidget): try: self._prev_content_widget = self.content_stack.currentWidget() except Exception: - self._prev_content_widget = None + pass self.title_label.hide() self.search_button.hide() self.notification_button.hide() @@ -672,7 +678,6 @@ class YobbleHomeView(QWidget): self.search_input.show() self.search_close_button.show() self.search_input.setFocus() - def exit_search_mode(self): # Прячем поле поиска, очищаем self.search_input.clear() @@ -688,7 +693,6 @@ class YobbleHomeView(QWidget): self.content_stack.setCurrentWidget(self._prev_content_widget) finally: self._prev_content_widget = None - def on_search_submit(self): """Обработчик Enter в поле поиска.""" query = (self.search_input.text() or "").strip() @@ -747,7 +751,6 @@ class YobbleHomeView(QWidget): self.profile_view.follow_clicked.connect(lambda u: self.show_notification("Скоро: подписка")) self.bottom_bar.hide() self.burger_menu_button.hide() - self.back_button.show() self.content_stack.addWidget(self.profile_view) self.content_stack.setCurrentWidget(self.profile_view) except Exception as e: @@ -804,6 +807,36 @@ class YobbleHomeView(QWidget): self.close_chat_view() return + def _update_window_title(self): + """Обновляет заголовок окна в зависимости от текущего экрана.""" + pass + # try: + # # Профиль + # if getattr(self, 'profile_view', None) and self.content_stack.currentWidget() is self.profile_view: + # user = getattr(self.profile_view, 'user', {}) or {} + # login = user.get('login') or '' + # name = user.get('full_name') or user.get('custom_name') or login + # self.setWindowTitle(f"Профиль — {name}") + # return + # # Чат + # if getattr(self, 'chat_view', None) and self.content_stack.currentWidget() is self.chat_view: + # self.setWindowTitle("Чат") + # return + # # Результаты поиска + # if getattr(self, 'search_results_view', None) and self.content_stack.currentWidget() is self.search_results_view: + # self.setWindowTitle("Поиск") + # return + # # Вкладки — берём текст из заголовка + # current_title = "" + # try: + # current_title = self.title_label.text() + # except Exception: + # pass + # base = "Yobble Messenger" + # self.setWindowTitle(f"{base} — {current_title}" if current_title else base) + # except Exception: + # pass + def get_stylesheet(self): """Возвращает QSS стили для компонента в зависимости от темы.""" is_dark = theme_manager.is_dark() @@ -994,16 +1027,3 @@ class YobbleHomeView(QWidget): ); }} """ - - # def _update_window_title(self, title): - # def set_title(): - # window = self.window() - # if not window: - # return - - # title = f"{title} | {config.APP_HEADER}" - - # window.setWindowTitle(title) - - # # Откладываем выполнение, чтобы `self.window()` уже был готов - # QTimer.singleShot(0, set_title)