[/trunk] Changeset 29 by mikael
* Update pending message indicator in real time.
--- 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
--- 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");
--- 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();
--- 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;
}
}
--- 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);