diff options
Diffstat (limited to 'main/src/ui')
-rw-r--r-- | main/src/ui/conversation_titlebar/view.vala | 14 | ||||
-rw-r--r-- | main/src/ui/util/helper.vala | 2 |
2 files changed, 10 insertions, 6 deletions
diff --git a/main/src/ui/conversation_titlebar/view.vala b/main/src/ui/conversation_titlebar/view.vala index 924ca15e..7ee47311 100644 --- a/main/src/ui/conversation_titlebar/view.vala +++ b/main/src/ui/conversation_titlebar/view.vala @@ -44,7 +44,7 @@ public class ConversationTitlebar : Gtk.HeaderBar { stream_interactor.get_module(MucManager.IDENTITY).subject_set.connect((account, jid, subject) => { if (conversation != null && conversation.counterpart.equals_bare(jid) && conversation.account.equals(account)) { - update_subtitle(); + update_subtitle(subject); } }); } @@ -63,10 +63,14 @@ public class ConversationTitlebar : Gtk.HeaderBar { set_title(Util.get_conversation_display_name(stream_interactor, conversation)); } - private void update_subtitle() { - if (conversation.type_ == Conversation.Type.GROUPCHAT) { - string groupchat_subject = stream_interactor.get_module(MucManager.IDENTITY).get_groupchat_subject(conversation.counterpart, conversation.account); - set_subtitle(groupchat_subject); + private void update_subtitle(string? subtitle = null) { + if (subtitle != null) { + set_subtitle(subtitle); + } else if (conversation.type_ == Conversation.Type.GROUPCHAT) { + string subject = stream_interactor.get_module(MucManager.IDENTITY).get_groupchat_subject(conversation.counterpart, conversation.account); + set_subtitle(subject != "" ? subject : null); + } else { + set_subtitle(null); } } } diff --git a/main/src/ui/util/helper.vala b/main/src/ui/util/helper.vala index e2c8840f..e51b8344 100644 --- a/main/src/ui/util/helper.vala +++ b/main/src/ui/util/helper.vala @@ -61,7 +61,7 @@ public static string get_conversation_display_name(StreamInteractor stream_inter public static string get_display_name(StreamInteractor stream_interactor, Jid jid, Account account) { if (stream_interactor.get_module(MucManager.IDENTITY).is_groupchat(jid, account)) { string room_name = stream_interactor.get_module(MucManager.IDENTITY).get_room_name(account, jid); - if (room_name != null) { + if (room_name != null && room_name != jid.localpart) { return room_name; } return jid.bare_jid.to_string(); |