OSDN Git Service

This commit was manufactured by cvs2svn to create branch 'Bb51'.
[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;
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     GroupBox2: TGroupBox;
54     LocalTrapAtt: TCheckBox;
55     RemoteTrapAtt: TCheckBox;
56     Label6: TLabel;
57     ReadTimeOut: TEdit;
58     Label7: TLabel;
59         procedure OkBottonClick(Sender: TObject);
60         procedure FormCreate(Sender: TObject);
61         procedure CDeleteButtonClick(Sender: TObject);
62         procedure CAddButtonClick(Sender: TObject);
63         procedure BAddButtonClick(Sender: TObject);
64         procedure BDeleteButtonClick(Sender: TObject);
65     procedure CUpButtonClick(Sender: TObject);
66     procedure CDownButtonClick(Sender: TObject);
67     procedure BUpButtonClick(Sender: TObject);
68     procedure BDownButtonClick(Sender: TObject);
69   private
70         { Private \90é\8c¾ }
71         procedure SetValue;
72         procedure SaveSetting;
73         procedure RecvBufferSizeExit(Sender: TObject);
74         procedure PostTimeEditExit(Sender: TObject);
75         procedure PostTimeCheckBoxClick(Sender: TObject);
76         procedure SetColumnData();
77         procedure PostColumnData();
78   public
79         { Public \90é\8c¾ }
80   end;
81
82 var
83   KuroutOption: TKuroutOption;
84
85 implementation
86
87 uses
88         Giko, Setting;
89
90 {$R *.dfm}
91
92 procedure TKuroutOption.SetValue;
93 begin
94         //\8eó\90M\83o\83b\83t\83@\83T\83C\83Y
95         RecvBufferSize.Text := IntToStr(Gikosys.Setting.RecvBufferSize);
96         //HTTP1.1\8eg\97p
97         ProtocolCheckBox.Checked := GikoSys.Setting.Protocol;
98         //\83v\83\8d\83L\83V\90Ú\91±HTTP1.1\8eg\97p
99         ProxyProtocolCheckBox.Checked := Gikosys.Setting.ProxyProtocol;
100         ReadTimeOut.Text := IntToStr(GikoSys.Setting.ReadTimeOut);
101
102                 //\8f\91\82«\8d\9e\82Ý\8e\9e\83}\83V\83\93\8e\9e\8aÔ\8eg\97p\90Ý\92è
103         PostTimeCheckBox.Checked := GikoSys.Setting.UseMachineTime;
104         PostTimeEdit.Text := IntToStr(GikoSys.Setting.TimeAdjustSec);
105         if GikoSys.Setting.TimeAdjust then
106                 PutPostTimeRadioButton.Checked := True
107         else
108                 BackPostTimeRadioButton.Checked := True;
109
110         SetColumnData();
111
112         PageControl1.ActivePageIndex := GikoSys.Setting.KuroutSettingTabIndex;
113
114         //2chAnnai
115         GengoSupport.Checked := GikoSys.Setting.GengoSupport;
116         //FusianaSet
117         LocalTrapAtt.Checked := GikoSys.Setting.LocalTrapAtt;
118         RemoteTrapAtt.Checked := GikoSys.Setting.RemoteTrapAtt;
119 end;
120
121 procedure TKuroutOption.SaveSetting;
122 begin
123         //\8eó\90M\83o\83b\83t\83@\83T\83C\83Y
124         Gikosys.Setting.RecvBufferSize := StrToIntDef(RecvBufferSize.Text, Gikosys.Setting.RecvBufferSize);
125         GikoSys.Setting.ReadTimeOut := StrToIntDef(ReadTimeOut.Text, GikoSys.Setting.ReadTimeOut);
126         //HTTP1.1\8eg\97p
127         GikoSys.Setting.Protocol := ProtocolCheckBox.Checked;
128         //\83v\83\8d\83L\83V\90Ú\91±HTTP1.1\8eg\97p
129         Gikosys.Setting.ProxyProtocol := ProxyProtocolCheckBox.Checked;
130         //\8f\91\82«\8d\9e\82Ý\8e\9e\83}\83V\83\93\8e\9e\8aÔ\8eg\97p\90Ý\92è
131         GikoSys.Setting.UseMachineTime := PostTimeCheckBox.Checked;
132         if GikoSys.IsNumeric(PostTimeEdit.Text) then
133                 GikoSys.Setting.TimeAdjustSec := StrToIntDef(PostTimeEdit.Text, GikoSys.Setting.TimeAdjustSec)
134         else
135                 GikoSys.Setting.TimeAdjustSec := 0;
136         GikoSys.Setting.TimeAdjust := PutPostTimeRadioButton.Checked;
137                 //2ch\8c¾\8cê\83T\83|\81[\83g
138                 GikoSys.Setting.GengoSupport := GengoSupport.Checked;
139         GikoSys.SetGikoMessage;
140                 //\83\8d\81[\83J\83\8b\81E\83\8a\83\82\81[\83g̼±Å\8cx\8d\90
141                 GikoSys.Setting.LocalTrapAtt := LocalTrapAtt.Checked;
142                 GikoSys.Setting.RemoteTrapAtt := RemoteTrapAtt.Checked;
143
144         GikoSys.Setting.KuroutSettingTabIndex := PageControl1.ActivePageIndex;
145 end;
146
147 procedure TKuroutOption.RecvBufferSizeExit(Sender: TObject);
148 begin
149         if not GikoSys.IsNumeric(RecvBufferSize.Text) then
150                 RecvBufferSize.Text := '4096';
151         if StrToInt(RecvBufferSize.Text) < 256 then
152                 RecvBufferSize.Text := '4096';
153 end;
154
155 procedure TKuroutOption.PostTimeEditExit(Sender: TObject);
156 begin
157         if not GikoSys.IsNumeric(PostTimeEdit.Text) then
158                 PostTimeEdit.Text := '0';
159 end;
160
161 procedure TKuroutOption.PostTimeCheckBoxClick(Sender: TObject);
162 begin
163         PostTimeLabel.Enabled := PostTimeCheckBox.Checked;
164         PostTimeEdit.Enabled := PostTimeCheckBox.Checked;
165         PutPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
166         BackPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
167 end;
168
169 procedure TKuroutOption.OkBottonClick(Sender: TObject);
170 begin
171         RecvBufferSizeExit(Sender);
172         PostTimeEditExit(Sender);
173         PostColumnData();
174         SaveSetting;
175 end;
176
177 procedure TKuroutOption.FormCreate(Sender: TObject);
178 begin
179         SetValue;
180         PostTimeCheckBoxClick(Sender);
181
182 end;
183 procedure TKuroutOption.SetColumnData();
184 var
185         i, j : Integer;
186         flag : Boolean;
187 begin
188
189         //===== \94Â\83\8a\83X\83g =====
190         for i := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
191                 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
192                         if GikoSys.Setting.CategoryColumnOrder[ i ] = TGikoCategoryColumnID( j ) then begin
193                                 CVisibledListBox.AddItem(GikoCategoryColumnCaption[ j ], nil);
194                                 break;
195                         end;
196                 end;
197         end;
198
199         for i := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
200                 flag := false;
201                 for j := 0 to GikoSys.Setting.CategoryColumnOrder.Count - 1 do begin
202                         if GikoSys.Setting.CategoryColumnOrder[ j ] = TGikoCategoryColumnID( i ) then begin
203                                 flag := true;
204                                 break;
205                         end;
206                 end;
207                 if not flag then
208                         CUnVisibledListBox.AddItem(GikoCategoryColumnCaption[ i ], nil);
209         end;
210
211         //===== \83X\83\8c\83\8a\83X\83g =====
212         for i := 0 to GikoSys.Setting.BoardColumnOrder.Count - 1 do begin
213                 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
214                         if GikoSys.Setting.BoardColumnOrder[ i ] = TGikoBoardColumnID( j ) then begin
215                                 BVisibledListBox.AddItem(GikoBoardColumnCaption[ j ], nil);
216                                 Break;
217                         end;
218                 end;
219         end;
220
221         for i := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
222                 flag := false;
223                 for j := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 0 do begin
224                         if GikoSys.Setting.BoardColumnOrder[ j ] = TGikoBoardColumnID( i ) then begin
225                                 flag := true;
226                                 Break;
227                         end;
228                 end;
229                 if not flag then
230                         BUnVisibledListBox.AddItem(GikoBoardColumnCaption[ i ], nil);
231
232         end;
233 end;
234 procedure TKuroutOption.CDeleteButtonClick(Sender: TObject);
235 var
236         i: Integer;
237 begin
238         for i := 0 to CVisibledListBox.Count - 1 do begin
239                 if CVisibledListBox.Selected[i] then begin
240                         CUnVisibledListBox.AddItem(     CVisibledListBox.Items.Strings[ i ], nil);
241                         CVisibledListBox.DeleteSelected;
242                         break;
243                 end;
244         end;
245 end;
246
247 procedure TKuroutOption.CAddButtonClick(Sender: TObject);
248 var
249         i: Integer;
250 begin
251         for i := 0 to CUnVisibledListBox.Count - 1 do begin
252                 if CUnVisibledListBox.Selected[i] then begin
253                         CVisibledListBox.AddItem(       CUnVisibledListBox.Items.Strings[ i ], nil);
254                         CUnVisibledListBox.DeleteSelected;
255                         break;
256                 end;
257         end;
258 end;
259
260 procedure TKuroutOption.BAddButtonClick(Sender: TObject);
261 var
262         i: Integer;
263 begin
264         for i := 0 to BUnVisibledListBox.Count - 1 do begin
265                 if BUnVisibledListBox.Selected[i] then begin
266                         BVisibledListBox.AddItem(       BUnVisibledListBox.Items.Strings[ i ], nil);
267                         BUnVisibledListBox.DeleteSelected;
268                         break;
269                 end;
270         end;
271 end;
272
273 procedure TKuroutOption.BDeleteButtonClick(Sender: TObject);
274 var
275         i: Integer;
276 begin
277         for i := 0 to BVisibledListBox.Count - 1 do begin
278                 if BVisibledListBox.Selected[i] then begin
279                         BUnVisibledListBox.AddItem(     BVisibledListBox.Items.Strings[ i ], nil);
280                         BVisibledListBox.DeleteSelected;
281                         break;
282                 end;
283         end;
284 end;
285
286 procedure TKuroutOption.CUpButtonClick(Sender: TObject);
287 var
288         i: Integer;
289 begin
290         for i := 1 to CVisibledListBox.Count - 1 do begin
291                 if CVisibledListBox.Selected[i] then begin
292                         CVisibledListBox.Items.Exchange(i, i -1);
293                         break;
294                 end;
295         end;
296 end;
297
298 procedure TKuroutOption.CDownButtonClick(Sender: TObject);
299 var
300         i: Integer;
301 begin
302         for i := 0 to CVisibledListBox.Count - 2 do begin
303                 if CVisibledListBox.Selected[i] then begin
304                         CVisibledListBox.Items.Exchange(i, i + 1);
305                         break;
306                 end;
307         end;
308 end;
309
310 procedure TKuroutOption.BUpButtonClick(Sender: TObject);
311 var
312         i: Integer;
313 begin
314         for i := 1 to BVisibledListBox.Count - 1 do begin
315                 if BVisibledListBox.Selected[i] then begin
316                         BVisibledListBox.Items.Exchange(i, i -1);
317                         break;
318                 end;
319         end;
320 end;
321
322 procedure TKuroutOption.BDownButtonClick(Sender: TObject);
323 var
324         i: Integer;
325 begin
326         for i := 0 to BVisibledListBox.Count - 2 do begin
327                 if BVisibledListBox.Selected[i] then begin
328                         BVisibledListBox.Items.Exchange(i, i + 1);
329                         break;
330                 end;
331         end;
332 end;
333
334
335 procedure TKuroutOption.PostColumnData();
336 var
337         i, j : Integer;
338 begin
339         GikoForm.ActiveListColumnSave;
340
341         //===== \94Â\83\8a\83X\83g =====
342         for i := GikoSys.Setting.CategoryColumnOrder.Count -1 downto 1 do
343                 GikoSys.Setting.CategoryColumnOrder.Delete(i);
344
345         for i := 0 to CVisibledListBox.Count - 1 do begin
346                 for j := 1 to Length( GikoCategoryColumnCaption ) - 1 do begin
347                         if CVisibledListBox.Items.Strings[ i ] = GikoCategoryColumnCaption[ j ] then begin
348                                 GikoSys.Setting.CategoryColumnOrder.Add(  TGikoCategoryColumnID(j) );
349                                 break;
350                         end;
351                 end;
352         end;
353
354         //===== \83X\83\8c\83\8a\83X\83g =====
355         for i := GikoSys.Setting.BoardColumnOrder.Count - 1 downto 1 do
356                 GikoSys.Setting.BoardColumnOrder.Delete(i);
357
358         for i := 0 to BVisibledListBox.Count - 1 do begin
359                 for j := 1 to Length( GikoBoardColumnCaption ) - 1 do begin
360                         if BVisibledListBox.Items.Strings[ i ] = GikoBoardColumnCaption[ j ] then begin
361                                 GikoSys.Setting.BoardColumnOrder.Add( TGikoBoardColumnID(j) );
362                                 Break;
363                         end;
364                 end;
365         end;
366         //\83X\83\8c\88ê\97\97\82Ì\95`\89æ\82Ì\8dX\90V
367         GikoForm.SetActiveList(GikoForm.ActiveList);
368 end;
369
370 end.