Fix empty display names, fix update contact roster name
This commit is contained in:
parent
e852a0a60b
commit
5425243203
|
@ -55,15 +55,15 @@ public class RosterManager : StreamInteractionModule, Object {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void on_account_added(Account account) {
|
private void on_account_added(Account account) {
|
||||||
stream_interactor.module_manager.get_module(account, Roster.Module.IDENTITY).received_roster.connect( (stream, roster) => {
|
stream_interactor.module_manager.get_module(account, Roster.Module.IDENTITY).received_roster.connect_after( (stream, roster) => {
|
||||||
foreach (Roster.Item roster_item in roster) {
|
foreach (Roster.Item roster_item in roster) {
|
||||||
on_roster_item_updated(account, roster_item);
|
on_roster_item_updated(account, roster_item);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
stream_interactor.module_manager.get_module(account, Roster.Module.IDENTITY).item_removed.connect( (stream, roster_item) => {
|
stream_interactor.module_manager.get_module(account, Roster.Module.IDENTITY).item_removed.connect_after( (stream, roster_item) => {
|
||||||
removed_roster_item(account, roster_item.jid, roster_item);
|
removed_roster_item(account, roster_item.jid, roster_item);
|
||||||
});
|
});
|
||||||
stream_interactor.module_manager.get_module(account, Roster.Module.IDENTITY).item_updated.connect( (stream, roster_item) => {
|
stream_interactor.module_manager.get_module(account, Roster.Module.IDENTITY).item_updated.connect_after( (stream, roster_item) => {
|
||||||
on_roster_item_updated(account, roster_item);
|
on_roster_item_updated(account, roster_item);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
<property name="allow_gray">False</property>
|
<property name="allow_gray">False</property>
|
||||||
<property name="height">30</property>
|
<property name="height">30</property>
|
||||||
<property name="width">30</property>
|
<property name="width">30</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
<object class="DinoUiAvatarImage" id="image">
|
<object class="DinoUiAvatarImage" id="image">
|
||||||
<property name="height">40</property>
|
<property name="height">40</property>
|
||||||
<property name="width">40</property>
|
<property name="width">40</property>
|
||||||
|
<property name="valign">center</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
|
|
|
@ -85,7 +85,7 @@ internal class ConferenceListRow : ListRow {
|
||||||
this.account = account;
|
this.account = account;
|
||||||
this.bookmark = bookmark;
|
this.bookmark = bookmark;
|
||||||
|
|
||||||
name_label.label = bookmark.name ?? bookmark.jid.to_string();
|
name_label.label = bookmark.name != null && bookmark.name != "" ? bookmark.name : bookmark.jid.to_string();
|
||||||
if (stream_interactor.get_accounts().size > 1) {
|
if (stream_interactor.get_accounts().size > 1) {
|
||||||
via_label.label = "via " + account.bare_jid.to_string();
|
via_label.label = "via " + account.bare_jid.to_string();
|
||||||
} else if (bookmark.name != null && bookmark.name != bookmark.jid.to_string()) {
|
} else if (bookmark.name != null && bookmark.name != bookmark.jid.to_string()) {
|
||||||
|
|
|
@ -60,9 +60,6 @@ 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_occupant(jid, account)) {
|
if (stream_interactor.get_module(MucManager.IDENTITY).is_groupchat_occupant(jid, account)) {
|
||||||
if (jid.resourcepart == account.resourcepart) {
|
|
||||||
return account.alias; // FIXME temporary. remove again.
|
|
||||||
}
|
|
||||||
return jid.resourcepart;
|
return jid.resourcepart;
|
||||||
} else {
|
} else {
|
||||||
if (jid.equals_bare(account.bare_jid)) {
|
if (jid.equals_bare(account.bare_jid)) {
|
||||||
|
@ -73,7 +70,7 @@ public static string get_display_name(StreamInteractor stream_interactor, Jid ji
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Roster.Item roster_item = stream_interactor.get_module(RosterManager.IDENTITY).get_roster_item(account, jid);
|
Roster.Item roster_item = stream_interactor.get_module(RosterManager.IDENTITY).get_roster_item(account, jid);
|
||||||
if (roster_item != null && roster_item.name != null) {
|
if (roster_item != null && roster_item.name != null && roster_item.name != "") {
|
||||||
return roster_item.name;
|
return roster_item.name;
|
||||||
}
|
}
|
||||||
return jid.bare_jid.to_string();
|
return jid.bare_jid.to_string();
|
||||||
|
|
Loading…
Reference in a new issue