# HG changeset patch # User Mikael Berthe # Date 1141514232 -3600 # Node ID 9cf31c9b1dc429068ab00517ab0085f5c668fe7d # Parent e5269eb416bb319b4c59f7611f8a89c520142ecd Use room topic as a description in the chat status line Thanks to Salvador for the idea. diff -r e5269eb416bb -r 9cf31c9b1dc4 mcabber/src/jabglue.c --- 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; } diff -r e5269eb416bb -r 9cf31c9b1dc4 mcabber/src/screen.c --- 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(); diff -r e5269eb416bb -r 9cf31c9b1dc4 mcabber/src/screen.h --- 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);