OSDN Git Service

詳細設定ダイアログを追加
[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     procedure OkBottonClick(Sender: TObject);
32     procedure ApplyButtonClick(Sender: TObject);
33     procedure FormCreate(Sender: TObject);
34   private
35     { Private \90é\8c¾ }
36     procedure SetValue;
37     procedure SaveSetting;
38     procedure RecvBufferSizeExit(Sender: TObject);
39     procedure PostTimeEditExit(Sender: TObject);
40     procedure PostTimeCheckBoxClick(Sender: TObject);
41   public
42     { Public \90é\8c¾ }
43   end;
44
45 var
46   KuroutOption: TKuroutOption;
47
48 implementation
49
50 {$R *.dfm}
51
52 procedure TKuroutOption.SetValue;
53 begin
54         //\8eó\90M\83o\83b\83t\83@\83T\83C\83Y
55         RecvBufferSize.Text := IntToStr(Gikosys.Setting.RecvBufferSize);
56         //HTTP1.1\8eg\97p
57         ProtocolCheckBox.Checked := GikoSys.Setting.Protocol;
58         //\83v\83\8d\83L\83V\90Ú\91±HTTP1.1\8eg\97p
59         ProxyProtocolCheckBox.Checked := Gikosys.Setting.ProxyProtocol;
60
61         //\8f\91\82«\8d\9e\82Ý\8e\9e\83}\83V\83\93\8e\9e\8aÔ\8eg\97p\90Ý\92è
62         PostTimeCheckBox.Checked := GikoSys.Setting.UseMachineTime;
63         PostTimeEdit.Text := IntToStr(GikoSys.Setting.TimeAdjustSec);
64         if GikoSys.Setting.TimeAdjust then
65                 PutPostTimeRadioButton.Checked := True
66         else
67                 BackPostTimeRadioButton.Checked := True;
68 end;
69
70 procedure TKuroutOption.SaveSetting;
71 begin
72         //\8eó\90M\83o\83b\83t\83@\83T\83C\83Y
73         Gikosys.Setting.RecvBufferSize := StrToInt(RecvBufferSize.Text);
74         //HTTP1.1\8eg\97p
75         GikoSys.Setting.Protocol := ProtocolCheckBox.Checked;
76         //\83v\83\8d\83L\83V\90Ú\91±HTTP1.1\8eg\97p
77         Gikosys.Setting.ProxyProtocol := ProxyProtocolCheckBox.Checked;
78         //\8f\91\82«\8d\9e\82Ý\8e\9e\83}\83V\83\93\8e\9e\8aÔ\8eg\97p\90Ý\92è
79         GikoSys.Setting.UseMachineTime := PostTimeCheckBox.Checked;
80         if GikoSys.IsNumeric(PostTimeEdit.Text) then
81                 GikoSys.Setting.TimeAdjustSec := StrToInt(PostTimeEdit.Text)
82         else
83                 GikoSys.Setting.TimeAdjustSec := 0;
84         GikoSys.Setting.TimeAdjust := PutPostTimeRadioButton.Checked;
85 end;
86
87 procedure TKuroutOption.RecvBufferSizeExit(Sender: TObject);
88 begin
89         if not GikoSys.IsNumeric(RecvBufferSize.Text) then
90                 RecvBufferSize.Text := '4096';
91         if StrToInt(RecvBufferSize.Text) < 256 then
92                 RecvBufferSize.Text := '4096';
93 end;
94
95 procedure TKuroutOption.PostTimeEditExit(Sender: TObject);
96 begin
97         if not GikoSys.IsNumeric(PostTimeEdit.Text) then
98                 PostTimeEdit.Text := '0';
99 end;
100
101 procedure TKuroutOption.PostTimeCheckBoxClick(Sender: TObject);
102 begin
103         PostTimeLabel.Enabled := PostTimeCheckBox.Checked;
104         PostTimeEdit.Enabled := PostTimeCheckBox.Checked;
105         PutPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
106         BackPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
107 end;
108
109 procedure TKuroutOption.OkBottonClick(Sender: TObject);
110 begin
111         RecvBufferSizeExit(Sender);
112         PostTimeEditExit(Sender);
113 end;
114
115 procedure TKuroutOption.ApplyButtonClick(Sender: TObject);
116 begin
117         RecvBufferSizeExit(Sender);
118         PostTimeEditExit(Sender);
119 end;
120
121 procedure TKuroutOption.FormCreate(Sender: TObject);
122 begin
123         PostTimeCheckBoxClick(Sender);
124 end;
125
126 end.