# HG changeset patch # User mikael # Date 1111229823 0 # Node ID eb31418b48df4987a7cae952a01d1809a2f2a545 # Parent 582ef676a320674548e0ae8d47f9c3228d65ad06 [/trunk] Changeset 19 by mikael * scr_LogPrint() function. diff -r 582ef676a320 -r eb31418b48df mcabber/screen.c --- a/mcabber/screen.c Fri Mar 18 22:07:31 2005 +0000 +++ b/mcabber/screen.c Sat Mar 19 10:57:03 2005 +0000 @@ -472,6 +472,7 @@ mvwprintw(chatWnd, 0, ((maxX - 20) - strlen(i18n("Status Window"))) / 2, i18n("Status Window")); + //wbkgd(chatWnd, COLOR_PAIR(COLOR_GENERAL)); logWnd_border = newwin(LOG_WIN_HEIGHT, maxX - 20, CHAT_WIN_HEIGHT, 20); logPanel_border = new_panel(logWnd_border); @@ -485,6 +486,7 @@ wbkgd(logWnd, COLOR_PAIR(COLOR_GENERAL)); //wattrset(logWnd, COLOR_PAIR(COLOR_GENERAL)); wprintw(logWnd, "Here we are\n"); + scr_LogPrint("Here we are :-)"); scrollok(logWnd,TRUE); idlok(logWnd,TRUE); // XXX Necessary? @@ -601,6 +603,27 @@ return inputWnd; } +void scr_LogPrint(const char *fmt, ...) +{ + time_t timestamp; + char *buffer; + va_list ap; + + buffer = (char *) calloc(1, 4096); + + timestamp = time(NULL); + strftime(buffer, 64, "[%H:%M:%S] ", localtime(×tamp)); + wprintw(logWnd, "\n%s", buffer); + + va_start(ap, fmt); + vsnprintf(buffer, 4096, fmt, ap); + va_end(ap); + + wprintw(logWnd, "%s", buffer); + free(buffer); +} + + void send_message(int sock, char *msg) { char **submsgs; @@ -652,7 +675,8 @@ // Commands handling // TODO // say... - wprintw(logWnd, "\nUnrecognised command, sorry."); + + scr_LogPrint("Unrecognised command, sorry."); return 0; } @@ -684,7 +708,7 @@ ptr_inputline++; break; case 9: // Tab - wprintw(logWnd, "\nI'm unable to complete yet"); + scr_LogPrint("I'm unable to complete yet"); break; case '\n': // Enter // XXX Test: @@ -702,10 +726,10 @@ scr_ShowBuddyWindow(); break; case KEY_PPAGE: - wprintw(logWnd, "\nPageUp??"); + scr_LogPrint("PageUp??"); break; case KEY_NPAGE: - wprintw(logWnd, "\nPageDown??"); + scr_LogPrint("PageDown??"); break; case KEY_HOME: case 1: @@ -724,9 +748,9 @@ *ptr_inputline = 0; break; default: - wprintw(logWnd, "\nUnkown key=%o", key); + scr_LogPrint("Unkown key=%o", key); } - //wprintw(logWnd, "\n[%02x]", key); + //scr_LogPrint("[%02x]", key); } mvwprintw(inputWnd, 0,0, "%s", inputLine); wclrtoeol(inputWnd); diff -r 582ef676a320 -r eb31418b48df mcabber/screen.h --- a/mcabber/screen.h Fri Mar 18 22:07:31 2005 +0000 +++ b/mcabber/screen.h Sat Mar 19 10:57:03 2005 +0000 @@ -25,6 +25,7 @@ void scr_WriteIncomingMessage(char *jidfrom, char *text); void scr_RoolWindow(void); void scr_ShowBuddyWindow(void); +void scr_LogPrint(const char *fmt, ...); WINDOW *scr_GetRosterWindow(void); WINDOW *scr_GetStatusWindow(void);