home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume16 / pcomm2 / part03 / di_delay.c < prev   
C/C++ Source or Header  |  1988-09-14  |  2KB  |  88 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 "config.h"
  10. #include "misc.h"
  11. #include "param.h"
  12.  
  13. void
  14. delay_times()
  15. {
  16.     WINDOW *dt_win, *newwin();
  17.     int cdelay, rdelay;
  18.  
  19.     dt_win = newwin(9, 45, 7, 15);
  20.  
  21.     mvwprintw(dt_win, 2, 4, "Current connect delay time: %d", param->c_delay);
  22.     mvwprintw(dt_win, 3, 4, "Current redial delay time: %d", param->r_delay);
  23.     mvwaddstr(dt_win, 5, 4, "New connect delay: ");
  24.     mvwaddstr(dt_win, 6, 4, "New redial delay: ");
  25.     box(dt_win, VERT, HORZ);
  26.  
  27.     mvwattrstr(dt_win, 0, 3, A_BOLD, " Change delay times ");
  28.     wmove(dt_win, 5, 23);
  29.     wrefresh(dt_win);
  30.                     /* get the cdelay number */
  31.     if ((cdelay = get_num(dt_win, 3)) == -1) {
  32.         delwin(dt_win);
  33.         return;
  34.     }
  35.                     /* give 'em the current settings */
  36.     if (!cdelay) {
  37.         cdelay = param->c_delay;
  38.         wprintw(dt_win, "%-3d", cdelay);
  39.     }
  40.     else {
  41.                     /* some reasonable limit */
  42.         if (cdelay > MAX_CDELAY || cdelay < MIN_CDELAY) {
  43.             beep();
  44.             if (cdelay > MAX_CDELAY)
  45.                 cdelay = MAX_CDELAY;
  46.             else
  47.                 cdelay = MIN_CDELAY;
  48.             mvwprintw(dt_win, 5, 23, "%-3d", cdelay);
  49.         }
  50.     }
  51.                     /* get the rdelay number */
  52.     wmove(dt_win, 6, 20);
  53.     wrefresh(dt_win);
  54.     if ((rdelay = get_num(dt_win, 3)) == -1) {
  55.         delwin(dt_win);
  56.         return;
  57.     }
  58.                     /* give 'em the current settings */
  59.     if (!rdelay) {
  60.         rdelay = param->r_delay;
  61.         wprintw(dt_win, "%-3d", rdelay);
  62.     }
  63.     else {
  64.                     /* some reasonable limit */
  65.         if (rdelay > MAX_PAUSE || rdelay < MIN_PAUSE) {
  66.             beep();
  67.             if (rdelay > MAX_PAUSE)
  68.                 rdelay = MAX_PAUSE;
  69.             else
  70.                 rdelay = MIN_PAUSE;
  71.             mvwprintw(dt_win, 6, 20, "%-3d", rdelay);
  72.         }
  73.     }
  74.                     /* set 'em */
  75.     param->c_delay = cdelay;
  76.     param->r_delay = rdelay;
  77.                     /* save 'em to disk? */
  78.     if (yes_prompt(dt_win, 7, 12, A_BOLD, "Save to disk")) {
  79.         if (up_param()) {
  80.             touchwin(dt_win);
  81.             wrefresh(dt_win);
  82.         }
  83.     }
  84.  
  85.     delwin(dt_win);
  86.     return;
  87. }
  88.