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