Mercurial > ~mikael > mcabber > hg
diff mcabber/buddies.c @ 13:4c3d7b8a29c4
[/trunk] Changeset 28 by mikael
* Display pending message indicator in the roaster.
Not very good yet, because it isn't refreshed automatically.
author | mikael |
---|---|
date | Wed, 23 Mar 2005 20:26:08 +0000 |
parents | 3489a75cb115 |
children | c87d8adc9100 |
line wrap: on
line diff
--- a/mcabber/buddies.c Mon Mar 21 22:24:17 2005 +0000 +++ b/mcabber/buddies.c Wed Mar 23 20:26:08 2005 +0000 @@ -18,6 +18,7 @@ static LIST_HEAD(buddy_list); static LIST_HEAD(sorted_buddies); + #define buddy_entry(n) list_entry(n, buddy_entry_t, list) @@ -49,7 +50,6 @@ sprintf(buffer, "--> %s %s!", jidfrom, i18n("connected")); break; } - //scr_WriteInWindow(i18n("status window"), buffer, TRUE); scr_LogPrint("%s", buffer); } free(buffer); @@ -217,6 +217,7 @@ int n; int maxx, maxy; int fakeOffset = buddyOffset; + window_entry_t *wintmp; getmaxyx(win, maxy, maxx); @@ -233,6 +234,7 @@ list_for_each_safe(pos, nn, &buddy_list) { char status = '?'; + char pending = ' '; if (fakeOffset > 0) { fakeOffset--; @@ -240,6 +242,16 @@ } tmp = buddy_entry(pos); + // FIXME: we should create a function instead of exporting this! :-( + // Cf. revision ~27 + wintmp = scr_SearchWindow(tmp->jid); + if (wintmp) + scr_LogPrint("wintmp != NULL"); + else + scr_LogPrint("wintmp == NULL"); + if ((wintmp) && (wintmp->pending_msg)) { + pending = '#'; + } if ((tmp->flags && FLAG_BUDDY_CONNECTED) == 1) { status = 'o'; @@ -257,7 +269,7 @@ for (n = 2; n < maxx; n++) waddch(win, ' '); //mvwprintw(win, i, (maxx - strlen(tmp->name)) / 2, "%s", tmp->name); - mvwprintw(win, i, 1, " .[%c] %.12s", status, tmp->name); + mvwprintw(win, i, 1, " %c[%c] %.12s", pending, status, tmp->name); i++; if (i >= maxy - 1) break;