Mercurial > ~mikael > mcabber > hg
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(×tamp)); | |
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); |