home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_progs / prt_util / printfls.lha / Source.lha / Source / prf_filereq.c < prev    next >
C/C++ Source or Header  |  1992-06-16  |  2KB  |  74 lines

  1. /* prf_filereq.c */
  2. /* V1.1 3-9-92 */
  3.  
  4. #include "prf.h"
  5.  
  6. struct FileRequester *FileReq;
  7. struct TagItem       FRTags[] =
  8.                      {
  9.                       ASL_Hail,NULL,
  10.                       ASL_FuncFlags,0L,
  11.                       ASL_LeftEdge,0L,
  12.                       ASL_TopEdge,0L,
  13.                       ASL_Width,SWD_WIDTH,
  14.                       ASL_Height,SWD_HEIGHT,
  15.                       ASL_Dir,0L,
  16.                       ASL_Pattern,(ULONG)"~(#?.info)",
  17.                       TAG_DONE,0L
  18.                      };
  19.  
  20. void __regargs Prf_SavePrefs(struct prf_info *info,UBYTE *filename)
  21. {
  22.  FRTags[0].ti_Data = (ULONG)SAVEPREFS_TITLE;
  23.  FRTags[1].ti_Data = (ULONG)FILF_SAVE;
  24.  FRTags[2].ti_Data = SwdTags[0].ti_Data;
  25.  FRTags[3].ti_Data = SwdTags[1].ti_Data;
  26.  FRTags[6].ti_Data = (ULONG)info->SaveReqDir;
  27.  if(FileReq = (struct FileRequester *)AllocAslRequest(ASL_FileRequest,FRTags))
  28.  {
  29.   if(RequestFile(FileReq))
  30.   {
  31.    strcpy(filename,FileReq->rf_Dir);
  32.    strcpy(info->SaveReqDir,FileReq->rf_Dir);
  33.    AddPart(filename,FileReq->rf_File,STR_SIZE);
  34.   }
  35.  }
  36.  FreeAslRequest((APTR)FileReq);
  37. }
  38.  
  39. void __regargs Prf_FileReq(struct prf_info *info)
  40. {
  41.  UBYTE f[STR_SIZE];
  42.  FRTags[0].ti_Data = (ULONG)FILEREQ_TITLE;
  43.  FRTags[1].ti_Data = (ULONG)FILF_MULTISELECT | FILF_PATGAD;
  44.  FRTags[2].ti_Data = SwdTags[0].ti_Data;
  45.  FRTags[3].ti_Data = SwdTags[1].ti_Data;
  46.  FRTags[6].ti_Data = (ULONG)info->FileReqDir;
  47.  if(FileReq = (struct FileRequester *)AllocAslRequest(ASL_FileRequest,FRTags))
  48.  {
  49.   if(RequestFile(FileReq))
  50.   {
  51.    if(FileReq->rf_NumArgs != 0)
  52.    {
  53.     long i;
  54.     for(i = 0; i < FileReq->rf_NumArgs;i++)
  55.     {
  56.      long cmd = CMD_INSERTTAIL;
  57.      strcpy(info->FileReqDir,FileReq->rf_Dir);
  58.      NameFromLock(FileReq->rf_ArgList[i].wa_Lock,f,256);
  59.      AddPart(f,FileReq->rf_ArgList[i].wa_Name,256);
  60.      info->Special1 = (APTR)f;
  61.      info->Special2 = (APTR)&cmd;
  62.      InsertName(info);
  63.      info->Special1 = NULL;
  64.      info->Special2 = NULL;
  65.     }
  66.    }
  67.   }
  68.   FreeAslRequest((APTR)FileReq);
  69.  }
  70. }
  71.  
  72.  
  73.  
  74.