comparison mcabber/screen.c @ 4:eb31418b48df

[/trunk] Changeset 19 by mikael * scr_LogPrint() function.
author mikael
date Sat, 19 Mar 2005 10:57:03 +0000
parents 582ef676a320
children 455ab6bc14ac
comparison
equal deleted inserted replaced
3:582ef676a320 4:eb31418b48df
470 chatPanel = new_panel(chatWnd); 470 chatPanel = new_panel(chatWnd);
471 scr_draw_box(chatWnd, 0, 0, CHAT_WIN_HEIGHT, maxX - 20, COLOR_GENERAL, 0, 0); 471 scr_draw_box(chatWnd, 0, 0, CHAT_WIN_HEIGHT, maxX - 20, COLOR_GENERAL, 0, 0);
472 mvwprintw(chatWnd, 0, 472 mvwprintw(chatWnd, 0,
473 ((maxX - 20) - strlen(i18n("Status Window"))) / 2, 473 ((maxX - 20) - strlen(i18n("Status Window"))) / 2,
474 i18n("Status Window")); 474 i18n("Status Window"));
475 //wbkgd(chatWnd, COLOR_PAIR(COLOR_GENERAL));
475 476
476 logWnd_border = newwin(LOG_WIN_HEIGHT, maxX - 20, CHAT_WIN_HEIGHT, 20); 477 logWnd_border = newwin(LOG_WIN_HEIGHT, maxX - 20, CHAT_WIN_HEIGHT, 20);
477 logPanel_border = new_panel(logWnd_border); 478 logPanel_border = new_panel(logWnd_border);
478 scr_draw_box(logWnd_border, 0, 0, LOG_WIN_HEIGHT, maxX - 20, COLOR_GENERAL, 0, 0); 479 scr_draw_box(logWnd_border, 0, 0, LOG_WIN_HEIGHT, maxX - 20, COLOR_GENERAL, 0, 0);
479 // mvwprintw(logWnd_border, 0, 480 // mvwprintw(logWnd_border, 0,
483 logWnd = derwin(logWnd_border, LOG_WIN_HEIGHT-2, maxX-20-2, 1, 1); 484 logWnd = derwin(logWnd_border, LOG_WIN_HEIGHT-2, maxX-20-2, 1, 1);
484 logPanel = new_panel(logWnd); 485 logPanel = new_panel(logWnd);
485 wbkgd(logWnd, COLOR_PAIR(COLOR_GENERAL)); 486 wbkgd(logWnd, COLOR_PAIR(COLOR_GENERAL));
486 //wattrset(logWnd, COLOR_PAIR(COLOR_GENERAL)); 487 //wattrset(logWnd, COLOR_PAIR(COLOR_GENERAL));
487 wprintw(logWnd, "Here we are\n"); 488 wprintw(logWnd, "Here we are\n");
489 scr_LogPrint("Here we are :-)");
488 490
489 scrollok(logWnd,TRUE); 491 scrollok(logWnd,TRUE);
490 idlok(logWnd,TRUE); // XXX Necessary? 492 idlok(logWnd,TRUE); // XXX Necessary?
491 493
492 inputWnd = newwin(1, maxX, maxY-1, 0); 494 inputWnd = newwin(1, maxX, maxY-1, 0);
599 WINDOW *scr_GetInputWindow(void) 601 WINDOW *scr_GetInputWindow(void)
600 { 602 {
601 return inputWnd; 603 return inputWnd;
602 } 604 }
603 605
606 void scr_LogPrint(const char *fmt, ...)
607 {
608 time_t timestamp;
609 char *buffer;
610 va_list ap;
611
612 buffer = (char *) calloc(1, 4096);
613
614 timestamp = time(NULL);
615 strftime(buffer, 64, "[%H:%M:%S] ", localtime(&timestamp));
616 wprintw(logWnd, "\n%s", buffer);
617
618 va_start(ap, fmt);
619 vsnprintf(buffer, 4096, fmt, ap);
620 va_end(ap);
621
622 wprintw(logWnd, "%s", buffer);
623 free(buffer);
624 }
625
626
604 void send_message(int sock, char *msg) 627 void send_message(int sock, char *msg)
605 { 628 {
606 char **submsgs; 629 char **submsgs;
607 char *buffer = (char *) calloc(1, 24+strlen(msg)); 630 char *buffer = (char *) calloc(1, 24+strlen(msg));
608 char *buffer2 = (char *) calloc(1, 1024); 631 char *buffer2 = (char *) calloc(1, 1024);
650 return 255; 673 return 255;
651 } 674 }
652 // Commands handling 675 // Commands handling
653 // TODO 676 // TODO
654 // say... 677 // say...
655 wprintw(logWnd, "\nUnrecognised command, sorry."); 678
679 scr_LogPrint("Unrecognised command, sorry.");
656 return 0; 680 return 0;
657 } 681 }
658 682
659 int process_key(int key, int sock) 683 int process_key(int key, int sock)
660 { 684 {
682 case KEY_RIGHT: 706 case KEY_RIGHT:
683 if (*ptr_inputline) 707 if (*ptr_inputline)
684 ptr_inputline++; 708 ptr_inputline++;
685 break; 709 break;
686 case 9: // Tab 710 case 9: // Tab
687 wprintw(logWnd, "\nI'm unable to complete yet"); 711 scr_LogPrint("I'm unable to complete yet");
688 break; 712 break;
689 case '\n': // Enter 713 case '\n': // Enter
690 // XXX Test: 714 // XXX Test:
691 if (process_line(inputLine, sock)) 715 if (process_line(inputLine, sock))
692 return 255; 716 return 255;
700 case KEY_DOWN: 724 case KEY_DOWN:
701 bud_RosterDown(); 725 bud_RosterDown();
702 scr_ShowBuddyWindow(); 726 scr_ShowBuddyWindow();
703 break; 727 break;
704 case KEY_PPAGE: 728 case KEY_PPAGE:
705 wprintw(logWnd, "\nPageUp??"); 729 scr_LogPrint("PageUp??");
706 break; 730 break;
707 case KEY_NPAGE: 731 case KEY_NPAGE:
708 wprintw(logWnd, "\nPageDown??"); 732 scr_LogPrint("PageDown??");
709 break; 733 break;
710 case KEY_HOME: 734 case KEY_HOME:
711 case 1: 735 case 1:
712 ptr_inputline = inputLine; 736 ptr_inputline = inputLine;
713 break; 737 break;
722 case KEY_EOL: 746 case KEY_EOL:
723 case 11: // Ctrl-k 747 case 11: // Ctrl-k
724 *ptr_inputline = 0; 748 *ptr_inputline = 0;
725 break; 749 break;
726 default: 750 default:
727 wprintw(logWnd, "\nUnkown key=%o", key); 751 scr_LogPrint("Unkown key=%o", key);
728 } 752 }
729 //wprintw(logWnd, "\n[%02x]", key); 753 //scr_LogPrint("[%02x]", key);
730 } 754 }
731 mvwprintw(inputWnd, 0,0, "%s", inputLine); 755 mvwprintw(inputWnd, 0,0, "%s", inputLine);
732 wclrtoeol(inputWnd); 756 wclrtoeol(inputWnd);
733 if (*ptr_inputline) { 757 if (*ptr_inputline) {
734 wmove(inputWnd, 0, ptr_inputline - (char*)&inputLine); 758 wmove(inputWnd, 0, ptr_inputline - (char*)&inputLine);