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 >
Wrap
C/C++ Source or Header
|
1992-06-16
|
2KB
|
74 lines
/* 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);
}
}