Develop and Download Open Source Software

Browse CVS Repository

Contents of /gikonavigoeson/gikonavi/Setting.pas

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


Revision 1.63 - (show annotations) (download) (as text)
Tue Sep 7 15:28:55 2004 UTC (19 years, 7 months ago) by yoffy
Branch: MAIN
Changes since 1.62: +116 -47 lines
File MIME type: text/x-pascal
カラム ID の配列を (隠したり出来る様) 数に依存し無いようにリストに変更。

1 unit Setting;
2
3 interface
4
5 uses
6 SysUtils, Classes, Graphics, Forms, Math, IniFiles, UCryptAuto, UBase64,
7 ComCtrls;
8
9 const
10 MAIN_COOLBAND_COUNT = 4; //?<?ゃ??oolBand????/span>
11 LIST_COOLBAND_COUNT = 2; //??oolBand????/span>
12 BROWSER_COOLBAND_COUNT = 3; //????????oolBand????/span>
13
14 BOARD_FILE_NAME = 'board.2ch';
15 CUSTOMBOARD_FILE_NAME = 'custom.2ch';
16 BOARD_DIR_NAME = 'Board';
17 KEY_SETTING_FILE_NAME = 'key.ini';
18 EKEY_SETTING_FILE_NAME = 'Ekey.ini';
19 TEMP_FOLDER = 'Temp';
20 OUTBOX_FILE_NAME = 'outbox.ini';
21 SENT_FILE_NAME = 'sent.ini';
22 CONFIG_DIR_NAME = 'config';
23 CSS_DIR_NAME = 'css';
24 SKIN_DIR_NAME = 'skin';
25 SKIN_HEADER_FILE_NAME = 'Header.html';
26 SKIN_FOOTER_FILE_NAME = 'Footer.html';
27 SKIN_NEWRES_FILE_NAME = 'NewRes.html';
28 SKIN_RES_FILE_NAME = 'Res.html';
29 SKIN_BOOKMARK_FILE_NAME = 'Bookmark.html';
30 SKIN_NEWMARK_FILE_NAME = 'Newmark.html';
31 NGWORDs_DIR_NAME : String = 'NGwords';
32 BOARD_PLUGIN_DIR_NAME = 'BoardPlugin';
33 SAMBATIME_FILE_NAME : String = 'Samba.ini';
34 IGNORE_FILE_NAME : String = 'Ignore.txt';
35 // DOLIB_LOGIN_URL = '/~tora3n2c/futen.cgi';
36 MAX_POPUP_RES : Integer = 10;
37 type
38 TGikoTabPosition = (gtpTop, gtpBottom); // ?帥??篏?臀?/span>
39 TGikoTabAppend = (gtaFirst, gtpLast); // ?帥??菴遵??篏?臀?/span>
40 TGikoTabStyle = (gtsTab, gtsButton, gtsFlat); // ?帥???鴻?帥?ゃ??/span>
41 TGikoListOrientation = (gloHorizontal, gloVertical); // ???鴻?????眼?紙梓綛?/span>
42 TGikoListState = (glsMax, glsNormal, glsMin); // ???鴻???泣?ゃ?榊?倶??
43 // ???????≪????茵?ず篏?臀?/span>
44 TGikoPopupPosition = (gppRightTop, gppTop, gppLeftTop,
45 gppRight, gppCenter, gppLeft,
46 gppRightBottom, gppBottom, gppLeftBottom);
47 //???????ャ?若?泣?ゃ??/span>
48 TGikoPreviewSize = (gpsXLarge, gpsLarge, gpsMedium, gpsSmall, gpsXSmall);
49 TGikoBrowserAutoMaximize = (gbmNone, gbmClick, gbmDoubleClick);
50 // ???????吟????????????紊у???????>散
51 /// ???壕;腓榊??蚊??10 ?? 65535 ????? n ???号?宴????
52 /// 絨?? 201-300 ??????????蚊?????????????醇?с?????????篏? 2 byte ???膣???
53 TGikoResRange = (grrAll, grrSelect, grrKoko, grrNew);
54
55 /// ?鴻??????筝?荀ц;腓榊???/span>
56 TGikoThreadRange = (gtrAll, gtrSelect, gtrLog, gtrNew);
57
58 /// ?????眼?????鴻?????????? ID
59 type TGikoBBSColumnID = (gbbscTitle);
60 /// ?????眼?????鴻????????????
61 const TGikoBBSColumnCaption : array[0..0] of string =
62 ( '?????眼????' );
63 /// ?????眼?????鴻????????????
64 type TGikoBBSColumnList = class( TList )
65 private
66 function GetItem( index : integer ) : TGikoBBSColumnID;
67 procedure SetItem( index : integer; value : TGikoBBSColumnID);
68 public
69 constructor Create;
70 destructor Destroy;
71 function Add( value : TGikoBBSColumnID ) : Integer;
72 property Items[index : integer]: TGikoBBSColumnID read GetItem write SetItem;
73 end;
74 /// ?帥???鴻?????????? ID
75 type TGikoCategoryColumnID = (gccTitle, gccRoundDate, gccLastModified, gccUnknown);
76 /// ?帥???鴻????????????
77 const TGikoCategoryColumnCaption : array[0..3] of string =
78 ( '?水??', '綏≦??篋?膣?', '??緇??ユ??', '???????鐚?' );
79 /// ?帥???鴻????????????
80 type TGikoCategoryColumnList = class( TList )
81 private
82 function GetItem( index : integer ) : TGikoCategoryColumnID;
83 procedure SetItem( index : integer; value : TGikoCategoryColumnID);
84 public
85 constructor Create;
86 destructor Destroy;
87 function Add( value : TGikoCategoryColumnID ) : Integer;
88 property Items[index : integer]: TGikoCategoryColumnID read GetItem write SetItem;
89 end;
90 /// ?鴻?????鴻?????????? ID
91 type TGikoBoardColumnID = (gbcTitle, gbcAllCount, gbcLocalCount, gbcNonAcqCount,
92 gbcNewCount, gbcUnReadCount, gbcRoundName, gbcLastModified, gbcCreated );
93 /// ?鴻?????鴻????????????
94 const TGikoBoardColumnCaption : array[0..8] of string =
95 ( '?鴻????????', '?????潟??', '??緇?', '????', '?亥??',
96 '???', '綏≦??篋?膣?', '??緇??ユ??', '?鴻??????ユ??' );
97 /// ?鴻?????鴻????????????
98 type TGikoBoardColumnList = class( TList )
99 private
100 function GetItem( index : integer ) : TGikoBoardColumnID;
101 procedure SetItem( index : integer; value : TGikoBoardColumnID);
102 public
103 constructor Create;
104 destructor Destroy;
105 function Add( value : TGikoBoardColumnID ) : Integer;
106 property Items[index : integer]: TGikoBoardColumnID read GetItem write SetItem;
107 end;
108
109 type
110 //CoolBar荐?????潟?若??
111 TCoolSet = record
112 FCoolID: Integer;
113 FCoolWidth: Integer;
114 FCoolBreak: Boolean;
115 end;
116
117 TSetting = class(TObject)
118 private
119 //??篆<???????<?泣?ゃ??/span>
120 FRecvBufferSize: Integer;
121 //HTTP1.1篏睡??/span>
122 FProtocol: Boolean;
123 //???????傑・膓?HTTP1.1篏睡??/span>
124 FProxyProtocol: Boolean;
125
126 //???????件?茯?昭???
127 FReadProxy: Boolean;
128 FReadProxyAddress: string;
129 FReadProxyPort: Integer;
130 FReadProxyUserID: string;
131 FReadProxyPassword: string;
132
133 //???????件??梧昭???
134 FWriteProxy: Boolean;
135 FWriteProxyAddress: string;
136 FWriteProxyPort: Integer;
137 FWriteProxyUserID: string;
138 FWriteProxyPassword: string;
139
140 //???c????????
141 FCabinetFontName: string;
142 FCabinetFontSize: Integer;
143 FCabinetFontBold: Boolean;
144 FCabinetFontItalic: Boolean;
145 FCabinetFontColor: TColor;
146 FCabinetBackColor: TColor;
147
148 //???鴻??
149 FListFontName: string;
150 FListFontSize: Integer;
151 FListFontBold: Boolean;
152 FListFontItalic: Boolean;
153 FListFontColor: TColor;
154 FListBackColor: TColor;
155
156 //????????/span>
157 FBrowserFontName: string; // ''...default
158 FBrowserFontSize: Integer; // 0...default
159 FBrowserFontBold: Integer; // 0...default, -1...False, 1...True
160 FBrowserFontItalic: Integer; // 筝???????
161 FBrowserFontColor: Integer; // -1...default
162 FBrowserBackColor: Integer; // 筝???????
163
164 //?????c??/span>
165 FEditorFontName: string;
166 FEditorFontSize: Integer;
167 FEditorFontBold: Boolean;
168 FEditorFontItalic: Boolean;
169 FEditorFontColor: TColor;
170 FEditorBackColor: TColor;
171
172 //?帥???????潟??
173 FBrowserTabFontName: string;
174 FBrowserTabFontSize: Integer;
175 FBrowserTabFontBold: Boolean;
176 FBrowserTabFontItalic: Boolean;
177
178 //???潟?????c?潟????/span>
179 FHintFontName: string;
180 FHintFontSize: Integer;
181 //FHintFontBold: Boolean;
182 //FHintFontItalic: Boolean;
183 FHintFontColor: TColor;
184 FHintBackColor: TColor;
185
186 //???c?潟?????泣?ゃ??/span>
187 FWindowTop: Integer;
188 FWindowLeft: Integer;
189 FWindowHeight: Integer;
190 FWindowWidth: Integer;
191 FWindowMax: Boolean;
192 //???鴻?????ャ?若?鴻?帥?ゃ??/span>
193 FListStyle: TViewStyle;
194
195 //???若?????取;腓?/span>
196 FStdToolBarVisible: Boolean;
197 FAddressBarVisible: Boolean;
198 FLinkBarVisible: Boolean;
199 FListToolBarVisible: Boolean;
200 FListNameBarVisible: Boolean;
201 FBrowserToolBarVisible: Boolean;
202 FBrowserNameBarVisible: Boolean;
203
204 //???????吟?帥??
205 FBrowserTabVisible: Boolean;
206 FBrowserTabPosition: TGikoTabPosition;
207 FBrowserTabAppend: TGikoTabAppend;
208 FBrowserTabStyle: TGikoTabStyle;
209
210 //?<???祉?若?吾????/span>
211 FMessageBarVisible: Boolean;
212 FMessegeBarHeight: Integer;
213
214 //?鴻???若?帥?鴻????/span>
215 FStatusBarVisible: Boolean;
216
217 //???c????????????祉?泣?ゃ??/span>
218 FCabinetVisible: Boolean;
219 FCabinetWidth: Integer;
220
221 //???鴻???祉???????吟?泣?ゃ??/span>
222 FListOrientation: TGikoListOrientation;
223 FListHeight: Integer;
224 FListHeightState: TGikoListState;
225 FListWidth: Integer;
226 FListWidthState: TGikoListState;
227 // FListHeightMax: Boolean;
228 // FListWidthMax: Boolean;
229
230 //??篆∞???????祉?<?若??/span>
231 FNameList: TStringList;
232 FMailList: TStringList;
233
234 //?????c?帥?若???c?潟?????泣?ゃ??/span>
235 FEditWindowTop: Integer;
236 FEditWindowLeft: Integer;
237 FEditWindowHeight: Integer;
238 FEditWindowWidth: Integer;
239 FEditWindowMax: Boolean;
240 FEditWindowStay: Boolean;
241 FEditWindowTranslucent: Boolean;
242
243 //???鴻????埈;腓?/span>
244 FListViewNo: Boolean;
245 //CSS茵?ず
246 FUseCSS: Boolean;
247 //CSS???<?ゃ????
248 FCSSFileName: string;
249 // ?鴻???活;腓?筝???????????? ini ???絖???????????)
250 FUseSkin: Boolean;
251 //mail罨?茵?ず
252 FShowMail: Boolean;
253 /// ???壕;腓榊???/span>
254 FResRange : Longint;
255 /// 莎桁???????壕;腓榊??蚊???阪?
256 FResRangeHold : Boolean;
257 /// ?鴻??????筝?荀ц;腓榊???/span>
258 FThreadRange : TGikoThreadRange;
259 //???≪?????c???????鴻???????≪????茵?ず
260 FUnActivePopup: Boolean;
261 //???鴻???????≪???????????若???若????
262 FResPopupHeaderBold: Boolean;
263
264 //???違????????
265 FLogFolder: string;
266 FNewLogFolder: string;
267
268 //???鴻???????????????若?泣?ゃ??/span>
269 FBBSColumnWidth: array[0..0] of Integer;
270 FCategoryColumnWidth: array[0..3] of Integer;
271 FBoardColumnWidth: array[0..7] of Integer;
272
273 /// ?????眼?????鴻??????????綺?span>
274 FBBSColumnOrder : TGikoBBSColumnList;
275 /// ?帥???鴻??????????綺?span>
276 FCategoryColumnOrder : TGikoCategoryColumnList;
277 /// ?鴻?????鴻??????????綺?span>
278 FBoardColumnOrder : TGikoBoardColumnList;
279
280 //?純?若????
281 FBBSSortIndex: Integer;
282 FBBSSortOrder: Boolean;
283 FCategorySortIndex: Integer;
284 FCategorySortOrder: Boolean;
285 FBoardSortIndex: Integer;
286 FBoardSortOrder: Boolean;
287
288 //Dat?純?<?鴻???純?若????
289 FDatOchiSortIndex: Integer;
290 FDatOchiSortOrder: Boolean;
291
292 //腟?莨若?炊??絖???
293 FSelectTextList: TStringList;
294
295 //?推?荀?RL
296 //FBoardURL2ch: string;
297 FBoardURLs: TStringList;
298 FBoardURLSelected: Integer;
299
300 //???若??D?祉???鴻???若??
301 FUserID: string;
302 FPassword: string;
303 FAutoLogin: Boolean;
304 FForcedLogin: Boolean;
305 FDolibURL: string;
306
307 //URL??????????莎桁???≪????/span>
308 FURLApp: Boolean;
309 FURLAppFile: string;
310
311 //mailto????????????篏?
312 FOpenMailer: Boolean;
313
314 //???ょ∈茯?
315 FDeleteMsg: Boolean;
316
317 //CoolBar鐚??<?ゃ?潟?紙?帥?祉???????駈?
318 FMainCoolBar: array[0..MAIN_COOLBAND_COUNT - 1] of TCoolSet;
319 FListCoolBar: array[0..LIST_COOLBAND_COUNT - 1] of TCoolSet;
320 FBrowserCoolBar: array[0..BROWSER_COOLBAND_COUNT - 1] of TCoolSet;
321
322 //ToolBar Wrapable
323 FListToolBarWrapable: Boolean;
324 FBrowserToolBarWrapable: Boolean;
325
326 //???????≪????篏?臀?/span>
327 FPopupPosition: TGikoPopupPosition;
328
329 //?≪?????鴻????/span>
330 FURLDisplay: Boolean;
331 FAddressBarTabStop: Boolean;
332 FLinkAddAddressBar: Boolean;
333 FAddressHistoryCount: Integer;
334
335 //?糸????????ャ??/span>
336 FPreviewVisible: Boolean;
337 FPreviewSize: TGikoPreviewSize;
338 FPreviewWait: Integer;
339
340 // ????????/span>
341 FBrowserAutoMaximize: TGikoBrowserAutoMaximize;
342
343 //?鴻??????筝?荀ф?贋?違?≪?ゃ?潟?活;腓?/span>
344 FListIconVisible: Boolean;
345 //??緇??違?с???????????茵?ず????
346 FNonAcquiredCount: Boolean;
347
348 //?鴻??????筝?荀с??og???????鴻?????????帥?鴻??????ャ??茵?ず??????
349 FCreationTimeLogs: Boolean;
350 //?鴻??????筝?荀с???鴻???????ャ?ф???ャ???鴻?????????ャ??茵?ず??????
351 FFutureThread: Boolean;
352
353 //?吾??莨若?炊?????激?恰????篏睡??┃絎?
354 FUseMachineTime: Boolean;
355 FTimeAdjustSec: Integer;
356 FTimeAdjust: Boolean;
357
358 //???若????
359 FAbonDeleterlo : Boolean; //&rlo;????????
360 FAbonReplaceul : Boolean; //<ul>?帥?違??<br>?帥?違??舟????????
361 FPopUpAbon : Boolean; //???鴻???????≪???????????若????????/span>
362 FShowNGLinesNum : Boolean; //荅峨?????鐚?磁???若?????<?ゃ??????違??茵?ず
363 FAddResAnchor : Boolean; //NG???鴻?吾?????鴻?≪?潟???若??菴遵??????
364 FDeleteSyria : Boolean; //?激???∵??????????膈?
365
366 // ?鴻??????腟?莨若???c?若???????
367 FSelectComboBoxWidth : Integer;
368
369 // ??緇????御?????????????激?с?潟???ゃ?≪???違???帥??
370 FOptionDialogTabIndex: Integer;
371
372 // ??緇????御???????????c????????
373 FCabinetIndex: Integer;
374
375 //腟?篋?????∈茯????ゃ?≪???違??茵?ず??????
376 FShowDialogForEnd : Boolean;
377 //???????帥????????????????∈茯????ゃ?≪???違??茵?ず????
378 FShowDialogForAllTabClose: Boolean;
379 //??緇????号?違???鴻???????????号?違???違???c??????????絽梧?????蚊?????c???蚊???????蚊??篏睡????????
380 FUseOddColorOddResNum: Boolean;
381 FOddColor: TColor;
382
383 //Samba24絲丞?罘??純??篏帥????
384 FUseSamba: Boolean;
385
386 //???鴻?≪?潟???若???????????????吾?c?潟????????
387 FResAnchorJamp: Boolean;
388
389 //Tab????篆?絖?
390 FTabAutoLoadSave : Boolean;
391 // ?????c??/span>
392 FSpaceToNBSP : Boolean; ///< ??茹??鴻???若?鴻??Tab ?? &nbsp; ??舟??
393 FAmpToCharRef : Boolean; ///< '&' ?? &amp; ??舟??
394
395 //???????吟?帥????茵?ず???????鴻???荀с?с?????若?純?????主Щ?????≦??????
396 FSelectInterval : Integer;
397
398 function GetMainCoolSet(Index: Integer): TCoolSet;
399 function GetBoardCoolSet(Index: Integer): TCoolSet;
400 function GetBrowserCoolSet(Index: Integer): TCoolSet;
401 procedure SetMainCoolSet(Index: Integer; CoolSet: TCoolSet);
402 procedure SetBoardCoolSet(Index: Integer; CoolSet: TCoolSet);
403 procedure SetBrowserCoolSet(Index: Integer; CoolSet: TCoolSet);
404
405 function GetBBSColumnWidth(index: Integer): Integer;
406 function GetCategoryColumnWidth(index: Integer): Integer;
407 function GetBoardColumnWidth(index: Integer): Integer;
408 procedure SetBBSColumnWidth(index: Integer; value: Integer);
409 procedure SetCategoryColumnWidth(index: Integer; value: Integer);
410 procedure SetBoardColumnWidth(index: Integer; value: Integer);
411
412 function GetSoundName(Index: Integer): string;
413 function GetSoundViewName(Index: Integer): string;
414 function GetSoundFileName(Index: Integer): string;
415 procedure SetSoundFileName(Index: Integer; value: string);
416 function Encrypt(s: string): string;
417 function Decrypt(s: string): string;
418
419 procedure MakeURLIniFile();
420
421 procedure SetUseCSS( value: Boolean );
422 procedure SetCSSFileName( fileName: string );
423 protected
424
425 public
426 constructor Create;
427 destructor Destroy; override;
428 function GetFileName: string;
429 function GetBoardURLFileName: string;
430 procedure ReadSettingFile;
431 procedure ReadBoardURLsFile;
432 procedure WriteSystemSettingFile;
433 procedure WriteWindowSettingFile;
434 procedure WriteNameMailSettingFile;
435 procedure WriteFolderSettingFile();
436 procedure WriteBoardURLSettingFile;
437 function GetSoundCount: Integer;
438 function FindSoundFileName(Name: string): string;
439
440 function GetBoardFileName: string;
441 function GetCustomBoardFileName: string;
442 function GetBoardDir: string;
443 function GetHtmlTempFileName: string;
444 function GetAppDir: string;
445 function GetTempFolder: string;
446 function GetSentFileName: string;
447 function GetConfigDir: string;
448 function GetSkinDir: string;
449 function GetSkinHeaderFileName: string;
450 function GetSkinFooterFileName: string;
451 function GetSkinResFileName: string;
452 function GetSkinNewResFileName: string;
453 function GetSkinBookmarkFileName: string;
454 function GetSkinNewmarkFileName: string;
455 function GetStyleSheetDir: string;
456 function GetOutBoxFileName: string;
457 function GetNGWordsDir: string;
458 function GetBoardPlugInDir: string;
459 function GetSambaFileName: string;
460 function GetIgnoreFileName: string;
461
462 //??篆<???????<?泣?ゃ??/span>
463 property RecvBufferSize: Integer read FRecvBufferSize write FRecvBufferSize;
464 //HTTP1.1篏睡??/span>
465 property Protocol: Boolean read FProtocol write FProtocol;
466 //???????傑・膓?HTTP1.1篏睡??/span>
467 property ProxyProtocol: Boolean read FProxyProtocol write FProxyProtocol;
468
469 property ReadProxy: Boolean read FReadProxy write FReadProxy;
470 property ReadProxyAddress: string read FReadProxyAddress write FReadProxyAddress;
471 property ReadProxyPort: Integer read FReadProxyPort write FReadProxyPort;
472 property ReadProxyUserID: string read FReadProxyUserID write FReadProxyUserID;
473 property ReadProxyPassword: string read FReadProxyPassword write FReadProxyPassword;
474
475 property WriteProxy: Boolean read FWriteProxy write FWriteProxy;
476 property WriteProxyAddress: string read FWriteProxyAddress write FWriteProxyAddress;
477 property WriteProxyPort: Integer read FWriteProxyPort write FWriteProxyPort;
478 property WriteProxyUserID: string read FWriteProxyUserID write FWriteProxyUserID;
479 property WriteProxyPassword: string read FWriteProxyPassword write FWriteProxyPassword;
480
481 property CabinetFontName: string read FCabinetFontName write FCabinetFontName;
482 property CabinetFontSize: Integer read FCabinetFontSize write FCabinetFontSize;
483 property CabinetFontBold: Boolean read FCabinetFontBold write FCabinetFontBold;
484 property CabinetFontItalic: Boolean read FCabinetFontItalic write FCabinetFontItalic;
485 property CabinetFontColor: TColor read FCabinetFontColor write FCabinetFontColor;
486 property CabinetBackColor: TColor read FCabinetBackColor write FCabinetBackColor;
487
488 property ListFontName: string read FListFontName write FListFontName;
489 property ListFontSize: Integer read FListFontSize write FListFontSize;
490 property ListFontBold: Boolean read FListFontBold write FListFontBold;
491 property ListFontItalic: Boolean read FListFontItalic write FListFontItalic;
492 property ListFontColor: TColor read FListFontColor write FListFontColor;
493 property ListBackColor: TColor read FListBackColor write FListBackColor;
494
495 property BrowserFontName: string read FBrowserFontName write FBrowserFontName;
496 property BrowserFontSize: Integer read FBrowserFontSize write FBrowserFontSize;
497 property BrowserFontBold: Integer read FBrowserFontBold write FBrowserFontBold;
498 property BrowserFontItalic: Integer read FBrowserFontItalic write FBrowserFontItalic;
499 property BrowserFontColor: Integer read FBrowserFontColor write FBrowserFontColor;
500 property BrowserBackColor: Integer read FBrowserBackColor write FBrowserBackColor;
501
502 property EditorFontName: string read FEditorFontName write FEditorFontName;
503 property EditorFontSize: Integer read FEditorFontSize write FEditorFontSize;
504 property EditorFontBold: Boolean read FEditorFontBold write FEditorFontBold;
505 property EditorFontItalic: Boolean read FEditorFontItalic write FEditorFontItalic;
506 property EditorFontColor: TColor read FEditorFontColor write FEditorFontColor;
507 property EditorBackColor: TColor read FEditorBackColor write FEditorBackColor;
508
509 property BrowserTabFontName: string read FBrowserTabFontName write FBrowserTabFontName;
510 property BrowserTabFontSize: Integer read FBrowserTabFontSize write FBrowserTabFontSize;
511 property BrowserTabFontBold: Boolean read FBrowserTabFontBold write FBrowserTabFontBold;
512 property BrowserTabFontItalic: Boolean read FBrowserTabFontItalic write FBrowserTabFontItalic;
513
514 property HintFontName: string read FHintFontName write FHintFontName;
515 property HintFontSize: Integer read FHintFontSize write FHintFontSize;
516 //property HintFontBold: Boolean read FHintFontBold write FHintFontBold;
517 //property HintFontItalic: Boolean read FHintFontItalic write FHintFontItalic;
518 property HintFontColor: TColor read FHintFontColor write FHintFontColor;
519 property HintBackColor: TColor read FHintBackColor write FHintBackColor;
520
521 property WindowTop: Integer read FWindowTop write FWindowTop;
522 property WindowLeft: Integer read FWindowLeft write FWindowLeft;
523 property WindowHeight: Integer read FWindowHeight write FWindowHeight;
524 property WindowWidth: Integer read FWindowWidth write FWindowWidth;
525 property WindowMax: Boolean read FWindowMax write FWindowMax;
526 property ListStyle: TViewStyle read FListStyle write FListStyle;
527
528 property StdToolBarVisible: Boolean read FStdToolBarVisible write FStdToolBarVisible;
529 property AddressBarVisible: Boolean read FAddressBarVisible write FAddressBarVisible;
530 property LinkBarVisible: Boolean read FLinkBarVisible write FLinkBarVisible;
531 property ListToolBarVisible: Boolean read FListToolBarVisible write FListToolBarVisible;
532 property ListNameBarVisible: Boolean read FListNameBarVisible write FListNameBarVisible;
533 property BrowserToolBarVisible: Boolean read FBrowserToolBarVisible write FBrowserToolBarVisible;
534 property BrowserNameBarVisible: Boolean read FBrowserNameBarVisible write FBrowserNameBarVisible;
535
536 property BrowserTabVisible: Boolean read FBrowserTabVisible write FBrowserTabVisible;
537 property BrowserTabPosition: TGikoTabPosition read FBrowserTabPosition write FBrowserTabPosition;
538 property BrowserTabAppend: TGikoTabAppend read FBrowserTabAppend write FBrowserTabAppend;
539 property BrowserTabStyle: TGikoTabStyle read FBrowserTabStyle write FBrowserTabStyle;
540
541 property MessageBarVisible: Boolean read FMessageBarVisible write FMessageBarVisible;
542 property MessegeBarHeight: Integer read FMessegeBarHeight write FMessegeBarHeight;
543
544 property StatusBarVisible: Boolean read FStatusBarVisible write FStatusBarVisible;
545
546 property CabinetVisible: Boolean read FCabinetVisible write FCabinetVisible;
547 property CabinetWidth: Integer read FCabinetWidth write FCabinetWidth;
548
549 property ListOrientation: TGikoListOrientation read FListOrientation write FListOrientation;
550 property ListHeight: Integer read FListHeight write FListHeight;
551 property ListHeightState: TGikoListState read FListHeightState write FListHeightState;
552 property ListWidth: Integer read FListWidth write FListWidth;
553 property ListWidthState: TGikoListState read FListWidthState write FListWidthState;
554 // property ListHeightMax: Boolean read FListHeightMax write FListHeightMax;
555 // property ListWidthMax: Boolean read FListWidthMax write FListWidthMax;
556
557 property NameList: TStringList read FNameList write FNameList;
558 property MailList: TStringList read FMailList write FMailList;
559 property SelectTextList: TStringList read FSelectTextList write FSelectTextList;
560
561 property EditWindowTop: Integer read FEditWindowTop write FEditWindowTop;
562 property EditWindowLeft: Integer read FEditWindowLeft write FEditWindowLeft;
563 property EditWindowHeight: Integer read FEditWindowHeight write FEditWindowHeight;
564 property EditWindowWidth: Integer read FEditWindowWidth write FEditWindowWidth;
565 property EditWindowMax: Boolean read FEditWindowMax write FEditWindowMax;
566 property EditWindowStay: Boolean read FEditWindowStay write FEditWindowStay;
567 property EditWindowTranslucent: Boolean read FEditWindowTranslucent write FEditWindowTranslucent;
568
569 property ListViewNo: Boolean read FListViewNo write FListViewNo;
570 property UseCSS: Boolean read FUseCSS write SetUseCSS;
571 property CSSFileName: string read FCSSFileName write SetCSSFileName;
572 property UseSkin: Boolean read FUseSkin;
573
574 property ShowMail: Boolean read FShowMail write FShowMail;
575 property ResRange : Longint read FResRange write FResRange;
576 property ResRangeHold : Boolean read FResRangeHold write FResRangeHold;
577 property ThreadRange : TGikoThreadRange read FThreadRange write FThreadRange;
578 property UnActivePopup: Boolean read FUnActivePopup write FUnActivePopup;
579 property ResPopupHeaderBold: Boolean read FResPopupHeaderBold write FResPopupHeaderBold;
580
581 property LogFolder: string read FLogFolder write FLogFolder;
582 property NewLogFolder: string read FNewLogFolder write FNewLogFolder;
583
584 property BBSColumnWidth[index: Integer]: Integer read GetBBSColumnWidth write SetBBSColumnWidth;
585 property CategoryColumnWidth[index: Integer]: Integer read GetCategoryColumnWidth write SetCategoryColumnWidth;
586 property BoardColumnWidth[index: Integer]: Integer read GetBoardColumnWidth write SetBoardColumnWidth;
587
588 property BBSColumnOrder : TGikoBBSColumnList read FBBSColumnOrder write FBBSColumnOrder;
589 property CategoryColumnOrder : TGikoCategoryColumnList read FCategoryColumnOrder write FCategoryColumnOrder;
590 property BoardColumnOrder : TGikoBoardColumnList read FBoardColumnOrder write FBoardColumnOrder;
591
592 property SoundName[index: Integer]: string read GetSoundName;
593 property SoundViewName[index: Integer]: string read GetSoundViewName;
594 property SoundFileName[index: Integer]: string read GetSoundFileName write SetSoundFileName;
595
596 property BBSSortIndex: Integer read FBBSSortIndex write FBBSSortIndex;
597 property BBSSortOrder: Boolean read FBBSSortOrder write FBBSSortOrder;
598 property CategorySortIndex: Integer read FCategorySortIndex write FCategorySortIndex;
599 property CategorySortOrder: Boolean read FCategorySortOrder write FCategorySortOrder;
600 property BoardSortIndex: Integer read FBoardSortIndex write FBoardSortIndex;
601 property BoardSortOrder: Boolean read FBoardSortOrder write FBoardSortOrder;
602
603 property DatOchiSortIndex: Integer read FDatOchiSortIndex write FDatOchiSortIndex;
604 property DatOchiSortOrder: Boolean read FDatOchiSortOrder write FDatOchiSortOrder;
605
606 //property BoardURL2ch: string read FBoardURL2ch write FBoardURL2ch;
607 property BoardURLs: TStringList read FBoardURLs write FBoardURLs;
608 property BoardURLSelected: Integer read FBoardURLSelected write FBoardURLSelected;
609 property UserID: string read FUserID write FUserID;
610 property Password: string read FPassword write FPassword;
611 property AutoLogin: Boolean read FAutoLogin write FAutoLogin;
612 property ForcedLogin: Boolean read FForcedLogin write FForcedLogin;
613 property DolibURL: string read FDolibURL write FDolibURL;
614
615 property URLApp: Boolean read FURLApp write FURLApp;
616 property URLAppFile: string read FURLAppFile write FURLAppFile;
617
618 property OpenMailer: Boolean read FOpenMailer write FOpenMailer;
619
620 property DeleteMsg: Boolean read FDeleteMsg write FDeleteMsg;
621
622 property MainCoolSet[Index: Integer]: TCoolSet read GetMainCoolSet write SetMainCoolSet;
623 property ListCoolSet[Index: Integer]: TCoolSet read GetBoardCoolSet write SetBoardCoolSet;
624 property BrowserCoolSet[Index: Integer]: TCoolSet read GetBrowserCoolSet write SetBrowserCoolSet;
625
626 property ListToolBarWrapable: Boolean read FListToolBarWrapable write FListToolBarWrapable;
627 property BrowserToolBarWrapable: Boolean read FBrowserToolBarWrapable write FBrowserToolBarWrapable;
628
629 property PopupPosition: TGikoPopupPosition read FPopupPosition write FPopupPosition;
630
631 property URLDisplay: Boolean read FURLDisplay write FURLDisplay;
632 property AddressBarTabStop: Boolean read FAddressBarTabStop write FAddressBarTabStop;
633 property LinkAddAddressBar: Boolean read FLinkAddAddressBar write FLinkAddAddressBar;
634 property AddressHistoryCount: Integer read FAddressHistoryCount write FAddressHistoryCount;
635
636 property PreviewVisible: Boolean read FPreviewVisible write FPreviewVisible;
637 property PreviewSize: TGikoPreviewSize read FPreviewSize write FPreviewSize;
638 property PreviewWait: Integer read FPreviewWait write FPreviewWait;
639 property BrowserAutoMaximize: TGikoBrowserAutoMaximize read FBrowserAutoMaximize write FBrowserAutoMaximize;
640
641 property ListIconVisible: Boolean read FListIconVisible write FListIconVisible;
642 property NonAcquiredCount: Boolean read FNonAcquiredCount write FNonAcquiredCount;
643 property CreationTimeLogs: Boolean read FCreationTimeLogs write FCreationTimeLogs;
644 property FutureThread: Boolean read FFutureThread write FFutureThread;
645
646 property UseMachineTime: Boolean read FUseMachineTime write FUseMachineTime;
647 property TimeAdjustSec: Integer read FTimeAdjustSec write FTimeAdjustSec;
648 property TimeAdjust: Boolean read FTimeAdjust write FTimeAdjust;
649
650 //???若????
651 property AbonDeleterlo : Boolean read FAbonDeleterlo write FAbonDeleterlo;
652 property AbonReplaceul : Boolean read FAbonReplaceul write FAbonReplaceul;
653 property PopUpAbon : Boolean read FPopUpAbon write FPopUpAbon;
654 property ShowNGLinesNum : Boolean read FShowNGLinesNum write FShowNGLinesNum;
655 property AddResAnchor : Boolean read FAddResAnchor write FAddResAnchor;
656 property DeleteSyria : Boolean read FDeleteSyria write FDeleteSyria;
657 // ?鴻??????腟?莨若???c?若???????
658 property SelectComboBoxWidth : Integer read FSelectComboBoxWidth write FSelectComboBoxWidth;
659
660 // ??緇????御?????????????激?с?潟???ゃ?≪???違???帥??
661 property OptionDialogTabIndex : Integer read FOptionDialogTabIndex write FOptionDialogTabIndex;
662
663 // ??緇????御???????????c????????
664 property CabinetIndex : Integer read FCabinetIndex write FCabinetIndex;
665
666 //腟?篋?????∈茯????ゃ?≪???違??茵?ず??????
667 property ShowDialogForEnd : Boolean read FShowDialogForEnd write FShowDialogForEnd;
668 property ShowDialogForAllTabClose: Boolean read FShowDialogForAllTabClose write FShowDialogForAllTabClose;
669 //??緇????号?違???鴻???????????号?違???違???c??????????絽梧?????蚊?????c???蚊???????蚊??篏睡????????
670 property UseOddColorOddResNum: Boolean read FUseOddColorOddResNum write FUseOddColorOddResNum;
671 property OddColor: TColor read FOddColor write FOddColor;
672 property UseSamba: Boolean read FUseSamba write FUseSamba;
673 property ResAnchorJamp: Boolean read FResAnchorJamp write FResAnchorJamp;
674
675 // ?????c??/span>
676 property SpaceToNBSP : Boolean read FSpaceToNBSP write FSpaceToNBSP;
677 property AmpToCharRef : Boolean read FAmpToCharRef write FAmpToCharRef;
678
679 property SelectInterval : Integer read FSelectInterval write FSelectInterval;
680 //Tab篆?絖?
681 property TabAutoLoadSave: Boolean read FTabAutoLoadSave write FTabAutoLoadSave;
682 end;
683
684
685
686 implementation
687
688 type
689 TSoundName = record
690 Name: string;
691 ViewName: string;
692 FileName: string;
693 end;
694
695 const
696 INI_FILE_NAME: string = 'gikoNavi.ini';
697 BOARD_URL_INI_FILE_NAME: string = 'url.ini';
698 DEFAULT_FONT_NAME: string = '鐚?竺 鐚違?眼?激????#39;;
699 DEFAULT_FONT_SIZE: Integer = 9;
700 DEFAULT_FONT_COLOR: string = 'clWindowText';
701 DEFAULT_WINDOW_COLOR: string = 'clWindow';
702 DEFAULT_TAB_FONT_NAME: string = '鐚?竺 鐚違?眼?激????#39;;
703 DEFAULT_TAB_FONT_SIZE: Integer = 9;
704 DEFAULT_2CH_BOARD_URL1: string = 'http://www6.ocn.ne.jp/~mirv/2chmenu.html';
705 DEFAULT_2CH_BOARD_URL2: string = 'http://www.ff.iij4u.or.jp/~ch2/bbsmenu.html';
706 //http://menu.2ch.net/bbsmenu.html //??????????????罩e????推?荀с??????????
707 //'http://www.2ch.net/newbbsmenu.html';
708 GIKO_ENCRYPT_TEXT: string = 'gikoNaviEncryptText';
709
710 var
711 SOUND_NAME: array[0..4] of TSoundName = (
712 (Name: 'New'; ViewName: '??緇?????'; FileName: ''),
713 (Name: 'NewDiff'; ViewName: '??緇?????(綏???)'; FileName: ''),
714 (Name: 'NoChange'; ViewName: '???贋??#39;; FileName: ''),
715 // (Name: 'RoundEnd'; ViewName: '綏≦??腟?篋?(??緇?????)'; FileName: ''),
716 // (Name: 'RoundNone'; ViewName: '綏≦??腟?篋?(??緇?????)'; FileName: ''),
717 (Name: 'ResEnd'; ViewName: '???拷??篆≦?篋?'; FileName: ''),
718 (Name: 'Error'; ViewName: '??????#39;; FileName: ''));
719
720 constructor TGikoBBSColumnList.Create;
721 begin
722 inherited;
723 end;
724
725 destructor TGikoBBSColumnList.Destroy;
726 begin
727 inherited;
728 end;
729
730 function TGikoBBSColumnList.GetItem( index : integer ) : TGikoBBSColumnID;
731 begin
732 Result := TGikoBBSColumnID( inherited Items[ index ] );
733 end;
734
735 procedure TGikoBBSColumnList.SetItem( index : integer; value : TGikoBBSColumnID);
736 begin
737 inherited Items[ index ] := Pointer( value );
738 end;
739
740 function TGikoBBSColumnList.Add( value : TGikoBBSColumnID ) : Integer;
741 begin
742 Result := inherited Add( Pointer( value ) );
743 end;
744
745 constructor TGikoCategoryColumnList.Create;
746 begin
747 inherited;
748 end;
749
750 destructor TGikoCategoryColumnList.Destroy;
751 begin
752 inherited;
753 end;
754
755 function TGikoCategoryColumnList.GetItem( index : integer ) : TGikoCategoryColumnID;
756 begin
757 Result := TGikoCategoryColumnID( inherited Items[ index ] );
758 end;
759
760 procedure TGikoCategoryColumnList.SetItem( index : integer; value : TGikoCategoryColumnID);
761 begin
762 inherited Items[ index ] := Pointer( value );
763 end;
764
765 function TGikoCategoryColumnList.Add( value : TGikoCategoryColumnID ) : Integer;
766 begin
767 Result := inherited Add( Pointer( value ) );
768 end;
769
770 constructor TGikoBoardColumnList.Create;
771 begin
772 inherited;
773 end;
774
775 destructor TGikoBoardColumnList.Destroy;
776 begin
777 inherited;
778 end;
779
780 function TGikoBoardColumnList.GetItem( index : integer ) : TGikoBoardColumnID;
781 begin
782 Result := TGikoBoardColumnID( inherited Items[ index ] );
783 end;
784
785 procedure TGikoBoardColumnList.SetItem( index : integer; value : TGikoBoardColumnID);
786 begin
787 inherited Items[ index ] := Pointer( value );
788 end;
789
790 function TGikoBoardColumnList.Add( value : TGikoBoardColumnID ) : Integer;
791 begin
792 Result := inherited Add( Pointer( value ) );
793 end;
794
795 //?潟?潟?鴻????????/span>
796 constructor TSetting.Create();
797 begin
798 FNameList := TStringList.Create;
799 FMailList := TStringList.Create;
800 FSelectTextList := TStringList.Create;
801 FBoardURLs := TStringList.Create;
802 FNameList.Duplicates := dupIgnore;
803 FMailList.Duplicates := dupIgnore;
804 FBoardURLs.Duplicates := dupIgnore;
805 FSelectTextList.Duplicates := dupIgnore;
806 ReadSettingFile();
807 ReadBoardURLsFile();
808 end;
809
810 //???鴻????????/span>
811 destructor TSetting.Destroy();
812 begin
813 inherited;
814 FSelectTextList.Free;
815 FBoardURLs.Free;
816 FMailList.Free;
817 FNameList.Free;
818 end;
819
820 //?????????<?ゃ??????緇?鐚????刻????<?ゃ????鐚?
821 function TSetting.GetFileName(): string;
822 begin
823 Result := ExtractFilePath(Application.ExeName) + INI_FILE_NAME;
824 end;
825
826 //?炊?贋?亥??RL荐?????<?ゃ????鐚????刻????<?ゃ????鐚?
827 function TSetting.GetBoardURLFileName(): string;
828 begin
829 Result := ExtractFilePath(Application.ExeName) + BOARD_URL_INI_FILE_NAME;
830 end;
831
832 //荐?????<?ゃ???莨?/span>
833 procedure TSetting.ReadSettingFile();
834 const
835 DEFAULT_BBS_WIDTH: array[0..0] of Integer = (140);
836 DEFAULT_CATEGORY_WIDTH: array[0..3] of Integer = (150, 80, 130, 130);
837 DEFAULT_BOARD_WIDTH: array[0..7] of Integer = (350, 60, 60, 60, 60, 80, 130, 130);
838 MAX_WIDTH: Integer = 2000;
839 var
840 ini: TMemIniFile;
841 i: Integer;
842 wkList: TStringList;
843 wkStr: string;
844 Exists: Boolean;
845 s: string;
846 // id: Integer;
847 CoolSet: TCoolSet;
848 begin
849 Exists := FileExists(GetFileName);
850 ini := TMemIniFile.Create(GetFileName);
851 try
852 //??篆<???????<?泣?ゃ??/span>
853 FRecvBufferSize := ini.ReadInteger('HTTP', 'RecvBufferSize', 4096);
854 //HTTP1.1篏睡??/span>
855 FProtocol := ini.ReadBool('HTTP', 'Protocol', True);
856 //???????傑・膓?HTTP1.1篏睡??/span>
857 FProxyProtocol := ini.ReadBool('HTTP', 'ProxyProtocol', False);
858
859 FReadProxy := ini.ReadBool('ReadProxy', 'Proxy', false);
860 FReadProxyAddress := ini.ReadString('ReadProxy', 'Address', '');
861 FReadProxyPort := ini.ReadInteger('ReadProxy', 'Port', 0);
862 FReadProxyUserID := ini.ReadString('ReadProxy', 'UserID', '');
863 FReadProxyPassword := ini.ReadString('ReadProxy', 'Password', '');
864
865 FWriteProxy := ini.ReadBool('WriteProxy', 'Proxy', false);
866 FWriteProxyAddress := ini.ReadString('WriteProxy', 'Address', '');
867 FWriteProxyPort := ini.ReadInteger('WriteProxy', 'Port', 0);
868 FWriteProxyUserID := ini.ReadString('WriteProxy', 'UserID', '');
869 FWriteProxyPassword := ini.ReadString('WriteProxy', 'Password', '');
870
871 FBrowserFontName := ini.ReadString('Window', 'BrowserFontName', '');
872 FBrowserFontSize := ini.ReadInteger('Window', 'BrowserFontSize', 0);
873 FBrowserFontBold := ini.ReadInteger('Window', 'BrowserFontBold', 0);
874 FBrowserFontItalic := ini.ReadInteger('Window', 'BrowserFontItalic', 0);
875 FBrowserFontColor := ini.ReadInteger('Window', 'BrowserFontColor', -1);
876 FBrowserBackColor := ini.ReadInteger('Window', 'BrowserBackColor', -1);
877
878 FCabinetFontName := ini.ReadString('Window', 'CabinetFontName', DEFAULT_FONT_NAME);
879 FCabinetFontSize := ini.ReadInteger('Window', 'CabinetFontSize', DEFAULT_FONT_SIZE);
880 FCabinetFontBold := ini.ReadBool('Window', 'CabinetFontBold', False);
881 FCabinetFontItalic := ini.ReadBool('Window', 'CabinetFontItalic', False);
882 FCabinetFontColor := StringToColor(ini.ReadString('Window', 'CabinetFontColor', DEFAULT_FONT_COLOR));
883 FCabinetBackColor := StringToColor(ini.ReadString('Window', 'CabinetBackColor', DEFAULT_WINDOW_COLOR));
884
885 FListFontName := ini.ReadString('Window', 'ListFontName', DEFAULT_FONT_NAME);
886 FListFontSize := ini.ReadInteger('Window', 'ListFontSize', DEFAULT_FONT_SIZE);
887 FListFontBold := ini.ReadBool('Window', 'ListFontBold', False);
888 FListFontItalic := ini.ReadBool('Window', 'ListFontItalic', False);
889 FListFontColor := StringToColor(ini.ReadString('Window', 'ListFontColor', DEFAULT_FONT_COLOR));
890 FListBackColor := StringToColor(ini.ReadString('Window', 'ListBackColor', DEFAULT_WINDOW_COLOR));
891 FUseOddColorOddResNum := ini.ReadBool('Window','UseOddColor', False);
892 FOddColor := StringToColor(ini.ReadString('Window', 'OddColor', DEFAULT_WINDOW_COLOR));
893
894 FEditorFontName := ini.ReadString('Window', 'EditorFontName', DEFAULT_FONT_NAME);
895 FEditorFontSize := ini.ReadInteger('Window', 'EditorFontSize', DEFAULT_FONT_SIZE);
896 FEditorFontBold := ini.ReadBool('Window', 'EditorFontBold', False);
897 FEditorFontItalic := ini.ReadBool('Window', 'EditorFontItalic', False);
898 FEditorFontColor := StringToColor(ini.ReadString('Window', 'EditorFontColor', DEFAULT_FONT_COLOR));
899 FEditorBackColor := StringToColor(ini.ReadString('Window', 'EditorBackColor', DEFAULT_WINDOW_COLOR));
900
901 FBrowserTabFontName := ini.ReadString('Window', 'BrowserTabFontName', DEFAULT_TAB_FONT_NAME);
902 FBrowserTabFontSize := ini.ReadInteger('Window', 'BrowserTabFontSize', DEFAULT_TAB_FONT_SIZE);
903 FBrowserTabFontBold := ini.ReadBool('Window', 'BrowserTabFontBold', False);
904 FBrowserTabFontItalic := ini.ReadBool('Window', 'BrowserTabFontItalic', False);
905
906 FHintFontName := ini.ReadString('Window', 'HintFontName', Screen.HintFont.Name);
907 FHintFontSize := ini.ReadInteger('Window', 'HintFontSize', Screen.HintFont.Size);
908 //FHintFontBold := ini.ReadBool('Window', 'HintFontBold', False);
909 //FHintFontItalic := ini.ReadBool('Window', 'HintFontItalic', False);
910 FHintFontColor := StringToColor(ini.ReadString('Window', 'HintFontColor', DEFAULT_FONT_COLOR));
911 FHintBackColor := StringToColor(ini.ReadString('Window', 'HintBackColor', 'clInfoBk'));
912
913 FWindowTop := ini.ReadInteger('WindowSize', 'Top', -1);
914 FWindowLeft := ini.ReadInteger('WindowSize', 'Left', -1);
915 FWindowHeight := ini.ReadInteger('WindowSize', 'Height', -1);
916 FWindowWidth := ini.ReadInteger('WindowSize', 'Width', -1);
917 FWindowMax := ini.ReadBool('WindowSize', 'Max', false);
918
919 if FWindowHeight <= 0 then FWindowHeight := 400;
920 if FWindowWidth <= 0 then FWindowWidth := 600;
921
922 FListStyle := TViewStyle(ini.ReadInteger('ViewStyle', 'ListView', Ord(vsReport)));
923
924 FEditWindowTop := ini.ReadInteger('EditorWindowSize', 'Top', -1);
925 FEditWindowLeft := ini.ReadInteger('EditorWindowSize', 'Left', -1);
926 FEditWindowHeight := ini.ReadInteger('EditorWindowSize', 'Height', -1);
927 FEditWindowWidth := ini.ReadInteger('EditorWindowSize', 'Width', -1);
928 FEditWindowMax := ini.ReadBool('EditorWindowSize', 'Max', False);
929 FEditWindowStay := ini.ReadBool('EditorWindowSize', 'Stay', False);
930 FEditWindowTranslucent := ini.ReadBool('EditorWindowSize', 'Translucent', False);
931
932 FOptionDialogTabIndex := ini.ReadInteger('OptionDialog', 'TabIndex', 0);
933
934 //???若??????/span>
935 FStdToolBarVisible := ini.ReadBool('ToolBar', 'StdVisible', True);
936 FAddressBarVisible := ini.ReadBool('ToolBar', 'AddressVisible', True);
937 FLinkBarVisible := ini.ReadBool('ToolBar', 'LinkVisible', True);
938 FListToolBarVisible := ini.ReadBool('ToolBar', 'ListVisible', True);
939 FListNameBarVisible := ini.ReadBool('ToolBar', 'ListNameVisible', True);
940 FBrowserToolBarVisible := ini.ReadBool('ToolBar', 'BrowserVisible', True);
941 FBrowserNameBarVisible := ini.ReadBool('ToolBar', 'BrowserNameVisible', True);
942 //???若??????rapable
943 FListToolBarWrapable := ini.ReadBool('ToolBar', 'ListWrapable', False);
944 FBrowserToolBarWrapable := ini.ReadBool('ToolBar', 'BrowserWrapable', False);
945
946 FBrowserTabVisible := ini.ReadBool('Tab', 'BrowserTabVisible', True);
947 FBrowserTabPosition := TGikoTabPosition(ini.ReadInteger('Tab', 'BrowserTabPosition', Ord(gtpTop)));
948 FBrowserTabAppend := TGikoTabAppend(ini.ReadInteger('Tab', 'BrowserTabAppend', Ord(gtaFirst)));
949 FBrowserTabStyle := TGikoTabStyle(ini.ReadInteger('Tab', 'BrowserTabStyle', Ord(gtsFlat)));
950
951 FMessageBarVisible := ini.ReadBool('MessageBar', 'Visible', True);
952 FMessegeBarHeight := ini.ReadInteger('MessageBar', 'Height', 30);
953
954 FStatusBarVisible := ini.ReadBool('StatusBar', 'Visible', True);
955
956 FCabinetVisible := ini.ReadBool('Cabinet', 'Visible', True);
957 FCabinetWidth := ini.ReadInteger('Cabinet', 'Width', 200);
958 FCabinetIndex := ini.ReadInteger('Cabinet', 'Index', 0);
959
960 FListOrientation := TGikoListOrientation(ini.ReadInteger('List', 'Orientation', Ord(gloHorizontal)));
961 FListHeight := ini.ReadInteger('List', 'Height', 180);
962 FListHeightState := TGikoListState(ini.ReadInteger('List', 'HeightState', Ord(glsNormal)));
963 FListWidth := ini.ReadInteger('List', 'Width', 180);
964 FListWidthState := TGikoListState(ini.ReadInteger('List', 'WidthState', Ord(glsNormal)));
965 // FListHeightMax := ini.ReadBool('List', 'HeightMax', False);
966 // FListWidthMax := ini.ReadBool('List', 'WidthMax', False);
967
968 wkList := TStringList.Create;
969 try
970 ini.ReadSection('Name', wkList);
971 for i := 0 to wkList.Count - 1 do begin
972 wkStr := ini.ReadString('Name', wkList[i], '');
973 if (wkStr <> '') and (FNameList.IndexOf(wkStr) = -1) then
974 FNameList.Add(wkStr);
975 end;
976 ini.ReadSection('Mail', wkList);
977 for i := 0 to wkList.Count - 1 do begin
978 wkStr := ini.ReadString('Mail', wkList[i], '');
979 if (wkStr <> '') and (FMailList.IndexOf(wkStr) = -1) then
980 FMailList.Add(wkStr);
981 end;
982 ini.ReadSection('SelectText', wkList);
983 for i := 0 to wkList.Count - 1 do begin
984 wkStr := ini.ReadString('SelectText', wkList[i], '');
985 if (wkStr <> '') and (FSelectTextList.IndexOf(wkStr) = -1) then
986 FSelectTextList.Add(wkStr);
987 end;
988 finally
989 wkList.Free;
990 end;
991
992 //???鴻????????
993 wkList := TStringList.Create;
994 try
995 ini.ReadSection('BBSColumnWidth', wkList);
996 if Length(FBBSColumnWidth) <> wkList.Count then begin
997 ini.EraseSection('BBSColumnWidth');
998 end;
999 for i := 0 to Length(FBBSColumnWidth) - 1 do begin
1000 BBSColumnWidth[i] := ini.ReadInteger('BBSColumnWidth', 'ID' + IntToStr(i), DEFAULT_BBS_WIDTH[i]);
1001 if BBSColumnWidth[i] > MAX_WIDTH then
1002 BBSColumnWidth[i] := DEFAULT_BBS_WIDTH[i];
1003 end;
1004 ini.ReadSection('CategoryColumnWidth', wkList);
1005 if Length(FCategoryColumnWidth) <> wkList.Count then begin
1006 ini.EraseSection('CategoryColumnWidth');
1007 end;
1008 for i := 0 to Length(FCategoryColumnWidth) - 1 do begin
1009 CategoryColumnWidth[i] := ini.ReadInteger('CategoryColumnWidth', 'ID' + IntToStr(i), DEFAULT_CATEGORY_WIDTH[i]);
1010 if CategoryColumnWidth[i] > MAX_WIDTH then
1011 CategoryColumnWidth[i] := DEFAULT_CATEGORY_WIDTH[i];
1012 end;
1013 ini.ReadSection('BoardColumnWidth', wkList);
1014 if Length(FBoardColumnWidth) <> wkList.Count then begin
1015 ini.EraseSection('BoardColumnWidth');
1016 end;
1017 for i := 0 to Length(FBoardColumnWidth) - 1 do begin
1018 BoardColumnWidth[i] := ini.ReadInteger('BoardColumnWidth', 'ID' + IntToStr(i), DEFAULT_BOARD_WIDTH[i]);
1019 if BoardColumnWidth[i] > MAX_WIDTH then
1020 BoardColumnWidth[i] := DEFAULT_BOARD_WIDTH[i];
1021 end;
1022 finally
1023 wkList.Free;
1024 end;
1025
1026 //???鴻?????/span>
1027 FListViewNo := ini.ReadBool('Function', 'ListViewNo', True);
1028 //CSS
1029 UseCSS := ini.ReadBool('CSS', 'UseCSS', True);
1030 //CSS???<?ゃ????
1031 CSSFileName := ini.ReadString('CSS', 'FileName', 'default.css');
1032
1033 //Mail罨?茵?ず
1034 FShowMail := ini.ReadBool('Thread', 'ShowMail', True);
1035 // ???壕;腓榊???/span>
1036 if ini.ReadBool('Thread', 'OnlyAHundredRes',false) then
1037 FResRange := 100 // ?ゃ??荐?????????/span>
1038 else
1039 FResRange := ini.ReadInteger( 'Thread', 'ResRange', Ord( grrAll ) );
1040 FResRangeHold := ini.ReadBool( 'Thread', 'ResRangeHold', False );
1041 // ?鴻??????筝?荀ц;腓榊???/span>
1042 FThreadRange := TGikoThreadRange( ini.ReadInteger('ThreadList', 'ThreadRange', Ord( gtrAll )) );
1043 //???≪?????c???????鴻???????≪????茵?ず
1044 FUnActivePopup := ini.ReadBool('Thread', 'UnActivePopup', False);
1045 //???鴻???????≪???????????若???若????
1046 FResPopupHeaderBold := ini.ReadBool('Thread', 'ResPopupHeaderBold', True);
1047 //???ょ∈茯?
1048 FDeleteMsg := ini.ReadBool('Function', 'LogDeleteMessage', True);
1049 //腟?篋?腆肴?
1050 FShowDialogForEnd := ini.ReadBool('Function','ShowDialogForEnd',false);
1051 //AllTabClose
1052 FShowDialogForAllTabClose := ini.ReadBool('Function','ShowDialogForAllTabClose',false);
1053 //Samba
1054 FUseSamba := ini.ReadBool('Function','UseSamba', True);
1055 //ResAnchorjamp
1056 ResAnchorJamp := ini.ReadBool('Function', 'ResAnchoJamp', True);
1057 //???違????????
1058 FLogFolder := ini.ReadString('Folder', 'LogFolder', ExtractFilePath(Application.ExeName) + 'Log');
1059 NewLogFolder := '';
1060
1061 //??RL
1062 //茲??亥?脂?蚊?с??????????????BoardURLs????????2003/10/05
1063 //FBoardURL2ch := ini.ReadString('BoardURL', '2ch', DEFAULT_2CH_BOARD_URL);
1064
1065 //茯?荐主?????若??D?祉???鴻???若??
1066 FUserID := ini.ReadString('Attestation', 'UserID', '');
1067 FPassword := Decrypt(ini.ReadString('Attestation', 'Password', ''));
1068 FAutoLogin := ini.ReadBool('Attestation', 'AutoLogin', False);
1069 FForcedLogin := ini.ReadBool('Attestation', 'FForcedLogin', False);
1070 // FDolibURL := ini.ReadString('Attestation', 'FDolibURL', DOLIB_LOGIN_URL);
1071
1072 //URL??????????莎桁???≪????/span>
1073 FURLApp := ini.ReadBool('URLApp', 'Select', False);
1074 FURLAppFile := ini.ReadString('URLApp', 'File', '');
1075
1076 //mailto????????????篏?
1077 FOpenMailer := ini.ReadBool('Mailto', 'Open', True);
1078
1079 //???????≪????篏?臀?/span>
1080 FPopupPosition := TGikoPopupPosition(ini.ReadInteger('Browser', 'PopupPosition', Ord(gppLeftBottom)));
1081
1082 //?≪?????鴻????/span>
1083 FURLDisplay := ini.ReadBool('AddressBar', 'URLDisplay', False);
1084 FAddressBarTabStop := ini.ReadBool('AddressBar', 'TabStop', True);
1085 FLinkAddAddressBar := ini.ReadBool('AddressBar', 'LinkAdd', False);
1086 FAddressHistoryCount := ini.ReadInteger('AddressBar', 'HistoryCount', 100);
1087
1088 //?糸????????ャ??/span>
1089 FPreviewVisible := ini.ReadBool('Browser', 'PreviewVisible', True);
1090 FPreviewSize := TGikoPreviewSize(ini.ReadInteger('Browser', 'PreviewSize', Ord(gpsMedium)));
1091 FPreviewWait := ini.ReadInteger('Browser', 'PreviewWait', 500);
1092
1093 // ????????/span>
1094 FBrowserAutoMaximize := TGikoBrowserAutoMaximize(
1095 ini.ReadInteger('Window', 'BrowserAutoMaximize', Ord(gbmDoubleClick)) );
1096
1097 //?鴻??????筝?荀ф?贋?違?≪?ゃ?潟??/span>
1098 FListIconVisible := ini.ReadBool('ThreadList', 'StateIconVisible', True);
1099 FNonAcquiredCount := ini.ReadBool('ThreadList', 'NonAcquiredCount', False);
1100 FCreationTimeLogs := ini.ReadBool('ThreadList', 'CreationTimeLogs', True);
1101 FFutureThread := ini.ReadBool('ThreadList', 'FutureThread', True);
1102 FSelectInterval := ini.ReadInteger('ThreadList', 'SelectInterval', 110);
1103 //?純?若????
1104 FBBSSortIndex := ini.ReadInteger('ThreadList', 'BBSSortIndex', 0);
1105 FBBSSortOrder := ini.ReadBool('ThreadList', 'BBSSortOrder', True);
1106 FCategorySortIndex := ini.ReadInteger('ThreadList', 'CategorySortIndex', 0);
1107 FCategorySortOrder := ini.ReadBool('ThreadList', 'CategorySortOrder', True);
1108 FBoardSortIndex := ini.ReadInteger('ThreadList', 'BoardSortIndex', 0);
1109 FBoardSortOrder := ini.ReadBool('ThreadList', 'BoardSortOrder', True);
1110 //Dat?純?<?鴻???純?若????
1111 FDatOchiSortIndex := ini.ReadInteger('ThreadList', 'DatOchiSortIndex', -1);
1112 FDatOchiSortOrder := ini.ReadBool('ThreadList', 'DatOchiSortOrder', False);
1113
1114 //?吾??莨若?炊?????激?恰???私戎??┃絎?
1115 FUseMachineTime := ini.ReadBool('PostTime', 'UseMachineTime', False);
1116 FTimeAdjustSec := ini.ReadInteger('PostTime', 'TimeAdjustSec', 0);
1117 FTimeAdjust := ini.ReadBool('PostTime', 'TimeAdjust', True);
1118
1119 //?泣???潟??
1120 if Exists then begin
1121 for i := 0 to GetSoundCount - 1 do begin
1122 SoundFileName[i] := ini.ReadString('Sound', SoundName[i], '');
1123 if not FileExists(SoundFileName[i]) then
1124 SoundFileName[i] := '';
1125 end;
1126 end else begin
1127 s := ExtractFileDir(Application.ExeName) + '\sound\';
1128 SoundFileName[0] := s + '??緇?????.wav';
1129 SoundFileName[1] := s + '??緇?????(綏???).wav';
1130 SoundFileName[2] := s + '???贋??wav';
1131 SoundFileName[3] := '';
1132 SoundFileName[4] := s + '??????wav';
1133 end;
1134
1135 //???若??????/span>
1136 for i := 0 to MAIN_COOLBAND_COUNT - 1 do begin
1137 CoolSet.FCoolID := ini.ReadInteger('MainCoolBar', 'ID' + IntToStr(i), -1);
1138 CoolSet.FCoolWidth := ini.ReadInteger('MainCoolBar', 'Width' + IntToStr(i), -1);
1139 CoolSet.FCoolBreak := ini.ReadBool('MainCoolBar', 'Break' + IntToStr(i), False);
1140 MainCoolSet[i] := CoolSet;
1141 end;
1142 FSelectComboBoxWidth := ini.ReadInteger( 'ListCoolBar', 'SelectWidth', 127 );
1143 for i := 0 to LIST_COOLBAND_COUNT - 1 do begin
1144 CoolSet.FCoolID := ini.ReadInteger('ListCoolBar', 'ID' + IntToStr(i), -1);
1145 CoolSet.FCoolWidth := ini.ReadInteger('ListCoolBar', 'Width' + IntToStr(i), -1);
1146 CoolSet.FCoolBreak := ini.ReadBool('ListCoolBar', 'Break' + IntToStr(i), False);
1147 ListCoolSet[i] := CoolSet;
1148 end;
1149 for i := 0 to BROWSER_COOLBAND_COUNT - 1 do begin
1150 CoolSet.FCoolID := ini.ReadInteger('BrowserCoolBar', 'ID' + IntToStr(i), -1);
1151 CoolSet.FCoolWidth := ini.ReadInteger('BrowserCoolBar', 'Width' + IntToStr(i), -1);
1152 CoolSet.FCoolBreak := ini.ReadBool('BrowserCoolBar', 'Break' + IntToStr(i), False);
1153 BrowserCoolSet[i] := CoolSet;
1154 end;
1155
1156 //???若????
1157 FAbonDeleterlo := ini.ReadBool('Abon','Deleterlo',false);
1158 FAbonReplaceul := ini.ReadBool('Abon','Replaceul',false);
1159 FPopUpAbon := ini.ReadBool('Abon','Popup',false);
1160 FShowNGLinesNum := ini.ReadBool('Abon','ShowNGLines',false);
1161 FAddResAnchor := ini.ReadBool('Abon','AddResAnchor',false);
1162 FDeleteSyria := ini.ReadBool('Abon','DeleteSyria',false);
1163
1164 // ?????c??/span>
1165 FSpaceToNBSP := ini.ReadBool( 'Editor', 'SpaceToNBSP', True );
1166 FAmpToCharRef := ini.ReadBool( 'Editor', 'AmpToCharRef', False );
1167
1168 //Tab????篆?絖???茯??粋昭??/span>
1169 FTabAutoLoadSave := ini.ReadBool('TabAuto', 'TabAutoLoadSave', False);
1170
1171
1172 finally
1173 ini.Free;
1174 end;
1175 end;
1176 //?炊?贋?亥??RL茯??粋昭??/span>
1177 procedure TSetting.ReadBoardURLsFile();
1178 var
1179 ini: TMemIniFile;
1180 urlNum: Integer;
1181 i : Integer;
1182 begin
1183 if not FileExists(GetBoardURLFileName()) then
1184 MakeURLIniFile();
1185 ini := TMemIniFile.Create(GetBoardURLFileName());
1186 try
1187 urlNum := ini.ReadInteger('URL','count',0);
1188 BoardURLSelected := ini.ReadInteger('URL','selected',0);
1189 for i := 0 to urlNum - 1 do begin
1190 FBoardURLs.Append(ini.ReadString('URL',IntToStr(i+1),''));
1191 end;
1192 finally
1193 ini.Free;
1194 end;
1195
1196 end;
1197 //荐?????<?ゃ???絖?(system)
1198 procedure TSetting.WriteSystemSettingFile();
1199 var
1200 ini: TMemIniFile;
1201 begin
1202 ini := TMemIniFile.Create(GetFileName());
1203 try
1204 //??篆<???????<?泣?ゃ??/span>
1205 ini.WriteInteger('HTTP', 'RecvBufferSize', FRecvBufferSize);
1206 //HTTP1.1篏睡??/span>
1207 ini.WriteBool('HTTP', 'Protocol', FProtocol);
1208 //???????傑・膓?HTTP1.1篏睡??/span>
1209 ini.WriteBool('HTTP', 'ProxyProtocol', FProxyProtocol);
1210
1211 ini.WriteBool('ReadProxy', 'Proxy', FReadProxy);
1212 ini.WriteString('ReadProxy', 'Address', FReadProxyAddress);
1213 ini.WriteInteger('ReadProxy', 'Port', FReadProxyPort);
1214 ini.WriteString('ReadProxy', 'UserID', FReadProxyUserID);
1215 ini.WriteString('ReadProxy', 'Password', FReadProxyPassword);
1216
1217 ini.WriteBool('WriteProxy', 'Proxy', FWriteProxy);
1218 ini.WriteString('WriteProxy', 'Address', FWriteProxyAddress);
1219 ini.WriteInteger('WriteProxy', 'Port', FWriteProxyPort);
1220 ini.WriteString('WriteProxy', 'UserID', FWriteProxyUserID);
1221 ini.WriteString('WriteProxy', 'Password', FWriteProxyPassword);
1222
1223 ini.WriteString('Window', 'BrowserFontName', FBrowserFontName);
1224 ini.WriteInteger('Window', 'BrowserFontSize', FBrowserFontSize);
1225 ini.WriteInteger('Window', 'BrowserFontSize', FBrowserFontSize);
1226 ini.WriteInteger('Window', 'BrowserFontBold', FBrowserFontBold);
1227 ini.WriteInteger('Window', 'BrowserFontItalic', FBrowserFontItalic);
1228 ini.WriteInteger('Window', 'BrowserFontColor', FBrowserFontColor);
1229 ini.WriteInteger('Window', 'BrowserBackColor', FBrowserBackColor);
1230
1231 ini.WriteString('Window', 'CabinetFontName', FCabinetFontName);
1232 ini.WriteInteger('Window', 'CabinetFontSize', FCabinetFontSize);
1233 ini.WriteString('Window', 'CabinetFontColor', ColorToString(FCabinetFontColor));
1234 ini.WriteString('Window', 'CabinetBackColor', ColorToString(FCabinetBackColor));
1235
1236 ini.WriteString('Window', 'ListFontName', FListFontName);
1237 ini.WriteInteger('Window', 'ListFontSize', FListFontSize);
1238 ini.WriteString('Window', 'ListFontColor', ColorToString(FListFontColor));
1239 ini.WriteString('Window', 'ListBackColor', ColorToString(FListBackColor));
1240 ini.WriteBool('Window','UseOddColor',FUseOddColorOddResNum);
1241 ini.WriteString('Window', 'OddColor',ColorToString(FOddColor));
1242
1243 ini.WriteString('Window', 'EditorFontName', FEditorFontName);
1244 ini.WriteInteger('Window', 'EditorFontSize', FEditorFontSize);
1245 ini.WriteString('Window', 'EditorFontColor', ColorToString(FEditorFontColor));
1246 ini.WriteString('Window', 'EditorBackColor', ColorToString(FEditorBackColor));
1247
1248 ini.WriteString('Window', 'BrowserTabFontName', FBrowserTabFontName);
1249 ini.WriteInteger('Window', 'BrowserTabFontSize', FBrowserTabFontSize);
1250 ini.WriteBool('Window', 'BrowserTabFontBold', FBrowserTabFontBold);
1251 ini.WriteBool('Window', 'BrowserTabFontItalic', FBrowserTabFontItalic);
1252
1253 ini.WriteString('Window', 'HintFontName', FHintFontName);
1254 ini.WriteInteger('Window', 'HintFontSize', FHintFontSize);
1255 ini.WriteString('Window', 'HintFontColor', ColorToString(FHintFontColor));
1256 ini.WriteString('Window', 'HintBackColor', ColorToString(FHintBackColor));
1257
1258 ini.UpdateFile;
1259 finally
1260 ini.Free;
1261 end;
1262 end;
1263
1264 //荐?????<?ゃ???絖?(window)
1265 procedure TSetting.WriteWindowSettingFile();
1266 var
1267 i: Integer;
1268 ini: TMemIniFile;
1269 CoolSet: TCoolSet;
1270 begin
1271 ini := TMemIniFile.Create(GetFileName());
1272 try
1273 ini.WriteInteger('WindowSize', 'Top', WindowTop);
1274 ini.WriteInteger('WindowSize', 'Left', WindowLeft);
1275 ini.WriteInteger('WindowSize', 'Height', WindowHeight);
1276 ini.WriteInteger('WindowSize', 'Width', WindowWidth);
1277 ini.WriteBool('WindowSize', 'Max', WindowMax);
1278
1279 ini.WriteInteger('ViewStyle', 'ListView', Ord(ListStyle));
1280
1281 ini.WriteInteger('EditorWindowSize', 'Top', EditWindowTop);
1282 ini.WriteInteger('EditorWindowSize', 'Left', EditWindowLeft);
1283 ini.WriteInteger('EditorWindowSize', 'Height', EditWindowHeight);
1284 ini.WriteInteger('EditorWindowSize', 'Width', EditWindowWidth);
1285 ini.WriteBool('EditorWindowSize', 'Max', EditWindowMax);
1286 ini.WriteBool('EditorWindowSize', 'Stay', EditWindowStay);
1287 ini.WriteBool('EditorWindowSize', 'Translucent', EditWindowTranslucent);
1288
1289 ini.WriteInteger('OptionDialog', 'TabIndex', FOptionDialogTabIndex);
1290
1291 //???若??????/span>
1292 ini.WriteBool('ToolBar', 'StdVisible', FStdToolBarVisible);
1293 ini.WriteBool('ToolBar', 'AddressVisible', FAddressBarVisible);
1294 ini.WriteBool('ToolBar', 'LinkVisible', FLinkBarVisible);
1295 ini.WriteBool('ToolBar', 'ListVisible', FListToolBarVisible);
1296 ini.WriteBool('ToolBar', 'ListNameVisible', FListNameBarVisible);
1297 ini.WriteBool('ToolBar', 'BrowserVisible', FBrowserToolBarVisible);
1298 ini.WriteBool('ToolBar', 'BrowserNameVisible', FBrowserNameBarVisible);
1299 //???若??????rapable
1300 ini.WriteBool('ToolBar', 'ListWrapable', FListToolBarWrapable);
1301 ini.WriteBool('ToolBar', 'BrowserWrapable', FBrowserToolBarWrapable);
1302
1303 //?帥??
1304 ini.WriteBool('Tab', 'BrowserTabVisible', FBrowserTabVisible);
1305 ini.WriteInteger('Tab', 'BrowserTabPosition', Ord(FBrowserTabPosition));
1306 ini.WriteInteger('Tab', 'BrowserTabAppend', Ord(FBrowserTabAppend));
1307 ini.WriteInteger('Tab', 'BrowserTabStyle', Ord(FBrowserTabStyle));
1308
1309 //?<???祉?若?吾????/span>
1310 ini.WriteBool('MessageBar', 'Visible', FMessageBarVisible);
1311 ini.WriteInteger('MessageBar', 'Height', FMessegeBarHeight);
1312
1313 //?鴻???若?帥?鴻????/span>
1314 ini.WriteBool('StatusBar', 'Visible', FStatusBarVisible);
1315
1316 //???c????????
1317 ini.WriteBool('Cabinet', 'Visible', FCabinetVisible);
1318 ini.WriteInteger('Cabinet', 'Width', FCabinetWidth);
1319 ini.WriteInteger('Cabinet', 'Index', FCabinetIndex);
1320
1321 //???鴻?????泣?ゃ?冴?????贋梓綛?/span>
1322 ini.WriteInteger('List', 'Orientation', Ord(FListOrientation));
1323 ini.WriteInteger('List', 'Height', FListHeight);
1324 ini.WriteInteger('List', 'HeightState', Ord(FListHeightState));
1325 ini.WriteInteger('List', 'Width', FListWidth);
1326 ini.WriteInteger('List', 'WidthState', Ord(FListWidthState));
1327 // ini.WriteBool('List', 'HeightMax', FListHeightMax);
1328 // ini.WriteBool('List', 'WidthMax', FListWidthMax);
1329
1330
1331 // ini.WriteInteger('Window', 'BrowserFontSize', BrowserFontSize);
1332
1333 //???鴻????埈;腓?/span>
1334 ini.WriteBool('Function', 'ListViewNo', FListViewNo);
1335 //CSS篏睡??/span>
1336 ini.WriteBool('CSS', 'UseCSS', FUseCSS);
1337 //CSS???<?ゃ????
1338 ini.WriteString('CSS', 'FileName', FCSSFileName);
1339 //Mail罨?茵?ず
1340 ini.WriteBool('Thread', 'ShowMail', FShowMail);
1341 // ???壕;腓榊???/span>
1342 ini.DeleteKey( 'Thread', 'OnlyAHundredRes' ); // ?ゃ??荐????????/span>
1343 ini.WriteInteger('Thread', 'ResRange', FResRange);
1344 ini.WriteBool('Thread', 'ResRangeHold', FResRangeHold);
1345 // ?鴻??????筝?荀ц;腓榊???/span>
1346 ini.WriteInteger('ThreadList', 'ThreadRange', Ord( FThreadRange ));
1347 //???医???ょ∈茯?
1348 ini.WriteBool('Function', 'LogDeleteMessage', FDeleteMsg);
1349 //腟?篋?腆肴?
1350 ini.WriteBool('Function','ShowDialogForEnd',FShowDialogForEnd);
1351 //AllTabClose
1352 ini.WriteBool('Function','ShowDialogForAllTabClose', FShowDialogForAllTabClose);
1353 //Samba
1354 ini.WriteBool('Function','UseSamba', FUseSamba);
1355 //ResAnchorjamp
1356 ini.WriteBool('Function', 'ResAnchoJamp', ResAnchorJamp);
1357
1358 //???≪?????c???????????≪????茵?ず
1359 ini.WriteBool('Thread', 'UnActivePopup', FUnActivePopup);
1360 //???鴻???????≪???????????若???若????
1361 ini.WriteBool('Thread', 'ResPopupHeaderBold', FResPopupHeaderBold);
1362 //ini.WriteString('BoardURL', '2ch', FBoardURL2ch);
1363
1364 //茯?荐主?????若??D?祉???鴻???若??
1365 ini.WriteString('Attestation', 'UserID', FUserID);
1366 ini.WriteString('Attestation', 'Password', Encrypt(FPassword));
1367 ini.WriteBool('Attestation', 'AutoLogin', FAutoLogin);
1368 ini.WriteBool('Attestation', 'FForcedLogin', FForcedLogin);
1369 ini.WriteString('Attestation', 'FDolibURL', FDolibURL);
1370
1371 //URL??????????莎桁???≪????/span>
1372 ini.WriteBool('URLApp', 'Select', FURLApp);
1373 ini.WriteString('URLApp', 'File', FURLAppFile);
1374
1375 //mailto????????????篏?
1376 ini.WriteBool('Mailto', 'Open', FOpenMailer);
1377
1378 //???????≪????篏?臀?/span>
1379 ini.WriteInteger('Browser', 'PopupPosition', Ord(FPopupPosition));
1380
1381 //?≪?????鴻????/span>
1382 ini.WriteBool('AddressBar', 'URLDisplay', FURLDisplay);
1383 ini.WriteBool('AddressBar', 'TabStop', FAddressBarTabStop);
1384 ini.WriteBool('AddressBar', 'LinkAdd', FLinkAddAddressBar);
1385 ini.WriteInteger('AddressBar', 'HistoryCount', FAddressHistoryCount);
1386
1387 //?糸????????ャ??/span>
1388 ini.WriteBool('Browser', 'PreviewVisible', FPreviewVisible);
1389 ini.WriteInteger('Browser', 'PreviewSize', Ord(FPreviewSize));
1390 ini.WriteInteger('Browser', 'PreviewWait', FPreviewWait);
1391
1392 ini.WriteInteger('Window', 'BrowserAutoMaximize', Ord( BrowserAutoMaximize ) );
1393
1394 //?鴻??????筝?荀ф?贋?違?≪?ゃ?潟??/span>
1395 ini.WriteBool('ThreadList', 'StateIconVisible', FListIconVisible);
1396 ini.WriteBool('ThreadList', 'NonAcquiredCount', FNonAcquiredCount);
1397 ini.WriteBool('ThreadList', 'CreationTimeLogs',FCreationTimeLogs);
1398 ini.WriteBool('ThreadList', 'FutureThread', FFutureThread);
1399 ini.WriteInteger('ThreadList', 'SelectInterval', FSelectInterval);
1400 //?純?若????
1401 ini.WriteInteger('ThreadList', 'BBSSortIndex', FBBSSortIndex);
1402 ini.WriteBool('ThreadList', 'BBSSortOrder', FBBSSortOrder);
1403 ini.WriteInteger('ThreadList', 'CategorySortIndex', FCategorySortIndex);
1404 ini.WriteBool('ThreadList', 'CategorySortOrder', FCategorySortOrder);
1405 ini.WriteInteger('ThreadList', 'BoardSortIndex', FBoardSortIndex);
1406 ini.WriteBool('ThreadList', 'BoardSortOrder', FBoardSortOrder);
1407 ini.WriteInteger('ThreadList', 'DatOchiSortIndex', FDatOchiSortIndex);
1408 ini.WriteBool('ThreadList', 'DatOchiSortOrder', FDatOchiSortOrder);
1409
1410 //?吾??莨若?炊?????激?恰???私戎??┃絎?
1411 ini.WriteBool('PostTime', 'UseMachineTime', FUseMachineTime);
1412 ini.WriteInteger('PostTime', 'TimeAdjustSec', FTimeAdjustSec);
1413 ini.WriteBool('PostTime', 'TimeAdjust', FTimeAdjust);
1414
1415 //???鴻????????
1416 for i := 0 to Length(FBBSColumnWidth) - 1 do begin
1417 ini.WriteInteger('BBSColumnWidth', 'ID' + IntToStr(i), FBBSColumnWidth[i]);
1418 end;
1419 for i := 0 to Length(FCategoryColumnWidth) - 1 do begin
1420 ini.WriteInteger('CategoryColumnWidth', 'ID' + IntToStr(i), FCategoryColumnWidth[i]);
1421 end;
1422 for i := 0 to Length(FBoardColumnWidth) - 1 do begin
1423 ini.WriteInteger('BoardColumnWidth', 'ID' + IntToStr(i), FBoardColumnWidth[i]);
1424 end;
1425
1426 //?泣???潟??
1427 for i := 0 to GetSoundCount - 1 do begin
1428 if not FileExists(SoundFileName[i]) then
1429 SoundFileName[i] := '';
1430 ini.WriteString('Sound', SoundName[i], SoundFileName[i]);
1431 end;
1432
1433 //CoolBar
1434 ini.EraseSection('MainCoolBar');
1435 for i := 0 to MAIN_COOLBAND_COUNT - 1 do begin
1436 CoolSet := MainCoolSet[i];
1437 ini.WriteInteger('MainCoolBar', 'ID' + IntToStr(i), CoolSet.FCoolID);
1438 ini.WriteInteger('MainCoolBar', 'Width' + IntToStr(i), CoolSet.FCoolWidth);
1439 ini.WriteBool('MainCoolBar', 'Break' + IntToStr(i), CoolSet.FCoolBreak);
1440 end;
1441 ini.EraseSection('ListCoolBar');
1442 ini.WriteInteger( 'ListCoolBar', 'SelectWidth', FSelectComboBoxWidth );
1443 for i := 0 to LIST_COOLBAND_COUNT - 1 do begin
1444 CoolSet := ListCoolSet[i];
1445 ini.WriteInteger('ListCoolBar', 'ID' + IntToStr(i), CoolSet.FCoolID);
1446 ini.WriteInteger('ListCoolBar', 'Width' + IntToStr(i), CoolSet.FCoolWidth);
1447 ini.WriteBool('ListCoolBar', 'Break' + IntToStr(i), CoolSet.FCoolBreak);
1448 end;
1449 ini.EraseSection('BrowserCoolBar');
1450 for i := 0 to BROWSER_COOLBAND_COUNT - 1 do begin
1451 CoolSet := BrowserCoolSet[i];
1452 ini.WriteInteger('BrowserCoolBar', 'ID' + IntToStr(i), CoolSet.FCoolID);
1453 ini.WriteInteger('BrowserCoolBar', 'Width' + IntToStr(i), CoolSet.FCoolWidth);
1454 ini.WriteBool('BrowserCoolBar', 'Break' + IntToStr(i), CoolSet.FCoolBreak);
1455 end;
1456
1457 //???若????
1458 ini.WriteBool('Abon','Deleterlo',FAbonDeleterlo);
1459 ini.WriteBool('Abon','Replaceul',FAbonReplaceul);
1460 ini.WriteBool('Abon','Popup',FPopUpAbon);
1461 ini.WriteBool('Abon','ShowNGLines',FShowNGLinesNum);
1462 ini.WriteBool('Abon','AddResAnchor',FAddResAnchor);
1463 ini.WriteBool('Abon','DeleteSyria',FDeleteSyria);
1464
1465 // ?????c??/span>
1466 ini.WriteBool( 'Editor', 'SpaceToNBSP', FSpaceToNBSP );
1467 ini.WriteBool( 'Editor', 'AmpToCharRef', FAmpToCharRef );
1468
1469 ini.WriteBool('TabAuto', 'TabAutoLoadSave', FTabAutoLoadSave);
1470
1471 ini.UpdateFile;
1472 finally
1473 ini.Free;
1474 end;
1475 end;
1476
1477 //荐?????<?ゃ???絖?(name & mail)
1478 procedure TSetting.WriteNameMailSettingFile();
1479 var
1480 i: Integer;
1481 ini: TMemIniFile;
1482 begin
1483 ini := TMemIniFile.Create(GetFileName());
1484 try
1485 ini.EraseSection('Name');
1486 ini.EraseSection('Mail');
1487 ini.EraseSection('SelectText');
1488 for i := 0 to FNameList.Count - 1 do begin
1489 ini.WriteString('Name', Format('%.2d', [i + 1]), FNameList[i]);
1490 if i >= 39 then
1491 Break;
1492 end;
1493 for i := 0 to FMailList.Count - 1 do begin
1494 ini.WriteString('Mail', Format('%.2d', [i + 1]), FMailList[i]);
1495 if i >= 39 then
1496 Break;
1497 end;
1498 for i := 0 to FSelectTextList.Count - 1 do begin
1499 ini.WriteString('SelectText', Format('%.2d', [i + 1]), FSelectTextList[i]);
1500 if i >= 39 then
1501 Break;
1502 end;
1503 ini.UpdateFile;
1504 finally
1505 ini.Free;
1506 end;
1507 end;
1508
1509 procedure TSetting.WriteFolderSettingFile();
1510 var
1511 ini: TMemIniFile;
1512 begin
1513 ini := TMemIniFile.Create(GetFileName());
1514 try
1515 if ExtractFilePath(Application.ExeName) + 'Log' = NewLogFolder then
1516 ini.DeleteKey('Folder', 'LogFolder')
1517 else
1518 ini.WriteString('Folder', 'LogFolder', NewLogFolder);
1519 ini.UpdateFile;
1520 finally
1521 ini.Free;
1522 end;
1523 end;
1524 //?炊?贋?亥??oardURL??篆?絖?
1525 procedure TSetting.WriteBoardURLSettingFile();
1526 var
1527 ini: TMemIniFile;
1528 i : Integer;
1529 oldcount : Integer;
1530 begin
1531 ini := TMemIniFile.Create(GetBoardURLFileName());
1532 try
1533 oldcount := ini.ReadInteger('URL','count',FBoardURLs.Count);
1534 ini.WriteInteger('URL','count',FBoardURLs.Count);
1535 ini.WriteInteger('URL','selected',BoardURLSelected);
1536 for i := 0 to FBoardURLs.Count -1 do begin
1537 ini.WriteString('URL',IntToStr(i+1),FBoardURLs.Strings[i]);
1538 end;
1539 if oldcount > FBoardURLs.Count then begin
1540 for i := FBoardURLs.Count to oldcount do begin
1541 ini.DeleteKey('URL',IntToStr(i+1));
1542 end;
1543 end;
1544 ini.UpdateFile;
1545 finally
1546 ini.Free;
1547 end;
1548 end;
1549
1550 {$R-}
1551 //???鴻????????????????/span>
1552 function TSetting.GetBBSColumnWidth(index: Integer): Integer;
1553 begin
1554 Result := IfThen(index in [0..Length(FBBSColumnWidth) - 1], FBBSColumnWidth[index], 0);
1555 end;
1556
1557 function TSetting.GetCategoryColumnWidth(index: Integer): Integer;
1558 begin
1559 Result := IfThen(index in [0..Length(FCategoryColumnWidth) - 1], FCategoryColumnWidth[index], 0);
1560 end;
1561
1562 function TSetting.GetBoardColumnWidth(index: Integer): Integer;
1563 begin
1564 Result := IfThen(index in [0..Length(FBoardColumnWidth) - 1], FBoardColumnWidth[index], 0);
1565 end;
1566 {$IFDEF DEBUG}
1567 {$R+}
1568 {$ENDIF}
1569
1570 procedure TSetting.SetBBSColumnWidth(index: Integer; value: Integer);
1571 begin
1572 if index in [0..Length(FBBSColumnWidth) - 1] then
1573 FBBSColumnWidth[index] := value;
1574 end;
1575
1576 procedure TSetting.SetCategoryColumnWidth(index: Integer; value: Integer);
1577 begin
1578 if index in [0..Length(FCategoryColumnWidth) - 1] then
1579 FCategoryColumnWidth[index] := value;
1580 end;
1581
1582 procedure TSetting.SetBoardColumnWidth(index: Integer; value: Integer);
1583 begin
1584 if index in [0..Length(FBoardColumnWidth) - 1] then
1585 FBoardColumnWidth[index] := value;
1586 end;
1587
1588 function TSetting.GetSoundCount: Integer;
1589 begin
1590 Result := Length(SOUND_NAME);
1591 end;
1592
1593 function TSetting.GetSoundName(Index: Integer): string;
1594 begin
1595 if (Index < GetSoundCount) and (Index >= 0) then
1596 Result := SOUND_NAME[Index].Name
1597 else
1598 Result := '';
1599 end;
1600
1601 function TSetting.GetSoundViewName(Index: Integer): string;
1602 begin
1603 if (Index < GetSoundCount) and (Index >= 0) then
1604 Result := SOUND_NAME[Index].ViewName
1605 else
1606 Result := '';
1607 end;
1608
1609 function TSetting.GetSoundFileName(Index: Integer): string;
1610 begin
1611 if (Index < GetSoundCount) and (Index >= 0) then
1612 Result := SOUND_NAME[Index].FileName
1613 else
1614 Result := '';
1615 end;
1616
1617 procedure TSetting.SetSoundFileName(Index: Integer; value: string);
1618 begin
1619 if (Index < GetSoundCount) and (Index >= 0) then
1620 SOUND_NAME[Index].FileName := value;
1621 end;
1622
1623 function TSetting.FindSoundFileName(Name: string): string;
1624 var
1625 i: Integer;
1626 begin
1627 for i := 0 to GetSoundCount - 1 do begin
1628 if SoundName[i] = Name then begin
1629 Result := SoundFileName[i];
1630 Exit;
1631 end;
1632 end;
1633 Result := '';
1634 end;
1635
1636 function TSetting.Encrypt(s: string): string;
1637 var
1638 cryptObj: THogeCryptAuto;
1639 inputStream, outputStream: TStringStream;
1640 begin
1641 inputStream := TStringStream.Create(s);
1642 outputStream := TStringStream.Create('');
1643 cryptObj := THogeCryptAuto.Create;
1644 try
1645 // ???桁??
1646 cryptObj.Encrypt(inputStream, GIKO_ENCRYPT_TEXT, outputStream);
1647
1648 // ???ゃ?????????у?荀?????????????鴻???????
1649 Result := HogeBase64Encode(outputStream.DataString);
1650 finally
1651 cryptObj.Free;
1652 outputStream.Free;
1653 inputStream.Free;
1654 end;
1655 end;
1656
1657 function TSetting.Decrypt(s: string): string;
1658 var
1659 cryptObj: THogeCryptAuto;
1660 inputStream, outputStream: TStringStream;
1661 begin
1662 try
1663 inputStream := TStringStream.Create(HogeBase64Decode(s));
1664 except
1665 Result := '';
1666 Exit;
1667 end;
1668 outputStream := TStringStream.Create('');
1669 cryptObj := THogeCryptAuto.Create;
1670 try
1671 // 緇??/span>
1672 cryptObj.Decrypt(inputStream, GIKO_ENCRYPT_TEXT, outputStream);
1673 Result := outputStream.DataString;
1674 finally
1675 cryptObj.Free;
1676 outputStream.Free;
1677 inputStream.Free;
1678 end;
1679 end;
1680
1681 function TSetting.GetMainCoolSet(Index: Integer): TCoolSet;
1682 begin
1683 if Index in [0..MAIN_COOLBAND_COUNT - 1] then
1684 Result := FMainCoolBar[Index]
1685 else begin
1686 Result.FCoolID := -1;
1687 Result.FCoolWidth := -1;
1688 Result.FCoolBreak := False;
1689 end;
1690 end;
1691
1692 function TSetting.GetBoardCoolSet(Index: Integer): TCoolSet;
1693 begin
1694 if Index in [0..LIST_COOLBAND_COUNT - 1] then
1695 Result := FListCoolBar[Index]
1696 else begin
1697 Result.FCoolID := -1;
1698 Result.FCoolWidth := -1;
1699 Result.FCoolBreak := False;
1700 end;
1701 end;
1702
1703 function TSetting.GetBrowserCoolSet(Index: Integer): TCoolSet;
1704 begin
1705 if Index in [0..BROWSER_COOLBAND_COUNT - 1] then
1706 Result := FBrowserCoolBar[Index]
1707 else begin
1708 Result.FCoolID := -1;
1709 Result.FCoolWidth := -1;
1710 Result.FCoolBreak := False;
1711 end;
1712 end;
1713
1714 procedure TSetting.SetMainCoolSet(Index: Integer; CoolSet: TCoolSet);
1715 begin
1716 if Index in [0..MAIN_COOLBAND_COUNT - 1] then
1717 FMainCoolBar[Index] := CoolSet;
1718 end;
1719
1720 procedure TSetting.SetBoardCoolSet(Index: Integer; CoolSet: TCoolSet);
1721 begin
1722 if Index in [0..LIST_COOLBAND_COUNT - 1] then
1723 FListCoolBar[Index] := CoolSet;
1724 end;
1725
1726 procedure TSetting.SetBrowserCoolSet(Index: Integer; CoolSet: TCoolSet);
1727 begin
1728 if Index in [0..BROWSER_COOLBAND_COUNT - 1] then
1729 FBrowserCoolBar[Index] := CoolSet;
1730 end;
1731
1732 //url.ini????????????????????
1733 procedure TSetting.MakeURLIniFile();
1734 var
1735 ini: TMemIniFile;
1736 begin
1737 ini := TMemIniFile.Create(GetBoardURLFileName());
1738 try
1739 ini.WriteInteger('URL','count',2);
1740 ini.WriteInteger('URL','selected',2);
1741 ini.WriteString('URL','1',DEFAULT_2CH_BOARD_URL1);
1742 ini.WriteString('URL','2',DEFAULT_2CH_BOARD_URL2);
1743 ini.UpdateFile;
1744 finally
1745 ini.Free;
1746 end;
1747 end;
1748
1749 (*************************************************************************
1750 *???若?????<?ゃ??????緇?鐚????刻????<?ゃ????鐚?
1751 *************************************************************************)
1752 function TSetting.GetBoardFileName: string;
1753 begin
1754 Result := GetAppDir + CONFIG_DIR_NAME + '\' + BOARD_FILE_NAME;
1755 end;
1756
1757 (*************************************************************************
1758 *???若?????<?ゃ??????緇?鐚????刻????<?ゃ????鐚?
1759 *************************************************************************)
1760 function TSetting.GetCustomBoardFileName: string;
1761 begin
1762 Result := GetAppDir + CONFIG_DIR_NAME + '\' + CUSTOMBOARD_FILE_NAME;
1763 end;
1764
1765 (*************************************************************************
1766 *???若?????c??????????
1767 *************************************************************************)
1768 function TSetting.GetBoardDir: string;
1769 begin
1770 Result := GetAppDir + CONFIG_DIR_NAME + '\' + BOARD_DIR_NAME + '\';
1771 end;
1772
1773 (*************************************************************************
1774 *???潟???????????????弱????緇?
1775 *************************************************************************)
1776 function TSetting.GetHtmlTempFileName: string;
1777 begin
1778 Result := TEMP_FOLDER;
1779 end;
1780
1781
1782 (*************************************************************************
1783 *絎?茵????<?ゃ????????????緇?
1784 *************************************************************************)
1785 function TSetting.GetAppDir: string;
1786 begin
1787 Result := ExtractFilePath(Application.ExeName);
1788 end;
1789
1790 (*************************************************************************
1791 *TempHtml???<?ゃ??????緇?鐚????刻????<?ゃ????鐚?
1792 *************************************************************************)
1793 function TSetting.GetTempFolder: string;
1794 begin
1795 Result := GetAppDir + TEMP_FOLDER;
1796 end;
1797
1798 (*************************************************************************
1799 *sent.ini???<?ゃ??????緇?鐚????刻????<?ゃ????鐚?
1800 *************************************************************************)
1801 function TSetting.GetSentFileName: string;
1802 begin
1803 Result := GetAppDir + SENT_FILE_NAME;
1804 end;
1805
1806 (*************************************************************************
1807 *outbox.ini???<?ゃ??????緇?鐚????刻????<?ゃ????鐚?
1808 *************************************************************************)
1809 function TSetting.GetOutBoxFileName: string;
1810 begin
1811 Result := GetAppDir + OUTBOX_FILE_NAME;
1812 end;
1813
1814 (*************************************************************************
1815 *Config??????????緇?
1816 *************************************************************************)
1817 function TSetting.GetConfigDir: string;
1818 begin
1819 Result := IncludeTrailingPathDelimiter(GetAppDir + CONFIG_DIR_NAME);
1820 end;
1821
1822 function TSetting.GetStyleSheetDir: string;
1823 begin
1824 Result := IncludeTrailingPathDelimiter(GetConfigDir + CSS_DIR_NAME);
1825 end;
1826
1827 function TSetting.GetSkinDir: string;
1828 begin
1829 Result := IncludeTrailingPathDelimiter(GetConfigDir + SKIN_DIR_NAME);
1830 end;
1831
1832 function TSetting.GetSkinHeaderFileName: string;
1833 begin
1834 Result := CSSFileName + SKIN_HEADER_FILE_NAME;
1835 end;
1836
1837 function TSetting.GetSkinFooterFileName: string;
1838 begin
1839 Result := CSSFileName + SKIN_FOOTER_FILE_NAME;
1840 end;
1841
1842 function TSetting.GetSkinNewResFileName: string;
1843 begin
1844 Result := CSSFileName + SKIN_NEWRES_FILE_NAME;
1845 end;
1846
1847 function TSetting.GetSkinResFileName: string;
1848 begin
1849 Result := CSSFileName + SKIN_RES_FILE_NAME;
1850 end;
1851
1852 function TSetting.GetSkinBookmarkFileName: string;
1853 begin
1854 Result := CSSFileName + SKIN_BOOKMARK_FILE_NAME;
1855 end;
1856
1857 function TSetting.GetSkinNewmarkFileName: string;
1858 begin
1859 Result := CSSFileName + SKIN_NEWMARK_FILE_NAME;
1860 end;
1861
1862 function TSetting.GetNGWordsDir: string;
1863 begin
1864 Result := IncludeTrailingPathDelimiter(GetConfigDir + NGWORDs_DIR_NAME);
1865 end;
1866
1867 function TSetting.GetBoardPlugInDir: string;
1868 begin
1869 Result := IncludeTrailingPathDelimiter(GetConfigDir + BOARD_PLUGIN_DIR_NAME);
1870 end;
1871
1872 procedure TSetting.SetUseCSS( value: Boolean );
1873 begin
1874
1875 FUseCSS := value;
1876
1877 FUseSkin :=
1878 UseCSS and
1879 (Pos( GetSkinDir, CSSFileName ) > 0) and
1880 FileExists( GetSkinHeaderFileName );
1881
1882 end;
1883
1884 procedure TSetting.SetCSSFileName( fileName: string );
1885 begin
1886
1887 FCSSFileName := fileName;
1888
1889 FUseSkin :=
1890 UseCSS and
1891 (Pos( GetSkinDir, CSSFileName ) > 0) and
1892 FileExists( GetSkinHeaderFileName );
1893
1894 end;
1895
1896 function TSetting.GetSambaFileName: string;
1897 begin
1898 Result := GetAppDir + SAMBATIME_FILE_NAME;
1899 end;
1900 //?炊?贋?育?ゅ??????眼?????鴻??篆?絖????<?ゃ??/span>
1901 function TSetting.GetIgnoreFileName: string;
1902 begin
1903 Result := GetConfigDir + IGNORE_FILE_NAME;
1904 end;
1905
1906 end.
1907
1908

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