home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume14 / pcomm / part03 / di_delay.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-05-17  |  1.9 KB  |  87 lines

  1. /*
  2.  * Prompt for new delay times during a dialing session.  Also, prompts
  3.  * if changes should be saved to disk.  Dialing is suspended during
  4.  * this routine.
  5.  */
  6.  
  7. #include <stdio.h>
  8. #include <curses.h>
  9. #include "misc.h"
  10. #include "param.h"
  11.  
  12. void
  13. delay_times()
  14. {
  15.     WINDOW *dt_win, *newwin();
  16.     int cdelay, pause;
  17.  
  18.     dt_win = newwin(9, 45, 7, 15);
  19.  
  20.     mvwprintw(dt_win, 2, 4, "Current carrier delay time: %d", param->cdelay);
  21.     mvwprintw(dt_win, 3, 4, "Current pause between redials: %d", param->pause);
  22.     mvwaddstr(dt_win, 5, 4, "New carrier delay: ");
  23.     mvwaddstr(dt_win, 6, 4, "New pause time: ");
  24.     box(dt_win, '|', '-');
  25.  
  26.     mvwattrstr(dt_win, 0, 3, A_BOLD, " Change delay times ");
  27.     wmove(dt_win, 5, 23);
  28.     wrefresh(dt_win);
  29.                     /* get the cdelay number */
  30.     if ((cdelay = get_num(dt_win, 3)) == -1) {
  31.         delwin(dt_win);
  32.         return;
  33.     }
  34.                     /* give 'em the current settings */
  35.     if (!cdelay) {
  36.         cdelay = param->cdelay;
  37.         wprintw(dt_win, "%-3d", cdelay);
  38.     }
  39.     else {
  40.                     /* some reasonable limit */
  41.         if (cdelay > MAX_CDELAY || cdelay < MIN_CDELAY) {
  42.             beep();
  43.             if (cdelay > MAX_CDELAY)
  44.                 cdelay = MAX_CDELAY;
  45.             else
  46.                 cdelay = MIN_CDELAY;
  47.             mvwprintw(dt_win, 5, 23, "%-3d", cdelay);
  48.         }
  49.     }
  50.                     /* get the pause number */
  51.     wmove(dt_win, 6, 20);
  52.     wrefresh(dt_win);
  53.     if ((pause = get_num(dt_win, 3)) == -1) {
  54.         delwin(dt_win);
  55.         return;
  56.     }
  57.                     /* give 'em the current settings */
  58.     if (!pause) {
  59.         pause = param->pause;
  60.         wprintw(dt_win, "%-3d", pause);
  61.     }
  62.     else {
  63.                     /* some reasonable limit */
  64.         if (pause > MAX_PAUSE || pause < MIN_PAUSE) {
  65.             beep();
  66.             if (pause > MAX_PAUSE)
  67.                 pause = MAX_PAUSE;
  68.             else
  69.                 pause = MIN_PAUSE;
  70.             mvwprintw(dt_win, 6, 20, "%-3d", pause);
  71.         }
  72.     }
  73.                     /* set 'em */
  74.     param->cdelay = cdelay;
  75.     param->pause = pause;
  76.                     /* save 'em to disk ? */
  77.     if (yes_prompt(dt_win, 7, 12, A_BOLD, "Save to disk")) {
  78.         if (update_param()) {
  79.             touchwin(dt_win);
  80.             wrefresh(dt_win);
  81.         }
  82.     }
  83.  
  84.     delwin(dt_win);
  85.     return;
  86. }
  87.