if (ListContents[i,1]="·") or (ListContents[i,1]="+") then dummy:=dummy or (long(1) SHL i);
if ListContents[0,1]="+" then dummy:=dummy or (long(1) SHL 9);
if ListContents[4,1]="+" then dummy:=dummy or (long(1) SHL 10);
if ListContents[5,1]="+" then dummy:=dummy or (long(1) SHL 11);
if ListContents[6,1]="+" then dummy:=dummy or (long(1) SHL 12);
if (DateAsk=TRUE) and (How=TRUE) and (dummy<>0) then dummy:=dummy or (long(1) SHL 13);
if (DateAsk=TRUE) and (How2=TRUE) and (dummy<>0) then dummy:=dummy or (long(1) SHL 14);
if ((GadgetCheck^.flags and GFLG_Selected)<>0) and (dummy<>0) then dummy:=dummy or (long(1) SHL 15);
WhatToImport:=dummy;
end;
END;
FUNCTION PartPrefs (VAR MyPrefs,RealPrefs:Prefs,ofFile:boolean):boolean;
LABEL ExitOut;
VAR dummy : long;
seperator: string[2];
BEGIN
dummy:=WhatToImport(MyPrefs.Bool,ofFile);
if dummy=0 then begin PartPrefs:=FALSE; goto ExitOut end else PartPrefs:=TRUE;
if (MyPrefs.Pattern<>"") and ((dummy and 1)<>0) then begin
if RealPrefs.Pattern="" then seperator:="" else seperator:="|";
if (dummy and (long(1) shl 9))=0 then RealPrefs.Pattern:=MyPrefs.Pattern else if length(RealPrefs.Pattern)+length(MyPrefs.Pattern)+1<257 then RealPrefs.Pattern:=RealPrefs.Pattern+seperator+MyPrefs.Pattern;
end;
if (dummy and (long(1) shl 1))<>0 then begin
if ((dummy and (long(1) shl 13))<>0) or (ofFile=FALSE) then
RealPrefs.bigger:=MyPrefs.bigger;
if ((dummy and (long(1) shl 13))=0) or (ofFile=FALSE) then
RealPrefs.smaller:=MyPrefs.smaller
end;
if (dummy and (long(1) shl 2))<>0 then RealPrefs.Bits:=MyPrefs.Bits;
if (dummy and (long(1) shl 3))<>0 then begin
if ((dummy and (long(1) shl 14))<>0) or (ofFile=FALSE) then begin
RealPrefs.Date1:=MyPrefs.Date1;
RealPrefs.Time1:=MyPrefs.Time1
end;
if ((dummy and (long(1) shl 14))=0) or (ofFile=FALSE) then begin
RealPrefs.Date2:=MyPrefs.Date2;
RealPrefs.Time2:=MyPrefs.Time2
end
end;
if (MyPrefs.Comment<>"") and ((dummy and (long(1) shl 4))<>0) then begin
if RealPrefs.Comment="" then seperator:="" else seperator:="|";
if (dummy and (long(1) shl 10))=0 then RealPrefs.Comment:=MyPrefs.Comment else if length(RealPrefs.Comment)+length(MyPrefs.Comment)+1<257 then RealPrefs.Comment:=RealPrefs.Comment+seperator+MyPrefs.Comment;
end;
if (MyPrefs.Typ<>"") and ((dummy and (long(1) shl 5))<>0) then begin
if RealPrefs.Typ="" then seperator:="" else seperator:="|";
if (dummy and (long(1) shl 11))=0 then RealPrefs.Typ:=MyPrefs.Typ else if length(RealPrefs.Typ)+length(MyPrefs.Typ)+1<255 then RealPrefs.Typ:=RealPrefs.Typ+seperator+MyPrefs.Typ;
end;
if (MyPrefs.FileIn<>"") and ((dummy and (long(1) shl 6))<>0) then begin
if RealPrefs.FileIn="" then seperator:="" else seperator:="|";
if (dummy and (long(1) shl 12))=0 then RealPrefs.Typ:=MyPrefs.FileIn else if length(RealPrefs.FileIn)+length(MyPrefs.FileIn)+1<257 then RealPrefs.FileIn:=RealPrefs.FileIn+seperator+MyPrefs.FileIn;
end;
if (dummy and (long(1) shl 15))<>0 then begin
if (dummy and 1)<>0 then RealPrefs.Bool:=RealPrefs.Bool and 1;
if (dummy and (long(1) shl 1))<>0 then RealPrefs.Bool:=RealPrefs.Bool or (long(1) shl 1);
if (dummy and (long(1) shl 2))<>0 then RealPrefs.Bool:=RealPrefs.Bool or (long(1) shl 2);
if (dummy and (long(1) shl 3))<>0 then RealPrefs.Bool:=RealPrefs.Bool or (long(1) shl 3);
if (dummy and (long(1) shl 5))<>0 then RealPrefs.Bool:=RealPrefs.Bool or (long(1) shl 4);
if (dummy and (long(1) shl 4))<>0 then
if MyPrefs.BoolComment=0 then RealPrefs.BoolComment:=long(UsedXSP.Sensitivity)+1 else RealPrefs.BoolComment:=MyPrefs.BoolComment;
if (dummy and (long(1) shl 6))<>0 then
if MyPrefs.BoolFileIn=0 then RealPrefs.BoolFileIn:=long(UsedXSP.Sensitivity)+1 else RealPrefs.BoolFileIn:=MyPrefs.BoolFileIn;
FUNCTION AlienizeTimeDate(DateTimeString:str,Time:boolean):string FORWARD;
FUNCTION ConvertCurrentDateTime(Input:p_DateStamp,Time:boolean):string FORWARD;
FUNCTION ReadPrefs(FileName:string,VAR RealPrefs:Prefs,win:p_window,ImportAsk:boolean,
VAR MyList:p_List,doIt:Boolean):boolean;
VAR ReadFile: Text;
Dummy : long;
Identifier: string[13];
MyPrefs : Prefs;
LABEL ExitOut;
BEGIN
ReSet(ReadFile,FileName);
Dummy:=IOResult;
if Dummy<>0 then begin
Dummy:=long(Fault(Dummy,NIL,VariableString,364));
if (win<>NIL) and (ImportAsk=FALSE) then GiveError("XSearch 1.0 ["+ProjektName+"] - Open project","Error while opening."+LF+"("+VariableString+")",win);
if (win<>NIL) and (ImportAsk=TRUE) then GiveError("XSearch 1.0 ["+ProjektName+"] - Take over values","The values couldn't have been"+LF+"taken over."+LF+"("+VariableString+")",win);
ReadPrefs:=FALSE;
goto ExitOut
end;
readln (ReadFile,Identifier);
if (Identifier<>"XSEARCH FILE") and (ImportAsk=FALSE) then begin GiveError("XSearch 1.0 ["+ProjektName+"] - Open project","The file is no XSearch project.",win); ReadPrefs:=FALSE; goto ExitOut end;
if (Identifier<>"XSEARCH FILE") and (ImportAsk=TRUE) then begin GiveError("XSearch 1.0 ["+ProjektName+"] - Take over values","The file is no XSearch project.",win); ReadPrefs:=FALSE; goto ExitOut end;
with MyPrefs do begin
readln (ReadFile,Bool);
readln (ReadFile,BoolComment);
readln (ReadFile,BoolFileIn);
readln (ReadFile,Pattern);
readln (ReadFile,Bigger);
readln (ReadFile,Smaller);
readln (ReadFile,Bits);
readln (ReadFile,Date1);
readln (ReadFile,Time1);
readln (ReadFile,Date2);
readln (ReadFile,Time2);
readln (ReadFile,DateFormat);
readln (ReadFile,Comment);
readln (ReadFile,Typ);
readln (ReadFile,FileIn)
end;
Dummy:=IOResult;
if Dummy<>0 then begin
Dummy:=long(Fault(Dummy,NIL,VariableString,364));
if (win<>NIL) and (ImportAsk=FALSE) then GiveError("XSearch 1.0 ["+ProjektName+"] - Open project","Error while opening."+LF+"("+VariableString+")",win);
if (win<>NIL) and (ImportAsk=TRUE) then GiveError("XSearch 1.0 ["+ProjektName+"] - Take over values","The values couldn't have been"+LF+"taken over."+LF+"("+VariableString+")",win);
ReadPrefs:=FALSE;
Close(ReadFile);
goto ExitOut
end;
if doIt=TRUE then begin
SearchNodeV:=p_SearchNode(MyList^.lh_Head);
WHILE p_SearchNode(SearchNodeV^.sen_Node.ln_Succ)<>NIL DO BEGIN
if VariableString[length(VariableString)]<>":" then VariableString:=FilePart(VariableString);
if SearchNodeV^.sen_Node.ln_Pri=0 then VariableString:=" "+VariableString else VariableString:=" D "+VariableString;
PrepareNode(SearchNodeV,VariableString);
SortInDirList(MyList,^SearchNodeV^.sen_Node,3);
end
end;
Close(ReadFile);
if Dummy<>0 then begin
Dummy:=long(Fault(Dummy,NIL,VariableString,364));
if (win<>NIL) and (ImportAsk=FALSE) then GiveError("XSearch 1.0 ["+ProjektName+"] - Open project","Error while opening."+LF+"("+VariableString+")",win);
if (win<>NIL) and (ImportAsk=TRUE) then GiveError("XSearch 1.0 ["+ProjektName+"] - Take over values","The values couldn't have been"+LF+"taken over."+LF+"("+VariableString+")",win);
FUNCTION VerifyLength(Length:long,win:p_window,DI:p_DrawInfo):boolean;
BEGIN
if Length<0 then begin VerifyLength:=FALSE; GiveMessageOptions("Length: The value mustn't be smaller than 0.",win,DI) end else VerifyLength:=TRUE
END;
FUNCTION VerifyPattern(PatternString:str,Title:string,win:p_window,
DI:p_DrawInfo):boolean;
VAR DST : string[769];
BEGIN
if ParsePattern(PatternString,DST,769)=-1 then begin VerifyPattern:=FALSE; GiveMessageOptions(Title+"The pattern is wrong.",win,DI) end else VerifyPattern:=TRUE
END;
FUNCTION AlienizeIFF(IFFString:str):string;
VAR alienized: string[256];
i,k : integer;
BEGIN
alienized:=IFFString;
for i:=1 to length(alienized) do
for k:=1 to 40 do begin
alienized[i]:=upcase(alienized[i]);
if (alienized[i]=",") or (alienized[i]=";") or (alienized[i]=" ") then alienized[i]:="|"
end;
if copy(alienized,length(alienized),1)="|" then alienized:=copy(alienized,1,length(alienized)-1);
AlienizeIFF:=alienized
END;
FUNCTION VerifyIFF(IFFString:str,win:p_window,DI:p_DrawInfo):boolean;
LABEL HereOut,Out2;
VAR dummy : string[256];
i,k : integer;
dummy2 : boolean;
Chars : string[40];
BEGIN
Chars:="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 ";
dummy2:=TRUE;
dummy:=IFFString;
if ((length(dummy)+1) mod 5<>0) and (length(dummy)<>0) then begin dummy2:=FALSE; GiveMessageOptions("IFF: No acceptable input.",win,DI); goto Out2 end;
for i:=1 to length(dummy) do begin
if i mod 5=0 then begin
if not (dummy[i]="|") then begin dummy2:=FALSE; dummy:="Char at position "+intstr(i)+" is wrong."; GiveMessageOptions("IFF: "+dummy,win,DI); goto Out2 end
end else begin
for k:=1 to 37 do begin
if dummy[i]=Chars[k] then goto HereOut else
if (dummy[i]<>Chars[k]) and (k=37) then begin dummy2:=FALSE; dummy:="Char at position "+intstr(i)+" is wrong."; GiveMessageOptions("IFF: "+dummy,win,DI); goto Out2 end
end
end;
HereOut:
end;
Out2:
VerifyIFF:=dummy2
END;
PROCEDURE ConvertDate;
VAR dummy : string[3];
BEGIN
if sourcekind<>destinationkind then begin
if (sourcekind>0) and (destinationkind=0) then begin Source[3]:="."; Source[6]:="." end;
if (sourcekind=0) and (destinationkind>0) then begin Source[3]:="-"; Source[6]:="-" end;
if ((sourcekind=2) and (destinationkind<2)) or ((sourcekind<2) and (destinationkind=2)) then begin
if OneRight=FALSE then begin Dummy2:=FALSE; Introducer:="Input at position "+intstr(i)+" is wrong." end
end;
if Dummy2=FALSE then goto ExitHere;
if (pos(whatThing,alienized)>3) or (pos(whatThing,alienized)<2) then begin Dummy2:=FALSE; Introducer:="Wrong specification of "+HangMan[1]+"." end else begin
if BeginString<>"" then begin GiveMessageOptions(BeginString,win,DI); BeginString:="" end;
BACK:
EndExit:=-1;
SIGNAL:=0;
repeat
if (MenuContinue=FALSE) and (ApplicationCounter=0) then begin
imsg:=GT_GetIMsg(win^.userport);
GT_ReplyIMsg(imsg);
if imsg=NIL then begin
SIGNAL:=_wait(AppBit or winBit);
if SIGNAL=winBit then begin
imsg:=GT_GetIMsg(win^.userport);
GT_ReplyIMsg(imsg)
end
end else
SIGNAL:=winBit;
end;
if MenuContinue=TRUE then begin
case ChosenMenu and $1f of
0: begin
case (ChosenMenu and $7e0) div 32 of
0: EndExit:=50
1: EndExit:=51
3: EndExit:=52
4: EndExit:=53
6: begin
WaitPointer(win);
GetRidOfForOptions(win);
PreferencesXSearch;
GetBackForOptions(win,CG);
if (ChangeASG[0]<>ChangeASG[1]) and (UsedXSP.Coloured=TRUE) then BackASG:=ChangeASG else begin SI:=GadgetPattern^.SpecialInfo; BackASG:=SI^.Extension^.Pens end;
if EndExit=-2 then begin NormalPointer(win); goto BACK end;
if EndExit=-5 then begin EndExit:=safety; goto RepeatHereLength end;
if EndExit=-10 then begin EndExit:=safety; goto RepeatHereDate end;
if EndExit=-11 then begin EndExit:=safety; goto RepeatHereTime end;
if (abs(EndExit)=50) or (EndExit=51) then begin
if saved=FALSE then begin
case EndExit of
50: SIGNAL:=GiveQuestion(ProjektXSearch+" - New","The old project has been changed. Do you"+LF+"really want to start a new one?",
"New project|Save, then new project|Cancel",win)
(-50): SIGNAL:=GiveQuestion(ProjektXSearch+" - Standard values","The old project has been changed. Do you"+LF+"really want to set the Standard values?",
"Standard values|Save, then Standard values|Cancel",win)
51: SIGNAL:=GiveQuestion(ProjektXSearch+" - Open project","The old project has been changed. Do you"+LF+"really want to open another?",
"Open project|Save, then open project|Cancel",win)
otherwise
end;
if SIGNAL=2 then
if WritePrefs(Projekt,PCA,win,SearchList)=FALSE then begin NormalPointer(win); goto BACK end else saved:=TRUE
win^.IDCMPFlags:=IDCMP_CLOSEWINDOW or IDCMP_GADGETUP or IDCMP_GADGETDOWN or IDCMP_MOUSEMOVE or IDCMP_MOUSEBUTTONS or IDCMP_INTUITICKS or IDCMP_VANILLAKEY or IDCMP_NEWSIZE or IDCMP_MENUPICK;
if (CurrentDirectory="") or (CS="") then win^.IDCMPFlags:=win^.IDCMPFlags or IDCMP_DISKINSERTED or IDCMP_DISKREMOVED;
if TextNode^.stn_String[1]=" " then TextNode^.stn_String[1]:="·" else TextNode^.stn_String[1]:=" ";
GT_SetGadgetAttrsA(GadgetDirList,win,NIL,NIL)
end else begin
if GetTypeOutOfList(TextList,imsg^.code)=1 then begin
CS:=CurrentDirectory;
VS:=GetFileOutOfList(TextList,imsg^.code);
VS:=copy(VS,5,length(VS)-4);
if AddPart(CurrentDirectory,VS,256)=FALSE then goto BACK;
EndExit:=35
end
end
3: begin
CurrentDirectory:="";
CS:="";
EndExit:=35
end
4: EndExit:=4
5: EndExit:=5
6: begin
CS:=CurrentDirectory;
SI:=GadgetDir^.SpecialInfo;
CurrentDirectory:=SI^.Buffer;
EndExit:=35
end
7: begin
SI:=GadgetPattern^.SpecialInfo;
MyPattern:=SI^.Buffer;
EndExit:=35
end
8: EndExit:=8
9: if (GadgetMark^.flags and GFLG_Selected)<>0 then EndExit:=9 else begin TagsCHANGES[1]:=TagItem(GTCB_Checked,long(TRUE)); GT_SetGadgetAttrsA(GadgetMark,win,NIL,^TagsCHANGES); EndExit:=-9 end
10: if (GadgetMark^.flags and GFLG_Selected)<>0 then EndExit:=10 else begin TagsCHANGES[1]:=TagItem(GTCB_Checked,long(TRUE)); GT_SetGadgetAttrsA(GadgetMark,win,NIL,^TagsCHANGES); EndExit:=-9 end
11: if (GadgetMark^.flags and GFLG_Selected)<>0 then begin
WaitPointer(win);
GetRidOfForFiler(win);
TextNode:=p_StringNode(TextList^.lh_Head);
WHILE p_StringNode(TextNode^.stn_Node.ln_Succ)<>NIL DO BEGIN
if (ApplicationMessage^.am_Type<>MTYPE_APPWINDOW) or (ApplicationMessage^.am_NumArgs<1) then goto SimplyOut;
WaitPointer(win); GetRidOfForFiler(win);
if NOT ((ApplicationMessage^.am_MouseX-win^.BorderLeft>=10) and (ApplicationMessage^.am_MouseY-win^.BorderTop>=24) and (ApplicationMessage^.am_MouseX-win^.BorderLeft<=238) and (ApplicationMessage^.am_MouseY-win^.BorderTop<=123))
then begin
for i:=1 to ApplicationMessage^.am_NumArgs do begin
if ApplicationMessage^.am_ArgList^[i].wa_Lock=0 then begin
GiveError("IconDrop - ["+ApplicationMessage^.am_ArgList^[i].wa_Name+"]","The icon couldn't have been read.",win);
if dummy=0 then begin GiveError ("IconDrop - ["+ApplicationMessage^.am_ArgList^[i].wa_Name+"]","Couldn't have identified the icon.",win); goto OutQuick end;
if ApplicationMessage^.am_ArgList^[i].wa_Name<>"" then DidIt:=AddPart(VariableString,ApplicationMessage^.am_ArgList^[i].wa_Name,256) else dummy:=long(TRUE);
if Dummy<>0 then begin
SearchNodeV:=p_SearchNode(SearchList^.lh_Head);
WHILE p_SearchNode(SearchNodeV^.sen_Node.ln_Succ)<>NIL DO BEGIN
if SearchNodeV^.sen_Path=VariableString then goto OutQuick;
if dummy=0 then begin GiveError ("IconDrop - ["+ApplicationMessage^.am_ArgList^[1].wa_Name+"]","Couldn't have identified the icon.",win); goto SimplyOut end;
CS:=CurrentDirectory;
CurrentDirectory:=VariableString;
EndExit:=35;
GetBackForFiler(win,CG)
end;
SimplyOut:
NormalPointer(win)
end
end;
if (EndExit=4) and (CurrentDirectory<>"") then begin
if CurrentDirectory[length(CurrentDirectory)]<>":" then begin
if MatchPatternNoCase(PreName,FIB^.fib_FileName)=FALSE then goto UndTschuess;
if (Switches and (long(1) SHL 1))<>0 then begin
if FIB^.fib_DirEntryType>0 then begin
if UsedXSP.DirLength=TRUE then goto UndTschuess
end else begin
if DoLength=FALSE then begin
if (FIB^.fib_Size<Bigger) or (FIB^.fib_size>Smaller) then goto UndTschuess
end else
if (FIB^.fib_Size<Bigger) and (FIB^.fib_size>Smaller) then goto UndTschuess
end
end;
if (Switches and (long(1) SHL 2))<>0 then
for i:=0 to 7 do
if (BitsMask and (long(1) SHL i))=0 then
if (Bits and (long(1) SHL i))<>(FIB^.fib_Protection and (long(1) SHL i)) then goto UndTschuess;
if (Switches and (long(1) SHL 3))<>0 then begin
FIB^.fib_Date.ds_Tick:=(FIB^.fib_Date.ds_Tick div 50)*50;
if DoDate=FALSE then begin
if (LaterEntry(^Date1,^FIB^.fib_Date)=TRUE) or (EarlierEntry(^Date2,^FIB^.fib_Date)=TRUE) then goto UndTschuess
end else
if (LaterEntry(^Date1,^FIB^.fib_Date)=TRUE) and (EarlierEntry(^Date2,^FIB^.fib_Date)=TRUE) then goto UndTschuess
end;
if (Switches and (long(1) SHL 4))<>0 then begin
if CaseComment=FALSE then begin
if MatchPatternNoCase(PreComment,FIB^.fib_Comment)=FALSE then goto UndTschuess
end else
if MatchPattern(PreComment,FIB^.fib_Comment)=FALSE then goto UndTschuess
end;
if ((Switches and (long(1) SHL 5))<>0) or ((Switches and (long(1) SHL 6))<>0) then begin
if FIB^.fib_DirEntryType>0 then begin
if ((Switches and (long(1) SHL 5))<>0) and (UsedXSP.DirIFF=TRUE) then goto UndTschuess;
if ((Switches and (long(1) SHL 6))<>0) and (UsedXSP.DirFile=TRUE) then goto UndTschuess
end else begin
if add=TRUE then response:="OK" else response:="Suchort verlassen";
VariableString:=Pfad;
if add=TRUE then Dummy:=long(AddPart(VariableString,FIB^.fib_FileName,364));
Reset(forIFFIn,VariableString);
Dummy:=IOResult;
if Dummy<>0 then begin
Dummy:=long(Fault(Dummy,NIL,VariableString,364));
if Switches and (long(1) SHL 5)<>0 then
Dummy:=GiveQuestion("XSearch 1.0 ["+ProjektName+"] - IFF control",FIB^.fib_FileName+LF+"couldn't have been read."+LF+"("+VariableString+")",Response,win)
else
Dummy:=GiveQuestion("XSearch 1.0 ["+ProjektName+"] - file-internal search",FIB^.fib_FileName+LF+"couldn't have been read."+LF+"("+VariableString+")",Response,win);
goto UndTschuess
end;
if Switches and (long(1) SHL 5)<>0 then begin
for i:=1 to 4 do read(forIFFIn,VariableString[i]);
VariableString[5]:=chr(0);
if VariableString="FORM" then begin
for i:=1 to 4 do read(forIFFIn,VariableString[i]);
for i:=1 to 4 do read(forIFFIn,VariableString[i]);
Dummy:=IOResult;
if Dummy<>0 then begin
Dummy:=long(Fault(Dummy,NIL,VariableString,364));
Dummy:=GiveQuestion("XSearch 1.0 ["+ProjektName+"] - IFF control",FIB^.fib_FileName+LF+"couldn't have been read."+LF+"("+VariableString+")",Response,win);
close(forIFFIn);
goto UndTschuess
end;
for i:=1 to NumIFF do
if copy(PreIFF,(i-1)*5+1,4)=VariableString then goto RausAusDerSchleife;
close(forIFFIn);
goto UndTschuess;
RausAusDerSchleife:
end else begin
if UsedXSP.DirOther=TRUE then goto UndTschuess
end
end;
if Switches and (long(1) SHL 6)<>0 then begin
Buffer(forIFFIn,10000);
while EOF(forIFFIn)=FALSE do begin
readln(forIFFIn,VariableString);
if Dummy<>0 then begin
Dummy:=long(Fault(Dummy,NIL,VariableString,364));
Dummy:=GiveQuestion("XSearch 1.0 ["+ProjektName+"] - file-internal search",FIB^.fib_FileName+LF+"couldn't have been read."+LF+"("+VariableString+")",Response,win);
close(forIFFIn);
goto UndTschuess
end;
if CaseFileIn=FALSE then begin
if MatchPatternNoCase(PreIn,VariableString)=TRUE then goto RausAusDerWhile
end else
if MatchPattern(PreIn,VariableString)=TRUE then goto RausAusDerWhile;
win^.IDCMPFlags:=IDCMP_CLOSEWINDOW or IDCMP_GADGETUP or IDCMP_GADGETDOWN or IDCMP_VANILLAKEY or IDCMP_NEWSIZE or IDCMP_MOUSEMOVE or IDCMP_MOUSEBUTTONS or IDCMP_INTUITICKS or IDCMP_MENUPICK;
if CurrentGadget^.gadgetid=3 then GT_SetGadgetAttrsA(GadgetStartWhere,win,NIL,^TagsCHANGES) else GT_SetGadgetAttrsA(GadgetProjects,win,NIL,^TagsCHANGES);
RestoreProjektNameDir;
goto BACK
end;
case CurrentGadget^.gadgetid of
1: MyXSP.FilerStart:=boolean(imsg^.code)
6: MyXSP.Recursion:=GadgetRecursive^.flags and GFLG_Selected<>0
7: MyXSP.Sensitivity:=boolean(imsg^.code)
8: MyXSP.Coloured:=GadgetColoured^.flags and GFLG_Selected<>0
9: MyXSP.DateFormat:=imsg^.code
10: MyXSP.Currency:=GadgetCurrency^.flags and GFLG_Selected<>0
11: MyXSP.DirLength:=boolean(imsg^.code)
12: MyXSP.DirIFF:=boolean(imsg^.code)
13: MyXSP.DirFile:=boolean(imsg^.code)
14: MyXSP.DirOther:=boolean(imsg^.code)
15: MyEnd:=2
16: MyEnd:=1
17: MyEnd:=0
else
end
end
else
end
UNTIL MyEnd<>-1;
SI:=GadgetStartWhere^.SpecialInfo;
MyXSP.StartDir:=SI^.Buffer;
SI:=GadgetProjects^.SpecialInfo;
MyXSP.ProjektDir:=SI^.Buffer;
if MyEnd=2 then
if WriteXSearchPrefs("ENVARC:XSearch.Config",MyXSP,win)=FALSE then goto BACK;