profile patch

This commit is contained in:
unknown 2025-10-04 03:31:28 +03:00
parent f3a2812ccc
commit db8ebfe045

View File

@ -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)