# HG changeset patch # User mikael # Date 1111612402 0 # Node ID c87d8adc9100bd03bfbf1f620871d2c24ae55515 # Parent 4c3d7b8a29c4f5f16ddfa47d08b1fb9d06af8ed1 [/trunk] Changeset 29 by mikael * Update pending message indicator in real time. diff -r 4c3d7b8a29c4 -r c87d8adc9100 mcabber/TODO --- a/mcabber/TODO Wed Mar 23 20:26:08 2005 +0000 +++ b/mcabber/TODO Wed Mar 23 21:13:22 2005 +0000 @@ -1,6 +1,9 @@ + +* chatmode seems buggy +* un-export window internal structure, use a public function +* pending message not displayed if buddy outside Contact window * Use libjabber -* Update roaster when somebody talks to us * Commands! :-) - /say - /add diff -r 4c3d7b8a29c4 -r c87d8adc9100 mcabber/buddies.c --- a/mcabber/buddies.c Wed Mar 23 20:26:08 2005 +0000 +++ b/mcabber/buddies.c Wed Mar 23 21:13:22 2005 +0000 @@ -243,7 +243,7 @@ tmp = buddy_entry(pos); // FIXME: we should create a function instead of exporting this! :-( - // Cf. revision ~27 + // Cf. revision ~28 wintmp = scr_SearchWindow(tmp->jid); if (wintmp) scr_LogPrint("wintmp != NULL"); diff -r 4c3d7b8a29c4 -r c87d8adc9100 mcabber/main.c --- a/mcabber/main.c Wed Mar 23 20:26:08 2005 +0000 +++ b/mcabber/main.c Wed Mar 23 21:13:22 2005 +0000 @@ -270,6 +270,10 @@ } */ } + if (update_roaster) { + scr_LogPrint("Update roaster"); + bud_DrawRoster(scr_GetRosterWindow()); + } } bud_TerminateBuddies(); diff -r 4c3d7b8a29c4 -r c87d8adc9100 mcabber/screen.c --- a/mcabber/screen.c Wed Mar 23 20:26:08 2005 +0000 +++ b/mcabber/screen.c Wed Mar 23 21:13:22 2005 +0000 @@ -27,6 +27,7 @@ static window_entry_t *currentWindow; static int chatmode; +int update_roaster; static char inputLine[INPUTLINE_LENGTH]; static char *ptr_inputline; @@ -335,6 +336,7 @@ currentWindow = tmp; chatmode = TRUE; tmp->pending_msg = FALSE; + update_roaster = TRUE; width = scr_WindowHeight(tmp->win); for (n = 0; n < tmp->nlines; n++) { mvwprintw(tmp->win, n + 1, 1, ""); @@ -434,6 +436,7 @@ doupdate(); } else { tmp->pending_msg = TRUE; + update_roaster = TRUE; } } diff -r 4c3d7b8a29c4 -r c87d8adc9100 mcabber/screen.h --- a/mcabber/screen.h Wed Mar 23 20:26:08 2005 +0000 +++ b/mcabber/screen.h Wed Mar 23 21:13:22 2005 +0000 @@ -29,6 +29,8 @@ struct list_head list; } window_entry_t; +extern int update_roaster; + void scr_InitCurses(void); void scr_DrawMainWindow(void); void scr_TerminateCurses(void);