#include "filedoor_structs_defines.h"
#include "filedoor_protos.h"
#include <proto/exec.h>
#include <proto/dos.h>
#include <exec/memory.h>
#include <utility/tagitem.h>
#include <strings.h>
#include <stdio.h>
#include <ctype.h>

void SetUserPrefs(void)
{
char keys[4];
BOOL done=FALSE;

  while(!done)
  {
    ClearMenuWindow("User preferences");
    msg("\n");
    msg(RI KNAP"(1)"MENU" Protocol\n");
    msg(RI KNAP"(2)"MENU" Download readme files\n");
    msg(RI KNAP"(3)"MENU" Sorting method\n");
    msg(RI KNAP"(Q)"MENU" Quit to main menu\n");
    hotkey("",keys);
    switch(keys[0])
    {
      /* All done */
      case 'Q':
      case 'q':
      done=TRUE;
      break;

      /* Select protocol */
      case '1':
      ClearMenuWindow("XPR Protocols");
      msg("\n");
      msg(RI KNAP"(1)"MENU" X/YModem single file\n");
      msg(RI KNAP"(2)"MENU" ZModem batch\n");
      hotkey("",keys);
      switch(keys[0])
      {
        case '1':
        SetAttr("Xxprymodem.library");
        break;
        
        case '2':
        SetAttr("Xxprzmodem.library");
        break;
        
        default:
        break;
      }
      break;
      
      /* Toggle download readmes */
      case '2':
      ClearMenuWindow("Download readme files");
      msg("\n");
      msg(RI KNAP"(Y)"MENU" Yes\n");
      msg(RI KNAP"(N)"MENU" No\n");
      hotkey("",keys);
      switch(keys[0])
      {
        case 'Y':
        case 'y':
        SetAttr("RY");
        break;

        case 'N':
        case 'n':
        SetAttr("RN");
        break;
  
        default:
        break;
      }
      break;
  
      /* Sorting method */
      case '3':
      ClearMenuWindow("Sorting method");
      msg("\n");
      msg(RI KNAP"(A)"MENU" Alpha\n");
      msg(RI KNAP"(Z)"MENU" Reverse alpha\n");
      msg(RI KNAP"(N)"MENU" New files first\n");
      msg(RI KNAP"(O)"MENU" Old files first\n");
      hotkey("",keys);
      switch(keys[0])
      {
        case 'A':
        case 'a':
        SetAttr("SA");
        break;

        case 'Z':
        case 'z':
        SetAttr("SZ");
        break;
  
        case 'N':
        case 'n':
        SetAttr("SN");
        break;
  
        case 'O':
        case 'o':
        SetAttr("SO");
        break;
  
        default:
        break;
      }
      break;
  
      default:
      break;
    }
  }
}
