{$if not def AP_PREFS_H} CONST AP_PREFS_H = 0; CONST vorx=355; vory=55; PROCEDURE SavePrefs; VAR f:TEXT; BEGIN s:='Fehler beim Speichern der Voreinstellungsdatei'+chr(10)+prefsfile; assign(f,prefsfile) rewrite(f); IF (IORESULT=0) THEN BEGIN buffer(f,1000); writeln(f,kennung); { Kennung schreiben } FOR i:=1 TO 10 DO writeln(f,Selecttexte[i]);{ 10 Selecttexte } writeln(f,intstr(aslf_width)); { Filerequesterdaten } writeln(f,intstr(aslf_height)); writeln(f,intstr(aslf_topedge)); writeln(f,intstr(aslf_leftedge)); writeln(f,editor); { Pfad+Editorname } writeln(f,textanzeiger); { Pfad+textanzeigername} { Koordinaten f�r: } writeln(f,intstr(EditWinleft)); { Editfenster } writeln(f,intstr(Editwintop)); writeln(f,intstr(Bl�tterwinleft)); { Bl�tterfenster } writeln(f,intstr(Bl�tterwintop)); writeln(f,intstr(Einstellwinleft)); { Einstellfenster } writeln(f,intstr(Einstellwintop)); writeln(f,intstr(druckwinleft)); { Passwortfenster !!!! } writeln(f,intstr(druckwintop)); writeln(f,intstr(suchwinleft)); { Suchfenster } writeln(f,intstr(suchwintop)); writeln(f,intstr(seriendruckwinleft)); { seriendruckfenster } writeln(f,intstr(seriendruckwintop)); writeln(f,intstr(formulardruckwinleft)); { Formulardruckfenster } writeln(f,intstr(formulardruckwintop)); writeln(f,intstr(listendruckwinleft)); { Listendruckfenster } writeln(f,intstr(listendruckwintop)); writeln(f); { Speichern/Ladefenster} writeln(f); writeln(f,intstr(sortierwinleft)); { Sortierfenster } writeln(f,intstr(sortierwintop)); writeln(f,intstr(Suchpfadwinleft)); { Suchpfadfenster } writeln(f,intstr(Suchpfadwintop)); writeln(f,intstr(selectwinleft)); { Selecttextefenster } writeln(f,intstr(selectwintop)); writeln(f); { Arexxfenster } writeln(f); writeln(f); { verschluesseln? } writeln(f,LONG(iconsave)); { mit Icon Speichern } writeln(f,LONG(autoload)); { Autoload } ok:=AddPart(pfad,datei,200); writeln(f,pfad); { Autoloadfilename } close(f); END ELSE umeld(s); END; PROCEDURE LoadPrefs; VAR f:TEXT; { -- Voreinstellungen laden (DruckerAusgabe, SelectTexte etc.) -- } BEGIN assign(f,prefsfile) reset(f); { s:='Fehler beim laden der Voreinstellungsdatei'+chr(10)+prefsfile;} IF (IORESULT=0) THEN BEGIN buffer(f,1000); read(f,s); FOR i:=1 TO 10 DO read(f,Selecttexte[i]); read(f,s); VAL(s,i,ww); IF ww=0 THEN aslf_width:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN aslf_height:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN aslf_topedge:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN aslf_leftedge:=i; read(f,editor); read(f,textanzeiger); read(f,s); VAL(s,i,ww); IF ww=0 THEN EditWinleft:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN Editwintop:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN Bl�tterwinleft:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN Bl�tterwintop:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN Einstellwinleft:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN Einstellwintop:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN druckwinleft:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN druckwintop:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN suchwinleft:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN suchwintop:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN seriendruckwinleft:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN seriendruckwintop:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN formulardruckwinleft:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN formulardruckwintop:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN listendruckwinleft:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN listendruckwintop:=i; read(f,s); read(f,s); read(f,s); VAL(s,i,ww); IF ww=0 THEN sortierwinleft:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN sortierwintop:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN Suchpfadwinleft:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN suchpfadwintop:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN selectwinleft:=i; read(f,s); VAL(s,i,ww); IF ww=0 THEN selectwintop:=i; read(f,s); read(f,s); read(f,s); read(f,s); VAL(s,i,ww); IF ww=0 THEN IF i=1 THEN iconsave:=TRUE; read(f,s); VAL(s,i,ww); IF ww=0 THEN IF i=1 THEN autoload:=TRUE; read(f,datei); close(f); END;{ ELSE umeld(s);} END; PROCEDURE SuchPfade; { Suchpfade von Editor/Textanzeiger} CONST SP_WIDTH = 404; SP_HEIGHT = 72; VAR spwin : p_Window; edig,txtanz, druck,gadl, okgad,abbr : p_Gadget; gg : ARRAY[1..3] OF p_Gadget; druckaus : STRING[80]; edi,txt : STRING[256]; dummy,ok : BOOLEAN; x : STRING[256]; BEGIN ComputeFont(SP_WIDTH,SP_HEIGHT); ww := ComputeX(SP_WIDTH); wh := ComputeY(SP_HEIGHT); druckaus := DruckerAusgabe; edi := Editor; txt := Textanzeiger; gadl := NIL; gadl := CreateContext(^gadl); t[1] := TagItem(GT_Underscore, LONG("_")); t[2].ti_Tag := GTST_STRING; t[3].ti_Tag := GTST_MaxChars; t[4].ti_Tag := TAG_DONE; ng := NewGadget(142,7,200,14, "_Druckerausgabe:",mytattr, 1,PLACETEXT_LEFT, vi,NIL); sensitivgadget(ng); t[2].ti_Data := druckaus; t[3].ti_Data := 79; druck := CreateGadgetA(STRING_KIND,gadl,^ng,^t); ng := NewGadget(142,22,200,14, "_Textanzeiger:",mytattr, 2,PLACETEXT_LEFT, vi,NIL); sensitivgadget(ng); t[2].ti_Data := txt; t[3].ti_Data := 255; txtanz := CreateGadgetA(STRING_KIND,druck,^ng,^t); ng := NewGadget(142,37,200,14, "_Editor:",mytattr, 3,PLACETEXT_LEFT, vi,NIL); sensitivgadget(ng); t[2].ti_Data := edi; t[3].ti_Data := 255; edig := CreateGadgetA(STRING_KIND,txtanz,^ng,^t); ng := NewGadget(343,7,45,14, "Get",mytattr, 4,PLACETEXT_IN, vi,NIL); sensitivgadget(ng); gg[1] := CreateGadgetA(BUTTON_KIND,edig,^ng,NIL); ng := NewGadget(343,22,45,14, "Get",mytattr, 5,PLACETEXT_IN, vi,NIL); sensitivgadget(ng); gg[2] := CreateGadgetA(BUTTON_KIND,gg[1],^ng,NIL); ng := NewGadget(343,37,45,14, "Get",mytattr, 6,PLACETEXT_IN, vi,NIL); sensitivgadget(ng); gg[3] := CreateGadgetA(BUTTON_KIND,gg[2],^ng,NIL); t[1] := TagItem(GT_Underscore, LONG("_")); t[2].ti_Tag := TAG_DONE; ng := NewGadget(8,56,150,14, "_Benutzen",mytattr, 7,PLACETEXT_IN, vi,NIL); sensitivgadget(ng); okgad := CreateGadgetA(BUTTON_KIND,gg[3],^ng,^t); ng := NewGadget(247,56,150,14, "_Abbrechen",mytattr, 8,PLACETEXT_IN, vi,NIL); sensitivgadget(ng); abbr := CreateGadgetA(BUTTON_KIND,okgad,^ng,^t); t[1] := TagItem(WA_InnerWidth, ww); t[2] := TagItem(WA_InnerHeight, wh); { t[3] := TagItem(WA_Gadgets, LONG(gadl));} t[3].ti_Tag := WA_Title; t[3].ti_Data := "Suchpfade"; t[4] := TagItem(WA_Flags, WFLG_DRAGBAR+ WFLG_DEPTHGADGET+ WFLG_CLOSEGADGET+ WFLG_HASZOOM+ WFLG_SMART_REFRESH+ WFLG_NOCAREREFRESH+ WFLG_ACTIVATE+ WFLG_RMBTRAP); t[6] := TagItem(WA_Idcmp, IDCMP_CLOSEWINDOW+ IDCMP_GADGETUP+ IDCMP_GADGETDOWN+ IDCMP_CHANGEWINDOW+ IDCMP_RAWKEY); t[7]:=TagItem(WA_LEFT,suchpfadwinleft); t[8]:=TagItem(WA_TOP,suchpfadwintop); t[9].ti_Tag := TAG_DONE; IF pubname <> "" THEN BEGIN t[9] := TagItem(WA_PubScreenFallBack, 1); t[10] := TagItem(WA_PubScreenName, LONG(pubname)); t[11].ti_Tag := TAG_DONE; END; spwin := OpenWindowTagList(NIL,^t); IF spwin <> NIL THEN BEGIN raster(spwin,0,1,sp_width,sp_height); clearq(spwin,8,4,389,48); Rahmen(spwin,8,4,389,49,TRUE); l:=addglist(spwin,gadl,0,-1,NIL); RefreshGlist(spwin^.firstgadget,spwin,NIL,-1); dummy := FALSE; REPEAT GetMessage(spwin,class,code,qual,gadnum); CASE class OF IDCMP_CLOSEWINDOW : dummy := TRUE; IDCMP_RAWKEY: CASE code OF 34{D}: BEGIN ButSelecter(spwin,gg[1]); ok := FileReqPattern("Druckerausgabe:",ff,fd,"~(#?.info)"); IF ok THEN BEGIN x := fd; ok := AddPart(x,ff,256); druckaus := x; t[1] := TagItem(GTST_String, LONG(^druckaus)); t[2].ti_Tag := TAG_DONE; GT_SetGadgetAttrsA(druck,spwin,NIL,^t); END; END; 20{T}: BEGIN ButSelecter(spwin,gg[2]); ok := FileReqPattern("Textanzeiger:",ff1,fd1,"~(#?.info)"); IF ok THEN BEGIN x := fd1; ok := AddPart(x,ff1,256); txt := x; t[1] := TagItem(GTST_String, LONG(^txt)); t[2].ti_Tag := TAG_DONE; GT_SetGadgetAttrsA(txtanz,spwin,NIL,^t); END; END; 18{E}: BEGIN ButSelecter(spwin,gg[3]); ok := FileReqPattern("Editor:",ff2,fd2,"~(#?.info)"); IF ok THEN BEGIN x := fd2; ok := AddPart(x,ff2,256); edi := x; t[1] := TagItem(GTST_String, LONG(^edi)); t[2].ti_Tag := TAG_DONE; GT_SetGadgetAttrsA(edig,spwin,NIL,^t); END; END; 53{B}: BEGIN ButSelecter(spwin,okgad); DruckerAusgabe := GetString(druck); editor := GetString(edig); textanzeiger := GetString(txtanz); dummy := TRUE; END; 32,69:{A,ESC}BEGIN Butselecter(spwin,abbr); dummy:=TRUE; END; ELSE END; IDCMP_GADGETUP: CASE GadNum OF 1 : BEGIN ff:=GetString(druck); fd:=''; END; 2 : BEGIN ff1:=GetString(txtanz); fd1:=''; END; 3 : BEGIN ff2:=GetString(edig); fd2:=''; END; 4 : BEGIN ok := FileReqPattern("Druckerausgabe:",ff,fd,"~(#?.info)"); IF ok THEN BEGIN x := fd; ok := AddPart(x,ff,256); druckaus := x; t[1] := TagItem(GTST_String, LONG(^druckaus)); t[2].ti_Tag := TAG_DONE; GT_SetGadgetAttrsA(druck,spwin,NIL,^t); END; END; 5 : BEGIN ok := FileReqPattern("Textanzeiger:",ff1,fd1,"~(#?.info)"); IF ok THEN BEGIN x := fd1; ok := AddPart(x,ff1,256); txt := x; t[1] := TagItem(GTST_String, LONG(^txt)); t[2].ti_Tag := TAG_DONE; GT_SetGadgetAttrsA(txtanz,spwin,NIL,^t); END; END; 6 : BEGIN ok := FileReqPattern("Editor:",ff2,fd2,"~(#?.info)"); IF ok THEN BEGIN x := fd2; ok := AddPart(x,ff2,256); edi := x; t[1] := TagItem(GTST_String, LONG(^edi)); t[2].ti_Tag := TAG_DONE; GT_SetGadgetAttrsA(edig,spwin,NIL,^t); END; END; 7 : BEGIN DruckerAusgabe := GetString(druck); editor := GetString(edig); textanzeiger := GetString(txtanz); dummy := TRUE; END; 8 : dummy := TRUE; ELSE END; ELSE END; UNTIL dummy; suchpfadwinleft:=spwin^.leftedge; suchpfadwintop:=spwin^.Topedge; CloseWindow(spwin); END; FreeGadgets(gadl); ComputeFont(vorx,vory); END; PROCEDURE Voreinstellungen; { -- Die eigentliche Voreinstellungsprozedur -- } VAR vgad : ARRAY[1..9] OF p_Gadget; buf : STRING[80]; { si : p_StringInfo;} ok : BOOLEAN; VEinstellReq : Requester; { Ediermen� f�r die SelectTexte } PROCEDURE SelTexte; CONST st_width=237; st_height=170; VAR gl2,vorg : p_Gadget; sgad : ARRAY[1..12] OF p_Gadget; wp2 : p_Window; buf : ARRAY[1..10] OF STRING[11]; abbruch,dummy : BOOLEAN; si : p_StringInfo; BEGIN ComputeFont(st_width,st_height); ww := ComputeX(st_width); wh := ComputeY(st_height); FOR i := 1 TO 10 DO buf[i] := SelectTexte[i]; gl2 := NIL; gl2 := CreateContext(^gl2); j := yoff+3; vorg := gl2; ng := NewGadget(19,8,200,14, NIL,MyTattr, 1,0, vi,NIL); SensitivGadget(ng); t[1] := TagItem(GTST_String,LONG(^buf[1])); t[2] := TagItem(GTST_MaxChars,10); t[3] := TagItem(STRINGA_Justification,GACT_StringCenter); t[4].ti_Tag := TAG_DONE; sgad[1] := CreateGadgetA(STRING_KIND,gl2,^ng,^t); ng := NewGadget(19,22,200,14, NIL,MyTattr, 2,0, vi,NIL); SensitivGadget(ng); t[1].ti_Data := LONG(^buf[2]); sgad[2] := CreateGadgetA(STRING_KIND,sgad[1],^ng,^t); ng := NewGadget(19,36,200,14, NIL,MyTattr, 3,0, vi,NIL); SensitivGadget(ng); t[1].ti_Data := LONG(^buf[3]); sgad[3] := CreateGadgetA(STRING_KIND,sgad[2],^ng,^t); ng := NewGadget(19,50,200,14, NIL,MyTattr, 4,0, vi,NIL); SensitivGadget(ng); t[1].ti_Data := LONG(^buf[4]); sgad[4] := CreateGadgetA(STRING_KIND,sgad[3],^ng,^t); ng := NewGadget(19,64,200,14, NIL,MyTattr, 5,0, vi,NIL); SensitivGadget(ng); t[1].ti_Data := LONG(^buf[5]); sgad[5] := CreateGadgetA(STRING_KIND,sgad[4],^ng,^t); ng := NewGadget(19,78,200,14, NIL,MyTattr, 6,0, vi,NIL); SensitivGadget(ng); t[1].ti_Data := LONG(^buf[6]); sgad[6] := CreateGadgetA(STRING_KIND,sgad[5],^ng,^t); ng := NewGadget(19,92,200,14, NIL,MyTattr, 7,0, vi,NIL); SensitivGadget(ng); t[1].ti_Data := LONG(^buf[7]); sgad[7] := CreateGadgetA(STRING_KIND,sgad[6],^ng,^t); ng := NewGadget(19,106,200,14, NIL,MyTattr, 8,0, vi,NIL); SensitivGadget(ng); t[1].ti_Data := LONG(^buf[8]); sgad[8] := CreateGadgetA(STRING_KIND,sgad[7],^ng,^t); ng := NewGadget(19,120,200,14, NIL,MyTattr, 9,0, vi,NIL); SensitivGadget(ng); t[1].ti_Data := LONG(^buf[9]); sgad[9] := CreateGadgetA(STRING_KIND,sgad[8],^ng,^t); ng := NewGadget(19,134,200,14, NIL,MyTattr, 10,0, vi,NIL); SensitivGadget(ng); t[1].ti_Data := LONG(^buf[10]); sgad[10] := CreateGadgetA(STRING_KIND,sgad[9],^ng,^t); ng := NewGadget(8,155,100,14, "_Benutzen",Mytattr, 11,PLACETEXT_IN, vi,NIL); SensitivGadget(ng); t[1] := TagItem(GT_Underscore,LONG("_")); t[2].ti_Tag := TAG_DONE; sgad[11] := CreateGadgetA(BUTTON_KIND,sgad[10],^ng,^t); ng := NewGadget(128,155,100,14, "_Abbrechen",MyTattr, 12,PLACETEXT_IN, vi,NIL); SensitivGadget(ng); sgad[12] := CreateGadgetA(BUTTON_KIND,sgad[11],^ng,^t); { t[1] := TagItem(WA_Gadgets,LONG(gl2));} t[1] := TagItem(WA_InnerWidth,ww); t[2] := TagItem(WA_InnerHeight,wh); t[3] := TagItem(WA_Flags,WFLG_CLOSEGADGET+WFLG_ACTIVATE+WFLG_DEPTHGADGET+ WFLG_SMART_REFRESH+WFLG_NOCAREREFRESH+WFLG_DRAGBAR); t[4] := TagItem(WA_Idcmp,IDCMP_CLOSEWINDOW+IDCMP_GADGETUP+IDCMP_RAWKEY); t[5].ti_Tag := WA_Title; t[5].ti_Data := "AddiPro - SelectTexte"; t[6]:=TagItem(WA_Left,selectwinleft); t[7]:=TagItem(WA_Top,selectwintop); t[8].ti_Tag := TAG_DONE; IF pubname <> "" THEN BEGIN t[8] := TagItem(WA_PubScreenFallBack, 1); t[9] := TagItem(WA_PubScreenName, LONG(pubname)); t[10].ti_Tag := TAG_DONE; END; wp2 := OpenWindowTagList(NIL,^t); IF wp2<>NIL THEN BEGIN raster(wp2,0,1,st_width,st_height); clearq(wp2,8,4,221,147); Rahmen(wp2,8,4,221,148,TRUE); l:=addglist(wp2,gl2,0,-1,NIL); RefreshGlist(wp2^.firstgadget,wp2,NIL,-1); dummy := ActivateGadget(sgad[1],wp2,NIL); dummy := FALSE; abbruch := FALSE; REPEAT GetMessage(wp2,class,code,qual,GadNum); CASE class OF IDCMP_CLOSEWINDOW : dummy := TRUE; IDCMP_RAWKEY : IF qual IN [32768..32770,32772] THEN BEGIN CASE code OF 32,69 : BEGIN ButSelecter(wp2,sgad[12]); dummy := TRUE; abbruch := TRUE; END; 53 : BEGIN ButSelecter(wp2,sgad[11]); dummy := TRUE; END; ELSE END; END; IDCMP_GADGETUP: CASE GadNum OF 1..9 : ok := ActivateGadget(sgad[GadNum+1],wp2,NIL); 11 : dummy := TRUE; 12 : BEGIN abbruch := TRUE; dummy := TRUE; END; ELSE END; ELSE END; UNTIL dummy; IF abbruch = FALSE THEN BEGIN FOR i := 1 TO 10 DO BEGIN SelectTexte[i] := GetString(sgad[i]); END; END; selectwinleft:=wp2^.leftedge; selectwintop:=wp2^.topedge; err := RemoveGList(wp2,wp2^.FirstGadget,-1); Fenster_Zu(wp2); END ELSE DisplayBeep(NIL); FreeGadgets(gl2); ComputeFont(vorx,vory); END; PROCEDURE zustandholen; BEGIN IF (vgad[6]^.flags AND SELECTED)=SELECTED THEN iconsave:=TRUE ELSE iconsave:=FALSE; IF (vgad[7]^.flags AND SELECTED)=SELECTED THEN autoload:=TRUE ELSE autoload:=FALSE; END; BEGIN ComputeFont(vorx,vory); ww := ComputeX(vorx); wh := ComputeY(vory); gl1 := NIL; gl1 := CreateContext(^gl1); ng := NewGadget(19,7,150,14, "_Select-Texte...",mytattr, 1,PLACETEXT_IN, vi,NIL); SensitivGadget(ng); t[1] := TagItem(GT_Underscore,LONG("_")); t[2].ti_Tag := TAG_DONE; vgad[1] := CreateGadgetA(BUTTON_KIND,gl1,^ng,^t); ng := NewGadget(184,7,150,14, "S_uchpfade...",mytattr, 2,PLACETEXT_IN, vi,NIL); sensitivgadget(ng); vgad[2] := CreateGadgetA(BUTTON_KIND,vgad[1],^ng,^t); ng := NewGadget(8,41,100,12, "S_peichern",mytattr, 3,PLACETEXT_IN, vi,NIL); SensitivGadget(ng); t[2].ti_Tag := TAG_DONE; vgad[3] := CreateGadgetA(BUTTON_KIND,vgad[2],^ng,^t); ng := NewGadget(124,41,100,12, "_Benutzen",mytattr, 4,PLACETEXT_IN, vi,NIL); SensitivGadget(ng); vgad[4] := CreateGadgetA(BUTTON_KIND,vgad[3],^ng,^t); ng := NewGadget(245,41,100,12, "_Abbrechen",mytattr, 5,PLACETEXT_IN, vi,NIL); SensitivGadget(ng); vgad[5] := CreateGadgetA(BUTTON_KIND,vgad[4],^Ng,^t); ng := NewGadget(19,24,40,CHECKBOX_HEIGHT, "_Iconsave",mytattr, 6,PLACETEXT_RIGHT, vi,NIL); SensitivGadget(ng); t[2]:=TagItem(GTCB_SCALED,LONG(TRUE)); t[3]:=TagItem(GA_DISABLED,0); t[5].ti_Tag := TAG_DONE; IF iconsave THEN t[4]:=tagitem(GTCB_CHECKED,LONG(TRUE)) ELSE t[4].ti_Tag := TAG_DONE; vgad[6] := CreateGadgetA(CHECKBOX_KIND,vgad[5],^ng,^t); ng := NewGadget(184,24,40,CHECKBOX_HEIGHT, "Auto_laden",mytattr, 7,PLACETEXT_RIGHT, vi,NIL); SensitivGadget(ng); IF autoload THEN t[3]:=tagitem(GTCB_CHECKED,LONG(TRUE)) ELSE t[3].ti_Tag := TAG_DONE; t[4].ti_Tag := TAG_DONE; vgad[7] := CreateGadgetA(CHECKBOX_KIND,vgad[6],^ng,^t); t[1] := TagItem(WA_InnerWidth, ww); t[2] := TagItem(WA_InnerHeight, wh); t[3] := TagItem(WA_Flags,WFLG_CLOSEGADGET+WFLG_ACTIVATE+WFLG_DEPTHGADGET+ WFLG_DRAGBAR+WFLG_SMART_REFRESH+WFLG_NOCAREREFRESH); t[4] := TagItem(WA_Idcmp,IDCMP_CLOSEWINDOW+IDCMP_GADGETUP+IDCMP_RAWKEY); t[5].ti_Tag := WA_Title; t[5].ti_Data := "AddiPro - Voreinstellungen"; { t[6] := TagItem(WA_Gadgets,LONG(gl1));} t[6] := tagItem(WA_left,einstellwinleft); t[7] := TagItem(WA_Top,einstellwintop); t[8].ti_Tag := TAG_DONE; IF pubname <> "" THEN BEGIN t[8] := TagItem(WA_PubScreenFallBack, 1); t[9] := TagItem(WA_PubScreenName, LONG(pubname)); t[10].ti_Tag := TAG_DONE; END; wp1 := OpenWindowTagList(NIL,^t); IF wp1 <> NIL THEN BEGIN raster(wp1,0,1,353,54); clearq(wp1,8,4,337,33); Rahmen(wp1,8,4,337,34,TRUE); l:=addglist(wp1,gl1,0,-1,NIL); RefreshGlist(wp1^.firstgadget,wp1,NIL,-1); dummy := FALSE; REPEAT GetMessage(wp1,class,code,qual,GadNum); CASE class OF IDCMP_CLOSEWINDOW : dummy := TRUE; IDCMP_RAWKEY : CASE code OF { a, A, Esc } 32,69 : BEGIN ButSelecter(wp1,vgad[5]); dummy := TRUE; END; { b, B } 53 : BEGIN si := vgad[2]^.SpecialInfo; DruckerAusgabe := si^.Buffer; dummy := TRUE; zustandholen; ButSelecter(wp1,vgad[4]); END; { p, P } 25 : BEGIN ButSelecter(wp1,vgad[3]); zustandholen; SavePrefs; dummy := TRUE; END; { u, U } 22 : BEGIN Butselecter(wp1,vgad[2]); SetBusyWindow(wp1,VEinstellReq); suchpfade; UnBusyWindow(wp1,VeinstellReq); END; { s, S } 33 : BEGIN ButSelecter(wp1,vgad[1]); SetBusyWindow(wp1,VEinstellReq); SelTexte; UnBusyWindow(wp1,VeinstellReq); END; {i,I} 23 : BEGIN checkit(wp1,vgad[6]); END; {l,L} 40 : BEGIN checkit(wp1,vgad[7]); END; ELSE END; IDCMP_GADGETUP: CASE GadNum OF 1 : BEGIN SetBusyWindow(wp1,VEinstellReq); SelTexte; UnBusyWindow(wp1,VEinstellReq); END; 2 : BEGIN UnBusyWindow(wp1,VEinstellReq); SuchPfade; UnBusyWindow(wp1,VEinstellReq); END; 3 : BEGIN zustandholen; SavePrefs; dummy:=TRUE; END; 4 : BEGIN dummy:=TRUE; zustandholen; END; 5 : dummy := TRUE; ELSE END; ELSE END; UNTIL dummy; einstellwinleft:=wp1^.leftedge; einstellwintop:=wp1^.topedge; err := RemoveGList(wp1,wp1^.FirstGadget,-1); Fenster_Zu(wp1); END; FreeGadgets(gl1); computefont(Mainwinwidth,mainwinheight); END; {$endif}�