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:
authorwurstsalat <mailtrash@posteo.de>2023-04-23 19:58:32 +0300
committerwurstsalat <mailtrash@posteo.de>2023-04-23 19:58:43 +0300
commitc6ad7550db227b45c823bd9cebabed8b5cc58cbb (patch)
tree578bcc984e4f767bdca37d378e9dc7d39e07f618
parent92f921457d32c06f2cc8eb20deb3db7aab33b5ea (diff)
imprv: GroupchatRoster: Highlight own nick and sort it to the top
Fixes #11431
-rw-r--r--gajim/gtk/groupchat_roster.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/gajim/gtk/groupchat_roster.py b/gajim/gtk/groupchat_roster.py
index 963cca8f0..08a7373c5 100644
--- a/gajim/gtk/groupchat_roster.py
+++ b/gajim/gtk/groupchat_roster.py
@@ -36,6 +36,7 @@ from gajim.common.events import MUCNicknameChanged
from gajim.common.helpers import get_uf_affiliation
from gajim.common.helpers import get_uf_role
from gajim.common.helpers import jid_is_blocked
+from gajim.common.i18n import p_
from gajim.common.modules.contacts import GroupchatContact
from gajim.gtk.builder import get_builder
@@ -488,10 +489,15 @@ class GroupchatRoster(Gtk.Revealer, EventHelper):
nick1 = model[iter1][Column.NICK_OR_GROUP]
nick2 = model[iter2][Column.NICK_OR_GROUP]
+ assert self._contact is not None
+ our_nick = self._contact.nickname
+ if our_nick in (nick1, nick2):
+ # Always show our nickname at the top
+ return -1 if our_nick == nick1 else 1
+
if not app.settings.get('sort_by_show_in_muc'):
return locale.strcoll(nick1.lower(), nick2.lower())
- assert self._contact is not None
contact1 = self._contact.get_resource(nick1)
contact2 = self._contact.get_resource(nick2)
@@ -574,6 +580,9 @@ class GroupchatRoster(Gtk.Revealer, EventHelper):
self._draw_avatar(contact)
name = GLib.markup_escape_text(contact.name)
+ self_contact = self._contact.get_self()
+ if self_contact is not None and self_contact.name == nick:
+ name = p_('own nickname in group chat', '%s (You)' % nick)
# Strike name if blocked
fjid = f'{self._contact.jid}/{nick}'