OSDN Git Service

This commit was manufactured by cvs2svn to create branch 'bRESPOPUP'.
[gikonavigoeson/gikonavi.git] / KuroutSetting.pas
1 unit KuroutSetting;
2
3 interface
4
5 uses
6   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7   Dialogs, StdCtrls, ComCtrls, GikoSystem, GikoUtil, ExtCtrls, StrUtils;
8
9 type
10   TKuroutOption = class(TForm)
11         PageControl1: TPageControl;
12         TabSheet1: TTabSheet;
13         GroupBox11: TGroupBox;
14         Label17: TLabel;
15         Label18: TLabel;
16         RecvBufferSize: TEdit;
17         ProxyProtocolCheckBox: TCheckBox;
18         ProtocolCheckBox: TCheckBox;
19         GroupBox13: TGroupBox;
20         Label24: TLabel;
21         Label25: TLabel;
22         PostTimeLabel: TLabel;
23         Label27: TLabel;
24         PostTimeCheckBox: TCheckBox;
25         PostTimeEdit: TEdit;
26         PutPostTimeRadioButton: TRadioButton;
27         BackPostTimeRadioButton: TRadioButton;
28         OkBotton: TButton;
29         CancelBotton: TButton;
30         ApplyButton: TButton;
31         ColumnTabSheet: TTabSheet;
32         CategoryColumnGroupBox: TGroupBox;
33         CUnVisibledListBox: TListBox;
34         CVisibledListBox: TListBox;
35         CAddButton: TButton;
36         CDeleteButton: TButton;
37         BoardColumnGroupBox: TGroupBox;
38         BUnVisibledListBox: TListBox;
39         BVisibledListBox: TListBox;
40         BAddButton: TButton;
41         BDeleteButton: TButton;
42         Label1: TLabel;
43         Label2: TLabel;
44         Label3: TLabel;
45         Label4: TLabel;
46         CUpButton: TButton;
47         CDownButton: TButton;
48         BUpButton: TButton;
49         BDownButton: TButton;
50     GroupBox1: TGroupBox;
51     GengoSupport: TCheckBox;
52     Label5: TLabel;
53     Label6: TLabel;
54     ReadTimeOut: TEdit;
55     Label7: TLabel;
56     KakikomiTabSheet: TTabSheet;
57     CookieGroupBox: TGroupBox;
58     Label8: TLabel;
59     FixedCookieEdit: TEdit;
60     Label9: TLabel;
61     GroupBox3: TGroupBox;
62     Label10: TLabel;
63     MoveHistoryMaxEdit: TEdit;
64     Label11: TLabel;
65     AHandredGroupBox: TGroupBox;
66     AHandredLabeledEdit: TLabeledEdit;
67     UpDown1: TUpDown;
68     ThreadGroupBox: TGroupBox;
69     AddKeywordCheckBox: TCheckBox;
70     TabSheet2: TTabSheet;
71     SecurityGroupBox: TGroupBox;
72     GroupBox2: TGroupBox;
73     LocalTrapAtt: TCheckBox;
74     RemoteTrapAtt: TCheckBox;
75     ReplaceDatCheckBox: TCheckBox;
76     Label12: TLabel;
77     GroupBox4: TGroupBox;
78     SentIniFileSizeEdit: TEdit;
79     SentIniFileSizeUpDown: TUpDown;
80     Label13: TLabel;
81     Label14: TLabel;
82     ExtListLabeledEdit: TLabeledEdit;
83     Label15: TLabel;
84         procedure OkBottonClick(Sender: TObject);
85         procedure FormCreate(Sender: TObject);
86         procedure CDeleteButtonClick(Sender: TObject);
87         procedure CAddButtonClick(Sender: TObject);
88         procedure BAddButtonClick(Sender: TObject);
89         procedure BDeleteButtonClick(Sender: TObject);
90     procedure CUpButtonClick(Sender: TObject);
91     procedure CDownButtonClick(Sender: TObject);
92     procedure BUpButtonClick(Sender: TObject);
93     procedure BDownButtonClick(Sender: TObject);
94     procedure MoveHistoryMaxEditExit(Sender: TObject);
95     procedure AHandredLabeledEditExit(Sender: TObject);
96     procedure ExtListLabeledEditExit(Sender: TObject);
97   private
98         { Private \90é\8c¾ }
99         procedure SetValue;
100         procedure SaveSetting;
101         procedure RecvBufferSizeExit(Sender: TObject);
102         procedure PostTimeEditExit(Sender: TObject);
103         procedure PostTimeCheckBoxClick(Sender: TObject);
104         procedure SetColumnData();
105         procedure PostColumnData();
106   public
107         { Public \90é\8c¾ }
108   end;
109
110 var
111   KuroutOption: TKuroutOption;
112
113 implementation
114
115 uses
116         Giko, Setting;
117
118 {$R *.dfm}
119
120 procedure TKuroutOption.SetValue;
121 begin
122         //\8eó\90M\83o\83b\83t\83@\83T\83C\83Y
123         RecvBufferSize.Text := IntToStr(Gikosys.Setting.RecvBufferSize);
124         //HTTP1.1\8eg\97p
125         ProtocolCheckBox.Checked := GikoSys.Setting.Protocol;
126         //\83v\83\8d\83L\83V\90Ú\91±HTTP1.1\8eg\97p
127         ProxyProtocolCheckBox.Checked := Gikosys.Setting.ProxyProtocol;
128         ReadTimeOut.Text := IntToStr(GikoSys.Setting.ReadTimeOut);
129
130                 //\8f\91\82«\8d\9e\82Ý\8e\9e\83}\83V\83\93\8e\9e\8aÔ\8eg\97p\90Ý\92è
131         PostTimeCheckBox.Checked := GikoSys.Setting.UseMachineTime;
132         PostTimeEdit.Text := IntToStr(GikoSys.Setting.TimeAdjustSec);
133         if GikoSys.Setting.TimeAdjust then
134                 PutPostTimeRadioButton.Checked := True
135         else
136                 BackPostTimeRadioButton.Checked := True;
137
138         SetColumnData();
139
140         PageControl1.ActivePageIndex := GikoSys.Setting.KuroutSettingTabIndex;
141
142         //2chAnnai
143         GengoSupport.Checked := GikoSys.Setting.GengoSupport;
144         //FusianaSet
145         LocalTrapAtt.Checked := GikoSys.Setting.LocalTrapAtt;
146         RemoteTrapAtt.Checked := GikoSys.Setting.RemoteTrapAtt;
147         // Cookie
148     FixedCookieEdit.Text := GikoSys.Setting.FixedCookie;
149     // \83\8a\83\93\83N\88Ú\93®\97\9a\97ð
150     MoveHistoryMaxEdit.Text := IntToStr( GikoSys.Setting.MoveHistorySize );
151     //\81@\90æ\93ª\95\\8e¦\83\8c\83X\90\94
152     AHandredLabeledEdit.Text := IntToStr( GikoSys.Setting.HeadResCount );
153     // \8aÖ\98A\83L\81[\83\8f\81[\83h\92Ç\89Á\83t\83\89\83O
154     AddKeywordCheckBox.Checked := GikoSys.Setting.AddKeywordLink;
155     // \8cë\94½\89\9e\91Î\8dô
156     ReplaceDatCheckBox.Checked := GikoSys.Setting.ReplaceDat;
157     SentIniFileSizeUpDown.Position := GikoSys.Setting.SentIniFileSize;
158     ExtListLabeledEdit.Text := GikoSys.Setting.ExtList;
159 end;
160
161 procedure TKuroutOption.SaveSetting;
162 begin
163         //\8eó\90M\83o\83b\83t\83@\83T\83C\83Y
164         Gikosys.Setting.RecvBufferSize := StrToIntDef(RecvBufferSize.Text, Gikosys.Setting.RecvBufferSize);
165         GikoSys.Setting.ReadTimeOut := StrToIntDef(ReadTimeOut.Text, GikoSys.Setting.ReadTimeOut);
166         //HTTP1.1\8eg\97p
167         GikoSys.Setting.Protocol := ProtocolCheckBox.Checked;
168         //\83v\83\8d\83L\83V\90Ú\91±HTTP1.1\8eg\97p
169         Gikosys.Setting.ProxyProtocol := ProxyProtocolCheckBox.Checked;
170         //\8f\91\82«\8d\9e\82Ý\8e\9e\83}\83V\83\93\8e\9e\8aÔ\8eg\97p\90Ý\92è
171         GikoSys.Setting.UseMachineTime := PostTimeCheckBox.Checked;
172         if GikoSys.IsNumeric(PostTimeEdit.Text) then
173                 GikoSys.Setting.TimeAdjustSec := StrToIntDef(PostTimeEdit.Text, GikoSys.Setting.TimeAdjustSec)
174         else
175                 GikoSys.Setting.TimeAdjustSec := 0;
176         GikoSys.Setting.TimeAdjust := PutPostTimeRadioButton.Checked;
177         //2ch\8c¾\8cê\83T\83|\81[\83g
178         GikoSys.Setting.GengoSupport := GengoSupport.Checked;
179         GikoSys.SetGikoMessage;
180         //\83\8d\81[\83J\83\8b\81E\83\8a\83\82\81[\83g̼±Å\8cx\8d\90
181         GikoSys.Setting.LocalTrapAtt := LocalTrapAtt.Checked;
182         GikoSys.Setting.RemoteTrapAtt := RemoteTrapAtt.Checked;
183         // Cookie
184         GikoSys.Setting.FixedCookie := FixedCookieEdit.Text;
185
186     // \83\8a\83\93\83N\88Ú\93®\97\9a\97ð
187     GikoSys.Setting.MoveHistorySize :=
188         StrToIntDef( MoveHistoryMaxEdit.Text, 20 );
189
190     //\81@\90æ\93ª\95\\8e¦\83\8c\83X\90\94
191     GikoSys.Setting.HeadResCount :=
192         StrToIntDef( AHandredLabeledEdit.Text , 1);
193
194         GikoSys.Setting.KuroutSettingTabIndex := PageControl1.ActivePageIndex;
195     // \8aÖ\98A\83L\81[\83\8f\81[\83h\92Ç\89Á\83t\83\89\83O
196     GikoSys.Setting.AddKeywordLink := AddKeywordCheckBox.Checked;
197     // \8cë\94½\89\9e\91Î\8dô
198     GikoSys.Setting.ReplaceDat := ReplaceDatCheckBox.Checked;
199     GikoSys.Setting.SentIniFileSize := SentIniFileSizeUpDown.Position;
200     GikoSys.Setting.ExtList := ExtListLabeledEdit.Text;
201 end;
202
203 procedure TKuroutOption.RecvBufferSizeExit(Sender: TObject);
204 begin
205         if not GikoSys.IsNumeric(RecvBufferSize.Text) then
206                 RecvBufferSize.Text := '4096';
207         if StrToInt(RecvBufferSize.Text) < 256 then
208                 RecvBufferSize.Text := '4096';
209 end;
210
211 procedure TKuroutOption.PostTimeEditExit(Sender: TObject);
212 begin
213         if not GikoSys.IsNumeric(PostTimeEdit.Text) then
214                 PostTimeEdit.Text := '0';
215 end;
216
217 procedure TKuroutOption.PostTimeCheckBoxClick(Sender: TObject);
218 begin
219         PostTimeLabel.Enabled := PostTimeCheckBox.Checked;
220         PostTimeEdit.Enabled := PostTimeCheckBox.Checked;
221         PutPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
222         BackPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
223 end;
224
225 procedure TKuroutOption.OkBottonClick(Sender: TObject);
226 begin
227         RecvBufferSizeExit(Sender);
228         PostTimeEditExit(Sender);
229     MoveHistoryMaxEditExit(Sender);
230     AHandredLabeledEditExit(Sender);
231     ExtListLabeledEditExit(Sender);
232     PostColumnData();
233         SaveSetting;
234 end;
235
236 procedure TKuroutOption.FormCreate(Sender: TObject);
237 begin
238         SetValue;
239         PostTimeCheckBoxClick(Sender);
240
241 end;
242 procedure TKuroutOption.SetColumnData();
243 var
244         i, j : Integer;
245         flag : Boolean;
246 begin
247
248         //===== \94Â\83\8a\83X\83g =====
249         for i := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
250                 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
251                         if GikoSys.Setting.CategoryColumnOrder[ i ] = TGikoCategoryColumnID( j ) then begin
252                                 CVisibledListBox.AddItem(GikoCategoryColumnCaption[ j ], nil);
253                                 break;
254                         end;
255                 end;
256         end;
257
258         for i := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
259                 flag := false;
260                 for j := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
261                         if GikoSys.Setting.CategoryColumnOrder[ j ] = TGikoCategoryColumnID( i ) then begin
262                                 flag := true;
263                                 break;
264                         end;
265                 end;
266                 if not flag then
267                         CUnVisibledListBox.AddItem(GikoCategoryColumnCaption[ i ], nil);
268         end;
269
270         //===== \83X\83\8c\83\8a\83X\83g =====
271         for i := 0 to GikoSys.Setting.BoardColumnOrder.Count - 1 do begin
272                 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
273                         if GikoSys.Setting.BoardColumnOrder[ i ] = TGikoBoardColumnID( j ) then begin
274                                 BVisibledListBox.AddItem(GikoBoardColumnCaption[ j ], nil);
275                                 Break;
276                         end;
277                 end;
278         end;
279
280         for i := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
281                 flag := false;
282                 for j := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 0 do begin
283                         if GikoSys.Setting.BoardColumnOrder[ j ] = TGikoBoardColumnID( i ) then begin
284                                 flag := true;
285                                 Break;
286                         end;
287                 end;
288                 if not flag then
289                         BUnVisibledListBox.AddItem(GikoBoardColumnCaption[ i ], nil);
290
291         end;
292 end;
293 procedure TKuroutOption.CDeleteButtonClick(Sender: TObject);
294 var
295         i: Integer;
296 begin
297         for i := 0 to CVisibledListBox.Count - 1 do begin
298                 if CVisibledListBox.Selected[i] then begin
299                         CUnVisibledListBox.AddItem(     CVisibledListBox.Items.Strings[ i ], nil);
300                         CVisibledListBox.DeleteSelected;
301                         break;
302                 end;
303         end;
304 end;
305
306 procedure TKuroutOption.CAddButtonClick(Sender: TObject);
307 var
308         i: Integer;
309 begin
310         for i := 0 to CUnVisibledListBox.Count - 1 do begin
311                 if CUnVisibledListBox.Selected[i] then begin
312                         CVisibledListBox.AddItem(       CUnVisibledListBox.Items.Strings[ i ], nil);
313                         CUnVisibledListBox.DeleteSelected;
314                         break;
315                 end;
316         end;
317 end;
318
319 procedure TKuroutOption.BAddButtonClick(Sender: TObject);
320 var
321         i: Integer;
322 begin
323         for i := 0 to BUnVisibledListBox.Count - 1 do begin
324                 if BUnVisibledListBox.Selected[i] then begin
325                         BVisibledListBox.AddItem(       BUnVisibledListBox.Items.Strings[ i ], nil);
326                         BUnVisibledListBox.DeleteSelected;
327                         break;
328                 end;
329         end;
330 end;
331
332 procedure TKuroutOption.BDeleteButtonClick(Sender: TObject);
333 var
334         i: Integer;
335 begin
336         for i := 0 to BVisibledListBox.Count - 1 do begin
337                 if BVisibledListBox.Selected[i] then begin
338                         BUnVisibledListBox.AddItem(     BVisibledListBox.Items.Strings[ i ], nil);
339                         BVisibledListBox.DeleteSelected;
340                         break;
341                 end;
342         end;
343 end;
344
345 procedure TKuroutOption.CUpButtonClick(Sender: TObject);
346 var
347         i: Integer;
348 begin
349         for i := 1 to CVisibledListBox.Count - 1 do begin
350                 if CVisibledListBox.Selected[i] then begin
351                         CVisibledListBox.Items.Exchange(i, i -1);
352                         break;
353                 end;
354         end;
355 end;
356
357 procedure TKuroutOption.CDownButtonClick(Sender: TObject);
358 var
359         i: Integer;
360 begin
361         for i := 0 to CVisibledListBox.Count - 2 do begin
362                 if CVisibledListBox.Selected[i] then begin
363                         CVisibledListBox.Items.Exchange(i, i + 1);
364                         break;
365                 end;
366         end;
367 end;
368
369 procedure TKuroutOption.BUpButtonClick(Sender: TObject);
370 var
371         i: Integer;
372 begin
373         for i := 1 to BVisibledListBox.Count - 1 do begin
374                 if BVisibledListBox.Selected[i] then begin
375                         BVisibledListBox.Items.Exchange(i, i -1);
376                         break;
377                 end;
378         end;
379 end;
380
381 procedure TKuroutOption.BDownButtonClick(Sender: TObject);
382 var
383         i: Integer;
384 begin
385         for i := 0 to BVisibledListBox.Count - 2 do begin
386                 if BVisibledListBox.Selected[i] then begin
387                         BVisibledListBox.Items.Exchange(i, i + 1);
388                         break;
389                 end;
390         end;
391 end;
392
393
394 procedure TKuroutOption.PostColumnData();
395 var
396         i, j : Integer;
397 begin
398         GikoForm.ActiveListColumnSave;
399
400         //===== \94Â\83\8a\83X\83g =====
401         for i := GikoSys.Setting.CategoryColumnOrder.Count -1 downto 1 do
402                 GikoSys.Setting.CategoryColumnOrder.Delete(i);
403
404         for i := 0 to CVisibledListBox.Count - 1 do begin
405                 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
406                         if CVisibledListBox.Items.Strings[ i ] = GikoCategoryColumnCaption[ j ] then begin
407                                 GikoSys.Setting.CategoryColumnOrder.Add(  TGikoCategoryColumnID(j) );
408                                 break;
409                         end;
410                 end;
411         end;
412
413         //===== \83X\83\8c\83\8a\83X\83g =====
414         for i := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 1 do
415                 GikoSys.Setting.BoardColumnOrder.Delete(i);
416
417         for i := 0 to BVisibledListBox.Count - 1 do begin
418                 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
419                         if BVisibledListBox.Items.Strings[ i ] = GikoBoardColumnCaption[ j ] then begin
420                                 GikoSys.Setting.BoardColumnOrder.Add( TGikoBoardColumnID(j) );
421                                 Break;
422                         end;
423                 end;
424         end;
425         //\83X\83\8c\88ê\97\97\82Ì\95`\89æ\82Ì\8dX\90V
426         GikoForm.SetActiveList(GikoForm.ActiveList);
427 end;
428 // \83\8a\83\93\83N\88Ú\93®\97\9a\97ð\82Ì\95Ò\8fW\8cã\82Ì\90Ý\92è\95\8e\9a\97ñ\83`\83F\83b\83N
429 procedure TKuroutOption.MoveHistoryMaxEditExit(Sender: TObject);
430 begin
431         if not GikoSys.IsNumeric(MoveHistoryMaxEdit.Text) then
432                 MoveHistoryMaxEdit.Text := '20';
433     if StrToInt(MoveHistoryMaxEdit.Text) < 1 then
434         MoveHistoryMaxEdit.Text := '1';
435 end;
436 // \90æ\93ª\95\\8e¦\83\8c\83X\90\94\82Ì\95Ò\8fW\8cã\82Ì\90Ý\92è\95\8e\9a\97ñ\83`\83F\83b\83N
437 procedure TKuroutOption.AHandredLabeledEditExit(Sender: TObject);
438 begin
439         if not GikoSys.IsNumeric(AHandredLabeledEdit.Text) then
440                 AHandredLabeledEdit.Text := '1';
441     if StrToInt(AHandredLabeledEdit.Text) < 1 then
442         AHandredLabeledEdit.Text := '1';
443
444 end;
445
446 procedure TKuroutOption.ExtListLabeledEditExit(Sender: TObject);
447 begin
448     if AnsiEndsStr(';', ExtListLabeledEdit.Text) then begin
449         ExtListLabeledEdit.Text :=
450             Copy(ExtListLabeledEdit.Text, 0,
451                 Length(ExtListLabeledEdit.Text) - 1); 
452     end;
453 end;
454
455 end.