Changeset 3922 for trunk/console

Show
Ignore:
Timestamp:
09/30/04 10:51:03 (4 years ago)
Author:
emostar
Message:

Fix Thomas' patch, it broke sending a message with ".d", ".s", or ".u"

Add Philp Nelson's large update. Console plugin now requires CDK to be installed.

Location:
trunk/console
Files:
9 modified

Legend:

Unmodified
Added
Removed
  • trunk/console/configure.in

    r3832 r3922  
    6363])) 
    6464 
     65dnl check for cdk 
     66AC_CHECK_LIB(cdk, initCDKScreen,, 
     67  AC_MSG_ERROR([ 
     68 
     69I can't find the cdk library. This is needed if you want 
     70to compile this plugin. Sorry. 
     71])) 
     72 
    6573AC_OUTPUT( 
    6674  src/Makefile \ 
  • trunk/console/README

    r2929 r3922  
    1818For help using the console, type "/help" once inside.  F1-F8 will toggle between 
    19198 different virtual screens, PgUp/PgDown will scroll the screen,  
    20 and F9 is the standard Licq log (network window). 
     20and F9 is the standard Licq log (network window). Press F10 to activate the 
     21contact list. Up/down/right/left will scroll the list, pressing space when 
     22a contact is selected will bring up another window with options to choose from. 
     23Pressing Enter when a user is selected will message the user, or, if events 
     24are pending (e.g. a message), will view the event. 
    2125 
    22 Address any questions to Jon Keating <jon@licq.org>, uin 16325723. 
     26Here is a list of key bindings when the userlist is activated: 
     27 
     28          Key         Action 
     29          Left Arrow  Shifts the whole list left one character. 
     30          Right Arrow Shifts the whole list right one character. 
     31          Up Arrow    Selects the next item up in the list. 
     32          Down Arrow  Selects the next item down in the list. 
     33          Prev Page   Moves one page backwards. 
     34          Ctrl-B      Moves one page backwards. 
     35          Next Page   Moves one page forwards. 
     36          Ctrl-F      Moves one page forwards. 
     37          g           Moves to the first element in the list. 
     38          1           Moves to the first element in the list. 
     39          G           Moves to the last element in the list. 
     40          $           Shifts the whole list to the far right. 
     41          |           Shifts the whole list to the far left. 
     42          Return      Sends a message to the user, or, if events 
     43                      are pending (e.g. a message), will view 
     44                      the event.  
     45          Tab         Same as Return. 
     46          Space       Brings up a popup window with extra options 
     47                      to choose from. 
     48          Escape      Exits the widget. 
    2349 
    2450 
     51 
     52Address any questions to Philip Nelson <phatfil@optusnet.com.au>, uin 16385042, msn 
     53phatagrajag@hotmail.com or Jon Keating <jon@licq.org>, uin 16325723 or on irc in #licq 
     54on irc.freenode.net. 
     55 
     56 
  • trunk/console/src/console.cpp

    r3907 r3922  
    2727// Undefine what stupid ncurses defines as wclear(WINDOW *) 
    2828#undef clear 
     29 
     30using namespace std; 
    2931 
    3032extern "C" const char *LP_Version(); 
     
    8587const struct SColorMap aColorMaps[NUM_COLORMAPS] = 
    8688  { 
    87     { "green", COLOR_GREEN, A_NORMAL } 
     89    { "green", 24, A_NORMAL } 
    8890    ,          // 0 
    89     { "red", COLOR_RED, A_NORMAL } 
     91    { "red", 16, A_NORMAL } 
    9092    ,              // 1 
    91     { "cyan", COLOR_CYAN, A_NORMAL } 
     93    { "cyan", 56, A_NORMAL } 
    9294    ,            // 2 
    93     { "white", COLOR_WHITE, A_NORMAL } 
     95    { "white", 8, A_NORMAL } 
    9496    ,          // 3 
    95     { "magenta", COLOR_MAGENTA, A_NORMAL } 
     97    { "magenta", 48, A_NORMAL } 
    9698    ,      // 4 
    97     { "blue", COLOR_BLUE, A_NORMAL } 
     99    { "blue", 40, A_NORMAL } 
    98100    ,            // 5 
    99     { "yellow", COLOR_YELLOW, A_NORMAL } 
     101    { "yellow", 32, A_NORMAL } 
    100102    ,        // 6 
    101     { "black", COLOR_BLACK, A_NORMAL } 
     103    { "black", 8, A_NORMAL } 
    102104    ,          // 7 
    103     { "bright_green", COLOR_GREEN, A_BOLD } 
     105    { "bright_green", 24, A_BOLD } 
    104106    ,     // 8 
    105     { "bright_red", COLOR_RED, A_BOLD } 
     107    { "bright_red", 16, A_BOLD } 
    106108    ,         // 9 
    107     { "bright_cyan", COLOR_CYAN, A_BOLD } 
     109    { "bright_cyan", 56, A_BOLD } 
    108110    ,       // 10 
    109     { "bright_white", COLOR_WHITE, A_BOLD } 
     111    { "bright_white", 8, A_BOLD } 
    110112    ,     // 11 
    111     { "bright_magenta", COLOR_MAGENTA, A_BOLD } 
     113    { "bright_magenta", 48, A_BOLD } 
    112114    , // 12 
    113     { "bright_blue", COLOR_BLUE, A_BOLD } 
     115    { "bright_blue", 40, A_BOLD } 
    114116    ,       // 13 
    115     { "bright_yellow", COLOR_YELLOW, A_BOLD }    // 14 
     117    { "bright_yellow", 32, A_BOLD }    // 14 
    116118  }; 
    117119 
     
    155157  licqConf.ReadNum("ColorInfo", m_nColorInfo, 13); 
    156158  licqConf.ReadNum("ColorError", m_nColorError, 9); 
    157   licqConf.ReadStr("OnlineFormat", m_szOnlineFormat, "%-20a"); 
    158   licqConf.ReadStr("OtherOnlineFormat", m_szOtherOnlineFormat, "%-20a[%6S]"); 
    159   licqConf.ReadStr("AwayFormat", m_szAwayFormat, "%-20a[%6S]"); 
    160   licqConf.ReadStr("OfflineFormat", m_szOfflineFormat, "%-20a"); 
     159  licqConf.ReadStr("OnlineFormat", m_szOnlineFormat, "%a"); 
     160  licqConf.ReadStr("OtherOnlineFormat", m_szOtherOnlineFormat, "%a [%S]"); 
     161  licqConf.ReadStr("AwayFormat", m_szAwayFormat, "%a [%S]"); 
     162  licqConf.ReadStr("OfflineFormat", m_szOfflineFormat, "%a"); 
    161163  licqConf.ReadStr("CommandCharacter", m_szCommandChar, "/"); 
    162164 
     
    250252  for (unsigned short i = 0; i <= MAX_CON; i++) 
    251253  { 
    252     winCon[i] = new CWindow(LINES - 5, COLS - USER_WIN_WIDTH - 1, 2, 0, 
    253                             SCROLLBACK_BUFFER); 
     254    winCon[i] = new CWindow(LINES - 5, COLS - USER_WIN_WIDTH - 1, 2, USER_WIN_WIDTH, 
     255                            SCROLLBACK_BUFFER, true); 
    254256    scrollok(winCon[i]->Win(), true); 
    255257    winCon[i]->fProcessInput = &CLicqConsole::InputCommand; 
     
    263265  winConStatus->SetActive(true); 
    264266  winBar = new CWindow(LINES - 5, 1, 2, COLS - USER_WIN_WIDTH - 1, false); 
    265   winUsers = new CWindow(LINES - 5, USER_WIN_WIDTH, 2, COLS - USER_WIN_WIDTH, false); 
     267  winUsers = new CWindow(LINES - 5, USER_WIN_WIDTH, 2, 0, false, true); 
    266268  winBar->SetActive(true); 
    267269  winUsers->SetActive(true); 
     
    421423  { 
    422424  case L_WARN: 
    423     cp = COLOR_YELLOW; 
     425    cp = 32; 
    424426    break; 
    425427  case L_ERROR: 
    426     cp = COLOR_RED; 
     428    cp = 16; 
    427429    break; 
    428430  case L_PACKET: 
    429     cp = COLOR_BLUE; 
     431    cp = 40; 
    430432    break; 
    431433  case L_UNKNOWN: 
    432     cp = COLOR_MAGENTA; 
     434    cp = 48; 
    433435    break; 
    434436  case L_INFO: 
    435437  default: 
    436     cp = COLOR_WHITE; 
     438    cp = 8; 
    437439    break; 
    438440  } 
     
    440442  char *l = &p[LOG_PREFIX_OFFSET]; 
    441443  p[LOG_PREFIX_OFFSET - 1] = '\0'; 
    442   winLog->wprintf("%C%s %C%s", COLOR_GREEN, p, cp, l); 
     444  winLog->wprintf("%C%s %C%s", 24, p, cp, l); 
    443445  if (log->NextLogType() == L_ERROR) 
    444446  { 
    445     winMain->wprintf("%C%s %C%s", COLOR_GREEN, p, cp, l); 
     447    winMain->wprintf("%C%s %C%s", 24, p, cp, l); 
    446448    winMain->RefreshWin(); 
    447449  } 
     
    617619  case ICQ_CMDxSND_LOGON: 
    618620    if (e->Result() != EVENT_SUCCESS) 
    619       winMain->wprintf("%CLogon failed.  See the log console for details.\n", COLOR_RED); 
     621      winMain->wprintf("%CLogon failed.  See the log console for details.\n", 16); 
    620622    break; 
    621623 
     
    626628                     gUserManager.OwnerUin()); 
    627629    winMain->fProcessInput = &CLicqConsole::InputCommand; 
     630    PrintStatus(); 
    628631    break; 
    629632 
     
    654657      winMain->wprintf("%C%AFile transfer could not connect.  See network " 
    655658                       "window for details.%C%Z\n", 
    656                        COLOR_RED, A_BOLD, COLOR_WHITE, A_BOLD); 
     659                       16, A_BOLD, 8, A_BOLD); 
    657660      bCloseFT = true; 
    658661      break; 
     
    661664      winMain->wprintf("%C%AFile transfer could not bind to a port.  See " 
    662665                       "network window for details.%C%Z\n", 
    663                        COLOR_RED, A_BOLD, COLOR_WHITE, A_BOLD); 
     666                       16, A_BOLD, 8, A_BOLD); 
    664667      bCloseFT = true; 
    665668      break; 
     
    668671      winMain->wprintf("%C%AFile transfer unable to create new thread.  See " 
    669672                       "network window for details.%C%Z\n", 
    670                        COLOR_RED, A_BOLD, COLOR_WHITE, A_BOLD); 
     673                       16, A_BOLD, 8, A_BOLD); 
    671674      bCloseFT = true; 
    672675      break; 
     
    677680    case FT_DONExBATCH: 
    678681      winMain->wprintf("%C%AFile transfer successfuly finished.%C%Z\n", 
    679                        COLOR_GREEN, A_BOLD, COLOR_WHITE, A_BOLD); 
     682                       24, A_BOLD, 8, A_BOLD); 
    680683      bCloseFT = true; 
    681684      break; 
     
    683686    case FT_ERRORxCLOSED: 
    684687      winMain->wprintf("%C%AFile transfer closed.%C%Z\n", 
    685                        COLOR_RED, A_BOLD, COLOR_WHITE, A_BOLD); 
     688                       16, A_BOLD, 8, A_BOLD); 
    686689      bCloseFT = true; 
    687690      break; 
     
    689692    case FT_ERRORxFILE: 
    690693      winMain->wprintf("%C%AFile transfer I/O error.%C%Z\n", 
    691                        COLOR_RED, A_BOLD, COLOR_WHITE, A_BOLD); 
     694                       16, A_BOLD, 8, A_BOLD); 
    692695      bCloseFT = true; 
    693696      break; 
     
    695698    case FT_ERRORxHANDSHAKE: 
    696699      winMain->wprintf("%C%AFile transfer handshake error.%C%Z\n", 
    697                        COLOR_RED, A_BOLD, COLOR_WHITE, A_BOLD); 
     700                       16, A_BOLD, 8, A_BOLD); 
    698701      bCloseFT = true; 
    699702      break; 
     
    742745  if (e == NULL) 
    743746  { 
    744     win->wprintf("%A%Cerror\n", A_BOLD, COLOR_RED); 
     747    win->wprintf("%A%Cerror\n", A_BOLD, 16); 
    745748  } 
    746749  else 
     
    778781    { 
    779782      win->wprintf("%C%ADirect send failed, send through server (y/N)? %C%Z", 
    780                    m_cColorQuery->nColor, m_cColorQuery->nAttr, COLOR_WHITE, 
     783                   m_cColorQuery->nColor, m_cColorQuery->nAttr, 8, 
    781784                   A_BOLD); 
    782785      win->state = STATE_QUERY; 
     
    946949  { 
    947950    win->wprintf("%C%s%A,%Z %s %s %A(%Z%s%A) -%Z %lu %A(%Z%s%A)\n", 
    948                  COLOR_WHITE, 
     951                 8, 
    949952                 e->SearchAck()->Alias(), 
    950953                 A_BOLD, A_BOLD, 
     
    984987  else 
    985988  { 
    986     win->wprintf("%CSearch failed.\n", COLOR_RED); 
     989    win->wprintf("%CSearch failed.\n", 16); 
    987990  } 
    988991 
     
    10081011 
    10091012  // Print the header 
    1010   wbkgdset(winConStatus->Win(), COLOR_PAIR(COLOR_YELLOW_BLUE)); 
     1013  wbkgdset(winConStatus->Win(), COLOR_PAIR(29)); 
    10111014  werase(winConStatus->Win()); 
    10121015  winConStatus->wprintf("%A[ %CLicq Console Plugin v%C%s%C (", 
    1013                         A_BOLD, COLOR_WHITE_BLUE, 
    1014                         COLOR_CYAN_BLUE, LP_Version(), COLOR_YELLOW_BLUE); 
     1016                        A_BOLD, 5, 
     1017                        53, LP_Version(), 29); 
    10151018  if (m_nCon != 0) 
    1016     winConStatus->wprintf("%A%Cconsole %C%d", A_BOLD, COLOR_WHITE_BLUE, 
    1017                           COLOR_CYAN_BLUE, m_nCon); 
     1019    winConStatus->wprintf("%A%Cconsole %C%d", A_BOLD, 5, 
     1020                          53, m_nCon); 
    10181021  else 
    1019     winConStatus->wprintf("%A%Clog console", A_BOLD, COLOR_WHITE_BLUE); 
    1020   winConStatus->wprintf("%A%C) ]", A_BOLD, COLOR_YELLOW_BLUE); 
     1022    winConStatus->wprintf("%A%Clog console", A_BOLD, 5); 
     1023  winConStatus->wprintf("%A%C) ]", A_BOLD, 29); 
    10211024  wclrtoeol(winConStatus->Win()); 
    1022   wbkgdset(winConStatus->Win(), COLOR_PAIR(COLOR_WHITE)); 
     1025  wbkgdset(winConStatus->Win(), COLOR_PAIR(8)); 
    10231026  mvwhline(winConStatus->Win(), 1, 0, ACS_HLINE, COLS); 
    1024   mvwaddch(winConStatus->Win(), 1, COLS - USER_WIN_WIDTH - 1, ACS_TTEE); 
     1027  //mvwaddch(winConStatus->Win(), 1, COLS - USER_WIN_WIDTH - 1, ACS_TTEE); 
    10251028  winConStatus->RefreshWin(); 
    10261029 
     
    10491052  { 
    10501053    SwitchToCon(0); 
     1054    return; 
     1055  } 
     1056  if (cIn == KEY_F(MAX_CON + 2)) 
     1057  { 
     1058    MenuList((char *)NULL); 
    10511059    return; 
    10521060  } 
     
    12381246      { // No matches 
    12391247        Beep(); 
    1240         winMain->wprintf("%CNo matches.\n", COLOR_RED); 
     1248        winMain->wprintf("%CNo matches.\n", 16); 
    12411249        wprintw(winPrompt->Win(), ""); 
    12421250        break; 
     
    14141422  if (iter == listMacros.end()) 
    14151423  { 
    1416     winMain->wprintf("%CNo such macro \"%A%s%Z\"\n", COLOR_RED, A_BOLD, 
     1424    winMain->wprintf("%CNo such macro \"%A%s%Z\"\n", 16, A_BOLD, 
    14171425                     szMacro, A_BOLD); 
    14181426    szMacro[0] = '\0'; 
     
    14771485                   "for %s (%s)? %C%Z", 
    14781486                   m_cColorQuery->nColor, m_cColorQuery->nAttr, 
    1479                    u->GetAlias(), szId, COLOR_WHITE, A_BOLD); 
     1487                   u->GetAlias(), szId, 8, A_BOLD); 
    14801488  winMain->RefreshWin(); 
    14811489  gUserManager.DropUser(u); 
     
    15191527      break; 
    15201528    default: 
    1521       winMain->wprintf("%CInvalid key.\n", COLOR_RED); 
     1529      winMain->wprintf("%CInvalid key.\n", 16); 
    15221530    } 
    15231531 
     
    15351543 
    15361544  default: 
    1537     winMain->wprintf("%CInvalid state: %A%d%Z.\n", COLOR_RED, A_BOLD, A_BOLD); 
     1545    winMain->wprintf("%CInvalid state: %A%d%Z.\n", 16, A_BOLD, A_BOLD); 
    15381546  } 
    15391547 
     
    16111619  winMain->wprintf("%C%ARemove %s (%s) from contact list (y/N)? %C%Z", 
    16121620                   m_cColorQuery->nColor, m_cColorQuery->nAttr, 
    1613                    u->GetAlias(), szId, COLOR_WHITE, A_BOLD); 
     1621                   u->GetAlias(), szId, 8, A_BOLD); 
    16141622  winMain->RefreshWin(); 
    16151623  gUserManager.DropUser(u); 
     
    16521660 
    16531661  default: 
    1654     winMain->wprintf("%CInvalid state: %A%d%Z.\n", COLOR_RED, A_BOLD, A_BOLD); 
     1662    winMain->wprintf("%CInvalid state: %A%d%Z.\n", 16, A_BOLD, A_BOLD); 
    16551663  } 
    16561664 
     
    17581766    { 
    17591767      winMain->wprintf("%CYou must specify an event number. (1-%d)\n", 
    1760                        COLOR_RED, nLast); 
     1768                       16, nLast); 
    17611769    } 
    17621770    else 
    17631771    { 
    1764       winMain->wprintf("%CNo System Events.\n", COLOR_WHITE); 
     1772      winMain->wprintf("%CNo System Events.\n", 8); 
    17651773    } 
    17661774    return; 
     
    17781786  if (nStart == -1) 
    17791787  { 
    1780     winMain->wprintf("%CInvalid start range: %A%s\n", COLOR_RED, 
     1788    winMain->wprintf("%CInvalid start range: %A%s\n", 16, 
    17811789                     A_BOLD, szStart); 
    17821790    return; 
     
    17851793  { 
    17861794    winMain->wprintf("%CStart value out of range, history contains %d events.\n", 
    1787                      COLOR_RED, nLast); 
     1795                     16, nLast); 
    17881796    return; 
    17891797  } 
     
    17941802    if (nEnd == -1) 
    17951803    { 
    1796       winMain->wprintf("%CInvalid end range: %A%s\n", COLOR_RED, 
     1804      winMain->wprintf("%CInvalid end range: %A%s\n", 16, 
    17971805                       A_BOLD, szEnd); 
    17981806      return; 
     
    18011809    { 
    18021810      winMain->wprintf("%CEnd value out of range, history contains %d events.\n", 
    1803                        COLOR_RED, nLast); 
     1811                       16, nLast); 
    18041812      return; 
    18051813    } 
     
    19311939 
    19321940  default: 
    1933     winMain->wprintf("%CInvalid state: %A%d%Z.\n", COLOR_RED, A_BOLD, A_BOLD); 
     1941    winMain->wprintf("%CInvalid state: %A%d%Z.\n", 16, A_BOLD, A_BOLD); 
    19341942  } 
    19351943 
     
    21002108 
    21012109  default: 
    2102     winMain->wprintf("%CInvalid state: %A%d%Z.\n", COLOR_RED, A_BOLD, A_BOLD); 
     2110    winMain->wprintf("%CInvalid state: %A%d%Z.\n", 16, A_BOLD, A_BOLD); 
    21032111  } 
    21042112 
     
    22072215 
    22082216  default: 
    2209     winMain->wprintf("%CInvalid state: %A%d%Z.\n", COLOR_RED, A_BOLD, A_BOLD); 
     2217    winMain->wprintf("%CInvalid state: %A%d%Z.\n", 16, A_BOLD, A_BOLD); 
    22102218  } 
    22112219 
     
    22802288 
    22812289  default: 
    2282     winMain->wprintf("%CInvalid state: %A%d%Z.\n", COLOR_RED, A_BOLD, A_BOLD); 
     2290    winMain->wprintf("%CInvalid state: %A%d%Z.\n", 16, A_BOLD, A_BOLD); 
    22832291  } 
    22842292 
     
    23422350 
    23432351  default: 
    2344     winMain->wprintf("%CInvalid state: %A%d%Z.\n", COLOR_RED, A_BOLD, A_BOLD); 
     2352    winMain->wprintf("%CInvalid state: %A%d%Z.\n", 16, A_BOLD, A_BOLD); 
    23452353  } 
    23462354 
     
    24522460      else 
    24532461        szNL++; 
    2454       if ( ( *szNL == '.' || *szNL == ',' ) && strlen( szNL ) == 1) 
     2462      if ( (( *szNL == '.' || *szNL == ',' ) && strlen( szNL ) == 1) || 
     2463           !strcmp(szNL, ".s") || !strcmp(szNL, ".d") || !strcmp(szNL, ".u")) 
    24552464        return szNL; 
    24562465 
     
    26402649                             "2 %A-%Z Male\n" 
    26412650                             "%A%CGender: ", 
    2642                              COLOR_WHITE, A_BOLD, A_BOLD, A_BOLD, A_BOLD, 
     2651                             8, A_BOLD, A_BOLD, A_BOLD, A_BOLD, 
    26432652                             A_BOLD, A_BOLD, m_cColorQuery->nAttr, m_cColorQuery->nColor); 
    26442653            return; 
     
    26702679            { 
    26712680              winMain->wprintf("%C%s %A(%Z%d%A)%s%Z", 
    2672                                COLOR_WHITE, gLanguages[i].szName, 
     2681                               8, gLanguages[i].szName, 
    26732682                               A_BOLD, A_BOLD, gLanguages[i].nCode, 
    26742683                               A_BOLD, 
     
    27282737            { 
    27292738              winMain->wprintf("%C%s %A(%Z%d%A)%s%Z", 
    2730                                COLOR_WHITE, gCountries[i].szName, 
     2739                               8, gCountries[i].szName, 
    27312740                               A_BOLD, A_BOLD, gCountries[i].nCode, 
    27322741                               A_BOLD, 
     
    28402849 
    28412850  winMain->wprintf("%A%CWelcome to the Licq Console Registration Wizard\n\nPress 1 to register a new UIN\nPress 2 if you have a UIN and password\n\n", 
    2842                    A_BOLD, COLOR_GREEN); 
     2851                   A_BOLD, 24); 
    28432852 
    28442853  return; 
     
    30073016      winMain->state = STATE_COMMAND; 
    30083017      winMain->fProcessInput = &CLicqConsole::InputCommand; 
     3018      PrintStatus(); 
    30093019    } 
    30103020  } 
     
    30253035  winMain->data = new DataFileChatOffer(_nSequence, _szId, _nPPID); 
    30263036  winMain->wprintf("%C%ADo you wish to accept this request? (y/N) %C%Z", 
    3027                    m_cColorQuery->nColor, m_cColorQuery->nAttr, COLOR_WHITE, A_BOLD); 
     3037                   m_cColorQuery->nColor, m_cColorQuery->nAttr, 8, A_BOLD); 
    30283038  winMain->RefreshWin(); 
    30293039 
     
    30473057      case 'y': 
    30483058        { 
    3049           winMain->wprintf("%C%A\nAccepting file\n", COLOR_GREEN, A_BOLD); 
     3059          winMain->wprintf("%C%A\nAccepting file\n", 24, A_BOLD); 
    30503060 
    30513061          // Make the ftman 
     
    31213131  { 
    31223132    winMain->wprintf("%CYou need to recompile Licq with OpenSSL for this " 
    3123                      "feature to work!\n", COLOR_RED); 
     3133                     "feature to work!\n", 16); 
    31243134    return; 
    31253135  } 
     
    31283138  { 
    31293139    winMain->wprintf("%CThe remote end is not using a supported client.  " 
    3130                      "This may not work!\n", COLOR_RED); 
     3140                     "This may not work!\n", 16); 
    31313141  } 
    31323142 
     
    31703180  else 
    31713181  { 
    3172     winMain->wprintf("%C<user> secure <open | close | (blank)>\n", COLOR_RED); 
     3182    winMain->wprintf("%C<user> secure <open | close | (blank)>\n", 16); 
    31733183  } 
    31743184 
     
    31943204  ICQOwner *o = gUserManager.FetchOwner(LOCK_R); 
    31953205  winMain->wprintf("%A%CEnter your password for %s (%lu):%C%Z\n", A_BOLD, 
    3196                    COLOR_GREEN, o->GetAlias(), o->Uin(), COLOR_WHITE, A_BOLD); 
     3206                   24, o->GetAlias(), o->Uin(), 8, A_BOLD); 
    31973207  gUserManager.DropOwner(); 
    31983208} 
     
    32163226 
    32173227      // Next stage is saving the password possibly 
    3218       winMain->wprintf("%C%ASave password? (y/N) %C%Z", COLOR_GREEN, A_BOLD, 
    3219                        COLOR_WHITE, A_BOLD); 
     3228      winMain->wprintf("%C%ASave password? (y/N) %C%Z", 24, A_BOLD, 
     3229                       8, A_BOLD); 
    32203230      winMain->state = STATE_QUERY; 
    32213231      break; 
  • trunk/console/src/console.h

    r3801 r3922  
    3737}; 
    3838 
     39 
     40// for keeping track of where a user is 
     41// in the cdkUserList 
     <