chat patch

This commit is contained in:
unknown 2025-10-04 00:20:21 +03:00
parent 20118199c8
commit fe05985b14
2 changed files with 34 additions and 3 deletions

View File

@ -25,6 +25,9 @@ class ChatListView(QWidget):
self.chat_list = QListWidget() self.chat_list = QListWidget()
self.chat_list.setSpacing(2) self.chat_list.setSpacing(2)
# Ensure no default row backgrounds
self.chat_list.setAlternatingRowColors(False)
self.chat_list.setAutoFillBackground(False)
# Disable selection to avoid persistent click highlight # Disable selection to avoid persistent click highlight
self.chat_list.setSelectionMode(QAbstractItemView.NoSelection) self.chat_list.setSelectionMode(QAbstractItemView.NoSelection)
self.chat_list.itemClicked.connect(self.on_chat_item_clicked) self.chat_list.itemClicked.connect(self.on_chat_item_clicked)
@ -72,6 +75,31 @@ class ChatListView(QWidget):
height: 0px; height: 0px;
}} }}
""") """)
# Force transparent backgrounds behind text/items
existing_styles = self.chat_list.styleSheet()
self.chat_list.setStyleSheet(existing_styles + f"""
QListWidget::item {{
background-color: transparent;
}}
QListWidget::item:hover {{
background-color: transparent;
}}
QListWidget::item:selected {{
background-color: transparent;
}}
QListView::item {{
background-color: transparent;
}}
QListView::item:hover {{
background-color: transparent;
}}
QListView::item:selected {{
background-color: transparent;
}}
QListWidget QLabel {{
background-color: transparent;
}}
""")
# Обновляем существующие элементы # Обновляем существующие элементы
for i in range(self.chat_list.count()): for i in range(self.chat_list.count()):
item = self.chat_list.item(i) item = self.chat_list.item(i)

View File

@ -6,6 +6,9 @@ from app.core.theme import theme_manager
class ChatListItemWidget(QWidget): class ChatListItemWidget(QWidget):
def __init__(self, companion_name, last_message, timestamp, avatar_path=None, unread_count=0): def __init__(self, companion_name, last_message, timestamp, avatar_path=None, unread_count=0):
super().__init__() super().__init__()
# Ensure fully transparent background for the item widget
self.setAutoFillBackground(False)
self.setStyleSheet("background-color: transparent;")
self.init_ui(companion_name, last_message, timestamp, avatar_path, unread_count) self.init_ui(companion_name, last_message, timestamp, avatar_path, unread_count)
self.update_theme() self.update_theme()
@ -53,9 +56,9 @@ class ChatListItemWidget(QWidget):
"""Обновляет стили виджета в соответствии с текущей темой.""" """Обновляет стили виджета в соответствии с текущей темой."""
palette = theme_manager.get_current_palette() palette = theme_manager.get_current_palette()
self.name_label.setStyleSheet(f"font-weight: bold; font-size: 11pt; color: {palette['text']};") self.name_label.setStyleSheet(f"font-weight: bold; font-size: 11pt; color: {palette['text']}; background-color: transparent;")
self.last_message_label.setStyleSheet(f"font-size: 9pt; color: {palette['text_secondary']};") self.last_message_label.setStyleSheet(f"font-size: 9pt; color: {palette['text_secondary']}; background-color: transparent;")
self.timestamp_label.setStyleSheet(f"font-size: 8pt; color: {palette['text_secondary']};") self.timestamp_label.setStyleSheet(f"font-size: 8pt; color: {palette['text_secondary']}; background-color: transparent;")
unread_bg = palette['accent'] unread_bg = palette['accent']
unread_text = "#ffffff" unread_text = "#ffffff"