Daniel Brötzmann pushed to branch blocking at gajim / gajim
Commits:
4a9c6245 by wurstsalat at 2025-05-10T14:25:39+02:00
imprv: Groupchat details: Add sidebar row header for administration
- - - - -
3 changed files:
- gajim/data/style/gajim.css
- gajim/gtk/groupchat_details.py
- gajim/gtk/sidebar_switcher.py
Changes:
=====================================
gajim/data/style/gajim.css
=====================================
@@ -1007,6 +1007,10 @@ list.settings-menu row {
list.settings-menu row label {
padding-left: 12px;
}
+list.settings-menu .sidebar-row-header {
+ padding: 12px 18px;
+ font-weight: bold;
+}
popover.combo list {
min-width: 200px;
=====================================
gajim/gtk/groupchat_details.py
=====================================
@@ -22,6 +22,8 @@
from gajim.gtk.groupchat_outcasts import GroupchatOutcasts
from gajim.gtk.groupchat_settings import GroupChatSettings
from gajim.gtk.omemo_trust_manager import OMEMOTrustManager
+from gajim.gtk.sidebar_switcher import Row
+from gajim.gtk.sidebar_switcher import RowHeader
from gajim.gtk.sidebar_switcher import SideBarSwitcher
from gajim.gtk.structs import AccountJidParam
from gajim.gtk.widgets import GajimAppWindow
@@ -47,6 +49,7 @@ def __init__(self, contact: GroupchatContact, page: str |
None = None) -> None:
self._ui = get_builder("groupchat_details.ui")
self._switcher = SideBarSwitcher(width=250)
+ self._switcher.set_header_func(self._sidebar_header_func)
self._switcher.set_stack(self._ui.main_stack, rows_visible=False)
self._ui.main_grid.attach(self._switcher, 0, 0, 1, 1)
self.set_child(self._ui.main_grid)
@@ -81,6 +84,16 @@ def _cleanup(self) -> None:
del self._groupchat_manage
del self._groupchat_info
+ @staticmethod
+ def _sidebar_header_func(row: Row, before: Row | None) -> None:
+ if before is None:
+ row.set_header(None)
+ else:
+ if row.name == "manage":
+ row.set_header(RowHeader(label_text=_("Administration")))
+ else:
+ row.set_header(None)
+
def _on_disco_info_update(
self, _contact: GroupchatContact, _signal_name: str
) -> None:
=====================================
gajim/gtk/sidebar_switcher.py
=====================================
@@ -28,6 +28,7 @@ def __init__(self, width: int | None = None) -> None:
self._rows: dict[str, Row] = {}
def do_unroot(self) -> None:
+ self.set_header_func(None)
Gtk.ListBox.do_unroot(self)
self._disconnect_all()
del self._stack
@@ -93,3 +94,11 @@ def __init__(
box.append(label)
self.set_child(box)
self.set_visible(visible)
+
+
+class RowHeader(Gtk.Box):
+ def __init__(self, label_text: str) -> None:
+ Gtk.Box.__init__(self, hexpand=True)
+ self.add_css_class("sidebar-row-header")
+ label = Gtk.Label(label=label_text)
+ self.append(label)
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/4a9c62454161fa67439da9b8050ba0f17efb57f8
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/4a9c62454161fa67439da9b8050ba0f17efb57f8
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]