home *** CD-ROM | disk | FTP | other *** search
- /* prf_saveprefs.c */
- /* V091 9-3-92 */
-
- #include "prf.h"
-
- UWORD chip saveprefsiconI1Data[] =
- {
- /* Plane 0 */
- 0x0000,0x0000,0x0000,0x7FFF,0xFFFF,0xFFFC,0x7FE0,0x0000,
- 0x07FC,0x7FE4,0x4688,0x07FC,0x7FE0,0x0000,0x07FC,0x7FE7,
- 0xF580,0x07FC,0x7FE0,0x0000,0x07FC,0x7FE7,0xFFFD,0x87FC,
- 0x7FE6,0x0000,0x07FC,0x7FE3,0x7F00,0x07FC,0x7FFF,0xFFFF,
- 0xFFFC,0x7000,0x0000,0x000C,0x77FF,0xFFFF,0xFFEC,0x77FF,
- 0xFFFF,0xB6EC,0x77FF,0xFFFF,0xFFEC,0x77FF,0xFFFF,0xFFEC,
- 0x7000,0x0000,0x000C,0x7FFF,0xFFFF,0xFFFC,0x7FF0,0x3FFE,
- 0x7FFC,0x7FFB,0x9FFD,0xFFFC,0x7FFB,0xDFFD,0xFFFC,0x7FFB,
- 0x8998,0xC7FC,0x7FF8,0x336D,0xB7FC,0x7FFB,0xF70D,0x9FFC,
- 0x7FFB,0xF77D,0xE7FC,0x7FFB,0xF735,0xB7FC,0x7FF1,0xE38D,
- 0x8FFC,0x7FFF,0xFFFF,0xFFFC,0x0000,0x0000,0x0000,
- /* Plane 1 */
- 0xFFFF,0xFFFF,0xFFFE,0xFFFF,0xFFFF,0xFFFE,0xFFFF,0xFFFF,
- 0xFFFE,0xFFFB,0xB977,0xFFFE,0xFFFF,0xFFFF,0xFFFE,0xFFF8,
- 0x0A7F,0xFFFE,0xFFFF,0xFFFF,0xFFFE,0xFFF8,0x0002,0x7FFE,
- 0xFFF9,0xFFFF,0xFFFE,0xFFFC,0x80FF,0xFFFE,0xFFE0,0x0000,
- 0x03FE,0xFFFF,0xFFFF,0xFFFE,0xF800,0x0000,0x001E,0xF800,
- 0x0000,0x491E,0xF800,0x0000,0x001E,0xF800,0x0000,0x001E,
- 0xFFFF,0xFFFF,0xFFFE,0xFFFF,0xFFFF,0xFFFE,0xFFFF,0xFFFF,
- 0xFFFE,0xFFFF,0xFFFF,0xFFFE,0xFFFF,0xFFFF,0xFFFE,0xFFFF,
- 0xFFFF,0xFFFE,0xFFFF,0xFFFF,0xFFFE,0xFFFF,0xFFFF,0xFFFE,
- 0xFFFF,0xFFFF,0xFFFE,0xFFFF,0xFFFF,0xFFFE,0xFFFF,0xFFFF,
- 0xFFFE,0xFFFF,0xFFFF,0xFFFE,0xFFFF,0xFFFF,0xFFFE,
- };
-
- struct Image saveprefsiconI1 =
- {
- 0, 0, /* Upper left corner */
- 47, 29, 2, /* Width, Height, Depth */
- saveprefsiconI1Data, /* Image data */
- 0x0003, 0x0000, /* PlanePick, PlaneOnOff */
- NULL /* Next image */
- };
-
- UBYTE *saveprefsimageTools[] =
- {
- "CONSOLE=con:0/0/100/100/PrintFiles/AUTO",
- "DONOTWAIT",
- NULL
- };
-
- struct DiskObject saveprefsicon =
- {
- WB_DISKMAGIC, /* Magic Number */
- WB_DISKVERSION, /* Version */
- { /* Embedded Gadget Structure */
- NULL, /* Next Gadget Pointer */
- 0, 0, 47, 30, /* Left,Top,Width,Height */
- GADGIMAGE | GADGBACKFILL, /* Flags */
- RELVERIFY, /* Activation Flags */
- BOOLGADGET, /* Gadget Type */
- (APTR)&saveprefsiconI1, /* Render Image */
- NULL, /* Select Image */
- NULL, /* Gadget Text */
- NULL, /* Mutual Exclude */
- NULL, /* Special Info */
- 0, /* Gadget ID */
- NULL, /* User Data */
- },
- WBPROJECT, /* Icon Type */
- (char *)"SYS:rexxc/rx", /* Default Tool */
- saveprefsimageTools, /* Tool Type Array */
- NO_ICON_POSITION, /* Current X */
- NO_ICON_POSITION, /* Current Y */
- NULL, /* Drawer Structure */
- NULL, /* Tool Window */
- 0 /* Stack Size */
- };
-
-
- struct st
- {
- UBYTE *line;
- UBYTE *comment;
- };
-
- static struct st start_text[] =
- {
- START_L1,COMMENT_L1,
- START_L2,COMMENT_L2,
- START_L3,COMMENT_L3,
- START_L4,COMMENT_L4,
- START_L5,COMMENT_L5,
- START_L6,COMMENT_L6,
- NULL,NULL,
- };
-
- void __regargs SavePreferences(struct prf_info *info,UBYTE *name)
- {
- FILE *prefs;
- UBYTE filename[STR_SIZE];
- UBYTE *sp = " ";
- struct FileNameNode *n;
- strcpy(sp,"-CFWSRPIL");
- if(name) strcpy(filename,name);
- else Prf_SavePrefs(info,filename);
- if(info->Swd)
- {
- SwdTags[0].ti_Data = (ULONG)info->Swd->LeftEdge;
- SwdTags[1].ti_Data = (ULONG)info->Swd->TopEdge;
- }
- if(*filename)
- {
- if(prefs = fopen(filename,"w"))
- {
- fprintf(prefs,T_PREFSHEADER);
- if(info->flags.sp_start)
- {
- long i = 0L;
- fprintf(prefs,("\n"));
- while(start_text[i].line)
- {
- fprintf(prefs,"%s ",start_text[i].line);
- if(info->flags.sp_comment)
- fprintf(prefs,"%s ",start_text[i].comment);
- fprintf(prefs,("\n"));
- i++;
- }
- fprintf(prefs,("\n"));
- }
- else fprintf(prefs,T_PREFSHEADER1);
- fprintf(prefs,T_PREFSHEADER2);
- if(info->flags.sp_reset)
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_RESET RT_RX_RESET"\n");
- else fprintf(prefs, T_RX_RESET "\n");
- if(info->flags.cpi == 1)
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_10CPI RT_RX_10CPI"\n");
- else fprintf(prefs, T_RX_10CPI "\n");
- if(info->flags.cpi == 2)
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_12CPI RT_RX_12CPI "\n");
- else fprintf(prefs, T_RX_12CPI "\n");
- if(info->flags.cpi == 3)
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_15CPI RT_RX_15CPI "\n");
- else fprintf(prefs, T_RX_15CPI "\n");
- if(info->flags.draft)
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_DRAFT RT_RX_DRAFT "\n");
- else fprintf(prefs, T_RX_DRAFT "\n");
- if(info->flags.lq)
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_LQ RT_RX_LQ "\n");
- else fprintf(prefs, T_RX_LQ "\n");
- if(info->flags.page)
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_PAGE " " T_RX_ON " " RT_RX_PAGE "\n");
- else fprintf(prefs, T_RX_PAGE " " T_RX_ON "\n");
- }
- else
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_PAGE " " T_RX_OFF " " RT_RX_PAGE "\n");
- else fprintf(prefs, T_RX_PAGE " " T_RX_OFF "\n");
- }
- if(info->flags.time)
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_TIME " " T_RX_ON " " RT_RX_TIME "\n");
- else fprintf(prefs, T_RX_TIME " " T_RX_ON "\n");
- }
- else
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_TIME " " T_RX_OFF " " RT_RX_TIME "\n");
- else fprintf(prefs, T_RX_TIME " " T_RX_OFF "\n");
- }
- if(info->flags.file)
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_FILE " " T_RX_ON " " RT_RX_FILE "\n");
- else fprintf(prefs, T_RX_FILE " " T_RX_ON "\n");
- }
- else
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_FILE " " T_RX_OFF " " RT_RX_FILE "\n");
- else fprintf(prefs, T_RX_FILE " " T_RX_OFF "\n");
- }
- if(info->flags.line)
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_LINE " " T_RX_ON " " RT_RX_LINE "\n");
- else fprintf(prefs, T_RX_LINE " " T_RX_ON "\n");
- }
- else
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_LINE " " T_RX_OFF " " RT_RX_LINE "\n");
- else fprintf(prefs, T_RX_LINE " " T_RX_OFF "\n");
- }
- if(info->flags.date)
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_DATE " " T_RX_ON " " RT_RX_DATE "\n");
- else fprintf(prefs, T_RX_DATE " " T_RX_ON "\n");
- }
- else
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_DATE " " T_RX_OFF " " RT_RX_DATE "\n");
- else fprintf(prefs, T_RX_DATE " " T_RX_OFF "\n");
- }
- if(info->flags.pitch == 1)
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_PITCH6 RT_RX_PITCH6 "\n");
- else fprintf(prefs, T_RX_PITCH6 "\n");
- if(info->flags.pitch == 2)
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_PITCH8 RT_RX_PITCH8 "\n");
- else fprintf(prefs, T_RX_PITCH8 "\n");
- if(info->flags.ff)
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_FF " " T_RX_ON " " RT_RX_FF "\n");
- else fprintf(prefs, T_RX_FF " " T_RX_ON "\n");
- }
- else
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_FF " " T_RX_OFF " " RT_RX_FF "\n");
- else fprintf(prefs, T_RX_FF " " T_RX_OFF "\n");
- }
- if(info->flags.ffpage)
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_FFPAGE " " T_RX_ON " " RT_RX_FFPAGE "\n");
- else fprintf(prefs, T_RX_FFPAGE " " T_RX_ON "\n");
- }
- else
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_FFPAGE " " T_RX_OFF " " RT_RX_FFPAGE "\n");
- else fprintf(prefs, T_RX_FFPAGE " " T_RX_OFF "\n");
- }
- if(info->flags.sp_lines)
- {
- if(info->flags.sp_comment)
- fprintf(prefs, "%s '%s'" RT_RX_HEAD "\n", T_RX_HEAD,info->Headline);
- else fprintf(prefs, "%s '%s'" "\n", T_RX_HEAD,info->Headline);
- if(info->flags.sp_comment)
- fprintf(prefs, "%s '%s'" RT_RX_FOOT "\n", T_RX_FOOT,info->Footline);
- else fprintf(prefs, "%s '%s'" "\n", T_RX_FOOT,info->Footline);
- }
- if(info->flags.sp_comment)
- fprintf(prefs, "%s %ld" RT_RX_LMARGIN "\n",T_RX_LMARGIN,info->Lmargin);
- else fprintf(prefs, "%s %ld" "\n",T_RX_LMARGIN,info->Lmargin);
- if(info->flags.sp_comment)
- fprintf(prefs, "%s %ld" RT_RX_RMARGIN "\n",T_RX_RMARGIN,info->Rmargin);
- else fprintf(prefs, "%s %ld" "\n",T_RX_RMARGIN,info->Rmargin);
- if(info->flags.sp_comment)
- fprintf(prefs, "%s %ld" RT_RX_LINES "\n",T_RX_LINES,info->Lines);
- else fprintf(prefs, "%s %ld" "\n",T_RX_LINES,info->Lines);
- if(info->flags.sp_files)
- {
- n = (struct FileNameNode *)info->FileList.lh_Head;
- while(n && (n != (struct FileNameNode *)info->FileList.lh_Tail))
- {
- if(*(n->fnn_Name))
- {
- if(info->flags.sp_comment)
- fprintf(prefs, "%s '%s'" RT_RX_INSFILE "\n", T_RX_INSFILE,n->fnn_Name);
- else fprintf(prefs, "%s '%s'" "\n", T_RX_INSFILE,n->fnn_Name);
- }
- n = (struct FileNameNode *)n->fnn_Node.ln_Succ;
- }
- }
- if(info->flags.sp_window)
- {
- if(info->flags.sp_comment)
- {
- fprintf(prefs, T_RX_OPENWINDOW " " T_RX_CONTROL " %ld %ld " RT_RX_OPENWINDOW "\n",SwdTags[0].ti_Data,SwdTags[1].ti_Data);
- fprintf(prefs, T_RX_OPENWINDOW " " T_RX_PREFS " %ld %ld " RT_RX_OPEN_P_WINDOW "\n",PwdTags[0].ti_Data,PwdTags[1].ti_Data);
- }
- else
- {
- fprintf(prefs, T_RX_OPENWINDOW " " T_RX_CONTROL " %ld %ld \n",SwdTags[0].ti_Data,SwdTags[1].ti_Data);
- fprintf(prefs, T_RX_OPENWINDOW " " T_RX_PREFS " %ld %ld \n",PwdTags[0].ti_Data,PwdTags[1].ti_Data);
- }
- }
- fprintf(prefs, T_RX_SAVEPREFS );
- if(info->flags.sp_comment)*(sp + 1) = tolower(*(sp+1));
- if(info->flags.sp_files) *(sp + 2) = tolower(*(sp+2));
- if(info->flags.sp_window) *(sp + 3) = tolower(*(sp+3));
- if(info->flags.sp_start) *(sp + 4) = tolower(*(sp+4));
- if(info->flags.sp_reset) *(sp + 5) = tolower(*(sp+5));
- if(info->flags.sp_print) *(sp + 6) = tolower(*(sp+6));
- if(info->flags.sp_icon) *(sp + 7) = tolower(*(sp+7));
- if(info->flags.sp_lines) *(sp + 8) = tolower(*(sp+8));
- fprintf(prefs," '%s' ",sp);
- if(info->flags.sp_comment)
- {
- fprintf(prefs," " RT_RX_SAVEPREFS "\n");
- if(*(sp + 1) == 'c') fprintf(prefs, RT_RX_SP_ON " " RT_RX_SP_COMMENT "\n");
- else fprintf(prefs,RT_RX_SP_OFF " " RT_RX_SP_COMMENT "\n");
- if(*(sp + 2) == 'f') fprintf(prefs, RT_RX_SP_ON " " RT_RX_SP_FILES "\n");
- else fprintf(prefs,RT_RX_SP_OFF " " RT_RX_SP_FILES "\n");
- if(*(sp + 3) == 'w') fprintf(prefs, RT_RX_SP_ON " " RT_RX_SP_WINDOW "\n");
- else fprintf(prefs,RT_RX_SP_OFF " " RT_RX_SP_WINDOW "\n");
- if(*(sp + 4) == 's') fprintf(prefs, RT_RX_SP_ON " " RT_RX_SP_START "\n");
- else fprintf(prefs,RT_RX_SP_OFF " " RT_RX_SP_START "\n");
- if(*(sp + 5) == 'r') fprintf(prefs, RT_RX_SP_ON " " RT_RX_SP_RESET "\n");
- else fprintf(prefs,RT_RX_SP_OFF " " RT_RX_SP_RESET "\n");
- if(*(sp + 6) == 'p') fprintf(prefs, RT_RX_SP_ON " " RT_RX_SP_PRINT "\n");
- else fprintf(prefs,RT_RX_SP_OFF " " RT_RX_SP_PRINT "\n");
- if(*(sp + 7) == 'i') fprintf(prefs, RT_RX_SP_ON " " RT_RX_SP_ICON "\n");
- else fprintf(prefs,RT_RX_SP_OFF " " RT_RX_SP_ICON "\n");
- if(*(sp + 8) == 'l') fprintf(prefs, RT_RX_SP_ON " " RT_RX_SP_LINES "\n");
- else fprintf(prefs,RT_RX_SP_OFF " " RT_RX_SP_LINES "\n");
- }
- else fprintf(prefs,"\n");
- fprintf(prefs, T_RX_ICON " ");
- switch(info->flags.icon)
- {
- case 0: if(info->flags.sp_comment)
- fprintf(prefs,T_RX_IGNORE " " RT_RX_ICON_NONE "\n");
- else
- fprintf(prefs,T_RX_IGNORE "\n");
- break;
- case 1: if(info->flags.sp_comment)
- fprintf(prefs,T_RX_CGFX " " RT_RX_ICON_IMAGE "\n");
- else
- fprintf(prefs,T_RX_CGFX "\n");
- break;
- case 2: if(info->flags.sp_comment)
- fprintf(prefs,T_RX_INFO " " RT_RX_ICON_TEXT "\n");
- else
- fprintf(prefs,T_RX_INFO "\n");
- break;
- case 3: if(info->flags.sp_comment)
- fprintf(prefs,T_RX_ALL " " RT_RX_ICON_ALL "\n");
- else
- fprintf(prefs,T_RX_ALL "\n");
- break;
- }
- fprintf(prefs, T_RX_PROG " ");
- switch(info->flags.prog)
- {
- case 0: if(info->flags.sp_comment)
- fprintf(prefs,T_RX_IGNORE " " RT_RX_PROG_NONE "\n");
- else
- fprintf(prefs,T_RX_IGNORE "\n");
- break;
- case 1: if(info->flags.sp_comment)
- fprintf(prefs,T_RX_INFO " " RT_RX_PROG_TEXT "\n");
- else
- fprintf(prefs,T_RX_INFO "\n");
- break;
- case 2: if(info->flags.sp_comment)
- fprintf(prefs,T_RX_GFX " " RT_RX_PROG_ICON "\n");
- else
- fprintf(prefs,T_RX_GFX "\n");
- break;
- case 3: if(info->flags.sp_comment)
- fprintf(prefs,T_RX_ALL " " RT_RX_PROG_ALL "\n");
- else
- fprintf(prefs,T_RX_ALL "\n");
- break;
- }
- if(info->flags.sp_print)
- {
- if(info->flags.sp_comment)
- fprintf(prefs, T_RX_PRINT RT_RX_PRINT "\n");
- else fprintf(prefs, T_RX_PRINT "\n");
- }
- fclose(prefs);
- }
- }
- if(info->flags.sp_icon)
- {
- if(*filename)PutDiskObject(filename,&saveprefsicon);
- }
- }
-
-
-
-