Mercurial > ~mikael > mcabber > hg
changeset 721:9cf31c9b1dc4
Use room topic as a description in the chat status line
Thanks to Salvador for the idea.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 05 Mar 2006 00:17:12 +0100 |
parents | e5269eb416bb |
children | 9054697b1a06 |
files | mcabber/src/jabglue.c mcabber/src/screen.c mcabber/src/screen.h |
diffstat | 3 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/src/jabglue.c Sun Mar 05 00:03:06 2006 +0100 +++ b/mcabber/src/jabglue.c Sun Mar 05 00:17:12 2006 +0100 @@ -1115,6 +1115,7 @@ buddy_setnickname(room_elt->data, NULL); buddy_del_all_resources(room_elt->data); buddy_settopic(room_elt->data, NULL); + scr_UpdateChatStatus(FALSE); update_roster = TRUE; }
--- a/mcabber/src/screen.c Sun Mar 05 00:03:06 2006 +0100 +++ b/mcabber/src/screen.c Sun Mar 05 00:17:12 2006 +0100 @@ -716,10 +716,10 @@ scr_ShowBuddyWindow(); } -// update_chat_status_window(forceupdate) +// scr_UpdateChatStatus(forceupdate) // Redraw the buddy status bar. // Set forceupdate to TRUE if doupdate() must be called. -static void update_chat_status_window(int forceupdate) +void scr_UpdateChatStatus(int forceupdate) { unsigned short btype, isgrp, ismuc; const char *fullname; @@ -771,6 +771,8 @@ GSList *resources = buddy_getresources(BUDDATA(current_buddy)); if (resources) msg = buddy_getstatusmsg(BUDDATA(current_buddy), resources->data); + } else if (ismuc) { + msg = buddy_gettopic(BUDDATA(current_buddy)); } if (!msg) msg = ""; @@ -821,7 +823,7 @@ if (!buddylist) offset = 0; else - update_chat_status_window(FALSE); + scr_UpdateChatStatus(FALSE); // Leave now if buddylist is empty or the roster is hidden if (!buddylist || !Roster_Width) { @@ -1383,7 +1385,7 @@ inline void scr_set_chatmode(int enable) { chatmode = enable; - update_chat_status_window(TRUE); + scr_UpdateChatStatus(TRUE); } // scr_get_multimode() @@ -1913,7 +1915,7 @@ if (current_buddy) buddy_setflags(BUDDATA(current_buddy), ROSTER_FLAG_LOCK, FALSE); scr_RosterVisibility(1); - update_chat_status_window(FALSE); + scr_UpdateChatStatus(FALSE); top_panel(chatPanel); top_panel(inputPanel); update_panels();
--- a/mcabber/src/screen.h Sun Mar 05 00:03:06 2006 +0100 +++ b/mcabber/src/screen.h Sun Mar 05 00:17:12 2006 +0100 @@ -29,6 +29,7 @@ void scr_DrawMainWindow(unsigned int fullinit); void scr_DrawRoster(void); void scr_UpdateMainStatus(void); +void scr_UpdateChatStatus(int forceupdate); void scr_RosterVisibility(int status); void scr_WriteIncomingMessage(const char *jidfrom, const char *text, time_t timestamp, guint prefix);