Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Hörist <philipp@hoerist.com>2022-10-02 22:31:46 +0300
committerPhilipp Hörist <philipp@hoerist.com>2022-10-02 22:31:46 +0300
commit1f2dbcad7483641c639015a5d96ade78c6f264f9 (patch)
treecda40b64f1491d9a5e08700bfdad119efb3a21c2
parent0453e01448ee98f651d00c29a0fa0e255bc97657 (diff)
refactor: ChatListRow: Simplify row header
-rw-r--r--gajim/gtk/chat_list_row.py44
1 files changed, 19 insertions, 25 deletions
diff --git a/gajim/gtk/chat_list_row.py b/gajim/gtk/chat_list_row.py
index 222a496a6..5c8aebbfd 100644
--- a/gajim/gtk/chat_list_row.py
+++ b/gajim/gtk/chat_list_row.py
@@ -78,8 +78,8 @@ class ChatListRow(Gtk.ListBoxRow):
self.type = type_
self.position = position
- self._conversations_label = ConversationsHeader()
- self._pinned_label = PinnedHeader()
+ self._conversations_header = RowHeader(RowHeaderType.CONVERSATIONS)
+ self._pinned_header = RowHeader(RowHeaderType.PINNED)
self._client = app.get_client(account)
@@ -212,7 +212,7 @@ class ChatListRow(Gtk.ListBoxRow):
header = self.get_header()
if header is None:
return None
- assert isinstance(header, BaseHeader)
+ assert isinstance(header, RowHeader)
return header.type
def set_header_type(self, header_type: Optional[RowHeaderType]) -> None:
@@ -223,10 +223,10 @@ class ChatListRow(Gtk.ListBoxRow):
self.set_header(None)
elif header_type == RowHeaderType.PINNED:
- self.set_header(self._pinned_label)
+ self.set_header(self._pinned_header)
else:
- self.set_header(self._conversations_label)
+ self.set_header(self._conversations_header)
def set_message_id(self, message_id: str) -> None:
self.message_id = message_id
@@ -508,29 +508,23 @@ class ChatListRow(Gtk.ListBoxRow):
self.update_name()
-class BaseHeader(Gtk.Box):
- def __init__(self, row_type: RowHeaderType, text: str) -> None:
+class RowHeader(Gtk.Box):
+ def __init__(self, header_type: RowHeaderType) -> None:
Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL)
- self.type = row_type
- label = Gtk.Label(label=text)
- label.set_halign(Gtk.Align.START)
- self.add(label)
- self.get_style_context().add_class('header-box')
- self.show_all()
-
+ self.type = header_type
-class ConversationsHeader(BaseHeader):
+ if header_type == RowHeaderType.CONVERSATIONS:
+ text = _('Conversations')
+ else:
+ text = _('Pinned')
- def __init__(self):
- BaseHeader.__init__(self,
- RowHeaderType.CONVERSATIONS,
- _('Conversations'))
+ label = Gtk.Label(label=text)
+ label.set_halign(Gtk.Align.START)
+ self.add(label)
-class PinnedHeader(BaseHeader):
+ self.get_style_context().add_class('header-box')
+ if header_type == RowHeaderType.PINNED:
+ self.get_style_context().add_class('header-box-first')
- def __init__(self):
- BaseHeader.__init__(self,
- RowHeaderType.PINNED,
- _('Pinned'))
- self.get_style_context().add_class('header-box-first')
+ self.show_all()