Mercurial > hg
changeset 716:ba1137a01078
Add a chatmode flag (©) in the chat status line
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sat, 04 Mar 2006 23:19:24 +0100 |
parents | be9f6224c3ca |
children | 8ce2bfdc4143 |
files | mcabber/src/screen.c |
diffstat | 1 files changed, 18 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/src/screen.c Sat Mar 04 22:16:39 2006 +0100 +++ b/mcabber/src/screen.c Sat Mar 04 23:19:24 2006 +0100 @@ -716,9 +716,10 @@ scr_ShowBuddyWindow(); } -// update_chat_status_window() +// update_chat_status_window(forceupdate) // Redraw the buddy status bar. -static void update_chat_status_window(void) +// Set forceupdate to TRUE if doupdate() must be called. +static void update_chat_status_window(int forceupdate) { unsigned short btype, isgrp, ismuc; const char *fullname; @@ -735,8 +736,15 @@ // Clear the line werase(chatstatusWnd); + if (chatmode) + wprintw(chatstatusWnd, "©"); + if (isgrp) { mvwprintw(chatstatusWnd, 0, 5, "Group: %s", fullname); + if (forceupdate) { + update_panels(); + doupdate(); + } return; } @@ -767,6 +775,11 @@ replace_nl_with_dots(buf); mvwprintw(chatstatusWnd, 0, 1, "%s", buf); g_free(buf); + + if (forceupdate) { + update_panels(); + doupdate(); + } } // scr_DrawRoster() @@ -804,7 +817,7 @@ if (!buddylist) offset = 0; else - update_chat_status_window(); + update_chat_status_window(FALSE); // Leave now if buddylist is empty or the roster is hidden if (!buddylist || !Roster_Width) { @@ -1366,6 +1379,7 @@ inline void scr_set_chatmode(int enable) { chatmode = enable; + update_chat_status_window(TRUE); } // scr_get_multimode() @@ -1895,6 +1909,7 @@ if (current_buddy) buddy_setflags(BUDDATA(current_buddy), ROSTER_FLAG_LOCK, FALSE); scr_RosterVisibility(1); + update_chat_status_window(FALSE); top_panel(chatPanel); top_panel(inputPanel); update_panels();