home *** CD-ROM | disk | FTP | other *** search
- /* prf_filereq.c */
- /* V1.1 3-9-92 */
-
- #include "prf.h"
-
- struct FileRequester *FileReq;
- struct TagItem FRTags[] =
- {
- ASL_Hail,NULL,
- ASL_FuncFlags,0L,
- ASL_LeftEdge,0L,
- ASL_TopEdge,0L,
- ASL_Width,SWD_WIDTH,
- ASL_Height,SWD_HEIGHT,
- ASL_Dir,0L,
- ASL_Pattern,(ULONG)"~(#?.info)",
- TAG_DONE,0L
- };
-
- void __regargs Prf_SavePrefs(struct prf_info *info,UBYTE *filename)
- {
- FRTags[0].ti_Data = (ULONG)SAVEPREFS_TITLE;
- FRTags[1].ti_Data = (ULONG)FILF_SAVE;
- FRTags[2].ti_Data = SwdTags[0].ti_Data;
- FRTags[3].ti_Data = SwdTags[1].ti_Data;
- FRTags[6].ti_Data = (ULONG)info->SaveReqDir;
- if(FileReq = (struct FileRequester *)AllocAslRequest(ASL_FileRequest,FRTags))
- {
- if(RequestFile(FileReq))
- {
- strcpy(filename,FileReq->rf_Dir);
- strcpy(info->SaveReqDir,FileReq->rf_Dir);
- AddPart(filename,FileReq->rf_File,STR_SIZE);
- }
- }
- FreeAslRequest((APTR)FileReq);
- }
-
- void __regargs Prf_FileReq(struct prf_info *info)
- {
- UBYTE f[STR_SIZE];
- FRTags[0].ti_Data = (ULONG)FILEREQ_TITLE;
- FRTags[1].ti_Data = (ULONG)FILF_MULTISELECT | FILF_PATGAD;
- FRTags[2].ti_Data = SwdTags[0].ti_Data;
- FRTags[3].ti_Data = SwdTags[1].ti_Data;
- FRTags[6].ti_Data = (ULONG)info->FileReqDir;
- if(FileReq = (struct FileRequester *)AllocAslRequest(ASL_FileRequest,FRTags))
- {
- if(RequestFile(FileReq))
- {
- if(FileReq->rf_NumArgs != 0)
- {
- long i;
- for(i = 0; i < FileReq->rf_NumArgs;i++)
- {
- long cmd = CMD_INSERTTAIL;
- strcpy(info->FileReqDir,FileReq->rf_Dir);
- NameFromLock(FileReq->rf_ArgList[i].wa_Lock,f,256);
- AddPart(f,FileReq->rf_ArgList[i].wa_Name,256);
- info->Special1 = (APTR)f;
- info->Special2 = (APTR)&cmd;
- InsertName(info);
- info->Special1 = NULL;
- info->Special2 = NULL;
- }
- }
- }
- FreeAslRequest((APTR)FileReq);
- }
- }
-
-
-
-