Develop and Download Open Source Software

Browse CVS Repository

Contents of /gikonavigoeson/gikonavi/Option.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download) (as text)
Sat Aug 9 14:22:51 2003 UTC (20 years, 8 months ago) by yoffy
Branch: MAIN
CVS Tags: c33_4
Changes since 1.1: +15 -5 lines
File MIME type: text/x-pascal
・Windows 95 でもお気に入りが使えるようになった。
・ツールバーを右クリックすることで表示/非表示が行えようになった。
・ツールバーから絞込検索ができるようになった。
・「ログ有りのスレッドのみを表示する」「新着スレッドの未表示する」の各ボタンと絞込み検索が And 検索になった。
・レスのプレビューでトリップが確認できるようになった。
・ギコナビは Delphi 6 Personal でビルドできるようになった。

1 unit Option;
2
3 interface
4
5 uses
6 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
7 ComCtrls, StdCtrls, ExtCtrls, Dialogs, FileCtrl, MMSystem,
8 GikoSystem, GikoUtil, Buttons, UrlMon, Menus, ImgList;
9
10 type
11 TOptionDialog = class(TForm)
12 OkBotton: TButton;
13 CancelBotton: TButton;
14 OptionTab: TPageControl;
15 ConnectSheet: TTabSheet;
16 Font1Sheet: TTabSheet;
17 ApplyButton: TButton;
18 FontDialog: TFontDialog;
19 ColorDialog: TColorDialog;
20 ReadProxyGroupBox: TGroupBox;
21 ReadAddressLabel: TLabel;
22 ReadPortLabel: TLabel;
23 ReadProxyCheck: TCheckBox;
24 ReadProxyAddressEdit: TEdit;
25 ReadPortEdit: TEdit;
26 ReadProxyUserIDEdit: TEdit;
27 ReadProxyPasswordEdit: TEdit;
28 ReadUserIDLabel: TLabel;
29 ReadPasswordLabel: TLabel;
30 FolderSheet: TTabSheet;
31 FolderGroupBox: TGroupBox;
32 LogFolderEdit: TEdit;
33 LogFolderButton: TButton;
34 Label1: TLabel;
35 Label2: TLabel;
36 ThreadSheet: TTabSheet;
37 SoundSheet: TTabSheet;
38 SoundEventGroupBox: TGroupBox;
39 SoundListView: TListView;
40 SoundReferButton: TButton;
41 SoundFileEdit: TEdit;
42 OpenDialog: TOpenDialog;
43 WriteProxyGroupBox: TGroupBox;
44 WriteAddressLabel: TLabel;
45 WritePortLabel: TLabel;
46 WriteUserIDLabel: TLabel;
47 WritePasswordLabel: TLabel;
48 WriteProxyCheck: TCheckBox;
49 WriteProxyAddressEdit: TEdit;
50 WritePortEdit: TEdit;
51 WriteProxyUserIDEdit: TEdit;
52 WriteProxyPasswordEdit: TEdit;
53 BoardSheet: TTabSheet;
54 GroupBox4: TGroupBox;
55 BoardURL2chEdit: TEdit;
56 Label13: TLabel;
57 UserIDSheet: TTabSheet;
58 GroupBox3: TGroupBox;
59 Label9: TLabel;
60 Label10: TLabel;
61 UserIDEdit: TEdit;
62 PasswordEdit: TEdit;
63 SoundPlayButton: TBitBtn;
64 AutoLoginCheckBox: TCheckBox;
65 Tora3URLLabel: TLabel;
66 Label12: TLabel;
67 Label5: TLabel;
68 GroupBox5: TGroupBox;
69 ComboBox1: TComboBox;
70 Label6: TLabel;
71 Label7: TLabel;
72 Label8: TLabel;
73 ComboBox2: TComboBox;
74 ComboBox3: TComboBox;
75 Label4: TLabel;
76 Edit1: TEdit;
77 Button1: TButton;
78 CabinetFontBotton: TButton;
79 CabinetColorBotton: TButton;
80 CabinetDefaultButton: TButton;
81 CabinetMemo: TMemo;
82 ListMemo: TMemo;
83 ListFontBotton: TButton;
84 ListColorBotton: TButton;
85 ListDefaultBotton: TButton;
86 HintFontButton: TButton;
87 HintBackButton: TButton;
88 HintDefaultButton: TButton;
89 HintMemo: TMemo;
90 EditorMemo: TMemo;
91 EditorFontBotton: TButton;
92 EditorColorBotton: TButton;
93 EditorDefaultBotton: TButton;
94 BrowserTabMemo: TMemo;
95 BruwserTabFontButton: TButton;
96 BrowserTabDefaultButton: TButton;
97 Bevel1: TBevel;
98 Bevel2: TBevel;
99 GroupBox1: TGroupBox;
100 GroupBox2: TGroupBox;
101 URLAppCheckBox: TCheckBox;
102 AppFolderLabel: TLabel;
103 AppFolderEdit: TEdit;
104 AppFolderButton: TButton;
105 OpenMailerCheckBox: TCheckBox;
106 TabSheet1: TTabSheet;
107 PopupPositionRadioGroup: TRadioGroup;
108 TabAddRadioGroup: TRadioGroup;
109 TabSheet2: TTabSheet;
110 GroupBox7: TGroupBox;
111 URLDisplayCheckBox: TCheckBox;
112 Label3: TLabel;
113 Label11: TLabel;
114 TabStopAddressBarCheckBox: TCheckBox;
115 AddressHistoryCountEdit: TEdit;
116 LinkAddCheckBox: TCheckBox;
117 GroupBox8: TGroupBox;
118 PreviewVisibleCheckBox: TCheckBox;
119 PreviewSizeComboBox: TComboBox;
120 Label14: TLabel;
121 Label15: TLabel;
122 PreviewWaitEdit: TEdit;
123 Label16: TLabel;
124 ShowMailCheckBox: TCheckBox;
125 TabSheet3: TTabSheet;
126 GroupBox9: TGroupBox;
127 ThreadListIconCheckBox: TCheckBox;
128 GroupBox6: TGroupBox;
129 LogDeleteMessageCheckBox: TCheckBox;
130 GroupBox10: TGroupBox;
131 UnActivePopupCheckBox: TCheckBox;
132 GroupBox11: TGroupBox;
133 RecvBufferSize: TEdit;
134 Label17: TLabel;
135 ProxyProtocolCheckBox: TCheckBox;
136 ProtocolCheckBox: TCheckBox;
137 Label18: TLabel;
138 Label19: TLabel;
139 Bevel5: TBevel;
140 Label20: TLabel;
141 Label21: TLabel;
142 Label22: TLabel;
143 Label23: TLabel;
144 TabSheet4: TTabSheet;
145 lblSFont: TLabel;
146 GroupBox12: TGroupBox;
147 CSSCheckBox: TCheckBox;
148 CSSListLabel: TLabel;
149 CSSListView: TListView;
150 GroupBox13: TGroupBox;
151 PostTimeCheckBox: TCheckBox;
152 Label24: TLabel;
153 Label25: TLabel;
154 PostTimeEdit: TEdit;
155 PostTimeLabel: TLabel;
156 Label27: TLabel;
157 PutPostTimeRadioButton: TRadioButton;
158 BackPostTimeRadioButton: TRadioButton;
159 ResPopupBoldCheckBox: TCheckBox;
160 procedure FormCreate(Sender: TObject);
161 procedure FormDestroy(Sender: TObject);
162 procedure ApplyButtonClick(Sender: TObject);
163 procedure CabinetFontBottonClick(Sender: TObject);
164 procedure CabinetColorBottonClick(Sender: TObject);
165 procedure EditorFontBottonClick(Sender: TObject);
166 procedure OkBottonClick(Sender: TObject);
167 procedure ReadProxyCheckClick(Sender: TObject);
168 procedure ListFontBottonClick(Sender: TObject);
169 procedure ListColorBottonClick(Sender: TObject);
170 procedure EditorColorBottonClick(Sender: TObject);
171 procedure CabinetDefaultButtonClick(Sender: TObject);
172 procedure ReadPortEditExit(Sender: TObject);
173 procedure ListDefaultBottonClick(Sender: TObject);
174 procedure EditorDefaultBottonClick(Sender: TObject);
175 procedure HintFontButtonClick(Sender: TObject);
176 procedure HintBackButtonClick(Sender: TObject);
177 procedure HintDefaultButtonClick(Sender: TObject);
178 procedure LogFolderButtonClick(Sender: TObject);
179 procedure FormClose(Sender: TObject; var Action: TCloseAction);
180 procedure SoundReferButtonClick(Sender: TObject);
181 procedure SoundPlayButtonClick(Sender: TObject);
182 procedure SoundListViewChanging(Sender: TObject; Item: TListItem;
183 Change: TItemChange; var AllowChange: Boolean);
184 procedure SoundFileEditChange(Sender: TObject);
185 procedure OptionTabChange(Sender: TObject);
186 procedure AppFolderButtonClick(Sender: TObject);
187 procedure WriteProxyCheckClick(Sender: TObject);
188 procedure WritePortEditExit(Sender: TObject);
189 procedure Tora3URLLabelClick(Sender: TObject);
190 procedure HotKeyEnter(Sender: TObject);
191 procedure HotKeyExit(Sender: TObject);
192 procedure URLAppCheckBoxClick(Sender: TObject);
193 procedure BruwserTabFontButtonClick(Sender: TObject);
194 procedure BrowserTabDefaultButtonClick(Sender: TObject);
195 procedure AddressHistoryCountEditExit(Sender: TObject);
196 procedure PreviewWaitEditExit(Sender: TObject);
197 procedure RecvBufferSizeExit(Sender: TObject);
198 procedure CSSCheckBoxClick(Sender: TObject);
199 procedure PostTimeEditExit(Sender: TObject);
200 procedure PostTimeCheckBoxClick(Sender: TObject);
201 private
202 { Private 鐃緒申鐃緒申 }
203 FClose: Boolean;
204 function GetMemoText(font: TFont; text: string): string;
205 // function GetFontText(Font: TFont; Text: string): string;
206 procedure SetValue;
207 procedure SaveSetting;
208 procedure SettingApply;
209 function CheckFolder: Boolean;
210 public
211 { Public 鐃緒申鐃緒申 }
212 end;
213
214 var
215 OptionDialog: TOptionDialog;
216
217 implementation
218
219 uses
220 Giko, Editor, Setting, ActnList;
221
222 const
223 FONT_TEXT: string = '%s %d pt';
224 MEMO_CABINET: string = '鐃?鐃緒申鐃?鐃?鐃?鐃?';
225 MEMO_THREAD: string = '鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?';
226 MEMO_BROWSERPOPUP: string = '鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?';
227 MEMO_BROWSERTAB: string = '鐃?鐃緒申鐃?鐃?鐃?鐃?';
228 MEMO_EDITOR: string = '鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?';
229 DEFAULT_FONT_NAME: string = '鐃?鐃? 鐃?鐃?鐃?鐃?鐃?';
230 DEFAULT_FONT_SIZE: Integer = 9;
231 DEFAULT_TABFONT_NAME: string = '鐃?鐃? 鐃?鐃?鐃?鐃?鐃?';
232 DEFAULT_TABFONT_SIZE: Integer = 9;
233 URL_TORA3: WideString = 'http://2ch.tora3.net/';
234
235 {$R *.DFM}
236
237 procedure TOptionDialog.FormCreate(Sender: TObject);
238 begin
239 FClose := True;
240
241 OptionTab.ActivePage := ConnectSheet;
242 SetValue;
243
244 CabinetMemo.Text := GetMemoText(CabinetMemo.Font, MEMO_CABINET);
245 ListMemo.Text := GetMemoText(ListMemo.Font, MEMO_THREAD);
246 HintMemo.Text := GetMemoText(HintMemo.Font, MEMO_BROWSERPOPUP);
247 BrowserTabMemo.Text := GetMemoText(BrowserTabMemo.Font, MEMO_BROWSERTAB);
248 EditorMemo.Text := GetMemoText(EditorMemo.Font, MEMO_EDITOR);
249
250 Tora3URLLabel.Cursor := 5;
251 lblSFont.Caption := '鐃緒申鐃?鐃?鐃緒申'#13#10#13#10
252 + '鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃?'#13#10
253 + '鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申';
254 CSSCheckBoxClick(Sender);
255 PostTimeCheckBoxClick(Sender);
256 end;
257
258 procedure TOptionDialog.FormDestroy(Sender: TObject);
259 begin
260 sndPlaySound(nil, SND_ASYNC);
261 end;
262
263 procedure TOptionDialog.OkBottonClick(Sender: TObject);
264 begin
265 FClose := True;
266 RecvBufferSizeExit(Sender);
267 ReadPortEditExit(Sender);
268 WritePortEditExit(Sender);
269 AddressHistoryCountEditExit(Sender);
270 PreviewWaitEditExit(Sender);
271 PostTimeEditExit(Sender);
272
273 if not CheckFolder then begin
274 FClose := False;
275 Exit;
276 end;
277 SaveSetting;
278 SettingApply;
279 end;
280
281 procedure TOptionDialog.ApplyButtonClick(Sender: TObject);
282 begin
283 RecvBufferSizeExit(Sender);
284 ReadPortEditExit(Sender);
285 WritePortEditExit(Sender);
286 AddressHistoryCountEditExit(Sender);
287 PreviewWaitEditExit(Sender);
288 PostTimeEditExit(Sender);
289
290 if not CheckFolder then begin
291 FClose := False;
292 Exit;
293 end;
294 SaveSetting;
295 SettingApply;
296 FClose := False;
297 end;
298
299 //function TOptionDialog.GetFontText(Font: TFont; Text: string): string;
300 //begin
301 // result := Format(Text, [Font.Name, Font.Size]);
302 //end;
303
304 function TOptionDialog.GetMemoText(font: TFont; text: string): string;
305 var
306 s: string;
307 begin
308 s := '';
309 if font <> nil then
310 s := Format(FONT_TEXT, [Font.Name, Font.Size]) + #13#10;
311 Result := s + text;
312 end;
313
314 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
315 procedure TOptionDialog.CabinetFontBottonClick(Sender: TObject);
316 begin
317 FontDialog.Options := [fdAnsiOnly, fdEffects];
318 FontDialog.Font.Assign(CabinetMemo.Font);
319 if FontDialog.Execute then begin
320 FontDialog.Font.Style := FontDialog.Font.Style - [fsUnderline] - [fsStrikeout];
321 CabinetMemo.Font.Assign(FontDialog.Font);
322 CabinetMemo.Text := GetMemoText(CabinetMemo.Font, MEMO_CABINET);
323 CabinetMemo.Font.Charset := SHIFTJIS_CHARSET;
324 end;
325 end;
326
327 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申
328 procedure TOptionDialog.CabinetColorBottonClick(Sender: TObject);
329 begin
330 ColorDialog.Color := CabinetMemo.Color;
331 if ColorDialog.Execute then begin
332 CabinetMemo.Color := ColorDialog.Color;
333 end;
334 end;
335
336 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
337 procedure TOptionDialog.CabinetDefaultButtonClick(Sender: TObject);
338 begin
339 CabinetMemo.Font.Name := DEFAULT_FONT_NAME;
340 CabinetMemo.Font.Size := DEFAULT_FONT_SIZE;
341 CabinetMemo.Font.Color := clWindowText;
342 CabinetMemo.Font.Style := [];
343 CabinetMemo.Color := clWindow;
344 CabinetMemo.Text := GetMemoText(CabinetMemo.Font, MEMO_CABINET);
345 end;
346
347 //鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
348 procedure TOptionDialog.ListFontBottonClick(Sender: TObject);
349 begin
350 FontDialog.Options := [fdAnsiOnly, fdEffects];
351 FontDialog.Font.Assign(ListMemo.Font);
352 if FontDialog.Execute then begin
353 ListMemo.Font.Assign(FontDialog.Font);
354 ListMemo.Text := GetMemoText(ListMemo.Font, MEMO_THREAD);
355 ListMemo.Font.Charset := SHIFTJIS_CHARSET;
356 end;
357 end;
358
359 //鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申
360 procedure TOptionDialog.ListColorBottonClick(Sender: TObject);
361 begin
362 ColorDialog.Color := ListMemo.Color;
363 if ColorDialog.Execute then begin
364 ListMemo.Color := ColorDialog.Color;
365 end;
366 end;
367
368 //鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
369 procedure TOptionDialog.ListDefaultBottonClick(Sender: TObject);
370 begin
371 ListMemo.Font.Name := DEFAULT_FONT_NAME;
372 ListMemo.Font.Size := DEFAULT_FONT_SIZE;
373 ListMemo.Font.Color := clWindowText;
374 ListMemo.Font.Style := [];
375 ListMemo.Color := clWindow;
376 ListMemo.Text := GetMemoText(ListMemo.Font, MEMO_THREAD);
377 end;
378
379 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
380 procedure TOptionDialog.HintFontButtonClick(Sender: TObject);
381 begin
382 FontDialog.Options := [fdAnsiOnly, fdEffects];
383 FontDialog.Font.Assign(HintMemo.Font);
384 if FontDialog.Execute then begin
385 HintMemo.Font.Assign(FontDialog.Font);
386 HintMemo.Text := GetMemoText(HintMemo.Font, MEMO_BROWSERPOPUP);
387 HintMemo.Font.Charset := SHIFTJIS_CHARSET;
388 end;
389 end;
390
391 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申
392 procedure TOptionDialog.HintBackButtonClick(Sender: TObject);
393 begin
394 ColorDialog.Color := HintMemo.Color;
395 if ColorDialog.Execute then begin
396 HintMemo.Color := ColorDialog.Color;
397 end;
398 end;
399
400 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
401 procedure TOptionDialog.HintDefaultButtonClick(Sender: TObject);
402 begin
403 HintMemo.Font.Name := DEFAULT_FONT_NAME;
404 HintMemo.Font.Size := DEFAULT_FONT_SIZE;
405 HintMemo.Font.Color := clWindowText;
406 HintMemo.Font.Style := [];
407 HintMemo.Color := clInfoBk;
408 HintMemo.Text := GetMemoText(HintMemo.Font, MEMO_BROWSERPOPUP);
409 end;
410
411 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
412 procedure TOptionDialog.BruwserTabFontButtonClick(Sender: TObject);
413 begin
414 FontDialog.Options := [fdAnsiOnly];
415 FontDialog.Font.Assign(BrowserTabMemo.Font);
416 if FontDialog.Execute then begin
417 BrowserTabMemo.Font.Assign(FontDialog.Font);
418 BrowserTabMemo.Text := GetMemoText(FontDialog.Font, MEMO_BROWSERTAB);
419 BrowserTabMemo.Font.Charset := SHIFTJIS_CHARSET;
420 end;
421 end;
422
423 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
424 procedure TOptionDialog.BrowserTabDefaultButtonClick(Sender: TObject);
425 begin
426 BrowserTabMemo.Font.Name := DEFAULT_TABFONT_NAME;
427 BrowserTabMemo.Font.Size := DEFAULT_TABFONT_SIZE;
428 BrowserTabMemo.Font.Color := clWindowText;
429 BrowserTabMemo.Font.Style := [];
430 BrowserTabMemo.Color := clBtnFace;
431 BrowserTabMemo.Text := GetMemoText(BrowserTabMemo.Font, MEMO_BROWSERTAB);
432 end;
433
434 //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
435 procedure TOptionDialog.EditorFontBottonClick(Sender: TObject);
436 begin
437 FontDialog.Options := [fdAnsiOnly, fdEffects];
438 FontDialog.Font.Assign(EditorMemo.Font);
439 if FontDialog.Execute then begin
440 EditorMemo.Font.Assign(FontDialog.Font);
441 EditorMemo.Text := GetMemoText(EditorMemo.Font, MEMO_EDITOR);
442 EditorMemo.Font.Charset := SHIFTJIS_CHARSET;
443 end;
444 end;
445
446 //鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申
447 procedure TOptionDialog.EditorColorBottonClick(Sender: TObject);
448 begin
449 ColorDialog.Color := EditorMemo.Font.Color;
450 if ColorDialog.Execute then begin
451 EditorMemo.Color := ColorDialog.Color;
452 end;
453 end;
454
455 //鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
456 procedure TOptionDialog.EditorDefaultBottonClick(Sender: TObject);
457 begin
458 EditorMemo.Font.Name := DEFAULT_FONT_NAME;
459 EditorMemo.Font.Size := DEFAULT_FONT_SIZE;
460 EditorMemo.Font.Color := clWindowText;
461 EditorMemo.Font.Style := [];
462 EditorMemo.Color := clWindow;
463 EditorMemo.Text := GetMemoText(EditorMemo.Font, MEMO_EDITOR);
464 end;
465
466 procedure TOptionDialog.SetValue;
467 var
468 i: Integer;
469 Item: TListItem;
470 s: string;
471 idx: Integer;
472 FileList: TStringList;
473 begin
474 //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?
475 RecvBufferSize.Text := IntToStr(Gikosys.Setting.RecvBufferSize);
476 //HTTP1.1鐃?鐃?
477 ProtocolCheckBox.Checked := GikoSys.Setting.Protocol;
478 //鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申HTTP1.1鐃?鐃?
479 ProxyProtocolCheckBox.Checked := Gikosys.Setting.ProxyProtocol;
480
481 //鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?鐃?
482 ReadProxyCheck.Checked := GikoSys.Setting.ReadProxy;
483 ReadProxyCheckClick(nil);
484 ReadProxyAddressEdit.Text := GikoSys.Setting.ReadProxyAddress;
485 ReadPortEdit.Text := IntToStr(GikoSys.Setting.ReadProxyPort);
486 ReadProxyUserIDEdit.Text := GikoSys.Setting.ReadProxyUserID;
487 ReadProxyPasswordEdit.Text := GikoSys.Setting.ReadProxyPassword;
488 //鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?鐃?
489 WriteProxyCheck.Checked := GikoSys.Setting.WriteProxy;
490 WriteProxyCheckClick(nil);
491 WriteProxyAddressEdit.Text := GikoSys.Setting.WriteProxyAddress;
492 WritePortEdit.Text := IntToStr(GikoSys.Setting.WriteProxyPort);
493 WriteProxyUserIDEdit.Text := GikoSys.Setting.WriteProxyUserID;
494 WriteProxyPasswordEdit.Text := GikoSys.Setting.WriteProxyPassword;
495 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?
496 CabinetMemo.Font.Name := GikoSys.Setting.CabinetFontName;
497 CabinetMemo.Font.Size := GikoSys.Setting.CabinetFontSize;
498 CabinetMemo.Font.Color := GikoSys.Setting.CabinetFontColor;
499 CabinetMemo.Color := GikoSys.Setting.CabinetBackColor;
500 //鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃?
501 ListMemo.Font.Name := GikoSys.Setting.ListFontName;
502 ListMemo.Font.Size := GikoSys.Setting.ListFontSize;
503 ListMemo.Font.Color := GikoSys.Setting.ListFontColor;
504 ListMemo.Color := GikoSys.Setting.ListBackColor;
505 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?
506 HintMemo.Font.Name := GikoSys.Setting.HintFontName;
507 HintMemo.Font.Size := GikoSys.Setting.HintFontSize;
508 HintMemo.Font.Color := GikoSys.Setting.HintFontColor;
509 HintMemo.Color := GikoSys.Setting.HintBackColor;
510 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?
511 BrowserTabMemo.Font.Name := GikoSys.Setting.BrowserTabFontName;
512 BrowserTabMemo.Font.Size := GikoSys.Setting.BrowserTabFontSize;
513 BrowserTabMemo.Font.Style := [];
514 if GikoSys.Setting.BrowserTabFontBold then
515 BrowserTabMemo.Font.Style := BrowserTabMemo.Font.Style + [fsBold];
516 if GikoSys.Setting.BrowserTabFontItalic then
517 BrowserTabMemo.Font.Style := BrowserTabMemo.Font.Style + [fsItalic];
518 //鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?
519 EditorMemo.Font.Name := GikoSys.Setting.EditorFontName;
520 EditorMemo.Font.Size := GikoSys.Setting.EditorFontSize;
521 EditorMemo.Font.Color := GikoSys.Setting.EditorFontColor;
522 EditorMemo.Color := GikoSys.Setting.EditorBackColor;
523 //CSS鐃?鐃緒申
524 CSSCheckBox.Checked := GikoSys.Setting.UseCSS;
525 //
526 //鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申
527 FileList := TStringList.Create;
528 try
529 GikoSys.GetFileList(GikoSys.GetStyleSheetDir, '*.css', FileList, True, True);
530
531 Idx := Length(GikoSys.GetStyleSheetDir);
532 for i := 0 to FileList.Count - 1 do
533 FileList[i] := Copy(FileList[i], Idx + 1, Length(FileList[i]));
534 FileList.Sort;
535 for i := 0 to FileList.Count - 1 do begin
536 //s := ExtractFileName(FileList[i]);
537 if LowerCase(FileList[i]) = 'default.css' then
538 Item := CSSListView.Items.Insert(0)
539 else
540 Item := CSSListView.Items.Add;
541 Item.Caption := ChangeFileExt(FileList[i], '');
542 if LowerCase(FileList[i]) = LowerCase(GikoSys.Setting.CSSFileName) then
543 Item.Selected := True;
544 end;
545 finally
546 FileList.Free;
547 end;
548 if (CSSListView.ItemIndex = -1) and (CSSListView.Items.Count > 0) then
549 CSSListView.Items[0].Selected := True;
550
551 //Mail鐃緒申鐃?鐃緒申
552 ShowMailCheckBox.Checked := GikoSys.Setting.ShowMail;
553 //鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?
554 TabAddRadioGroup.ItemIndex := Ord(GikoSys.Setting.BrowserTabAppend);
555 //鐃緒申鐃?鐃?URL
556 BoardURL2chEdit.Text := GikoSys.Setting.BoardURL2ch;
557 //鐃?鐃緒申
558 UserIDEdit.Text := GikoSys.Setting.UserID;
559 PasswordEdit.Text := GikoSys.Setting.Password;
560 AutoLoginCheckBox.Checked := GikoSys.Setting.AutoLogin;
561 //鐃緒申鐃?鐃?鐃?鐃緒申鐃?
562 if GikoSys.Setting.NewLogFolder = '' then
563 LogFolderEdit.Text := GikoSys.Setting.LogFolder
564 else
565 LogFolderEdit.Text := GikoSys.Setting.NewLogFolder;
566 //鐃?鐃?鐃緒申鐃?
567 for i := 0 to GikoSys.Setting.GetSoundCount - 1 do begin
568 Item := SoundListView.Items.Add;
569 Item.Caption := GikoSys.Setting.SoundViewName[i];
570 if FileExists(GikoSys.Setting.SoundFileName[i]) then
571 Item.SubItems.Add(GikoSys.Setting.SoundFileName[i])
572 else
573 Item.SubItems.Add('');
574 end;
575 //URL鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申
576 URLAppCheckBox.Checked := GikoSys.Setting.URLApp;
577 URLAppCheckBoxClick(nil);
578 AppFolderEdit.Text := GikoSys.Setting.URLAppFile;
579
580 //mailto鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申
581 OpenMailerCheckBox.Checked := GikoSys.Setting.OpenMailer;
582
583 //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?
584 LogDeleteMessageCheckBox.Checked := GikoSys.Setting.DeleteMsg;
585
586 //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?
587 case GikoSys.Setting.PopupPosition of
588 gppRightTop: PopupPositionRadioGroup.ItemIndex := 0;
589 gppRight: PopupPositionRadioGroup.ItemIndex := 1;
590 gppRightBottom: PopupPositionRadioGroup.ItemIndex := 2;
591 gppTop: PopupPositionRadioGroup.ItemIndex := 3;
592 gppCenter: PopupPositionRadioGroup.ItemIndex := 4;
593 gppBottom: PopupPositionRadioGroup.ItemIndex := 5;
594 gppLeftTop: PopupPositionRadioGroup.ItemIndex := 6;
595 gppLeft: PopupPositionRadioGroup.ItemIndex := 7;
596 gppLeftBottom: PopupPositionRadioGroup.ItemIndex := 8;
597 end;
598
599 //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申
600 UnActivePopupCheckBox.Checked := GikoSys.Setting.UnActivePopup;
601 //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申
602 ResPopupBoldCheckBox.Checked := GikoSys.Setting.ResPopupHeaderBold;
603
604 //鐃?鐃?鐃緒申鐃?鐃?鐃?
605 URLDisplayCheckBox.Checked := GikoSys.Setting.URLDisplay;
606 TabStopAddressBarCheckBox.Checked := GikoSys.Setting.AddressBarTabStop;
607 LinkAddCheckBox.Checked := GikoSys.Setting.LinkAddAddressBar;
608 AddressHistoryCountEdit.Text := IntToStr(GikoSys.Setting.AddressHistoryCount);
609
610 //HTML鐃?鐃緒申鐃?鐃緒申鐃?
611 PreviewVisibleCheckBox.Checked := GikoSys.Setting.PreviewVisible;
612 PreviewWaitEdit.Text := IntToStr(GikoSys.Setting.PreviewWait);
613 PreviewSizeComboBox.ItemIndex := 2;
614 case GikoSys.Setting.PreviewSize of
615 gpsXLarge: PreviewSizeComboBox.ItemIndex := 4;
616 gpsLarge: PreviewSizeComboBox.ItemIndex := 3;
617 gpsMedium: PreviewSizeComboBox.ItemIndex := 2;
618 gpsSmall: PreviewSizeComboBox.ItemIndex := 1;
619 gpsXSmall: PreviewSizeComboBox.ItemIndex := 0;
620 end;
621
622 //鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
623 ThreadListIconCheckBox.Checked := GikoSys.Setting.ListIconVisible;
624
625 //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申
626 PostTimeCheckBox.Checked := GikoSys.Setting.UseMachineTime;
627 PostTimeEdit.Text := IntToStr(GikoSys.Setting.TimeAdjustSec);
628 if GikoSys.Setting.TimeAdjust then
629 PutPostTimeRadioButton.Checked := True
630 else
631 BackPostTimeRadioButton.Checked := True;
632 end;
633
634 procedure TOptionDialog.SaveSetting;
635 var
636 i: Integer;
637 // Item: TListItem;
638 begin
639 //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?
640 Gikosys.Setting.RecvBufferSize := StrToInt(RecvBufferSize.Text);
641 //HTTP1.1鐃?鐃?
642 GikoSys.Setting.Protocol := ProtocolCheckBox.Checked;
643 //鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申HTTP1.1鐃?鐃?
644 Gikosys.Setting.ProxyProtocol := ProxyProtocolCheckBox.Checked;
645
646 GikoSys.Setting.ReadProxy := ReadProxyCheck.Checked;
647 GikoSys.Setting.ReadProxyAddress := ReadProxyAddressEdit.Text;
648 GikoSys.Setting.ReadProxyPort := StrToInt(ReadPortEdit.Text);
649 GikoSys.Setting.ReadProxyUserID := ReadProxyUserIDEdit.Text;
650 GikoSys.Setting.ReadProxyPassword := ReadProxyPasswordEdit.Text;
651
652 GikoSys.Setting.WriteProxy := WriteProxyCheck.Checked;
653 GikoSys.Setting.WriteProxyAddress := WriteProxyAddressEdit.Text;
654 GikoSys.Setting.WriteProxyPort := StrToInt(WritePortEdit.Text);
655 GikoSys.Setting.WriteProxyUserID := WriteProxyUserIDEdit.Text;
656 GikoSys.Setting.WriteProxyPassword := WriteProxyPasswordEdit.Text;
657
658 GikoSys.Setting.CabinetFontName := CabinetMemo.Font.Name;
659 GikoSys.Setting.CabinetFontSize := CabinetMemo.Font.Size;
660 GikoSys.Setting.CabinetFontColor := CabinetMemo.Font.Color;
661 GikoSys.Setting.CabinetBackColor := CabinetMemo.Color;
662
663 GikoSys.Setting.ListFontName := ListMemo.Font.Name;
664 GikoSys.Setting.ListFontSize := ListMemo.Font.Size;
665 GikoSys.Setting.ListFontColor := ListMemo.Font.Color;
666 GikoSys.Setting.ListBackColor := ListMemo.Color;
667
668 GikoSys.Setting.HintFontName := HintMemo.Font.Name;
669 GikoSys.Setting.HintFontSize := HintMemo.Font.Size;
670 GikoSys.Setting.HintFontColor := HintMemo.Font.Color;
671 GikoSys.Setting.HintBackColor := HintMemo.Color;
672
673 GikoSys.Setting.BrowserTabFontName := BrowserTabMemo.Font.Name;
674 GikoSys.Setting.BrowserTabFontSize := BrowserTabMemo.Font.Size;
675
676 GikoSys.Setting.EditorFontName := EditorMemo.Font.Name;
677 GikoSys.Setting.EditorFontSize := EditorMemo.Font.Size;
678 GikoSys.Setting.EditorFontColor := EditorMemo.Font.Color;
679 GikoSys.Setting.EditorBackColor := EditorMemo.Color;
680 //CSS鐃?鐃緒申
681 GikoSys.Setting.UseCSS := CSSCheckBox.Checked;
682 //CSS鐃?鐃?鐃?鐃緒申鐃緒申
683 GikoSys.Setting.CSSFileName := 'default.css';
684 if CSSListView.Items.Count > 0 then begin
685 try
686 GikoSys.Setting.CSSFileName := CSSListView.Items[CSSListView.ItemIndex].Caption + '.css'
687 except
688 end;
689 end;
690
691 //Mail鐃緒申鐃?鐃緒申
692 GikoSys.Setting.ShowMail := ShowMailCheckBox.Checked;
693
694 GikoSys.Setting.BrowserTabAppend := TGikoTabAppend(TabAddRadioGroup.ItemIndex);
695
696 GikoSys.Setting.BoardURL2ch := BoardURL2chEdit.Text;
697
698 GikoSys.Setting.UserID := UserIDEdit.Text;
699 GikoSys.Setting.Password := PasswordEdit.Text;
700 GikoSys.Setting.AutoLogin := AutoLoginCheckBox.Checked;
701
702 GikoSys.Setting.URLApp := URLAppCheckBox.Checked;
703 GikoSys.Setting.URLAppFile := AppFolderEdit.Text;
704
705 GikoSys.Setting.OpenMailer := OpenMailerCheckBox.Checked;
706 GikoSys.Setting.DeleteMsg := LogDeleteMessageCheckBox.Checked;
707
708 //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?
709 case PopupPositionRadioGroup.ItemIndex of
710 0: GikoSys.Setting.PopupPosition := gppRightTop;
711 1: GikoSys.Setting.PopupPosition := gppRight;
712 2: GikoSys.Setting.PopupPosition := gppRightBottom;
713 3: GikoSys.Setting.PopupPosition := gppTop;
714 4: GikoSys.Setting.PopupPosition := gppCenter;
715 5: GikoSys.Setting.PopupPosition := gppBottom;
716 6: GikoSys.Setting.PopupPosition := gppLeftTop;
717 7: GikoSys.Setting.PopupPosition := gppLeft;
718 8: GikoSys.Setting.PopupPosition := gppLeftBottom;
719 end;
720
721 //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申
722 GikoSys.Setting.UnActivePopup := UnActivePopupCheckBox.Checked;
723 //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申
724 GikoSys.Setting.ResPopupHeaderBold := ResPopupBoldCheckBox.Checked;
725
726 //鐃?鐃?鐃緒申鐃?鐃?鐃?
727 GikoSys.Setting.URLDisplay := URLDisplayCheckBox.Checked;
728 GikoSys.Setting.AddressBarTabStop := TabStopAddressBarCheckBox.Checked;
729 GikoSys.Setting.LinkAddAddressBar := LinkAddCheckBox.Checked;
730 if GikoSys.IsNumeric(AddressHistoryCountEdit.Text) then
731 GikoSys.Setting.AddressHistoryCount := StrToInt(AddressHistoryCountEdit.Text)
732 else
733 GikoSys.Setting.AddressHistoryCount := 100;
734
735 //HTML鐃?鐃緒申鐃?鐃緒申鐃?
736 GikoSys.Setting.PreviewVisible := PreviewVisibleCheckBox.Checked;
737 if GikoSys.IsNumeric(PreviewWaitEdit.Text) then
738 GikoSys.Setting.PreviewWait := StrToInt(PreviewWaitEdit.Text)
739 else
740 GikoSys.Setting.PreviewWait := 500;
741 case PreviewSizeComboBox.ItemIndex of
742 0: GikoSys.Setting.PreviewSize := gpsXSmall;
743 1: GikoSys.Setting.PreviewSize := gpsSmall;
744 2: GikoSys.Setting.PreviewSize := gpsMedium;
745 3: GikoSys.Setting.PreviewSize := gpsLarge;
746 4: GikoSys.Setting.PreviewSize := gpsXLarge;
747 end;
748
749 //鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
750 GikoSys.Setting.ListIconVisible := ThreadListIconCheckBox.Checked;
751
752 //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申
753 GikoSys.Setting.UseMachineTime := PostTimeCheckBox.Checked;
754 if GikoSys.IsNumeric(PostTimeEdit.Text) then
755 GikoSys.Setting.TimeAdjustSec := StrToInt(PostTimeEdit.Text)
756 else
757 GikoSys.Setting.TimeAdjustSec := 0;
758 GikoSys.Setting.TimeAdjust := PutPostTimeRadioButton.Checked;
759
760
761 GikoSys.Setting.WriteSystemSettingFile;
762 // GikoForm.SetBrowserTabState;
763
764 if LogFolderEdit.Text <> '' then begin
765 GikoSys.Setting.NewLogFolder := LogFolderEdit.Text;
766 GikoSys.Setting.WriteFolderSettingFile;
767 end;
768
769 for i := 0 to SoundListView.Items.Count - 1 do begin
770 if FileExists(SoundListView.Items[i].SubItems[0]) then
771 GikoSys.Setting.SoundFileName[i] := SoundListView.Items[i].SubItems[0]
772 else
773 GikoSys.Setting.SoundFileName[i] := '';
774 end;
775 end;
776
777 procedure TOptionDialog.SettingApply;
778 var
779 i: Integer;
780 begin
781 GikoForm.TreeView.Items.BeginUpdate;
782 GikoForm.ListView.Items.BeginUpdate;
783 try
784 GikoForm.TreeView.Font.Name := GikoSys.Setting.CabinetFontName;
785 GikoForm.TreeView.Font.Size := GikoSys.Setting.CabinetFontSize;
786 GikoForm.TreeView.Font.Color := GikoSys.Setting.CabinetFontColor;
787 GikoForm.TreeView.Color := GikoSys.Setting.CabinetBackColor;
788
789 GikoForm.ListView.Font.Name := GikoSys.Setting.ListFontName;
790 GikoForm.ListView.Font.Size := GikoSys.Setting.ListFontSize;
791 GikoForm.ListView.Font.Color := GikoSys.Setting.ListFontColor;
792 GikoForm.ListView.Color := GikoSys.Setting.ListBackColor;
793
794 GikoForm.BrowserTab.Font.Name := GikoSys.Setting.BrowserTabFontName;
795 GikoForm.BrowserTab.Font.Size := GikoSys.Setting.BrowserTabFontSize;
796 // GikoForm.BrowserTab.Height := (GikoSys.Setting.BrowserTabFontSize * 2) + 1;
797 // GikoForm.BrowserBottomPanel.Height := GikoForm.BrowserTab.Height;
798
799 for i := 0 to Screen.CustomFormCount - 1 do begin
800 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
801 TEditorForm(Screen.CustomForms[i]).SetFont;
802 end;
803 end;
804
805 finally
806 GikoForm.TreeView.Items.EndUpdate;
807 GikoForm.ListView.Items.EndUpdate;
808 end;
809
810 //鐃?鐃?鐃緒申鐃?鐃?鐃?
811 for i := GikoForm.AddressComboBox.Items.Count - 1 downto 0 do begin
812 if GikoSys.Setting.AddressHistoryCount >= GikoForm.AddressComboBox.Items.Count then
813 Break;
814 GikoForm.AddressComboBox.Items.Delete(i);
815 end;
816 GikoForm.AddressComboBox.TabStop := GikoSys.Setting.AddressBarTabStop;
817 end;
818
819 procedure TOptionDialog.ReadProxyCheckClick(Sender: TObject);
820 begin
821 ReadProxyAddressEdit.Enabled := ReadProxyCheck.Checked;
822 ReadPortEdit.Enabled := ReadProxyCheck.Checked;
823 ReadProxyUserIDEdit.Enabled := ReadProxyCheck.Checked;
824 ReadProxyPasswordEdit.Enabled := ReadProxyCheck.Checked;
825
826 ReadAddressLabel.Enabled := ReadProxyCheck.Checked;
827 ReadPortLabel.Enabled := ReadProxyCheck.Checked;
828 ReadUserIDLabel.Enabled := ReadProxyCheck.Checked;
829 ReadPasswordLabel.Enabled := ReadProxyCheck.Checked;
830 end;
831
832 procedure TOptionDialog.ReadPortEditExit(Sender: TObject);
833 begin
834 if not GikoSys.IsNumeric(ReadPortEdit.Text) then
835 ReadPortEdit.Text := '0';
836 end;
837
838 procedure TOptionDialog.LogFolderButtonClick(Sender: TObject);
839 var
840 Root: WideString;
841 Dir: string;
842 begin
843 Root := '';
844 if SelectDirectory('鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申', Root, Dir) then begin
845 LogFolderEdit.Text := Dir;
846 end;
847 end;
848
849 function TOptionDialog.CheckFolder: Boolean;
850 begin
851 if Trim(LogFolderEdit.Text) = '' then
852 LogFolderEdit.Text := ExtractFilePath(Application.ExeName) + 'Log';
853
854 if DirectoryExists(LogFolderEdit.Text) then begin
855 Result := True;
856 end else begin
857 if MsgBox(Handle, '鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?', '鐃?鐃?鐃?鐃?', MB_YESNO or MB_ICONQUESTION) = IDYES then begin
858 //鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申
859 try
860 GikoSys.ForceDirectoriesEx(LogFolderEdit.Text);
861 Result := True
862 except
863 MsgBox(Handle, '鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?', '鐃?鐃緒申鐃?', MB_OK or MB_ICONSTOP);
864 OptionTab.ActivePage := FolderSheet;
865 LogFolderEdit.SetFocus;
866 Result := False;
867 end;
868 end else
869 Result := False;
870 end;
871 end;
872
873 procedure TOptionDialog.FormClose(Sender: TObject; var Action: TCloseAction);
874 begin
875 if not FClose then
876 Action := caNone;
877 FClose := True;
878 end;
879
880 procedure TOptionDialog.SoundReferButtonClick(Sender: TObject);
881 begin
882 OpenDialog.Filter := '鐃?鐃?鐃緒申鐃? (*.wav)|*.wav|鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申 (*.*)|*.*';
883 sndPlaySound(nil, SND_ASYNC);
884 if OpenDialog.Execute then begin
885 SoundFileEdit.Text := OpenDialog.FileName;
886 end;
887 end;
888
889 procedure TOptionDialog.SoundPlayButtonClick(Sender: TObject);
890 begin
891 if not FileExists(SoundFileEdit.Text) then begin
892 MsgBox(Handle, '鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申', '鐃?鐃緒申鐃?', MB_ICONSTOP or MB_OK);
893 SoundFileEdit.Text := '';
894 Exit;
895 end;
896 if not sndPlaySound(PChar(SoundFileEdit.Text), SND_ASYNC or SND_NOSTOP) then begin
897 sndPlaySound(nil, SND_ASYNC);
898 end;
899 end;
900
901 procedure TOptionDialog.SoundListViewChanging(Sender: TObject;
902 Item: TListItem; Change: TItemChange; var AllowChange: Boolean);
903 begin
904 if Item.SubItems.Count > 0 then
905 SoundFileEdit.Text := Item.SubItems[0];
906 end;
907
908 procedure TOptionDialog.SoundFileEditChange(Sender: TObject);
909 var
910 Item: TListItem;
911 begin
912 sndPlaySound(nil, SND_ASYNC);
913 Item := SoundListView.Selected;
914 if Item = nil then Exit;
915
916 if FileExists(SoundFileEdit.Text) then
917 Item.SubItems[0] := SoundFileEdit.Text;
918 if Trim(SoundFileEdit.Text) = '' then
919 Item.SubItems[0] := '';
920 end;
921
922 procedure TOptionDialog.OptionTabChange(Sender: TObject);
923 begin
924 sndPlaySound(nil, SND_ASYNC);
925 end;
926
927 procedure TOptionDialog.AppFolderButtonClick(Sender: TObject);
928 begin
929 OpenDialog.Filter := '鐃緒申鐃?鐃?鐃?鐃?鐃緒申 (*.exe)|*.exe|鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申 (*.*)|*.*';
930 if OpenDialog.Execute then
931 AppFolderEdit.Text := OpenDialog.FileName;
932 end;
933
934 procedure TOptionDialog.WriteProxyCheckClick(Sender: TObject);
935 begin
936 WriteProxyAddressEdit.Enabled := WriteProxyCheck.Checked;
937 WritePortEdit.Enabled := WriteProxyCheck.Checked;
938 WriteProxyUserIDEdit.Enabled := WriteProxyCheck.Checked;
939 WriteProxyPasswordEdit.Enabled := WriteProxyCheck.Checked;
940
941 WriteAddressLabel.Enabled := WriteProxyCheck.Checked;
942 WritePortLabel.Enabled := WriteProxyCheck.Checked;
943 WriteUserIDLabel.Enabled := WriteProxyCheck.Checked;
944 WritePasswordLabel.Enabled := WriteProxyCheck.Checked;
945 end;
946
947 procedure TOptionDialog.WritePortEditExit(Sender: TObject);
948 begin
949 if not GikoSys.IsNumeric(WritePortEdit.Text) then
950 WritePortEdit.Text := '0';
951 end;
952
953 procedure TOptionDialog.Tora3URLLabelClick(Sender: TObject);
954 begin
955 GikoSys.OpenBrowser(URL_TORA3, gbtAuto);
956 end;
957
958 procedure TOptionDialog.HotKeyEnter(Sender: TObject);
959 begin
960 OkBotton.Default := False;
961 CancelBotton.Cancel := False;
962 end;
963
964 procedure TOptionDialog.HotKeyExit(Sender: TObject);
965 begin
966 OkBotton.Default := True;
967 CancelBotton.Cancel := True;
968 end;
969
970 procedure TOptionDialog.URLAppCheckBoxClick(Sender: TObject);
971 begin
972 AppFolderLabel.Enabled := URLAppCheckBox.Checked;
973 AppFolderEdit.Enabled := URLAppCheckBox.Checked;
974 AppFolderButton.Enabled := URLAppCheckBox.Checked;
975 end;
976
977 procedure TOptionDialog.AddressHistoryCountEditExit(Sender: TObject);
978 begin
979 if not GikoSys.IsNumeric(AddressHistoryCountEdit.Text) then
980 AddressHistoryCountEdit.Text := '100';
981 end;
982
983 procedure TOptionDialog.PreviewWaitEditExit(Sender: TObject);
984 begin
985 if not GikoSys.IsNumeric(PreviewWaitEdit.Text) then
986 PreviewWaitEdit.Text := '500';
987 if StrToInt(PreviewWaitEdit.Text) < 500 then
988 PreviewWaitEdit.Text := '500';
989 if StrToInt(PreviewWaitEdit.Text) > 9999 then
990 PreviewWaitEdit.Text := '9999';
991 end;
992
993 procedure TOptionDialog.RecvBufferSizeExit(Sender: TObject);
994 begin
995 if not GikoSys.IsNumeric(RecvBufferSize.Text) then
996 RecvBufferSize.Text := '4096';
997 if StrToInt(RecvBufferSize.Text) < 256 then
998 RecvBufferSize.Text := '4096';
999 end;
1000
1001 procedure TOptionDialog.CSSCheckBoxClick(Sender: TObject);
1002 begin
1003 CSSListLabel.Enabled := CSSCheckBox.Checked;
1004 CSSListView.Enabled := CSSCheckBox.Checked;
1005 end;
1006
1007 procedure TOptionDialog.PostTimeEditExit(Sender: TObject);
1008 begin
1009 if not GikoSys.IsNumeric(PostTimeEdit.Text) then
1010 PostTimeEdit.Text := '0';
1011 end;
1012
1013 procedure TOptionDialog.PostTimeCheckBoxClick(Sender: TObject);
1014 begin
1015 PostTimeLabel.Enabled := PostTimeCheckBox.Checked;
1016 PostTimeEdit.Enabled := PostTimeCheckBox.Checked;
1017 PutPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
1018 BackPostTimeRadioButton.Enabled := PostTimeCheckBox.Checked;
1019 end;
1020
1021 end.
1022

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26