chat patch
This commit is contained in:
parent
20118199c8
commit
fe05985b14
@ -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)
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user