profile patch
This commit is contained in:
parent
f3a2812ccc
commit
db8ebfe045
@ -82,7 +82,10 @@ class YobbleHomeView(QWidget):
|
|||||||
theme_manager.theme_changed.connect(self.update_styles)
|
theme_manager.theme_changed.connect(self.update_styles)
|
||||||
# Previous content page to return to after search
|
# Previous content page to return to after search
|
||||||
self._prev_content_widget = None
|
self._prev_content_widget = None
|
||||||
|
try:
|
||||||
|
self._update_window_title()
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
# Анти-спам/кулдауны для прав
|
# Анти-спам/кулдауны для прав
|
||||||
self._permission_checking = set() # индекс вкладки, где сейчас идёт проверка
|
self._permission_checking = set() # индекс вкладки, где сейчас идёт проверка
|
||||||
self._denied_recently = {} # {index: bool} — активен кулдаун после "Доступ запрещен"
|
self._denied_recently = {} # {index: bool} — активен кулдаун после "Доступ запрещен"
|
||||||
@ -511,6 +514,10 @@ class YobbleHomeView(QWidget):
|
|||||||
self.update_tab_selection(index)
|
self.update_tab_selection(index)
|
||||||
titles = ["Лента", "Музыка", "Чаты", "Лицо"]
|
titles = ["Лента", "Музыка", "Чаты", "Лицо"]
|
||||||
self.title_label.setText(titles[index])
|
self.title_label.setText(titles[index])
|
||||||
|
try:
|
||||||
|
self._update_window_title()
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
def open_chat_view(self, chat_id: UUID):
|
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.removeWidget(self.chat_view_container)
|
||||||
self.content_stack.addWidget(self.chat_view)
|
self.content_stack.addWidget(self.chat_view)
|
||||||
self.content_stack.setCurrentWidget(self.chat_view)
|
self.content_stack.setCurrentWidget(self.chat_view)
|
||||||
|
|
||||||
self.bottom_bar.hide()
|
self.bottom_bar.hide()
|
||||||
self.burger_menu_button.hide()
|
self.burger_menu_button.hide()
|
||||||
self.back_button.show()
|
self.back_button.show()
|
||||||
@ -664,7 +670,7 @@ class YobbleHomeView(QWidget):
|
|||||||
try:
|
try:
|
||||||
self._prev_content_widget = self.content_stack.currentWidget()
|
self._prev_content_widget = self.content_stack.currentWidget()
|
||||||
except Exception:
|
except Exception:
|
||||||
self._prev_content_widget = None
|
pass
|
||||||
self.title_label.hide()
|
self.title_label.hide()
|
||||||
self.search_button.hide()
|
self.search_button.hide()
|
||||||
self.notification_button.hide()
|
self.notification_button.hide()
|
||||||
@ -672,7 +678,6 @@ class YobbleHomeView(QWidget):
|
|||||||
self.search_input.show()
|
self.search_input.show()
|
||||||
self.search_close_button.show()
|
self.search_close_button.show()
|
||||||
self.search_input.setFocus()
|
self.search_input.setFocus()
|
||||||
|
|
||||||
def exit_search_mode(self):
|
def exit_search_mode(self):
|
||||||
# Прячем поле поиска, очищаем
|
# Прячем поле поиска, очищаем
|
||||||
self.search_input.clear()
|
self.search_input.clear()
|
||||||
@ -688,7 +693,6 @@ class YobbleHomeView(QWidget):
|
|||||||
self.content_stack.setCurrentWidget(self._prev_content_widget)
|
self.content_stack.setCurrentWidget(self._prev_content_widget)
|
||||||
finally:
|
finally:
|
||||||
self._prev_content_widget = None
|
self._prev_content_widget = None
|
||||||
|
|
||||||
def on_search_submit(self):
|
def on_search_submit(self):
|
||||||
"""Обработчик Enter в поле поиска."""
|
"""Обработчик Enter в поле поиска."""
|
||||||
query = (self.search_input.text() or "").strip()
|
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.profile_view.follow_clicked.connect(lambda u: self.show_notification("Скоро: подписка"))
|
||||||
self.bottom_bar.hide()
|
self.bottom_bar.hide()
|
||||||
self.burger_menu_button.hide()
|
self.burger_menu_button.hide()
|
||||||
self.back_button.show()
|
|
||||||
self.content_stack.addWidget(self.profile_view)
|
self.content_stack.addWidget(self.profile_view)
|
||||||
self.content_stack.setCurrentWidget(self.profile_view)
|
self.content_stack.setCurrentWidget(self.profile_view)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -804,6 +807,36 @@ class YobbleHomeView(QWidget):
|
|||||||
self.close_chat_view()
|
self.close_chat_view()
|
||||||
return
|
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):
|
def get_stylesheet(self):
|
||||||
"""Возвращает QSS стили для компонента в зависимости от темы."""
|
"""Возвращает QSS стили для компонента в зависимости от темы."""
|
||||||
is_dark = theme_manager.is_dark()
|
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)
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user