mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-20 23:26:21 +00:00
Improve titlebar flexibility
Before this change, only nickname or JID (if no nickname set) is shown in the titlebar. Change allows to alter nickname/JID preference using already implemented /titlebar show jid|name setting. If both are set to "show", then it is displayed in "nickname <JID>" format.
This commit is contained in:
@@ -312,18 +312,26 @@ win_get_title(ProfWin* window)
|
||||
{
|
||||
ProfChatWin* chatwin = (ProfChatWin*)window;
|
||||
assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
|
||||
|
||||
gboolean show_titlebar_jid = prefs_get_boolean(PREF_TITLEBAR_MUC_TITLE_JID);
|
||||
gboolean show_titlebar_name = prefs_get_boolean(PREF_TITLEBAR_MUC_TITLE_NAME);
|
||||
jabber_conn_status_t conn_status = connection_get_status();
|
||||
if (conn_status == JABBER_CONNECTED) {
|
||||
PContact contact = roster_get_contact(chatwin->barejid);
|
||||
if (contact) {
|
||||
const char* name = p_contact_name_or_jid(contact);
|
||||
return strdup(name);
|
||||
} else {
|
||||
return strdup(chatwin->barejid);
|
||||
}
|
||||
} else {
|
||||
|
||||
if (conn_status != JABBER_CONNECTED || !show_titlebar_name) {
|
||||
return strdup(chatwin->barejid);
|
||||
}
|
||||
PContact contact = roster_get_contact(chatwin->barejid);
|
||||
if (!contact) {
|
||||
return strdup(chatwin->barejid);
|
||||
}
|
||||
const char* name = p_contact_name(contact);
|
||||
if (name == NULL) {
|
||||
return strdup(chatwin->barejid);
|
||||
}
|
||||
if(show_titlebar_jid){
|
||||
return g_strdup_printf("%s <%s>", name, chatwin->barejid);
|
||||
}
|
||||
return g_strdup_printf("%s", name);
|
||||
}
|
||||
case WIN_MUC:
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user