Global message base editor
This commit is contained in:
parent
8a6800bba7
commit
f0a7e470e1
|
@ -4921,3 +4921,9 @@
|
||||||
+ Added a message base packer and renumber option to mUtil. This replaces
|
+ Added a message base packer and renumber option to mUtil. This replaces
|
||||||
MYSTPACK with the bonus that it also works with Squish (and appears to not
|
MYSTPACK with the bonus that it also works with Squish (and appears to not
|
||||||
be as buggy as MYSTPACK was).
|
be as buggy as MYSTPACK was).
|
||||||
|
|
||||||
|
+ Added Global Message Base editor into the Message base editor. Use the
|
||||||
|
TAB key when in the Message base list to tag areas that you'd like to set
|
||||||
|
global values for. Then use /G to open the editor. Set the options you'd
|
||||||
|
like to change to "Yes" and then set the value for that option. Press
|
||||||
|
CTRL-U when ready to update all tagged bases with the selected values.
|
||||||
|
|
|
@ -10,7 +10,7 @@ Uses
|
||||||
bbs_Common;
|
bbs_Common;
|
||||||
|
|
||||||
Const
|
Const
|
||||||
FormMaxItems = 50;
|
FormMaxItems = 60;
|
||||||
|
|
||||||
Const
|
Const
|
||||||
YesNoStr : Array[False..True] of String[03] = ('No', 'Yes');
|
YesNoStr : Array[False..True] of String[03] = ('No', 'Yes');
|
||||||
|
@ -109,7 +109,7 @@ Type
|
||||||
Destructor Destroy; Override;
|
Destructor Destroy; Override;
|
||||||
|
|
||||||
Procedure Clear;
|
Procedure Clear;
|
||||||
Procedure AddNone (HK: Char; D: String; X, Y, DS: Byte; H: String);
|
Procedure AddNone (HK: Char; D: String; X, Y, FX, FY, DS: Byte; H: String);
|
||||||
Procedure AddStr (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String);
|
Procedure AddStr (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String);
|
||||||
Procedure AddPipe (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String);
|
Procedure AddPipe (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String);
|
||||||
Procedure AddPath (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String);
|
Procedure AddPath (HK: Char; D: String; X, Y, FX, FY, DS, FS, MX: Byte; P: Pointer; H: String);
|
||||||
|
@ -367,11 +367,11 @@ Begin
|
||||||
End;
|
End;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Procedure TAnsiMenuForm.AddNone (HK: Char; D: String; X, Y, DS: Byte; H: String);
|
Procedure TAnsiMenuForm.AddNone (HK: Char; D: String; X, Y, FX, FY, DS: Byte; H: String);
|
||||||
Begin
|
Begin
|
||||||
If Items = FormMaxItems Then Exit;
|
If Items = FormMaxItems Then Exit;
|
||||||
|
|
||||||
AddBasic (HK, D, X, Y, 0, 0, DS, 0, 0, ItemNone, NIL, H);
|
AddBasic (HK, D, X, Y, FX, FY, DS, 0, 0, ItemNone, NIL, H);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Procedure TAnsiMenuForm.AddChar (HK: Char; D: String; X, Y, FX, FY, DS, MN, MX: Byte; P: Pointer; H: String);
|
Procedure TAnsiMenuForm.AddChar (HK: Char; D: String; X, Y, FX, FY, DS, MN, MX: Byte; P: Pointer; H: String);
|
||||||
|
@ -629,6 +629,7 @@ Var
|
||||||
Ch : Char;
|
Ch : Char;
|
||||||
NewPos : Word;
|
NewPos : Word;
|
||||||
NewXPos : Word;
|
NewXPos : Word;
|
||||||
|
NewYPos : Word;
|
||||||
Begin
|
Begin
|
||||||
Session.io.AllowArrow := True;
|
Session.io.AllowArrow := True;
|
||||||
|
|
||||||
|
@ -659,6 +660,36 @@ Begin
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Case Ch of
|
Case Ch of
|
||||||
|
#72 : Begin
|
||||||
|
NewPos := 0;
|
||||||
|
NewYPos := 0;
|
||||||
|
|
||||||
|
For Count := 1 to Items Do
|
||||||
|
If (ItemData[Count]^.FieldX = ItemData[ItemPos]^.FieldX) and
|
||||||
|
(ItemData[Count]^.FieldY < ItemData[ItemPos]^.FieldY) and
|
||||||
|
(ItemData[Count]^.FieldY > NewYPos) Then Begin
|
||||||
|
NewPos := Count;
|
||||||
|
NewYPos := ItemData[Count]^.FieldY;
|
||||||
|
End;
|
||||||
|
|
||||||
|
If NewPos > 0 Then Begin
|
||||||
|
BarOFF(ItemPos);
|
||||||
|
ItemPos := NewPos;
|
||||||
|
BarON;
|
||||||
|
End Else
|
||||||
|
If ItemPos > 1 Then Begin
|
||||||
|
BarOFF(ItemPos);
|
||||||
|
Dec(ItemPos);
|
||||||
|
BarON;
|
||||||
|
End Else
|
||||||
|
If ExitOnFirst Then Begin
|
||||||
|
WasFirstExit := True;
|
||||||
|
Result := Ch;
|
||||||
|
Break;
|
||||||
|
End;
|
||||||
|
End;
|
||||||
|
|
||||||
|
(*
|
||||||
#72 : If ItemPos > 1 Then Begin
|
#72 : If ItemPos > 1 Then Begin
|
||||||
BarOFF(ItemPos);
|
BarOFF(ItemPos);
|
||||||
Dec(ItemPos);
|
Dec(ItemPos);
|
||||||
|
@ -669,6 +700,7 @@ Begin
|
||||||
Result := Ch;
|
Result := Ch;
|
||||||
Break;
|
Break;
|
||||||
End;
|
End;
|
||||||
|
*)
|
||||||
#75 : Begin
|
#75 : Begin
|
||||||
NewPos := 0;
|
NewPos := 0;
|
||||||
NewXPos := 0;
|
NewXPos := 0;
|
||||||
|
@ -705,6 +737,33 @@ Begin
|
||||||
BarON;
|
BarON;
|
||||||
End;
|
End;
|
||||||
End;
|
End;
|
||||||
|
#80 : Begin
|
||||||
|
NewPos := 0;
|
||||||
|
|
||||||
|
For Count := 1 to Items Do
|
||||||
|
If (ItemData[Count]^.FieldX = ItemData[ItemPos]^.FieldX) and
|
||||||
|
(ItemData[Count]^.FieldY > ItemData[ItemPos]^.FieldY) Then Begin
|
||||||
|
NewPos := Count;
|
||||||
|
Break;
|
||||||
|
End;
|
||||||
|
|
||||||
|
If NewPos > 0 Then Begin
|
||||||
|
BarOFF(ItemPos);
|
||||||
|
ItemPos := NewPos;
|
||||||
|
BarON;
|
||||||
|
End Else
|
||||||
|
If ItemPos < Items Then Begin
|
||||||
|
BarOFF(ItemPos);
|
||||||
|
Inc(ItemPos);
|
||||||
|
BarON;
|
||||||
|
End Else
|
||||||
|
If ExitOnLast Then Begin
|
||||||
|
WasLastExit := True;
|
||||||
|
Result := Ch;
|
||||||
|
Break;
|
||||||
|
End;
|
||||||
|
End;
|
||||||
|
(*
|
||||||
#80 : If ItemPos < Items Then Begin
|
#80 : If ItemPos < Items Then Begin
|
||||||
BarOFF(ItemPos);
|
BarOFF(ItemPos);
|
||||||
Inc(ItemPos);
|
Inc(ItemPos);
|
||||||
|
@ -715,6 +774,7 @@ Begin
|
||||||
Result := Ch;
|
Result := Ch;
|
||||||
Break;
|
Break;
|
||||||
End;
|
End;
|
||||||
|
*)
|
||||||
End;
|
End;
|
||||||
End Else Begin
|
End Else Begin
|
||||||
Case Ch of
|
Case Ch of
|
||||||
|
|
|
@ -45,7 +45,7 @@ Begin
|
||||||
Box.Open (30, StartY, 51, StartY + Cmds + 1);
|
Box.Open (30, StartY, 51, StartY + Cmds + 1);
|
||||||
|
|
||||||
For Count := 1 to Cmds Do
|
For Count := 1 to Cmds Do
|
||||||
Form.AddNone (CmdData[Count].Key, ' ' + CmdData[Count].Key + ' ' + CmdData[Count].Desc, 31, StartY + Count, 20, '');
|
Form.AddNone (CmdData[Count].Key, ' ' + CmdData[Count].Key + ' ' + CmdData[Count].Desc, 31, StartY + Count, 31, StartY + Count, 20, '');
|
||||||
|
|
||||||
Result := Form.Execute;
|
Result := Form.Execute;
|
||||||
|
|
||||||
|
|
|
@ -153,11 +153,11 @@ Begin
|
||||||
|
|
||||||
Case MenuPtr of
|
Case MenuPtr of
|
||||||
0 : Begin
|
0 : Begin
|
||||||
Form.AddNone('C', ' Configuration ', 5, 2, 15, 'BBS configuration settings');
|
Form.AddNone('C', ' Configuration ', 5, 2, 5, 2, 15, 'BBS configuration settings');
|
||||||
Form.AddNone('S', ' Servers ', 26, 2, 9, 'Mystic Internet Server (MIS) settings');
|
Form.AddNone('S', ' Servers ', 26, 2, 26, 2, 9, 'Mystic Internet Server (MIS) settings');
|
||||||
Form.AddNone('E', ' Editors ', 41, 2, 9, 'BBS configuration editors');
|
Form.AddNone('E', ' Editors ', 41, 2, 41, 2, 9, 'BBS configuration editors');
|
||||||
Form.AddNone('I', ' Info ', 56, 2, 6, 'BBS Information and Monitors');
|
Form.AddNone('I', ' Info ', 56, 2, 56, 2, 6, 'BBS Information and Monitors');
|
||||||
Form.AddNone('X', ' Exit ' , 69, 2, 6, 'Exit configuration');
|
Form.AddNone('X', ' Exit ' , 69, 2, 69, 2, 6, 'Exit configuration');
|
||||||
|
|
||||||
Res := Form.Execute;
|
Res := Form.Execute;
|
||||||
|
|
||||||
|
@ -180,17 +180,17 @@ Begin
|
||||||
BoxOpen (4, 4, 33, 16);
|
BoxOpen (4, 4, 33, 16);
|
||||||
CoolBoxOpen (3, 'Configuration');
|
CoolBoxOpen (3, 'Configuration');
|
||||||
|
|
||||||
Form.AddNone ('S', ' S System Paths', 5, 5, 28, '');
|
Form.AddNone ('S', ' S System Paths', 5, 5, 5, 5, 28, '');
|
||||||
Form.AddNone ('G', ' G General Settings', 5, 6, 28, '');
|
Form.AddNone ('G', ' G General Settings', 5, 6, 5, 6, 28, '');
|
||||||
Form.AddNone ('L', ' L Login/Matrix Settings', 5, 7, 28, '');
|
Form.AddNone ('L', ' L Login/Matrix Settings', 5, 7, 5, 7, 28, '');
|
||||||
Form.AddNone ('1', ' 1 New User Settings 1', 5, 8, 28, '');
|
Form.AddNone ('1', ' 1 New User Settings 1', 5, 8, 5, 8, 28, '');
|
||||||
Form.AddNone ('2', ' 2 New User Settings 2', 5, 9, 28, '');
|
Form.AddNone ('2', ' 2 New User Settings 2', 5, 9, 5, 9, 28, '');
|
||||||
Form.AddNone ('3', ' 3 New User Optional Fields', 5, 10, 28, '');
|
Form.AddNone ('3', ' 3 New User Optional Fields', 5, 10, 5, 10, 28, '');
|
||||||
Form.AddNone ('F', ' F File Base Settings', 5, 11, 28, '');
|
Form.AddNone ('F', ' F File Base Settings', 5, 11, 5, 11, 28, '');
|
||||||
Form.AddNone ('M', ' M Message Base Settings', 5, 12, 28, '');
|
Form.AddNone ('M', ' M Message Base Settings', 5, 12, 5, 12, 28, '');
|
||||||
Form.AddNone ('E', ' E Echomail Networks', 5, 13, 28, '');
|
Form.AddNone ('E', ' E Echomail Networks', 5, 13, 5, 13, 28, '');
|
||||||
Form.AddNone ('O', ' O Offline Mail Settings', 5, 14, 28, '');
|
Form.AddNone ('O', ' O Offline Mail Settings', 5, 14, 5, 14, 28, '');
|
||||||
Form.AddNone ('C', ' C Console Settings', 5, 15, 28, '');
|
Form.AddNone ('C', ' C Console Settings', 5, 15, 5, 15, 28, '');
|
||||||
|
|
||||||
Res := Form.Execute;
|
Res := Form.Execute;
|
||||||
MenuPos[1] := Form.ItemPos;
|
MenuPos[1] := Form.ItemPos;
|
||||||
|
@ -224,12 +224,12 @@ Begin
|
||||||
BoxOpen (25, 4, 53, 11);
|
BoxOpen (25, 4, 53, 11);
|
||||||
CoolBoxOpen (24, 'Servers');
|
CoolBoxOpen (24, 'Servers');
|
||||||
|
|
||||||
Form.AddNone ('I', ' I Internet Server Options', 26, 5, 27, '');
|
Form.AddNone ('I', ' I Internet Server Options', 26, 5, 26, 5, 27, '');
|
||||||
Form.AddNone ('1', ' 1 Telnet Server Options', 26, 6, 27, '');
|
Form.AddNone ('1', ' 1 Telnet Server Options', 26, 6, 26, 6, 27, '');
|
||||||
Form.AddNone ('2', ' 2 FTP Server Options', 26, 7, 27, '');
|
Form.AddNone ('2', ' 2 FTP Server Options', 26, 7, 26, 7, 27, '');
|
||||||
Form.AddNone ('3', ' 3 POP3 Server Options', 26, 8, 27, '');
|
Form.AddNone ('3', ' 3 POP3 Server Options', 26, 8, 26, 8, 27, '');
|
||||||
Form.AddNone ('4', ' 4 SMTP Server Options', 26, 9, 27, '');
|
Form.AddNone ('4', ' 4 SMTP Server Options', 26, 9, 26, 9, 27, '');
|
||||||
Form.AddNone ('5', ' 5 NNTP Server Options', 26, 10, 27, '');
|
Form.AddNone ('5', ' 5 NNTP Server Options', 26, 10, 26, 10, 27, '');
|
||||||
|
|
||||||
Res := Form.Execute;
|
Res := Form.Execute;
|
||||||
MenuPos[2] := Form.ItemPos;
|
MenuPos[2] := Form.ItemPos;
|
||||||
|
@ -258,19 +258,19 @@ Begin
|
||||||
BoxOpen (38, 4, 64, 18);
|
BoxOpen (38, 4, 64, 18);
|
||||||
CoolBoxOpen (39, 'Editors');
|
CoolBoxOpen (39, 'Editors');
|
||||||
|
|
||||||
Form.AddNone ('U', ' U User Editor', 39, 5, 25, '');
|
Form.AddNone ('U', ' U User Editor', 39, 5, 39, 5, 25, '');
|
||||||
Form.AddNone ('M', ' M Menu Editor', 39, 6, 25, '');
|
Form.AddNone ('M', ' M Menu Editor', 39, 6, 39, 6, 25, '');
|
||||||
Form.AddNone ('T', ' T Theme/Prompt Editor', 39, 7, 25, '');
|
Form.AddNone ('T', ' T Theme/Prompt Editor', 39, 7, 39, 7, 25, '');
|
||||||
Form.AddNone ('B', ' B Message Base Editor', 39, 8, 25, '');
|
Form.AddNone ('B', ' B Message Base Editor', 39, 8, 39, 8, 25, '');
|
||||||
Form.AddNone ('G', ' G Message Group Editor', 39, 9, 25, '');
|
Form.AddNone ('G', ' G Message Group Editor', 39, 9, 39, 9, 25, '');
|
||||||
Form.AddNone ('F', ' F File Base Editor', 39, 10, 25, '');
|
Form.AddNone ('F', ' F File Base Editor', 39, 10, 39, 10, 25, '');
|
||||||
Form.AddNone ('R', ' R File Group Editor', 39, 11, 25, '');
|
Form.AddNone ('R', ' R File Group Editor', 39, 11, 39, 11, 25, '');
|
||||||
Form.AddNone ('S', ' S Security Level Editor', 39, 12, 25, '');
|
Form.AddNone ('S', ' S Security Level Editor', 39, 12, 39, 12, 25, '');
|
||||||
Form.AddNone ('A', ' A Archive Editor', 39, 13, 25, '');
|
Form.AddNone ('A', ' A Archive Editor', 39, 13, 39, 13, 25, '');
|
||||||
Form.AddNone ('P', ' P Protocol Editor', 39, 14, 25, '');
|
Form.AddNone ('P', ' P Protocol Editor', 39, 14, 39, 14, 25, '');
|
||||||
Form.AddNone ('E', ' E Event Editor', 39, 15, 25, '');
|
Form.AddNone ('E', ' E Event Editor', 39, 15, 39, 15, 25, '');
|
||||||
Form.AddNone ('V', ' V Voting Editor', 39, 16, 25, '');
|
Form.AddNone ('V', ' V Voting Editor', 39, 16, 39, 16, 25, '');
|
||||||
Form.AddNone ('L', ' L BBS List Editor', 39, 17, 25, '');
|
Form.AddNone ('L', ' L BBS List Editor', 39, 17, 39, 17, 25, '');
|
||||||
|
|
||||||
Res := Form.Execute;
|
Res := Form.Execute;
|
||||||
MenuPos[3] := Form.ItemPos;
|
MenuPos[3] := Form.ItemPos;
|
||||||
|
@ -306,7 +306,7 @@ Begin
|
||||||
BoxOpen (54, 4, 64, 6);
|
BoxOpen (54, 4, 64, 6);
|
||||||
CoolBoxOpen (54, 'Info');
|
CoolBoxOpen (54, 'Info');
|
||||||
|
|
||||||
Form.AddNone ('A', ' A About', 55, 5, 9, '');
|
Form.AddNone ('A', ' A About', 55, 5, 55, 5, 9, '');
|
||||||
|
|
||||||
Res := Form.Execute;
|
Res := Form.Execute;
|
||||||
MenuPos[4] := Form.ItemPos;
|
MenuPos[4] := Form.ItemPos;
|
||||||
|
|
|
@ -275,7 +275,7 @@ Begin
|
||||||
|
|
||||||
VerticalLine (24, 11, 14);
|
VerticalLine (24, 11, 14);
|
||||||
|
|
||||||
Form.AddNone ('C', ' Command ', 15, 11, 9, Topic + 'Menu command function');
|
Form.AddNone ('C', ' Command ', 15, 11, 26, 11, 9, Topic + 'Menu command function');
|
||||||
Form.AddStr ('D', ' Data ' , 18, 12, 26, 12, 6, 40, 160, @Menu.Item[Num]^.CmdData[CmdNum]^.Data, Topic + 'Menu command optional data');
|
Form.AddStr ('D', ' Data ' , 18, 12, 26, 12, 6, 40, 160, @Menu.Item[Num]^.CmdData[CmdNum]^.Data, Topic + 'Menu command optional data');
|
||||||
Form.AddStr ('A', ' Access ' , 16, 13, 26, 13, 8, 30, 30, @Menu.Item[Num]^.CmdData[CmdNum]^.Access, Topic + 'Access level to run this command');
|
Form.AddStr ('A', ' Access ' , 16, 13, 26, 13, 8, 30, 30, @Menu.Item[Num]^.CmdData[CmdNum]^.Access, Topic + 'Access level to run this command');
|
||||||
Form.AddTog ('G', ' Execute ', 15, 14, 26, 14, 9, 6, 0, 10, 'Selected Up Down Left Right Tab Escape PgUp PgDn Home End', @Menu.Item[Num]^.CmdData[CmdNum]^.JumpID, Topic + '(Grid) Execute command on what Grid event?');
|
Form.AddTog ('G', ' Execute ', 15, 14, 26, 14, 9, 6, 0, 10, 'Selected Up Down Left Right Tab Escape PgUp PgDn Home End', @Menu.Item[Num]^.CmdData[CmdNum]^.JumpID, Topic + '(Grid) Execute command on what Grid event?');
|
||||||
|
|
|
@ -11,6 +11,7 @@ Implementation
|
||||||
Uses
|
Uses
|
||||||
m_Strings,
|
m_Strings,
|
||||||
m_FileIO,
|
m_FileIO,
|
||||||
|
m_Bits,
|
||||||
bbs_Ansi_MenuBox,
|
bbs_Ansi_MenuBox,
|
||||||
bbs_Ansi_MenuForm,
|
bbs_Ansi_MenuForm,
|
||||||
bbs_Cfg_Common,
|
bbs_Cfg_Common,
|
||||||
|
@ -43,7 +44,7 @@ Begin
|
||||||
Form.AddStr ('R', ' Read ACS' , 7, 12, 19, 12, 10, 30, 30, @MBase.ReadACS, Topic + 'Access required to read messages');
|
Form.AddStr ('R', ' Read ACS' , 7, 12, 19, 12, 10, 30, 30, @MBase.ReadACS, Topic + 'Access required to read messages');
|
||||||
Form.AddStr ('P', ' Post ACS' , 7, 13, 19, 13, 10, 30, 30, @MBase.PostACS, Topic + 'Access required to post messages');
|
Form.AddStr ('P', ' Post ACS' , 7, 13, 19, 13, 10, 30, 30, @MBase.PostACS, Topic + 'Access required to post messages');
|
||||||
Form.AddStr ('Y', ' Sysop ACS' , 6, 14, 19, 14, 11, 30, 30, @MBase.SysopACS, Topic + 'Access required for Sysop access');
|
Form.AddStr ('Y', ' Sysop ACS' , 6, 14, 19, 14, 11, 30, 30, @MBase.SysopACS, Topic + 'Access required for Sysop access');
|
||||||
Form.AddNone ('D', ' Net Address' , 4, 15, 13, Topic + 'NetMail Address');
|
Form.AddNone ('D', ' Net Address' , 4, 15, 19, 15, 13, Topic + 'NetMail Address');
|
||||||
Form.AddStr ('I', ' Origin' , 9, 16, 19, 16, 8, 30, 50, @MBase.Origin, Topic + 'Message base origin line');
|
Form.AddStr ('I', ' Origin' , 9, 16, 19, 16, 8, 30, 50, @MBase.Origin, Topic + 'Message base origin line');
|
||||||
Form.AddStr ('S', ' Sponsor' , 8, 17, 19, 17, 9, 30, 30, @MBase.Sponsor, Topic + 'User name of base''s sponser');
|
Form.AddStr ('S', ' Sponsor' , 8, 17, 19, 17, 9, 30, 30, @MBase.Sponsor, Topic + 'User name of base''s sponser');
|
||||||
Form.AddStr ('H', ' Header' , 9, 18, 19, 18, 8, 20, 20, @MBase.Header, Topic + 'Display file name of msg header');
|
Form.AddStr ('H', ' Header' , 9, 18, 19, 18, 8, 20, 20, @MBase.Header, Topic + 'Display file name of msg header');
|
||||||
|
@ -93,8 +94,116 @@ Var
|
||||||
MBaseFile : TBufFile;
|
MBaseFile : TBufFile;
|
||||||
MBase : RecMessageBase;
|
MBase : RecMessageBase;
|
||||||
|
|
||||||
Procedure GlobalEdit;
|
Procedure GlobalEdit (Global: RecMessageBase);
|
||||||
|
Const
|
||||||
|
ChangeStr = 'Change this value for all tagged bases?';
|
||||||
|
Var
|
||||||
|
GBox : TAnsiMenuBox;
|
||||||
|
Form : TAnsiMenuForm;
|
||||||
|
Active : Array[1..26] of Boolean;
|
||||||
|
Count : LongInt;
|
||||||
|
Topic : String;
|
||||||
Begin
|
Begin
|
||||||
|
FillChar (Active, SizeOf(Active), 0);
|
||||||
|
|
||||||
|
Topic := '|03(|09Global MsgBase Edit|03) |01-|09> |15';
|
||||||
|
GBox := TAnsiMenuBox.Create;
|
||||||
|
Form := TAnsiMenuForm.Create;
|
||||||
|
|
||||||
|
GBox.Header := ' CTRL-U/Update ESC/Abort ';
|
||||||
|
|
||||||
|
GBox.Open (6, 5, 75, 21);
|
||||||
|
|
||||||
|
VerticalLine (26, 7, 19);
|
||||||
|
VerticalLine (64, 7, 19);
|
||||||
|
|
||||||
|
For Count := 1 to 13 Do
|
||||||
|
Form.AddBol ('!', '> ', 8, 6 + Count, 10, 6 + Count, 2, 3, @Active[Count], Topic + ChangeStr);
|
||||||
|
|
||||||
|
Form.AddPath ('!', ' Path' , 20, 7, 28, 7, 6, 16, 80, @Global.Path, Topic + 'Message base storage path');
|
||||||
|
Form.AddStr ('L', ' List ACS' , 16, 8, 28, 8, 10, 16, 30, @Global.ListACS, Topic + 'Access required to see in base list');
|
||||||
|
Form.AddStr ('R', ' Read ACS' , 16, 9, 28, 9, 10, 16, 30, @Global.ReadACS, Topic + 'Access required to read messages');
|
||||||
|
Form.AddStr ('P', ' Post ACS' , 16, 10, 28, 10, 10, 16, 30, @Global.PostACS, Topic + 'Access required to post messages');
|
||||||
|
Form.AddStr ('Y', ' Sysop ACS' , 15, 11, 28, 11, 11, 16, 30, @Global.SysopACS, Topic + 'Access required for Sysop access');
|
||||||
|
Form.AddNone ('D', ' Net Address' , 13, 12, 28, 12, 13, Topic + 'NetMail Address');
|
||||||
|
Form.AddStr ('I', ' Origin' , 18, 13, 28, 13, 8, 16, 50, @Global.Origin, Topic + 'Message base origin line');
|
||||||
|
Form.AddStr ('S', ' Sponsor' , 17, 14, 28, 14, 9, 16, 30, @Global.Sponsor, Topic + 'User name of base''s sponser');
|
||||||
|
Form.AddStr ('H', ' Header' , 18, 15, 28, 15, 8, 16, 20, @Global.Header, Topic + 'Display file name of msg header');
|
||||||
|
Form.AddStr ('T', ' R Template' , 14, 16, 28, 16, 12, 16, 20, @Global.RTemplate, Topic + 'Template for full screen reader');
|
||||||
|
Form.AddStr ('M', ' L Template' , 14, 17, 28, 17, 12, 16, 20, @Global.ITemplate, Topic + 'Template for lightbar message list');
|
||||||
|
Form.AddTog ('A', ' Base Type' , 15, 18, 28, 18, 11, 9, 0, 3, 'Local EchoMail Newsgroup Netmail', @Global.NetType, Topic + 'Message base type');
|
||||||
|
Form.AddTog ('B', ' Base Format' , 13, 19, 28, 19, 13, 6, 0, 1, 'JAM Squish', @Global.BaseType, Topic + 'Message base storage format');
|
||||||
|
|
||||||
|
For Count := 1 to 13 Do
|
||||||
|
Form.AddBol ('!', '> ', 45, 6 + Count, 47, 6 + Count, 2, 3, @Active[Count + 13], Topic + ChangeStr);
|
||||||
|
|
||||||
|
Form.AddAttr ('Q', ' Quote Color' , 51, 7, 66, 7, 13, @Global.ColQuote, Topic + 'Color for quoted text');
|
||||||
|
Form.AddAttr ('X', ' Text Color' , 52, 8, 66, 8, 12, @Global.ColText, Topic + 'Color for message text');
|
||||||
|
Form.AddAttr ('E', ' Tear Color' , 52, 9, 66, 9, 12, @Global.ColTear, Topic + 'Color for tear line');
|
||||||
|
Form.AddAttr ('G', ' Origin Color', 50, 10, 66, 10, 14, @Global.ColOrigin, Topic + 'Color for origin line');
|
||||||
|
Form.AddAttr ('K', ' Kludge Color', 50, 11, 66, 11, 14, @Global.ColKludge, Topic + 'Color for kludge line');
|
||||||
|
Form.AddWord ('M', ' Max Msgs' , 54, 12, 66, 12, 10, 5, 0, 65535, @Global.MaxMsgs, Topic + 'Maximum number of message in base');
|
||||||
|
Form.AddWord ('1', ' Max Msg Age' , 51, 13, 66, 13, 13, 5, 0, 65535, @Global.MaxAge, Topic + 'Maximum age (days) to keep messages');
|
||||||
|
Form.AddTog ('2', ' New Scan' , 54, 14, 66, 14, 10, 6, 0, 2, 'No Yes Forced', @Global.DefNScan, Topic + 'Newscan default for users');
|
||||||
|
Form.AddTog ('3', ' QWK Scan' , 54, 15, 66, 15, 10, 6, 0, 2, 'No Yes Forced', @Global.DefQScan, Topic + 'QWKscan default for users');
|
||||||
|
Form.AddBits ('4', ' Real Names' , 52, 16, 66, 16, 12, MBRealNames, @Global.Flags, Topic + 'Use real names in this base?');
|
||||||
|
Form.AddBits ('5', ' Autosigs' , 54, 17, 66, 17, 10, MBAutoSigs, @Global.Flags, Topic + 'Allow auto signatures in this base?');
|
||||||
|
Form.AddBits ('6', ' Kill Kludge' , 51, 18, 66, 18, 13, MBKillKludge, @Global.Flags, Topic + 'Filter out kludge lines');
|
||||||
|
Form.AddBits ('V', ' Private' , 55, 19, 66, 19, 9, MBPrivate, @Global.Flags, Topic + 'Is this a private base?');
|
||||||
|
|
||||||
|
Form.LoExitChars := #21#27;
|
||||||
|
|
||||||
|
Repeat
|
||||||
|
Case Form.Execute of
|
||||||
|
'D' : Global.NetAddr := Configuration_EchoMailAddress(False);
|
||||||
|
#21 : If ShowMsgBox(1, 'Update with these settings?') Then Begin
|
||||||
|
For Count := 1 to List.ListMax Do
|
||||||
|
If List.List[Count]^.Tagged = 1 Then Begin
|
||||||
|
MBaseFile.Seek (Count - 1);
|
||||||
|
MBaseFile.Read (MBase);
|
||||||
|
|
||||||
|
If Active[01] Then MBase.Path := Global.Path;
|
||||||
|
If Active[02] Then MBase.ListACS := Global.ListACS;
|
||||||
|
If Active[03] Then MBase.ReadACS := Global.ReadACS;
|
||||||
|
If Active[04] Then MBase.PostACS := Global.PostACS;
|
||||||
|
If Active[05] Then MBase.SysopACS := Global.SysopACS;
|
||||||
|
If Active[06] Then MBase.NetAddr := Global.NetAddr;
|
||||||
|
If Active[07] Then MBase.Origin := Global.Origin;
|
||||||
|
If Active[08] Then MBase.Sponsor := Global.Sponsor;
|
||||||
|
If Active[09] Then MBase.Header := Global.Header;
|
||||||
|
If Active[10] Then MBase.RTemplate := Global.RTemplate;
|
||||||
|
If Active[11] Then MBase.ITemplate := Global.ITemplate;
|
||||||
|
If Active[12] Then MBase.NetType := Global.NetType;
|
||||||
|
If Active[13] Then MBase.BaseType := Global.BaseType;
|
||||||
|
|
||||||
|
If Active[14] Then MBase.ColQuote := Global.ColQuote;
|
||||||
|
If Active[15] Then MBase.ColText := Global.ColText;
|
||||||
|
If Active[16] Then MBase.ColTear := Global.ColTear;
|
||||||
|
If Active[17] Then MBase.ColOrigin := Global.ColOrigin;
|
||||||
|
If Active[18] Then MBase.ColKludge := Global.ColKludge;
|
||||||
|
If Active[19] Then MBase.MaxMsgs := Global.MaxMsgs;
|
||||||
|
If Active[20] Then MBase.MaxAge := Global.MaxAge;
|
||||||
|
If Active[21] Then MBase.DefNScan := Global.DefNScan;
|
||||||
|
If Active[22] Then MBase.DefQScan := Global.DefQScan;
|
||||||
|
If Active[23] Then BitSet(MBRealNames, SizeOf(MBase.Flags), MBase.Flags, (Global.Flags AND MBRealNames <> 0));
|
||||||
|
If Active[24] Then BitSet(MBAutoSigs, SizeOf(MBase.Flags), MBase.Flags, (Global.Flags AND MBAutoSigs <> 0));
|
||||||
|
If Active[25] Then BitSet(MBKillKludge, SizeOf(MBase.Flags), MBase.Flags, (Global.Flags AND MBKillKludge <> 0));
|
||||||
|
If Active[26] Then BitSet(MBPrivate, SizeOf(MBase.Flags), MBase.Flags, (Global.Flags AND MBPrivate <> 0));
|
||||||
|
|
||||||
|
MBaseFile.Seek (Count - 1);
|
||||||
|
MBaseFile.Write (MBase);
|
||||||
|
End;
|
||||||
|
|
||||||
|
Break;
|
||||||
|
End;
|
||||||
|
#27 : Break;
|
||||||
|
End;
|
||||||
|
Until False;
|
||||||
|
|
||||||
|
Form.Free;
|
||||||
|
|
||||||
|
GBox.Close;
|
||||||
|
GBox.Free;
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Procedure MakeList;
|
Procedure MakeList;
|
||||||
|
@ -240,8 +349,14 @@ Begin
|
||||||
End;
|
End;
|
||||||
'G' : If List.Marked = 0 Then
|
'G' : If List.Marked = 0 Then
|
||||||
ShowMsgBox(0, 'You must tag areas for global edit')
|
ShowMsgBox(0, 'You must tag areas for global edit')
|
||||||
Else
|
Else Begin
|
||||||
GlobalEdit;
|
If List.Picked > 1 Then Begin
|
||||||
|
MBaseFile.Seek (List.Picked - 1);
|
||||||
|
MBaseFile.Read (MBase);
|
||||||
|
End;
|
||||||
|
|
||||||
|
GlobalEdit (MBase);
|
||||||
|
End;
|
||||||
End;
|
End;
|
||||||
#13 : If List.Picked < List.ListMax Then Begin
|
#13 : If List.Picked < List.ListMax Then Begin
|
||||||
MBaseFile.Seek (List.Picked - 1);
|
MBaseFile.Seek (List.Picked - 1);
|
||||||
|
|
|
@ -670,9 +670,9 @@ Begin
|
||||||
Form.AddBits ('C', ' Allow ASCII' , 10, 14, 25, 14, 13, ThmAllowASCII, @Theme.Flags, Topic + 'Allow ASCII users to use this theme?');
|
Form.AddBits ('C', ' Allow ASCII' , 10, 14, 25, 14, 13, ThmAllowASCII, @Theme.Flags, Topic + 'Allow ASCII users to use this theme?');
|
||||||
Form.AddBits ('N', ' Allow ANSI' , 11, 15, 25, 15, 12, ThmAllowANSI, @Theme.Flags, Topic + 'Allow ANSI users to use this theme?');
|
Form.AddBits ('N', ' Allow ANSI' , 11, 15, 25, 15, 12, ThmAllowANSI, @Theme.Flags, Topic + 'Allow ANSI users to use this theme?');
|
||||||
|
|
||||||
Form.AddNone ('1', ' 1: Prompts' , 57, 7, 17, Topic + 'Edit prompts for this theme');
|
Form.AddNone ('1', ' 1: Prompts' , 57, 7, 57, 7, 17, Topic + 'Edit prompts for this theme');
|
||||||
Form.AddNone ('2', ' 2: Options' , 57, 8, 17, Topic + 'Edit general options for this theme');
|
Form.AddNone ('2', ' 2: Options' , 57, 8, 57, 8, 17, Topic + 'Edit general options for this theme');
|
||||||
Form.AddNone ('3', ' 3: Percent Bars', 57, 9, 17, Topic + 'Edit percentage bars used in this theme');
|
Form.AddNone ('3', ' 3: Percent Bars', 57, 9, 57, 9, 17, Topic + 'Edit percentage bars used in this theme');
|
||||||
|
|
||||||
Repeat
|
Repeat
|
||||||
Case Form.Execute of
|
Case Form.Execute of
|
||||||
|
|
Loading…
Reference in New Issue