This commit is contained in:
fiaxh 2018-11-02 15:23:58 +01:00
parent 1e54a442ba
commit ddd17e720e
2 changed files with 10 additions and 6 deletions

View file

@ -44,7 +44,7 @@ public class ConversationTitlebar : Gtk.HeaderBar {
stream_interactor.get_module(MucManager.IDENTITY).subject_set.connect((account, jid, subject) => { stream_interactor.get_module(MucManager.IDENTITY).subject_set.connect((account, jid, subject) => {
if (conversation != null && conversation.counterpart.equals_bare(jid) && conversation.account.equals(account)) { 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)); set_title(Util.get_conversation_display_name(stream_interactor, conversation));
} }
private void update_subtitle() { private void update_subtitle(string? subtitle = null) {
if (conversation.type_ == Conversation.Type.GROUPCHAT) { if (subtitle != null) {
string groupchat_subject = stream_interactor.get_module(MucManager.IDENTITY).get_groupchat_subject(conversation.counterpart, conversation.account); set_subtitle(subtitle);
set_subtitle(groupchat_subject); } 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);
} }
} }
} }

View file

@ -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) { public static string get_display_name(StreamInteractor stream_interactor, Jid jid, Account account) {
if (stream_interactor.get_module(MucManager.IDENTITY).is_groupchat(jid, 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); 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 room_name;
} }
return jid.bare_jid.to_string(); return jid.bare_jid.to_string();