Develop and Download Open Source Software

Browse CVS Repository

Annotation of /gikonavigoeson/gikonavi/Setting.pas

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


Revision 1.140 - (hide annotations) (download) (as text)
Tue Jun 16 15:22:43 2009 UTC (14 years, 10 months ago) by h677
Branch: MAIN
CVS Tags: v1_61_0_796, v1_61_0_797, v1_61_0_795, v1_61_0_798, v1_61_0_799, v1_62_0_805, v1_62_0_804, v1_62_0_803, v1_62_0_802, v1_61_0_800, v1_61_1_801
Branch point for: Bb61
Changes since 1.139: +1 -0 lines
File MIME type: text/x-pascal
Bb60、ォ、鬣゙。シ・ク

1 hi_ 1.1 unit Setting;
2    
3 h677 1.100
4 hi_ 1.1 interface
5    
6     uses
7 h677 1.99 SysUtils, Classes, Graphics, Forms, {Math, IniFiles, UCryptAuto, UBase64,}
8 h677 1.124 ComCtrls, GestureModel, IniFiles, SkinFiles;
9 hi_ 1.1
10     const
11     MAIN_COOLBAND_COUNT = 4; //繝。繧、繝ウCoolBand縺ョ謨ー
12     LIST_COOLBAND_COUNT = 2; //譚ソCoolBand縺ョ謨ー
13     BROWSER_COOLBAND_COUNT = 3; //繝悶Λ繧ヲ繧カCoolBand縺ョ謨ー
14    
15 h677 1.100
16 hi_ 1.1 type
17     TGikoTabPosition = (gtpTop, gtpBottom); // 繧ソ繝紋ス咲スョ
18 h677 1.119 TGikoTabAppend = (gtaFirst, gtaLast, gtaRight, gtaLeft); // 繧ソ繝冶ソス蜉?菴咲スョ
19 hi_ 1.1 TGikoTabStyle = (gtsTab, gtsButton, gtsFlat); // 繧ソ繝悶せ繧ソ繧、繝ォ
20     TGikoListOrientation = (gloHorizontal, gloVertical); // 繝ェ繧ケ繝亥桙逶エ繝サ豌エ蟷ウ
21     TGikoListState = (glsMax, glsNormal, glsMin); // 繝ェ繧ケ繝医し繧、繧コ迥カ諷?/span>
22     // 繝昴ャ繝励い繝??陦ィ遉コ菴咲スョ
23 h677 1.126 TGikoPopupPosition = (gppLeftTop = 0, gppTop, gppRightTop,
24     gppLeft, gppCenter, gppRight,
25     gppLeftBottom, gppBottom, gppRightBottom);
26 hi_ 1.1 //繝励Ξ繝薙Η繝シ繧オ繧、繧コ
27     TGikoPreviewSize = (gpsXLarge, gpsLarge, gpsMedium, gpsSmall, gpsXSmall);
28 yoffy 1.39 TGikoBrowserAutoMaximize = (gbmNone, gbmClick, gbmDoubleClick);
29     // 繝悶Λ繧ヲ繧カ繧定?蜍慕噪縺ォ譛?螟ァ蛹悶☆繧区擅莉カ
30 yoffy 1.49 /// 繝ャ繧ケ陦ィ遉コ遽?峇縲?0 縲 65535 縺ッ譛?譁ー n 繝ャ繧ケ謇ア縺???/span>
31     /// 蟆?擂 201-300 縺ョ繧医≧縺ェ遽?峇繧呈戟縺溘○繧句庄閭ス諤ァ繧り??∴縺ヲ荳贋ス 2 byte 縺ッ莠育エ???/span>
32     TGikoResRange = (grrAll, grrSelect, grrKoko, grrNew);
33 hi_ 1.1
34 yoffy 1.55 /// 繧ケ繝ャ繝?ラ荳?隕ァ陦ィ遉コ遽?峇
35 h677 1.106 TGikoThreadRange = (gtrAll, gtrSelect, gtrLog, gtrNew, gtrLive, gtrArch);
36 yoffy 1.55
37 yoffy 1.83 //! 繧ケ繝代Β繝輔ぅ繝ォ繧ソ繝シ繧「繝ォ繧エ繝ェ繧コ繝?
38     TGikoSpamFilterAlgorithm = (
39     gsfaNone, gsfaPaulGraham, gsfaGaryRobinson, gsfaGaryRobinsonFisher);
40    
41 h677 1.86
42 yoffy 1.62 /// 繧ォ繝?ざ繝ェ繝ェ繧ケ繝医?繧ォ繝ゥ繝? ID
43     type TGikoBBSColumnID = (gbbscTitle);
44 yoffy 1.63 /// 繧ォ繝?ざ繝ェ繝ェ繧ケ繝医?繧ォ繝ゥ繝?蜷?/span>
45 yoffy 1.65 const GikoBBSColumnCaption : array[0..0] of string =
46 yoffy 1.62 ( '繧ォ繝?ざ繝ェ蜷?#39; );
47 yoffy 1.63 /// 繧ォ繝?ざ繝ェ繝ェ繧ケ繝医き繝ゥ繝?驟榊?
48     type TGikoBBSColumnList = class( TList )
49     private
50     function GetItem( index : integer ) : TGikoBBSColumnID;
51     procedure SetItem( index : integer; value : TGikoBBSColumnID);
52     public
53     constructor Create;
54 yoffy 1.68 destructor Destroy; override;
55 yoffy 1.63 function Add( value : TGikoBBSColumnID ) : Integer;
56 yoffy 1.64 property Items[index : integer]: TGikoBBSColumnID read GetItem write SetItem; default;
57 yoffy 1.63 end;
58 yoffy 1.62 /// 譚ソ繝ェ繧ケ繝医?繧ォ繝ゥ繝? ID
59 yoffy 1.65 type TGikoCategoryColumnID = (gccTitle, gccRoundName, gccLastModified);
60 yoffy 1.62 /// 譚ソ繝ェ繧ケ繝医?繧ォ繝ゥ繝?蜷?/span>
61 yoffy 1.65 const GikoCategoryColumnCaption : array[0..2] of string =
62     ( '譚ソ蜷?#39;, '蟾。蝗樔コ育エ?#39;, '蜿門セ玲律譎?#39; );
63 yoffy 1.63 /// 譚ソ繝ェ繧ケ繝医き繝ゥ繝?驟榊?
64     type TGikoCategoryColumnList = class( TList )
65     private
66     function GetItem( index : integer ) : TGikoCategoryColumnID;
67     procedure SetItem( index : integer; value : TGikoCategoryColumnID);
68     public
69     constructor Create;
70 yoffy 1.68 destructor Destroy; override;
71 yoffy 1.63 function Add( value : TGikoCategoryColumnID ) : Integer;
72 yoffy 1.64 property Items[index : integer]: TGikoCategoryColumnID read GetItem write SetItem; default;
73 yoffy 1.63 end;
74 yoffy 1.62 /// 繧ケ繝ャ繝ェ繧ケ繝医?繧ォ繝ゥ繝? ID
75     type TGikoBoardColumnID = (gbcTitle, gbcAllCount, gbcLocalCount, gbcNonAcqCount,
76 h677 1.103 gbcNewCount, gbcUnReadCount, gbcRoundName, gbcRoundDate, gbcCreated, gbcLastModified, gbcVigor );{gbcLastModified,}
77 yoffy 1.62 /// 繧ケ繝ャ繝ェ繧ケ繝医?繧ォ繝ゥ繝?蜷?/span>
78 h677 1.103 const GikoBoardColumnCaption : array[0..10] of string =
79 yoffy 1.62 ( '繧ケ繝ャ繝?ラ蜷?#39;, '繧ォ繧ヲ繝ウ繝?#39;, '蜿門セ?#39;, '譛ェ蜿門セ?#39;, '譁ー逹?',
80 h677 1.103 '譛ェ隱ュ', '蟾。蝗樔コ育エ?#39;, '蜿門セ玲律譎?#39;, '繧ケ繝ャ菴懈?譌・譎?#39;, '譛?邨よ峩譁ー譌・譎?#39;, '蜍「縺?#39; );
81     const GikoBoardColumnAlignment : array[0..10] of TAlignment = (
82 yoffy 1.65 taLeftJustify, taRightJustify, taRightJustify, taRightJustify,
83     taRightJustify, taRightJustify, taLeftJustify, taLeftJustify,
84 h677 1.103 taLeftJustify, taLeftJustify, taRightJustify);
85 yoffy 1.63 /// 繧ケ繝ャ繝ェ繧ケ繝医き繝ゥ繝?驟榊?
86     type TGikoBoardColumnList = class( TList )
87     private
88     function GetItem( index : integer ) : TGikoBoardColumnID;
89     procedure SetItem( index : integer; value : TGikoBoardColumnID);
90     public
91     constructor Create;
92 yoffy 1.68 destructor Destroy; override;
93 yoffy 1.63 function Add( value : TGikoBoardColumnID ) : Integer;
94 yoffy 1.64 property Items[index : integer]: TGikoBoardColumnID read GetItem write SetItem; default;
95 yoffy 1.63 end;
96 yoffy 1.62
97     type
98 hi_ 1.1 //CoolBar險ュ螳壹Ξ繧ウ繝シ繝?/span>
99     TCoolSet = record
100     FCoolID: Integer;
101     FCoolWidth: Integer;
102     FCoolBreak: Boolean;
103     end;
104    
105     TSetting = class(TObject)
106     private
107     //蜿嶺ソ。繝舌ャ繝輔ぃ繧オ繧、繧コ
108     FRecvBufferSize: Integer;
109     //HTTP1.1菴ソ逕ィ
110     FProtocol: Boolean;
111     //繝励Ο繧ュ繧キ謗・邯唏TTP1.1菴ソ逕ィ
112     FProxyProtocol: Boolean;
113    
114     //繝励Ο繧ュ繧キ?郁ェュ霎シ逕ィ??/span>
115     FReadProxy: Boolean;
116     FReadProxyAddress: string;
117     FReadProxyPort: Integer;
118     FReadProxyUserID: string;
119     FReadProxyPassword: string;
120    
121     //繝励Ο繧ュ繧キ?域嶌霎シ逕ィ??/span>
122     FWriteProxy: Boolean;
123     FWriteProxyAddress: string;
124     FWriteProxyPort: Integer;
125     FWriteProxyUserID: string;
126     FWriteProxyPassword: string;
127    
128     //繧ュ繝」繝薙ロ繝?ヨ
129     FCabinetFontName: string;
130     FCabinetFontSize: Integer;
131     FCabinetFontBold: Boolean;
132     FCabinetFontItalic: Boolean;
133     FCabinetFontColor: TColor;
134     FCabinetBackColor: TColor;
135    
136     //繝ェ繧ケ繝?/span>
137     FListFontName: string;
138     FListFontSize: Integer;
139     FListFontBold: Boolean;
140     FListFontItalic: Boolean;
141     FListFontColor: TColor;
142     FListBackColor: TColor;
143    
144     //繝悶Λ繧ヲ繧カ
145 yoffy 1.6 FBrowserFontName: string; // ''...default
146     FBrowserFontSize: Integer; // 0...default
147     FBrowserFontBold: Integer; // 0...default, -1...False, 1...True
148     FBrowserFontItalic: Integer; // 荳翫↓蜷後§
149 yoffy 1.14 FBrowserFontColor: Integer; // -1...default
150     FBrowserBackColor: Integer; // 荳翫↓蜷後§
151 hi_ 1.1
152     //繧ィ繝?ぅ繧ソ
153     FEditorFontName: string;
154     FEditorFontSize: Integer;
155     FEditorFontBold: Boolean;
156     FEditorFontItalic: Boolean;
157     FEditorFontColor: TColor;
158     FEditorBackColor: TColor;
159    
160     //繧ソ繝悶ヵ繧ゥ繝ウ繝?/span>
161     FBrowserTabFontName: string;
162     FBrowserTabFontSize: Integer;
163     FBrowserTabFontBold: Boolean;
164     FBrowserTabFontItalic: Boolean;
165    
166     //繝偵Φ繝医え繧」繝ウ繝峨え
167     FHintFontName: string;
168     FHintFontSize: Integer;
169     //FHintFontBold: Boolean;
170     //FHintFontItalic: Boolean;
171     FHintFontColor: TColor;
172     FHintBackColor: TColor;
173    
174     //繧ヲ繧」繝ウ繝峨え繧オ繧、繧コ
175     FWindowTop: Integer;
176     FWindowLeft: Integer;
177     FWindowHeight: Integer;
178     FWindowWidth: Integer;
179     FWindowMax: Boolean;
180     //繝ェ繧ケ繝医ン繝・繝シ繧ケ繧ソ繧、繝ォ
181     FListStyle: TViewStyle;
182    
183     //繝??繝ォ繝舌?陦ィ遉コ
184     FStdToolBarVisible: Boolean;
185     FAddressBarVisible: Boolean;
186     FLinkBarVisible: Boolean;
187     FListToolBarVisible: Boolean;
188     FListNameBarVisible: Boolean;
189     FBrowserToolBarVisible: Boolean;
190     FBrowserNameBarVisible: Boolean;
191    
192     //繝悶Λ繧ヲ繧カ繧ソ繝?/span>
193     FBrowserTabVisible: Boolean;
194     FBrowserTabPosition: TGikoTabPosition;
195     FBrowserTabAppend: TGikoTabAppend;
196     FBrowserTabStyle: TGikoTabStyle;
197    
198     //繝。繝?そ繝シ繧ク繝舌?
199     FMessageBarVisible: Boolean;
200     FMessegeBarHeight: Integer;
201    
202     //繧ケ繝??繧ソ繧ケ繝舌?
203     FStatusBarVisible: Boolean;
204    
205     //繧ュ繝」繝薙ロ繝?ヨ蜿ッ隕悶?繧オ繧、繧コ
206     FCabinetVisible: Boolean;
207     FCabinetWidth: Integer;
208    
209     //繝ェ繧ケ繝医?繝悶Λ繧ヲ繧カ繧オ繧、繧コ
210     FListOrientation: TGikoListOrientation;
211     FListHeight: Integer;
212     FListHeightState: TGikoListState;
213     FListWidth: Integer;
214     FListWidthState: TGikoListState;
215     // FListHeightMax: Boolean;
216     // FListWidthMax: Boolean;
217    
218     //騾∽ソ。逕ィ蜷榊燕繝サ繝。繝シ繝ォ
219     FNameList: TStringList;
220     FMailList: TStringList;
221    
222     //繧ィ繝?ぅ繧ソ繝シ繧ヲ繧」繝ウ繝峨え繧オ繧、繧コ
223     FEditWindowTop: Integer;
224     FEditWindowLeft: Integer;
225     FEditWindowHeight: Integer;
226     FEditWindowWidth: Integer;
227     FEditWindowMax: Boolean;
228 genyakun 1.87 FEditWindowStay: Boolean;
229     FEditWindowTranslucent: Boolean;
230 hi_ 1.1
231     //繝ェ繧ケ繝育分蜿キ陦ィ遉コ
232     FListViewNo: Boolean;
233     //CSS陦ィ遉コ
234     FUseCSS: Boolean;
235 yoffy 1.14 // 繧ケ繧ュ繝ウ陦ィ遉コ(荳?譎ら噪縺ェ繧ゅ?縺ァ ini 縺ォ菫晏ュ倥?縺輔l縺ェ縺?
236     FUseSkin: Boolean;
237 h677 1.97 //縺九■繧??懊@繧?畑縺ョSkin繧貞茜逕ィ縺吶k縺?/span>
238     FUseKatjushaType : Boolean;
239 hi_ 1.1 //mail谺?。ィ遉コ
240     FShowMail: Boolean;
241 yoffy 1.49 /// 繝ャ繧ケ陦ィ遉コ遽?峇
242 yoffy 1.51 FResRange : Longint;
243     /// 襍キ蜍墓凾繝ャ繧ケ陦ィ遉コ遽?峇縺ョ蝗コ螳?/span>
244     FResRangeHold : Boolean;
245 yoffy 1.55 /// 繧ケ繝ャ繝?ラ荳?隕ァ陦ィ遉コ遽?峇
246     FThreadRange : TGikoThreadRange;
247 yoffy 1.2 //髱槭い繧ッ繝?ぅ繝匁凾繝ャ繧ケ繝昴ャ繝励い繝??陦ィ遉コ
248 hi_ 1.1 FUnActivePopup: Boolean;
249 yoffy 1.2 //繝ャ繧ケ繝昴ャ繝励い繝??繝倥ャ繝?繝シ繝懊?繝ォ繝?/span>
250     FResPopupHeaderBold: Boolean;
251 hi_ 1.1
252     //繝ュ繧ー繝輔か繝ォ繝?
253     FLogFolder: string;
254 h677 1.88 FLogFolderP: string; //繝代せ蜷阪′繝代せ蛹コ蛻?j險伜捷縺ァ邨ゅo縺」縺ヲ縺?k縲?/span>
255 hi_ 1.1 FNewLogFolder: string;
256    
257     //繝ェ繧ケ繝医き繝ゥ繝?繝倥ャ繝?繝シ繧オ繧、繧コ
258     FBBSColumnWidth: array[0..0] of Integer;
259 yoffy 1.65 FCategoryColumnWidth: array[0..2] of Integer;
260 h677 1.103 FBoardColumnWidth: array[0..10] of Integer;
261 hi_ 1.1
262 yoffy 1.62 /// 繧ォ繝?ざ繝ェ繝ェ繧ケ繝医き繝ゥ繝?鬆?コ?/span>
263 yoffy 1.63 FBBSColumnOrder : TGikoBBSColumnList;
264 yoffy 1.62 /// 譚ソ繝ェ繧ケ繝医き繝ゥ繝?鬆?コ?/span>
265 yoffy 1.63 FCategoryColumnOrder : TGikoCategoryColumnList;
266 yoffy 1.62 /// 繧ケ繝ャ繝ェ繧ケ繝医き繝ゥ繝?鬆?コ?/span>
267 yoffy 1.63 FBoardColumnOrder : TGikoBoardColumnList;
268 yoffy 1.62
269 q9_ 1.46 //繧ス繝シ繝磯??/span>
270     FBBSSortIndex: Integer;
271     FBBSSortOrder: Boolean;
272     FCategorySortIndex: Integer;
273     FCategorySortOrder: Boolean;
274     FBoardSortIndex: Integer;
275     FBoardSortOrder: Boolean;
276    
277 q9_ 1.53 //Dat關ス縺。繧ケ繝ャ繧ス繝シ繝磯??/span>
278     FDatOchiSortIndex: Integer;
279     FDatOchiSortOrder: Boolean;
280    
281 hi_ 1.1 //邨櫁セシ縺ソ譁?ュ怜?
282     FSelectTextList: TStringList;
283    
284     //譚ソ荳?隕ァURL
285 h677 1.11 //FBoardURL2ch: string;
286 yoffy 1.14 FBoardURLs: TStringList;
287     FBoardURLSelected: Integer;
288 hi_ 1.1
289     //繝ヲ繝シ繧カID繝サ繝代せ繝ッ繝シ繝?/span>
290     FUserID: string;
291     FPassword: string;
292     FAutoLogin: Boolean;
293 genyakun 1.87 FForcedLogin: Boolean;
294 h677 1.36 FDolibURL: string;
295 hi_ 1.1
296     //URL繧ッ繝ェ繝?け譎りオキ蜍輔い繝励Μ
297     FURLApp: Boolean;
298     FURLAppFile: string;
299    
300     //mailto繧ッ繝ェ繝?け譎ょ虚菴?/span>
301     FOpenMailer: Boolean;
302    
303     //蜑企勁遒コ隱?/span>
304     FDeleteMsg: Boolean;
305    
306     //CoolBar?医Γ繧、繝ウ繝サ譚ソ繝サ繝悶Λ繧ヲ繧カ??/span>
307     FMainCoolBar: array[0..MAIN_COOLBAND_COUNT - 1] of TCoolSet;
308 yoffy 1.2 FListCoolBar: array[0..LIST_COOLBAND_COUNT - 1] of TCoolSet;
309 hi_ 1.1 FBrowserCoolBar: array[0..BROWSER_COOLBAND_COUNT - 1] of TCoolSet;
310    
311     //ToolBar Wrapable
312     FListToolBarWrapable: Boolean;
313     FBrowserToolBarWrapable: Boolean;
314    
315     //繝昴ャ繝励い繝??菴咲スョ
316     FPopupPosition: TGikoPopupPosition;
317    
318     //繧「繝峨Ξ繧ケ繝舌?
319     FURLDisplay: Boolean;
320     FAddressBarTabStop: Boolean;
321     FLinkAddAddressBar: Boolean;
322     FAddressHistoryCount: Integer;
323    
324     //逕サ蜒上?繝ャ繝薙Η繝シ
325     FPreviewVisible: Boolean;
326     FPreviewSize: TGikoPreviewSize;
327     FPreviewWait: Integer;
328    
329 yoffy 1.39 // 繝悶Λ繧ヲ繧カ
330     FBrowserAutoMaximize: TGikoBrowserAutoMaximize;
331    
332 hi_ 1.1 //繧ケ繝ャ繝?ラ荳?隕ァ譖エ譁ー繧「繧、繧ウ繝ウ陦ィ遉コ
333     FListIconVisible: Boolean;
334    
335 genyakun 1.87 //繧ケ繝ャ繝?ラ荳?隕ァ縺ァLog縺ョ縺ゅk繧ケ繝ャ繝?ラ縺ョ縺ソ繧ケ繝ャ菴懈?譌・繧定。ィ遉コ縺吶k縺?/span>
336     FCreationTimeLogs: Boolean;
337     //繧ケ繝ャ繝?ラ荳?隕ァ縺ョ繧ケ繝ャ逕滓?譌・縺ァ譛ェ譚・縺ョ繧ケ繝ャ縺ョ逕滓?譌・繧定。ィ遉コ縺励↑縺?/span>
338 q9_ 1.44 FFutureThread: Boolean;
339 h677 1.29
340 hi_ 1.1 //譖ク縺崎セシ縺ソ譎ゅ?繧キ繝ウ譎る俣菴ソ逕ィ險ュ螳?/span>
341     FUseMachineTime: Boolean;
342     FTimeAdjustSec: Integer;
343     FTimeAdjust: Boolean;
344    
345 h677 1.11 //縺ゅ⊂縲懊s
346     FAbonDeleterlo : Boolean; //&rlo;繧貞炎繧九°
347     FAbonReplaceul : Boolean; //<ul>繧ソ繧ー繧?lt;br>繧ソ繧ー縺ォ鄂ョ謠帙☆繧九°
348 yoffy 1.14 FPopUpAbon : Boolean; //繝ャ繧ケ繝昴ャ繝励い繝??譎ゅ?縺ゅ⊂縲懊s譛牙柑
349 h677 1.11 FShowNGLinesNum : Boolean; //隧イ蠖薙@縺滂ショ?ァ繝ッ繝シ繝峨ヵ繧。繧、繝ォ縺ョ陦梧焚繧定。ィ遉コ
350     FAddResAnchor : Boolean; //NG繝ャ繧ケ縺ク縺ョ繝ャ繧ケ繧「繝ウ繧ォ繝シ繧定ソス蜉?縺吶k
351 h677 1.93 FDeleteSyria : Boolean; //繧キ繝ェ繧「隱槭ヶ繝ゥ繧ッ繝ゥ蟇セ遲?/span>
352     FIgnoreKana : Boolean; //蜈ィ蜊願ァ偵?繧峨き繝翫?驕輔>繧堤┌隕悶☆繧九°
353 h677 1.3
354 h677 1.11 // 繧ケ繝ャ繝?ラ邨櫁セシ繝輔ぅ繝シ繝ォ繝峨?蟷?/span>
355     FSelectComboBoxWidth : Integer;
356 yoffy 1.5
357 h677 1.11 // 譛?蠕後↓驕ク謚槭&繧後◆繧ェ繝励す繝ァ繝ウ繝?繧、繧「繝ュ繧ー縺ョ繧ソ繝?/span>
358     FOptionDialogTabIndex: Integer;
359 yoffy 1.8
360 h677 1.11 // 譛?蠕後↓驕ク謚槭&繧後◆繧ュ繝」繝薙ロ繝?ヨ
361     FCabinetIndex: Integer;
362 yoffy 1.8
363 yoffy 1.14 //邨ゆコ?凾縺ォ遒コ隱阪ム繧、繧「繝ュ繧ー繧定。ィ遉コ縺吶k縺?/span>
364     FShowDialogForEnd : Boolean;
365 h677 1.38 //蜈ィ縺ヲ縺ョ繧ソ繝夜哩縺倥k縺ョ縺ィ縺阪↓遒コ隱阪ム繧、繧「繝ュ繧ー繧定。ィ遉コ縺吶k
366     FShowDialogForAllTabClose: Boolean;
367 h677 1.19 //蜿門セ励Ξ繧ケ謨ー縺ィ繧ケ繝ャ繝?ラ縺ョ繝ャ繧ケ謨ー縺檎焚縺ェ縺」縺溘→縺阪↓騾壼クク閭梧勹濶イ縺ィ驕輔▲縺溯牡縺ョ閭梧勹濶イ繧剃スソ逕ィ縺吶k縺?/span>
368     FUseOddColorOddResNum: Boolean;
369     FOddColor: TColor;
370 h677 1.92 //繝ャ繧ケ謨ー蠅玲ク帛シキ隱ソ譎ゅ↓縲?∈謚槭い繧、繝?Β縺ォ繝輔か繝シ繧ォ繧ケ縺檎┌縺?→縺阪↓螟ェ蟄励↓縺吶k縺?/span>
371     FUnFocusedBold : Boolean;
372 h677 1.13
373 h677 1.92 //Samba24蟇セ遲匁ゥ溯?繧剃スソ縺?°
374     FUseSamba: Boolean;
375 h677 1.36
376 h677 1.38 //繝ャ繧ケ繧「繝ウ繧ォ繝シ繧偵け繝ェ繝?け縺励※繧ク繝」繝ウ繝励☆繧九°
377     FResAnchorJamp: Boolean;
378    
379 genyakun 1.47 //Tab閾ェ蜍穂ソ晏ュ?/span>
380 genyakun 1.56 FTabAutoLoadSave : Boolean;
381 h677 1.122 //譛?蠕後↓髢九>縺ヲ縺?◆繧ケ繝ャ繝?ラ縺ョURL
382     FLastCloseTabURL: String;
383 genyakun 1.71 //縺ォ縺。繧?s隱樊。亥?繧オ繝昴?繝域ゥ溯?
384     F2chSupport : Boolean;
385    
386 yoffy 1.40 // 繧ィ繝?ぅ繧ソ
387 yoffy 1.41 FSpaceToNBSP : Boolean; ///< 蜊願ァ偵せ繝壹?繧ケ縲ゝab 繧 &nbsp; 縺ォ鄂ョ謠?/span>
388     FAmpToCharRef : Boolean; ///< '&' 繧 &amp; 縺ォ鄂ョ謠?/span>
389 h677 1.43
390     //繝悶Λ繧ヲ繧カ繧ソ繝夜撼陦ィ遉コ縺ョ譎ゅ?繧ケ繝ャ荳?隕ァ縺ァ縺ョ繧ォ繝シ繧ス繝ォ繧ュ繝シ遘サ蜍輔?辟。蜿榊ソ懈凾髢?/span>
391     FSelectInterval : Integer;
392 h677 1.67
393     //KuroutSettingTab 隧ウ邏ー險ュ螳壹ち繝悶?ActiveTab
394     FKuroutSettingTabIndex: Integer;
395 yoffy 1.74
396     //! 繝槭え繧ケ繧ク繧ァ繧ケ繝√Ε繝シ
397     FGestures : TGestureModel;
398 yoffy 1.75 //! 繝槭え繧ケ繧ク繧ァ繧ケ繝√Ε繝シ繧剃スソ逕ィ縺吶k縺九←縺?°
399     FGestureEnabled : Boolean;
400 h677 1.115 //! 繝槭え繧ケ繧ク繧ァ繧ケ繝√Ε繝シ繧偵さ繝ウ繝?く繧ケ繝育ュ峨?荳翫〒辟。蜉ケ
401     FGestureIgnoreContext : Boolean;
402 h677 1.81 //繝輔す繧「繝翫ヨ繝ゥ繝??險ュ螳?/span>
403     FLocalTrapAtt : Boolean;
404     FRemoteTrapAtt : Boolean;
405     FReadTimeOut: Integer;
406 genyakun 1.77
407 yoffy 1.83 //! 菴ソ逕ィ縺吶k繧ケ繝代Β繝輔ぅ繝ォ繧ソ繝シ
408     FSpamFilterAlgorithm : TGikoSpamFilterAlgorithm;
409 h677 1.84 //繝溘Η繝シ繝医@縺ヲ繧九°
410     FMute: Boolean;
411 h677 1.85 //繧ケ繝ャ邨櫁セシ縺ソ縺ァ譛ェ遒コ螳壽枚蟄励b譛牙柑縺ォ縺吶k縺?/span>
412     FUseUndecided: Boolean;
413 genyakun 1.87
414 h677 1.108 //Be2ch
415 genyakun 1.87 //隱崎ィシ逕ィ繝ヲ繝シ繧カID繝サ繝代せ繝ッ繝シ繝?/span>
416     FBeUserID: String;
417 h677 1.89 FBeCode: String;
418 h677 1.90 FBeAutoLogin: Boolean;
419 h677 1.91 FBeLogin: Boolean;
420     //螻・豁エ縺ョ譛?螟ァ菫晏ュ倅サカ謨ー
421     FMaxRecordCount : Integer;
422 h677 1.86
423 h677 1.101 //繧ケ繝ャ繝?ラ荳?隕ァ繧偵ム繧ヲ繝ウ繝ュ繝シ繝牙セ後↓繧ス繝シ繝医☆繧九°
424     FAutoSortThreadList : Boolean;
425 h677 1.107
426     //InputAssist繝輔か繝シ繝?縺ョ菴咲スョ
427     FInputAssistFormLeft :Integer;
428     FInputAssistFormTop :Integer;
429     //InputAssist繝輔か繝シ繝?縺ョ繧オ繧、繧コ
430     FInputAssistFormWidth: Integer;
431     FInputAssistFormHeight: Integer;
432    
433 h677 1.110 //! Cookie縺ォ莉伜刈縺吶k蝗コ螳壹さ繝シ繝?/span>
434 h677 1.108 FFixedCookie: String;
435 h677 1.110 //! 繝ェ繝ウ繧ッ遘サ蜍募ア・豁エ縺ョ菫晄戟謨ー
436     FMoveHistorySize : Integer;
437 h677 1.111 //! 譛?蟆丞喧縺励◆縺ィ縺阪↓繧ソ繧ケ繧ッ繝医Ξ繧、縺ォ譬シ邏阪☆繧九°
438     FStoredTaskTray : Boolean;
439 h677 1.113 //! 繧ソ繝悶?遘サ蜍輔〒繝ォ繝シ繝励r險ア蜿ッ縺吶k
440     FLoopBrowserTabs : Boolean;
441 h677 1.114 //! 100繝ャ繧ケ陦ィ遉コ縺ョ蜈磯?ュ陦ィ遉コ繝ャ繧ケ謨ー
442     FHeadResCount : Integer;
443 h677 1.137 //! 100繝ャ繧ケ陦ィ遉コ謨ー?域僑蠑オ逕ィ??/span>
444     FResRangeExCount: Integer;
445 h677 1.116 //! 髢「騾」繧ュ繝シ繝ッ繝シ繝芽ソス蜉?繝輔Λ繧ー
446     FAddKeywordLink: Boolean;
447 h677 1.117 //! dat鄂ョ謠帙r譛牙柑縺ォ縺吶k
448     FReplaceDat: Boolean;
449 h677 1.118 //! sent.ini繝輔ぃ繧、繝ォ縺ョ繧オ繧、繧コ?亥腰菴庚B??/span>
450     FSentIniFileSize: Integer;
451 h677 1.120 //! 繝ェ繝ウ繧ッURL蜿門セ励?蟇セ雎。諡。蠑オ蟄?/span>
452     FExtList: String;
453 h677 1.124 //! Skin髢「騾」
454     FSkinFiles: TSkinFiles;
455 h677 1.125 //! index繝輔ぃ繧、繝ォ繧定ェュ縺ソ譎ゅ↓dat繧呈、懃エ「縺吶k
456     FCheckDatFile: Boolean;
457 h677 1.127 //! 蜷栗D繝ャ繧ケ繧「繝ウ繧ォ繝シ陦ィ遉コ
458     FLimitResCountMessage: Boolean;
459 h677 1.128 //! 繝ャ繧ケ繝昴ャ繝励い繝??陦ィ遉コ菴咲スョdeltaX
460     FRespopupDeltaX: Integer;
461     //! 繝ャ繧ケ繝昴ャ繝励い繝??陦ィ遉コ菴咲スョdeltaY
462     FRespopupDeltaY: Integer;
463     //! 繝ャ繧ケ繝昴ャ繝励い繝??繧ソ繧、繝槭?
464     FRespopupWait: Integer;
465 h677 1.130 //! 繝。繝シ繝ォ谺?Ξ繧ケ繝昴ャ繝励い繝??
466     FRespopupMailTo: Boolean;
467 h677 1.139 //! 隱、辷?メ繧ァ繝?け
468     FUseGobakuCheck: Boolean;
469 hi_ 1.1 function GetMainCoolSet(Index: Integer): TCoolSet;
470     function GetBoardCoolSet(Index: Integer): TCoolSet;
471     function GetBrowserCoolSet(Index: Integer): TCoolSet;
472     procedure SetMainCoolSet(Index: Integer; CoolSet: TCoolSet);
473     procedure SetBoardCoolSet(Index: Integer; CoolSet: TCoolSet);
474     procedure SetBrowserCoolSet(Index: Integer; CoolSet: TCoolSet);
475    
476     function GetBBSColumnWidth(index: Integer): Integer;
477     function GetCategoryColumnWidth(index: Integer): Integer;
478     function GetBoardColumnWidth(index: Integer): Integer;
479     procedure SetBBSColumnWidth(index: Integer; value: Integer);
480     procedure SetCategoryColumnWidth(index: Integer; value: Integer);
481     procedure SetBoardColumnWidth(index: Integer; value: Integer);
482    
483     function GetSoundName(Index: Integer): string;
484     function GetSoundViewName(Index: Integer): string;
485     function GetSoundFileName(Index: Integer): string;
486     procedure SetSoundFileName(Index: Integer; value: string);
487     function Encrypt(s: string): string;
488     function Decrypt(s: string): string;
489 h677 1.11
490 yoffy 1.14 procedure MakeURLIniFile();
491    
492     procedure SetUseCSS( value: Boolean );
493     procedure SetCSSFileName( fileName: string );
494 h677 1.124 function GetCSSFileName: string;
495 h677 1.112 //! 繝励Ο繧ュ繧キ險ュ螳夊ェュ縺ソ霎シ縺ソ
496     procedure ReadProxySettings(memIni: TMemIniFile);
497     //! 蜷?ィョ繧ヲ繧」繝ウ繝峨え險ュ螳夊ェュ縺ソ霎シ縺ソ
498     procedure ReadWindowSettings(memIni: TMemIniFile);
499     //! 蜈・蜉帛ア・豁エ隱ュ縺ソ霎シ縺ソ?域、懃エ「?九Γ繝シ繝ォ谺?シ句錐蜑搾シ?/span>
500     procedure ReadInputHisotrys(memIni: TMemIniFile);
501     //! 繝ェ繧ケ繝医き繝ゥ繝?蟷?ェュ縺ソ霎シ縺ソ
502     procedure ReadListColumnWidth(memIni: TMemIniFile);
503     //! 繧ォ繝?ざ繝ェ繝ェ繧ケ繝医き繝ゥ繝?鬆?コ剰ェュ縺ソ霎シ縺ソ
504     procedure ReadOrdColumn(memIni: TMemIniFile);
505 hi_ 1.1 protected
506    
507     public
508     constructor Create;
509     destructor Destroy; override;
510     function GetFileName: string;
511 yoffy 1.14 function GetBoardURLFileName: string;
512 hi_ 1.1 procedure ReadSettingFile;
513 yoffy 1.14 procedure ReadBoardURLsFile;
514 hi_ 1.1 procedure WriteSystemSettingFile;
515     procedure WriteWindowSettingFile;
516     procedure WriteNameMailSettingFile;
517     procedure WriteFolderSettingFile();
518 yoffy 1.14 procedure WriteBoardURLSettingFile;
519 hi_ 1.1 function GetSoundCount: Integer;
520     function FindSoundFileName(Name: string): string;
521    
522 yoffy 1.14 function GetBoardFileName: string;
523     function GetCustomBoardFileName: string;
524 yoffy 1.18 function GetBoardDir: string;
525 yoffy 1.14 function GetHtmlTempFileName: string;
526     function GetAppDir: string;
527     function GetTempFolder: string;
528     function GetSentFileName: string;
529     function GetConfigDir: string;
530     function GetSkinDir: string;
531     function GetStyleSheetDir: string;
532     function GetOutBoxFileName: string;
533 yoffy 1.15 function GetNGWordsDir: string;
534 yoffy 1.16 function GetBoardPlugInDir: string;
535 h677 1.35 function GetSambaFileName: string;
536     function GetIgnoreFileName: string;
537 yoffy 1.74 function GetGestureFileName : string;
538 yoffy 1.79 function GetSpamFilterFileName : string;
539 h677 1.100 function GetLanguageFileName: string;
540 h677 1.99 function GetMainKeyFileName: String;
541     function GetEditorKeyFileName: String;
542 h677 1.93 procedure WriteLogFolder(AVal : String);
543 h677 1.102 function GetInputAssistFileName : String;
544 h677 1.117 function GetReplaceFileName: String;
545 h677 1.133 function GetExtprevieFileName: String;
546 h677 1.110 {
547     \brief 繝ェ繝ウ繧ッ螻・豁エ縺ョ菫晄戟繧オ繧、繧コ縺ョsetter
548 h677 1.133 \param AVal 險ュ螳壹☆繧九し繧、繧コ( >0)
549 h677 1.110 }
550     procedure SetMoveHistorySize(AVal : Integer);
551 hi_ 1.1 //蜿嶺ソ。繝舌ャ繝輔ぃ繧オ繧、繧コ
552     property RecvBufferSize: Integer read FRecvBufferSize write FRecvBufferSize;
553     //HTTP1.1菴ソ逕ィ
554     property Protocol: Boolean read FProtocol write FProtocol;
555     //繝励Ο繧ュ繧キ謗・邯唏TTP1.1菴ソ逕ィ
556     property ProxyProtocol: Boolean read FProxyProtocol write FProxyProtocol;
557    
558     property ReadProxy: Boolean read FReadProxy write FReadProxy;
559     property ReadProxyAddress: string read FReadProxyAddress write FReadProxyAddress;
560     property ReadProxyPort: Integer read FReadProxyPort write FReadProxyPort;
561     property ReadProxyUserID: string read FReadProxyUserID write FReadProxyUserID;
562     property ReadProxyPassword: string read FReadProxyPassword write FReadProxyPassword;
563    
564     property WriteProxy: Boolean read FWriteProxy write FWriteProxy;
565     property WriteProxyAddress: string read FWriteProxyAddress write FWriteProxyAddress;
566     property WriteProxyPort: Integer read FWriteProxyPort write FWriteProxyPort;
567     property WriteProxyUserID: string read FWriteProxyUserID write FWriteProxyUserID;
568     property WriteProxyPassword: string read FWriteProxyPassword write FWriteProxyPassword;
569    
570     property CabinetFontName: string read FCabinetFontName write FCabinetFontName;
571     property CabinetFontSize: Integer read FCabinetFontSize write FCabinetFontSize;
572     property CabinetFontBold: Boolean read FCabinetFontBold write FCabinetFontBold;
573     property CabinetFontItalic: Boolean read FCabinetFontItalic write FCabinetFontItalic;
574     property CabinetFontColor: TColor read FCabinetFontColor write FCabinetFontColor;
575     property CabinetBackColor: TColor read FCabinetBackColor write FCabinetBackColor;
576    
577     property ListFontName: string read FListFontName write FListFontName;
578     property ListFontSize: Integer read FListFontSize write FListFontSize;
579     property ListFontBold: Boolean read FListFontBold write FListFontBold;
580     property ListFontItalic: Boolean read FListFontItalic write FListFontItalic;
581     property ListFontColor: TColor read FListFontColor write FListFontColor;
582     property ListBackColor: TColor read FListBackColor write FListBackColor;
583    
584 yoffy 1.6 property BrowserFontName: string read FBrowserFontName write FBrowserFontName;
585     property BrowserFontSize: Integer read FBrowserFontSize write FBrowserFontSize;
586     property BrowserFontBold: Integer read FBrowserFontBold write FBrowserFontBold;
587     property BrowserFontItalic: Integer read FBrowserFontItalic write FBrowserFontItalic;
588     property BrowserFontColor: Integer read FBrowserFontColor write FBrowserFontColor;
589     property BrowserBackColor: Integer read FBrowserBackColor write FBrowserBackColor;
590 hi_ 1.1
591     property EditorFontName: string read FEditorFontName write FEditorFontName;
592     property EditorFontSize: Integer read FEditorFontSize write FEditorFontSize;
593     property EditorFontBold: Boolean read FEditorFontBold write FEditorFontBold;
594     property EditorFontItalic: Boolean read FEditorFontItalic write FEditorFontItalic;
595     property EditorFontColor: TColor read FEditorFontColor write FEditorFontColor;
596     property EditorBackColor: TColor read FEditorBackColor write FEditorBackColor;
597    
598     property BrowserTabFontName: string read FBrowserTabFontName write FBrowserTabFontName;
599     property BrowserTabFontSize: Integer read FBrowserTabFontSize write FBrowserTabFontSize;
600     property BrowserTabFontBold: Boolean read FBrowserTabFontBold write FBrowserTabFontBold;
601     property BrowserTabFontItalic: Boolean read FBrowserTabFontItalic write FBrowserTabFontItalic;
602    
603     property HintFontName: string read FHintFontName write FHintFontName;
604     property HintFontSize: Integer read FHintFontSize write FHintFontSize;
605     //property HintFontBold: Boolean read FHintFontBold write FHintFontBold;
606     //property HintFontItalic: Boolean read FHintFontItalic write FHintFontItalic;
607     property HintFontColor: TColor read FHintFontColor write FHintFontColor;
608     property HintBackColor: TColor read FHintBackColor write FHintBackColor;
609    
610     property WindowTop: Integer read FWindowTop write FWindowTop;
611     property WindowLeft: Integer read FWindowLeft write FWindowLeft;
612     property WindowHeight: Integer read FWindowHeight write FWindowHeight;
613     property WindowWidth: Integer read FWindowWidth write FWindowWidth;
614     property WindowMax: Boolean read FWindowMax write FWindowMax;
615     property ListStyle: TViewStyle read FListStyle write FListStyle;
616    
617     property StdToolBarVisible: Boolean read FStdToolBarVisible write FStdToolBarVisible;
618     property AddressBarVisible: Boolean read FAddressBarVisible write FAddressBarVisible;
619     property LinkBarVisible: Boolean read FLinkBarVisible write FLinkBarVisible;
620     property ListToolBarVisible: Boolean read FListToolBarVisible write FListToolBarVisible;
621     property ListNameBarVisible: Boolean read FListNameBarVisible write FListNameBarVisible;
622     property BrowserToolBarVisible: Boolean read FBrowserToolBarVisible write FBrowserToolBarVisible;
623     property BrowserNameBarVisible: Boolean read FBrowserNameBarVisible write FBrowserNameBarVisible;
624    
625     property BrowserTabVisible: Boolean read FBrowserTabVisible write FBrowserTabVisible;
626     property BrowserTabPosition: TGikoTabPosition read FBrowserTabPosition write FBrowserTabPosition;
627     property BrowserTabAppend: TGikoTabAppend read FBrowserTabAppend write FBrowserTabAppend;
628     property BrowserTabStyle: TGikoTabStyle read FBrowserTabStyle write FBrowserTabStyle;
629    
630     property MessageBarVisible: Boolean read FMessageBarVisible write FMessageBarVisible;
631     property MessegeBarHeight: Integer read FMessegeBarHeight write FMessegeBarHeight;
632    
633     property StatusBarVisible: Boolean read FStatusBarVisible write FStatusBarVisible;
634    
635     property CabinetVisible: Boolean read FCabinetVisible write FCabinetVisible;
636     property CabinetWidth: Integer read FCabinetWidth write FCabinetWidth;
637    
638     property ListOrientation: TGikoListOrientation read FListOrientation write FListOrientation;
639     property ListHeight: Integer read FListHeight write FListHeight;
640     property ListHeightState: TGikoListState read FListHeightState write FListHeightState;
641     property ListWidth: Integer read FListWidth write FListWidth;
642     property ListWidthState: TGikoListState read FListWidthState write FListWidthState;
643     // property ListHeightMax: Boolean read FListHeightMax write FListHeightMax;
644     // property ListWidthMax: Boolean read FListWidthMax write FListWidthMax;
645    
646     property NameList: TStringList read FNameList write FNameList;
647     property MailList: TStringList read FMailList write FMailList;
648     property SelectTextList: TStringList read FSelectTextList write FSelectTextList;
649    
650     property EditWindowTop: Integer read FEditWindowTop write FEditWindowTop;
651     property EditWindowLeft: Integer read FEditWindowLeft write FEditWindowLeft;
652     property EditWindowHeight: Integer read FEditWindowHeight write FEditWindowHeight;
653     property EditWindowWidth: Integer read FEditWindowWidth write FEditWindowWidth;
654     property EditWindowMax: Boolean read FEditWindowMax write FEditWindowMax;
655 deux 1.20 property EditWindowStay: Boolean read FEditWindowStay write FEditWindowStay;
656 h677 1.38 property EditWindowTranslucent: Boolean read FEditWindowTranslucent write FEditWindowTranslucent;
657 hi_ 1.1
658     property ListViewNo: Boolean read FListViewNo write FListViewNo;
659 yoffy 1.14 property UseCSS: Boolean read FUseCSS write SetUseCSS;
660 h677 1.124 property CSSFileName: string read GetCSSFileName write SetCSSFileName;
661 h677 1.97 property UseKatjushaType : Boolean read FUseKatjushaType write FUseKatjushaType;
662 yoffy 1.14 property UseSkin: Boolean read FUseSkin;
663 hi_ 1.1
664     property ShowMail: Boolean read FShowMail write FShowMail;
665 yoffy 1.49 property ResRange : Longint read FResRange write FResRange;
666 yoffy 1.51 property ResRangeHold : Boolean read FResRangeHold write FResRangeHold;
667 yoffy 1.55 property ThreadRange : TGikoThreadRange read FThreadRange write FThreadRange;
668 hi_ 1.1 property UnActivePopup: Boolean read FUnActivePopup write FUnActivePopup;
669 yoffy 1.2 property ResPopupHeaderBold: Boolean read FResPopupHeaderBold write FResPopupHeaderBold;
670 hi_ 1.1
671 h677 1.88 property LogFolder: string read FLogFolder write WriteLogFolder;
672     property LogFolderP: string read FLogFolderP;
673 hi_ 1.1 property NewLogFolder: string read FNewLogFolder write FNewLogFolder;
674    
675     property BBSColumnWidth[index: Integer]: Integer read GetBBSColumnWidth write SetBBSColumnWidth;
676     property CategoryColumnWidth[index: Integer]: Integer read GetCategoryColumnWidth write SetCategoryColumnWidth;
677     property BoardColumnWidth[index: Integer]: Integer read GetBoardColumnWidth write SetBoardColumnWidth;
678    
679 yoffy 1.63 property BBSColumnOrder : TGikoBBSColumnList read FBBSColumnOrder write FBBSColumnOrder;
680     property CategoryColumnOrder : TGikoCategoryColumnList read FCategoryColumnOrder write FCategoryColumnOrder;
681     property BoardColumnOrder : TGikoBoardColumnList read FBoardColumnOrder write FBoardColumnOrder;
682 yoffy 1.62
683 hi_ 1.1 property SoundName[index: Integer]: string read GetSoundName;
684     property SoundViewName[index: Integer]: string read GetSoundViewName;
685     property SoundFileName[index: Integer]: string read GetSoundFileName write SetSoundFileName;
686    
687 q9_ 1.46 property BBSSortIndex: Integer read FBBSSortIndex write FBBSSortIndex;
688     property BBSSortOrder: Boolean read FBBSSortOrder write FBBSSortOrder;
689     property CategorySortIndex: Integer read FCategorySortIndex write FCategorySortIndex;
690     property CategorySortOrder: Boolean read FCategorySortOrder write FCategorySortOrder;
691     property BoardSortIndex: Integer read FBoardSortIndex write FBoardSortIndex;
692     property BoardSortOrder: Boolean read FBoardSortOrder write FBoardSortOrder;
693    
694 q9_ 1.53 property DatOchiSortIndex: Integer read FDatOchiSortIndex write FDatOchiSortIndex;
695     property DatOchiSortOrder: Boolean read FDatOchiSortOrder write FDatOchiSortOrder;
696    
697 h677 1.11 //property BoardURL2ch: string read FBoardURL2ch write FBoardURL2ch;
698     property BoardURLs: TStringList read FBoardURLs write FBoardURLs;
699 yoffy 1.14 property BoardURLSelected: Integer read FBoardURLSelected write FBoardURLSelected;
700 hi_ 1.1 property UserID: string read FUserID write FUserID;
701     property Password: string read FPassword write FPassword;
702     property AutoLogin: Boolean read FAutoLogin write FAutoLogin;
703 h677 1.38 property ForcedLogin: Boolean read FForcedLogin write FForcedLogin;
704 h677 1.36 property DolibURL: string read FDolibURL write FDolibURL;
705 hi_ 1.1
706     property URLApp: Boolean read FURLApp write FURLApp;
707     property URLAppFile: string read FURLAppFile write FURLAppFile;
708    
709     property OpenMailer: Boolean read FOpenMailer write FOpenMailer;
710    
711     property DeleteMsg: Boolean read FDeleteMsg write FDeleteMsg;
712    
713     property MainCoolSet[Index: Integer]: TCoolSet read GetMainCoolSet write SetMainCoolSet;
714     property ListCoolSet[Index: Integer]: TCoolSet read GetBoardCoolSet write SetBoardCoolSet;
715     property BrowserCoolSet[Index: Integer]: TCoolSet read GetBrowserCoolSet write SetBrowserCoolSet;
716    
717     property ListToolBarWrapable: Boolean read FListToolBarWrapable write FListToolBarWrapable;
718     property BrowserToolBarWrapable: Boolean read FBrowserToolBarWrapable write FBrowserToolBarWrapable;
719    
720     property PopupPosition: TGikoPopupPosition read FPopupPosition write FPopupPosition;
721    
722     property URLDisplay: Boolean read FURLDisplay write FURLDisplay;
723     property AddressBarTabStop: Boolean read FAddressBarTabStop write FAddressBarTabStop;
724     property LinkAddAddressBar: Boolean read FLinkAddAddressBar write FLinkAddAddressBar;
725     property AddressHistoryCount: Integer read FAddressHistoryCount write FAddressHistoryCount;
726    
727     property PreviewVisible: Boolean read FPreviewVisible write FPreviewVisible;
728     property PreviewSize: TGikoPreviewSize read FPreviewSize write FPreviewSize;
729     property PreviewWait: Integer read FPreviewWait write FPreviewWait;
730 yoffy 1.39 property BrowserAutoMaximize: TGikoBrowserAutoMaximize read FBrowserAutoMaximize write FBrowserAutoMaximize;
731 hi_ 1.1
732     property ListIconVisible: Boolean read FListIconVisible write FListIconVisible;
733 h677 1.38 property CreationTimeLogs: Boolean read FCreationTimeLogs write FCreationTimeLogs;
734     property FutureThread: Boolean read FFutureThread write FFutureThread;
735 hi_ 1.1
736     property UseMachineTime: Boolean read FUseMachineTime write FUseMachineTime;
737     property TimeAdjustSec: Integer read FTimeAdjustSec write FTimeAdjustSec;
738     property TimeAdjust: Boolean read FTimeAdjust write FTimeAdjust;
739 h677 1.3
740 yoffy 1.14 //縺ゅ⊂縲懊s
741     property AbonDeleterlo : Boolean read FAbonDeleterlo write FAbonDeleterlo;
742     property AbonReplaceul : Boolean read FAbonReplaceul write FAbonReplaceul;
743     property PopUpAbon : Boolean read FPopUpAbon write FPopUpAbon;
744     property ShowNGLinesNum : Boolean read FShowNGLinesNum write FShowNGLinesNum;
745     property AddResAnchor : Boolean read FAddResAnchor write FAddResAnchor;
746 h677 1.38 property DeleteSyria : Boolean read FDeleteSyria write FDeleteSyria;
747 h677 1.93 property IgnoreKana : Boolean read FIgnoreKana write FIgnoreKana;
748 yoffy 1.14 // 繧ケ繝ャ繝?ラ邨櫁セシ繝輔ぅ繝シ繝ォ繝峨?蟷?/span>
749     property SelectComboBoxWidth : Integer read FSelectComboBoxWidth write FSelectComboBoxWidth;
750 yoffy 1.8
751 yoffy 1.14 // 譛?蠕後↓驕ク謚槭&繧後◆繧ェ繝励す繝ァ繝ウ繝?繧、繧「繝ュ繧ー縺ョ繧ソ繝?/span>
752     property OptionDialogTabIndex : Integer read FOptionDialogTabIndex write FOptionDialogTabIndex;
753 yoffy 1.8
754 yoffy 1.14 // 譛?蠕後↓驕ク謚槭&繧後◆繧ュ繝」繝薙ロ繝?ヨ
755     property CabinetIndex : Integer read FCabinetIndex write FCabinetIndex;
756 h677 1.13
757 yoffy 1.14 //邨ゆコ?凾縺ォ遒コ隱阪ム繧、繧「繝ュ繧ー繧定。ィ遉コ縺吶k縺?/span>
758     property ShowDialogForEnd : Boolean read FShowDialogForEnd write FShowDialogForEnd;
759 h677 1.38 property ShowDialogForAllTabClose: Boolean read FShowDialogForAllTabClose write FShowDialogForAllTabClose;
760     //蜿門セ励Ξ繧ケ謨ー縺ィ繧ケ繝ャ繝?ラ縺ョ繝ャ繧ケ謨ー縺檎焚縺ェ縺」縺溘→縺阪↓騾壼クク閭梧勹濶イ縺ィ驕輔▲縺溯牡縺ョ閭梧勹濶イ繧剃スソ逕ィ縺吶k縺?/span>
761     property UseOddColorOddResNum: Boolean read FUseOddColorOddResNum write FUseOddColorOddResNum;
762     property OddColor: TColor read FOddColor write FOddColor;
763 h677 1.92 property UnFocusedBold : Boolean read FUnFocusedBold write FUnFocusedBold;
764 h677 1.36 property UseSamba: Boolean read FUseSamba write FUseSamba;
765 h677 1.81 property ResAnchorJamp: Boolean read FResAnchorJamp write FResAnchorJamp;
766 yoffy 1.40
767     // 繧ィ繝?ぅ繧ソ
768 yoffy 1.41 property SpaceToNBSP : Boolean read FSpaceToNBSP write FSpaceToNBSP;
769     property AmpToCharRef : Boolean read FAmpToCharRef write FAmpToCharRef;
770 h677 1.43
771     property SelectInterval : Integer read FSelectInterval write FSelectInterval;
772 h677 1.67 //Tab菫晏ュ?/span>
773     property TabAutoLoadSave: Boolean read FTabAutoLoadSave write FTabAutoLoadSave;
774 h677 1.122 //繧ソ繝悶?蠕ゥ蜈?→縺狗畑
775     property LastCloseTabURL: String read FLastCloseTabURL write FLastCloseTabURL;
776 h677 1.86 //property Gengo: TStringList read F2chLanguage write F2chLanguage;
777 h677 1.81 property GengoSupport : Boolean read F2chSupport write F2chSupport;
778 h677 1.67 property KuroutSettingTabIndex: Integer read FKuroutSettingTabIndex write FKuroutSettingTabIndex;
779 yoffy 1.74 //! 繝槭え繧ケ繧ク繧ァ繧ケ繝√Ε繝シ
780     property Gestures : TGestureModel read FGestures write FGestures;
781 yoffy 1.75 //! 繝槭え繧ケ繧ク繧ァ繧ケ繝√Ε繝シ繧剃スソ逕ィ縺吶k縺九←縺?°
782     property GestureEnabled : Boolean read FGestureEnabled write FGestureEnabled;
783 h677 1.115 property GestureIgnoreContext : Boolean read FGestureIgnoreContext write FGestureIgnoreContext;
784 h677 1.81 //繝輔す繧「繝翫ヨ繝ゥ繝??險ュ螳?/span>
785     property LocalTrapAtt : Boolean read FLocalTrapAtt write FLocalTrapAtt;
786     property RemoteTrapAtt : Boolean read FRemoteTrapAtt write FRemoteTrapAtt;
787     property ReadTimeOut: Integer read FReadTimeOut write FReadTimeOut;
788 yoffy 1.83 //! 菴ソ逕ィ縺吶k繧ケ繝代Β繝輔ぅ繝ォ繧ソ
789     property SpamFilterAlgorithm : TGikoSpamFilterAlgorithm
790     read FSpamFilterAlgorithm write FSpamFilterAlgorithm;
791 h677 1.84 property Mute: Boolean read FMute write FMute;
792 h677 1.85 property UseUndecided: Boolean read FUseUndecided write FUseUndecided;
793 genyakun 1.87
794     property BeUserID: string read FBeUserID write FBeUserID;
795 h677 1.89 property BeCode: string read FBeCode write FBeCode;
796 genyakun 1.87 property BeAutoLogin: Boolean read FBeAutoLogin write FBeAutoLogin;
797 h677 1.91 property BeLogin: Boolean read FBeLogin write FBeLogin;
798     property MaxRecordCount : Integer read FMaxRecordCount write FMaxRecordCount;
799 h677 1.101 //! 繧ケ繝ャ繝?ラ荳?隕ァ繝?繧ヲ繝ウ繝ュ繝シ繝牙セ後↓繧ケ繝ャ繝?ラ蜷阪〒譏???た繝シ繝医☆繧九°
800     property AutoSortThreadList : Boolean read FAutoSortThreadList write FAutoSortThreadList;
801 h677 1.107 //! InputAssist繝輔か繝シ繝?縺ョ菴咲スョ
802     property InputAssistFormLeft :Integer read FInputAssistFormLeft write FInputAssistFormLeft;
803     property InputAssistFormTop :Integer read FInputAssistFormTop write FInputAssistFormTop;
804     //! InputAssist繝輔か繝シ繝?縺ョ繧オ繧、繧コ
805     property InputAssistFormWidth: Integer read FInputAssistFormWidth write FInputAssistFormWidth;
806     property InputAssistFormHeight: Integer read FInputAssistFormHeight write FInputAssistFormHeight;
807 h677 1.108 //! Cookie縺ォ莉伜刈縺吶k蝗コ螳壹さ繝シ繝?/span>
808     property FixedCookie: String read FFixedCookie write FFixedCookie;
809 h677 1.111 //! 繝ェ繝ウ繧ッ遘サ蜍募ア・豁エ縺ョ菫晄戟謨ー
810 h677 1.110 property MoveHistorySize : Integer read FMoveHistorySize write SetMoveHistorySize;
811 h677 1.111 //! 譛?蟆丞喧譎ゅ↓繧ソ繧ケ繧ッ繝医Ξ繧、縺ォ譬シ邏阪☆繧九°
812     property StoredTaskTray : Boolean read FStoredTaskTray write FStoredTaskTray;
813 h677 1.113 //! 繝悶Λ繧ヲ繧カ繧ソ繝悶?繝ォ繝シ繝励r險ア蜿ッ縺吶k
814     property LoopBrowserTabs : Boolean read FLoopBrowserTabs write FLoopBrowserTabs;
815 h677 1.114 //! 100繝ャ繧ケ陦ィ遉コ縺ョ蜈磯?ュ陦ィ遉コ繝ャ繧ケ謨ー
816     property HeadResCount : Integer read FHeadResCount write FHeadResCount;
817 h677 1.137 //! 100繝ャ繧ケ陦ィ遉コ謨ー?域僑蠑オ逕ィ??/span>
818     property ResRangeExCount: Integer read FResRangeExCount write FResRangeExCount;
819 h677 1.116 //! 髢「騾」繧ュ繝シ繝ッ繝シ繝芽ソス蜉?繝輔Λ繧ー
820     property AddKeywordLink: Boolean read FAddKeywordLink write FAddKeywordLink;
821 h677 1.117 //! dat縺ョ鄂ョ謠帙r譛牙柑縺ォ縺吶k縺?/span>
822     property ReplaceDat: Boolean read FReplaceDat write FReplaceDat;
823 h677 1.118 //! sent.ini繝輔ぃ繧、繝ォ縺ョ繧オ繧、繧コ?亥腰菴庚B??/span>
824     property SentIniFileSize: Integer read FSentIniFileSize write FSentIniFileSize;
825 h677 1.120 //! 繝ェ繝ウ繧ッURL蜿門セ励?蟇セ雎。諡。蠑オ蟄?/span>
826     property ExtList: String read FExtList write FExtList;
827 h677 1.124 //! Skin繝輔ぃ繧、繝ォ邂。逅?/span>
828     property SkinFiles: TSkinFiles read FSkinFiles;
829 h677 1.125 //! 繧、繝ウ繝?ャ繧ッ繧ケ隱ュ縺ソ霎シ縺ソ譎Eat繝輔ぃ繧、繝ォ繝√ぉ繝?け
830     property CheckDatFile: Boolean read FCheckDatFile write FCheckDatFile;
831 h677 1.127 property LimitResCountMessage: Boolean read FLimitResCountMessage write FLimitResCountMessage;
832 h677 1.128 //! 繝ャ繧ケ繝昴ャ繝励い繝??陦ィ遉コ菴咲スョdeltaX
833     property RespopupDeltaX: Integer read FRespopupDeltaX write FRespopupDeltaX;
834     //! 繝ャ繧ケ繝昴ャ繝励い繝??陦ィ遉コ菴咲スョdeltaY
835     property RespopupDeltaY: Integer read FRespopupDeltaY write FRespopupDeltaY;
836     //! 繝ャ繧ケ繝昴ャ繝励い繝??繧ソ繧、繝槭?
837     property RespopupWait: Integer read FRespopupWait write FRespopupWait;
838 h677 1.130 property RespopupMailTo: Boolean read FRespopupMailTo write FRespopupMailTo;
839 h677 1.139 //! 隱、辷?メ繧ァ繝?け
840     property UseGobakuCheck: Boolean read FUseGobakuCheck write FUseGobakuCheck;
841 yoffy 1.40 end;
842 hi_ 1.1
843    
844 h677 1.100 const
845     // MAIN_COOLBAND_COUNT = 4; //繝。繧、繝ウCoolBand縺ョ謨ー
846     // LIST_COOLBAND_COUNT = 2; //譚ソCoolBand縺ョ謨ー
847     // BROWSER_COOLBAND_COUNT = 3; //繝悶Λ繧ヲ繧カCoolBand縺ョ謨ー
848    
849     BOARD_FILE_NAME = 'board.2ch';
850     CUSTOMBOARD_FILE_NAME = 'custom.2ch';
851     BOARD_DIR_NAME = 'Board';
852     KEY_SETTING_FILE_NAME = 'key.ini';
853     EKEY_SETTING_FILE_NAME = 'Ekey.ini';
854     TEMP_FOLDER = 'Temp';
855     OUTBOX_FILE_NAME = 'outbox.ini';
856     SENT_FILE_NAME = 'sent.ini';
857     CONFIG_DIR_NAME = 'config';
858     CSS_DIR_NAME = 'css';
859     SKIN_DIR_NAME = 'skin';
860     NGWORDs_DIR_NAME : String = 'NGwords';
861     BOARD_PLUGIN_DIR_NAME = 'BoardPlugin';
862     SAMBATIME_FILE_NAME : String = 'Samba.ini';
863     IGNORE_FILE_NAME : String = 'Ignore.txt';
864     // DOLIB_LOGIN_URL = '/~tora3n2c/futen.cgi';
865     MAX_POPUP_RES : Integer = 10;
866     GESTURE_FILE_NAME = 'Gestures.ini';
867     SPAMFILTER_FILE_NAME = 'SpamFilter.ini';
868 h677 1.102 LANGUAGE_FILE_NAME = 'language.ini';
869     INPUTASSIST_FILE_NAME = 'InputAssist.ini';
870 h677 1.135 FIXED_COOKIE = '';
871 h677 1.117 REPLACE_FILE_NAME = 'replace.ini';
872 h677 1.133 EXT_PREVIEW_FILE_NAME = 'extpreview.ini';
873 h677 1.3
874 hi_ 1.1 implementation
875    
876 h677 1.99 uses
877 h677 1.117 Math, UCryptAuto, UBase64, Windows,GikoUtil;
878 h677 1.99
879 hi_ 1.1 type
880     TSoundName = record
881     Name: string;
882     ViewName: string;
883     FileName: string;
884     end;
885    
886     const
887 yoffy 1.14 INI_FILE_NAME: string = 'gikoNavi.ini';
888     BOARD_URL_INI_FILE_NAME: string = 'url.ini';
889     DEFAULT_FONT_NAME: string = '?ュ?ウ ?ー繧エ繧キ繝?け';
890     DEFAULT_FONT_SIZE: Integer = 9;
891     DEFAULT_FONT_COLOR: string = 'clWindowText';
892     DEFAULT_WINDOW_COLOR: string = 'clWindow';
893     DEFAULT_TAB_FONT_NAME: string = '?ュ?ウ ?ー繧エ繧キ繝?け';
894     DEFAULT_TAB_FONT_SIZE: Integer = 9;
895 genyakun 1.96 DEFAULT_2CH_BOARD_URL1: string = 'http://menu.2ch.net/bbsmenu.html';
896 yoffy 1.14 GIKO_ENCRYPT_TEXT: string = 'gikoNaviEncryptText';
897 hi_ 1.1
898     var
899     SOUND_NAME: array[0..4] of TSoundName = (
900 yoffy 1.14 (Name: 'New'; ViewName: '蜿門セ玲?蜉?#39;; FileName: ''),
901     (Name: 'NewDiff'; ViewName: '蜿門セ玲?蜉?蟾ョ蛻?'; FileName: ''),
902     (Name: 'NoChange'; ViewName: '譛ェ譖エ譁ー'; FileName: ''),
903     // (Name: 'RoundEnd'; ViewName: '蟾。蝗樒オゆコ?蜿門セ励≠繧?'; FileName: ''),
904     // (Name: 'RoundNone'; ViewName: '蟾。蝗樒オゆコ?蜿門セ励↑縺?'; FileName: ''),
905     (Name: 'ResEnd'; ViewName: '繝ャ繧ケ騾∽ソ。螳御コ?#39;; FileName: ''),
906     (Name: 'Error'; ViewName: '繧ィ繝ゥ繝シ'; FileName: ''));
907 hi_ 1.1
908 yoffy 1.63 constructor TGikoBBSColumnList.Create;
909     begin
910     inherited;
911     end;
912    
913     destructor TGikoBBSColumnList.Destroy;
914     begin
915     inherited;
916     end;
917    
918     function TGikoBBSColumnList.GetItem( index : integer ) : TGikoBBSColumnID;
919     begin
920     Result := TGikoBBSColumnID( inherited Items[ index ] );
921     end;
922    
923     procedure TGikoBBSColumnList.SetItem( index : integer; value : TGikoBBSColumnID);
924     begin
925     inherited Items[ index ] := Pointer( value );
926     end;
927    
928     function TGikoBBSColumnList.Add( value : TGikoBBSColumnID ) : Integer;
929     begin
930     Result := inherited Add( Pointer( value ) );
931     end;
932    
933     constructor TGikoCategoryColumnList.Create;
934     begin
935     inherited;
936     end;
937    
938     destructor TGikoCategoryColumnList.Destroy;
939     begin
940     inherited;
941     end;
942    
943     function TGikoCategoryColumnList.GetItem( index : integer ) : TGikoCategoryColumnID;
944     begin
945     Result := TGikoCategoryColumnID( inherited Items[ index ] );
946     end;
947    
948     procedure TGikoCategoryColumnList.SetItem( index : integer; value : TGikoCategoryColumnID);
949     begin
950     inherited Items[ index ] := Pointer( value );
951     end;
952    
953     function TGikoCategoryColumnList.Add( value : TGikoCategoryColumnID ) : Integer;
954     begin
955     Result := inherited Add( Pointer( value ) );
956     end;
957    
958     constructor TGikoBoardColumnList.Create;
959     begin
960     inherited;
961     end;
962    
963     destructor TGikoBoardColumnList.Destroy;
964     begin
965     inherited;
966     end;
967    
968     function TGikoBoardColumnList.GetItem( index : integer ) : TGikoBoardColumnID;
969     begin
970     Result := TGikoBoardColumnID( inherited Items[ index ] );
971     end;
972    
973     procedure TGikoBoardColumnList.SetItem( index : integer; value : TGikoBoardColumnID);
974     begin
975     inherited Items[ index ] := Pointer( value );
976     end;
977    
978     function TGikoBoardColumnList.Add( value : TGikoBoardColumnID ) : Integer;
979     begin
980     Result := inherited Add( Pointer( value ) );
981     end;
982    
983 hi_ 1.1 //繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ
984     constructor TSetting.Create();
985     begin
986     FNameList := TStringList.Create;
987     FMailList := TStringList.Create;
988     FSelectTextList := TStringList.Create;
989 yoffy 1.14 FBoardURLs := TStringList.Create;
990 yoffy 1.64 FBBSColumnOrder := TGikoBBSColumnList.Create;
991     FCategoryColumnOrder := TGikoCategoryColumnList.Create;
992     FBoardColumnOrder := TGikoBoardColumnList.Create;
993 yoffy 1.74 FGestures := TGestureModel.Create;
994 h677 1.124 FSkinFiles := TSkinFiles.Create;
995 hi_ 1.1 FNameList.Duplicates := dupIgnore;
996     FMailList.Duplicates := dupIgnore;
997 yoffy 1.14 FBoardURLs.Duplicates := dupIgnore;
998 hi_ 1.1 FSelectTextList.Duplicates := dupIgnore;
999     ReadSettingFile();
1000 yoffy 1.14 ReadBoardURLsFile();
1001 hi_ 1.1 end;
1002    
1003     //繝?せ繝医Λ繧ッ繧ソ
1004     destructor TSetting.Destroy();
1005     begin
1006 h677 1.132 FBoardColumnOrder.Free;
1007     FCategoryColumnOrder.Free;
1008     FBBSColumnOrder.Free;
1009     FSelectTextList.Free;
1010     FBoardURLs.Free;
1011     FMailList.Free;
1012     FNameList.Free;
1013     FGestures.Free;
1014     FSkinFiles.Free;
1015 h677 1.129 inherited;
1016 hi_ 1.1 end;
1017    
1018     //蛻晄悄蛹悶ヵ繧。繧、繝ォ蜷榊叙蠕暦シ医ヱ繧ケ?九ヵ繧。繧、繝ォ蜷搾シ?/span>
1019     function TSetting.GetFileName(): string;
1020     begin
1021 h677 1.123 Result := GetAppDir + INI_FILE_NAME;
1022 hi_ 1.1 end;
1023    
1024 h677 1.11 //譚ソ譖エ譁ー逕ィURL險ュ螳壹ヵ繧。繧、繝ォ蜷搾シ医ヱ繧ケ?九ヵ繧。繧、繝ォ蜷搾シ?/span>
1025     function TSetting.GetBoardURLFileName(): string;
1026     begin
1027 h677 1.123 Result := GetAppDir + BOARD_URL_INI_FILE_NAME;
1028 h677 1.11 end;
1029    
1030 hi_ 1.1 //險ュ螳壹ヵ繧。繧、繝ォ隱ュ霎シ
1031     procedure TSetting.ReadSettingFile();
1032     var
1033     ini: TMemIniFile;
1034     i: Integer;
1035     Exists: Boolean;
1036 yoffy 1.63 s: string;
1037 hi_ 1.1 CoolSet: TCoolSet;
1038 h677 1.117 msg: String;
1039 hi_ 1.1 begin
1040     Exists := FileExists(GetFileName);
1041     ini := TMemIniFile.Create(GetFileName);
1042     try
1043     //蜿嶺ソ。繝舌ャ繝輔ぃ繧オ繧、繧コ
1044     FRecvBufferSize := ini.ReadInteger('HTTP', 'RecvBufferSize', 4096);
1045     //HTTP1.1菴ソ逕ィ
1046     FProtocol := ini.ReadBool('HTTP', 'Protocol', True);
1047     //繝励Ο繧ュ繧キ謗・邯唏TTP1.1菴ソ逕ィ
1048     FProxyProtocol := ini.ReadBool('HTTP', 'ProxyProtocol', False);
1049    
1050 h677 1.112 // 繝励Ο繧ュ繧キ險ュ螳夊ェュ縺ソ霎シ縺ソ
1051     ReadProxySettings( ini );
1052    
1053     // 蜷?ィョ繧ヲ繧」繝ウ繝峨え縺ョ險ュ螳夊ェュ縺ソ霎シ縺ソ
1054     ReadWindowSettings( ini );
1055 hi_ 1.1
1056     FWindowTop := ini.ReadInteger('WindowSize', 'Top', -1);
1057     FWindowLeft := ini.ReadInteger('WindowSize', 'Left', -1);
1058     FWindowHeight := ini.ReadInteger('WindowSize', 'Height', -1);
1059     FWindowWidth := ini.ReadInteger('WindowSize', 'Width', -1);
1060     FWindowMax := ini.ReadBool('WindowSize', 'Max', false);
1061    
1062     if FWindowHeight <= 0 then FWindowHeight := 400;
1063     if FWindowWidth <= 0 then FWindowWidth := 600;
1064    
1065     FListStyle := TViewStyle(ini.ReadInteger('ViewStyle', 'ListView', Ord(vsReport)));
1066    
1067     FEditWindowTop := ini.ReadInteger('EditorWindowSize', 'Top', -1);
1068     FEditWindowLeft := ini.ReadInteger('EditorWindowSize', 'Left', -1);
1069     FEditWindowHeight := ini.ReadInteger('EditorWindowSize', 'Height', -1);
1070     FEditWindowWidth := ini.ReadInteger('EditorWindowSize', 'Width', -1);
1071     FEditWindowMax := ini.ReadBool('EditorWindowSize', 'Max', False);
1072 deux 1.20 FEditWindowStay := ini.ReadBool('EditorWindowSize', 'Stay', False);
1073 genyakun 1.48 FEditWindowTranslucent := ini.ReadBool('EditorWindowSize', 'Translucent', False);
1074 hi_ 1.1
1075 yoffy 1.14 FOptionDialogTabIndex := ini.ReadInteger('OptionDialog', 'TabIndex', 0);
1076 yoffy 1.8
1077 hi_ 1.1 //繝??繝ォ繝舌?
1078     FStdToolBarVisible := ini.ReadBool('ToolBar', 'StdVisible', True);
1079     FAddressBarVisible := ini.ReadBool('ToolBar', 'AddressVisible', True);
1080     FLinkBarVisible := ini.ReadBool('ToolBar', 'LinkVisible', True);
1081     FListToolBarVisible := ini.ReadBool('ToolBar', 'ListVisible', True);
1082     FListNameBarVisible := ini.ReadBool('ToolBar', 'ListNameVisible', True);
1083     FBrowserToolBarVisible := ini.ReadBool('ToolBar', 'BrowserVisible', True);
1084     FBrowserNameBarVisible := ini.ReadBool('ToolBar', 'BrowserNameVisible', True);
1085     //繝??繝ォ繝舌?Wrapable
1086     FListToolBarWrapable := ini.ReadBool('ToolBar', 'ListWrapable', False);
1087     FBrowserToolBarWrapable := ini.ReadBool('ToolBar', 'BrowserWrapable', False);
1088    
1089     FBrowserTabVisible := ini.ReadBool('Tab', 'BrowserTabVisible', True);
1090     FBrowserTabPosition := TGikoTabPosition(ini.ReadInteger('Tab', 'BrowserTabPosition', Ord(gtpTop)));
1091     FBrowserTabAppend := TGikoTabAppend(ini.ReadInteger('Tab', 'BrowserTabAppend', Ord(gtaFirst)));
1092     FBrowserTabStyle := TGikoTabStyle(ini.ReadInteger('Tab', 'BrowserTabStyle', Ord(gtsFlat)));
1093    
1094     FMessageBarVisible := ini.ReadBool('MessageBar', 'Visible', True);
1095     FMessegeBarHeight := ini.ReadInteger('MessageBar', 'Height', 30);
1096    
1097     FStatusBarVisible := ini.ReadBool('StatusBar', 'Visible', True);
1098    
1099     FCabinetVisible := ini.ReadBool('Cabinet', 'Visible', True);
1100     FCabinetWidth := ini.ReadInteger('Cabinet', 'Width', 200);
1101 yoffy 1.14 FCabinetIndex := ini.ReadInteger('Cabinet', 'Index', 0);
1102 hi_ 1.1
1103     FListOrientation := TGikoListOrientation(ini.ReadInteger('List', 'Orientation', Ord(gloHorizontal)));
1104     FListHeight := ini.ReadInteger('List', 'Height', 180);
1105     FListHeightState := TGikoListState(ini.ReadInteger('List', 'HeightState', Ord(glsNormal)));
1106     FListWidth := ini.ReadInteger('List', 'Width', 180);
1107     FListWidthState := TGikoListState(ini.ReadInteger('List', 'WidthState', Ord(glsNormal)));
1108     // FListHeightMax := ini.ReadBool('List', 'HeightMax', False);
1109     // FListWidthMax := ini.ReadBool('List', 'WidthMax', False);
1110    
1111 h677 1.112 // 蜈・蜉幃??岼縺ョ螻・豁エ繧定ェュ縺ソ霎シ繧?
1112     ReadInputHisotrys( ini );
1113 hi_ 1.1
1114 yoffy 1.64 // 繝ェ繧ケ繝医き繝ゥ繝?蟷?/span>
1115 h677 1.112 ReadListColumnWidth( ini );
1116 hi_ 1.1
1117 yoffy 1.64 // 繧ォ繝?ざ繝ェ繝ェ繧ケ繝医き繝ゥ繝?鬆?コ?/span>
1118 h677 1.112 ReadOrdColumn( ini );
1119 yoffy 1.64
1120 hi_ 1.1 //繝ェ繧ケ繝育分蜿キ
1121     FListViewNo := ini.ReadBool('Function', 'ListViewNo', True);
1122     //CSS
1123 yoffy 1.17 UseCSS := ini.ReadBool('CSS', 'UseCSS', True);
1124 hi_ 1.1 //CSS繝輔ぃ繧、繝ォ蜷?/span>
1125 yoffy 1.17 CSSFileName := ini.ReadString('CSS', 'FileName', 'default.css');
1126 h677 1.97 //縺九@繧??懊@繧??繧ケ繧ュ繝ウ繧剃スソ縺?°
1127     FUseKatjushaType := ini.ReadBool('CSS', 'UseKatjushaType', false);
1128 hi_ 1.1
1129     //Mail谺?。ィ遉コ
1130     FShowMail := ini.ReadBool('Thread', 'ShowMail', True);
1131 yoffy 1.49 // 繝ャ繧ケ陦ィ遉コ遽?峇
1132     if ini.ReadBool('Thread', 'OnlyAHundredRes',false) then
1133     FResRange := 100 // 蜿、縺?ィュ螳壹?莠呈鋤逕ィ
1134     else
1135 h677 1.60 FResRange := ini.ReadInteger( 'Thread', 'ResRange', Ord( grrAll ) );
1136 yoffy 1.51 FResRangeHold := ini.ReadBool( 'Thread', 'ResRangeHold', False );
1137 h677 1.114 FHeadResCount := ini.ReadInteger('Thread', 'HeadResCount', 1);
1138 h677 1.137 FResRangeExCount:= ini.ReadInteger('Thread','ResRangeExCount', 100);
1139 yoffy 1.55 // 繧ケ繝ャ繝?ラ荳?隕ァ陦ィ遉コ遽?峇
1140     FThreadRange := TGikoThreadRange( ini.ReadInteger('ThreadList', 'ThreadRange', Ord( gtrAll )) );
1141 yoffy 1.2 //髱槭い繧ッ繝?ぅ繝匁凾繝ャ繧ケ繝昴ャ繝励い繝??陦ィ遉コ
1142 hi_ 1.1 FUnActivePopup := ini.ReadBool('Thread', 'UnActivePopup', False);
1143 yoffy 1.2 //繝ャ繧ケ繝昴ャ繝励い繝??繝倥ャ繝?繝シ繝懊?繝ォ繝?/span>
1144     FResPopupHeaderBold := ini.ReadBool('Thread', 'ResPopupHeaderBold', True);
1145 hi_ 1.1 //蜑企勁遒コ隱?/span>
1146     FDeleteMsg := ini.ReadBool('Function', 'LogDeleteMessage', True);
1147 yoffy 1.14 //邨ゆコ?「コ隱?/span>
1148     FShowDialogForEnd := ini.ReadBool('Function','ShowDialogForEnd',false);
1149 h677 1.38 //AllTabClose
1150     FShowDialogForAllTabClose := ini.ReadBool('Function','ShowDialogForAllTabClose',false);
1151 genyakun 1.48 //Samba
1152 h677 1.38 FUseSamba := ini.ReadBool('Function','UseSamba', True);
1153     //ResAnchorjamp
1154     ResAnchorJamp := ini.ReadBool('Function', 'ResAnchoJamp', True);
1155 hi_ 1.1 //繝ュ繧ー繝輔か繝ォ繝?
1156 h677 1.123 LogFolder := ini.ReadString('Folder', 'LogFolder', GetAppDir + 'Log');
1157 hi_ 1.1 NewLogFolder := '';
1158    
1159     //譚ソURL
1160 yoffy 1.14 //隍?焚逋サ骭イ縺ァ縺阪k繧医≧縺ォ縺励※FBoardURLs縺ォ縺励◆縲?2003/10/05
1161 h677 1.11 //FBoardURL2ch := ini.ReadString('BoardURL', '2ch', DEFAULT_2CH_BOARD_URL);
1162 hi_ 1.1
1163     //隱崎ィシ逕ィ繝ヲ繝シ繧カID繝サ繝代せ繝ッ繝シ繝?/span>
1164     FUserID := ini.ReadString('Attestation', 'UserID', '');
1165     FPassword := Decrypt(ini.ReadString('Attestation', 'Password', ''));
1166     FAutoLogin := ini.ReadBool('Attestation', 'AutoLogin', False);
1167 h677 1.36 FForcedLogin := ini.ReadBool('Attestation', 'FForcedLogin', False);
1168 h677 1.37 // FDolibURL := ini.ReadString('Attestation', 'FDolibURL', DOLIB_LOGIN_URL);
1169 hi_ 1.1
1170     //URL繧ッ繝ェ繝?け譎りオキ蜍輔い繝励Μ
1171     FURLApp := ini.ReadBool('URLApp', 'Select', False);
1172     FURLAppFile := ini.ReadString('URLApp', 'File', '');
1173    
1174     //mailto繧ッ繝ェ繝?け譎ょ虚菴?/span>
1175     FOpenMailer := ini.ReadBool('Mailto', 'Open', True);
1176    
1177     //繝昴ャ繝励い繝??菴咲スョ
1178 h677 1.121 FPopupPosition := TGikoPopupPosition(ini.ReadInteger('Browser', 'PopupPosition', Ord(gppRightTop)));
1179     // 繝舌ち56莉・蜑阪°繧峨?繧「繝??繝??繝亥ッセ遲?/span>
1180     if (FPopupPosition = gppCenter) then begin
1181     FPopupPosition := gppTop;
1182     end;
1183 h677 1.128 FRespopupDeltaX := ini.ReadInteger('Browser', 'RespopupDelteX', 5);
1184     FRespopupDeltaY := ini.ReadInteger('Browser', 'RespopupDelteY', 5);
1185     FRespopupWait := ini.ReadInteger('Browser', 'RespopupWait', 1000);
1186 h677 1.130 FRespopupMailTo := ini.ReadBool('Browser', 'RespopupMailTo', true);
1187 h677 1.128
1188 hi_ 1.1 //繧「繝峨Ξ繧ケ繝舌?
1189     FURLDisplay := ini.ReadBool('AddressBar', 'URLDisplay', False);
1190     FAddressBarTabStop := ini.ReadBool('AddressBar', 'TabStop', True);
1191     FLinkAddAddressBar := ini.ReadBool('AddressBar', 'LinkAdd', False);
1192     FAddressHistoryCount := ini.ReadInteger('AddressBar', 'HistoryCount', 100);
1193    
1194     //逕サ蜒上?繝ャ繝薙Η繝シ
1195     FPreviewVisible := ini.ReadBool('Browser', 'PreviewVisible', True);
1196     FPreviewSize := TGikoPreviewSize(ini.ReadInteger('Browser', 'PreviewSize', Ord(gpsMedium)));
1197     FPreviewWait := ini.ReadInteger('Browser', 'PreviewWait', 500);
1198    
1199 yoffy 1.39 // 繝悶Λ繧ヲ繧カ
1200     FBrowserAutoMaximize := TGikoBrowserAutoMaximize(
1201     ini.ReadInteger('Window', 'BrowserAutoMaximize', Ord(gbmDoubleClick)) );
1202    
1203 hi_ 1.1 //繧ケ繝ャ繝?ラ荳?隕ァ譖エ譁ー繧「繧、繧ウ繝ウ
1204     FListIconVisible := ini.ReadBool('ThreadList', 'StateIconVisible', True);
1205 q9_ 1.44 FCreationTimeLogs := ini.ReadBool('ThreadList', 'CreationTimeLogs', True);
1206 h677 1.43 FFutureThread := ini.ReadBool('ThreadList', 'FutureThread', True);
1207     FSelectInterval := ini.ReadInteger('ThreadList', 'SelectInterval', 110);
1208 q9_ 1.46 //繧ス繝シ繝磯??/span>
1209     FBBSSortIndex := ini.ReadInteger('ThreadList', 'BBSSortIndex', 0);
1210 h677 1.59 FBBSSortOrder := ini.ReadBool('ThreadList', 'BBSSortOrder', True);
1211 q9_ 1.46 FCategorySortIndex := ini.ReadInteger('ThreadList', 'CategorySortIndex', 0);
1212 h677 1.59 FCategorySortOrder := ini.ReadBool('ThreadList', 'CategorySortOrder', True);
1213 q9_ 1.46 FBoardSortIndex := ini.ReadInteger('ThreadList', 'BoardSortIndex', 0);
1214 h677 1.59 FBoardSortOrder := ini.ReadBool('ThreadList', 'BoardSortOrder', True);
1215 h677 1.101 // DL蠕後?閾ェ蜍輔た繝シ繝?/span>
1216 h677 1.105 FAutoSortThreadList := ini.ReadBool('ThreadList', 'AutoSort', False);
1217 q9_ 1.53 //Dat關ス縺。繧ケ繝ャ繧ス繝シ繝磯??/span>
1218     FDatOchiSortIndex := ini.ReadInteger('ThreadList', 'DatOchiSortIndex', -1);
1219     FDatOchiSortOrder := ini.ReadBool('ThreadList', 'DatOchiSortOrder', False);
1220 hi_ 1.1
1221     //譖ク縺崎セシ縺ソ譎ゅ?繧キ繝ウ譎ょ綾菴ソ逕ィ險ュ螳?/span>
1222     FUseMachineTime := ini.ReadBool('PostTime', 'UseMachineTime', False);
1223     FTimeAdjustSec := ini.ReadInteger('PostTime', 'TimeAdjustSec', 0);
1224     FTimeAdjust := ini.ReadBool('PostTime', 'TimeAdjust', True);
1225    
1226     //繧オ繧ヲ繝ウ繝?/span>
1227     if Exists then begin
1228 h677 1.140 SetCurrentDir(ExtractFilePath(Application.ExeName));
1229 hi_ 1.1 for i := 0 to GetSoundCount - 1 do begin
1230     SoundFileName[i] := ini.ReadString('Sound', SoundName[i], '');
1231 h677 1.134 // 逶ク蟇セ蜿ら?蟇セ遲?/span>
1232     // 繝輔ぃ繧、繝ォ縺ョ蟄伜惠繝√ぉ繝?け
1233 h677 1.138 if not FileExists(ExpandFileName(SoundFileName[i])) then begin
1234 h677 1.134 SoundFileName[i] := '';
1235     end;
1236 hi_ 1.1 end;
1237     end else begin
1238 h677 1.138 s := 'Sound\';
1239 hi_ 1.1 SoundFileName[0] := s + '蜿門セ玲?蜉?wav';
1240     SoundFileName[1] := s + '蜿門セ玲?蜉?蟾ョ蛻?.wav';
1241     SoundFileName[2] := s + '譛ェ譖エ譁ー.wav';
1242     SoundFileName[3] := '';
1243     SoundFileName[4] := s + '繧ィ繝ゥ繝シ.wav';
1244     end;
1245    
1246     //繧ッ繝シ繝ォ繝舌?
1247     for i := 0 to MAIN_COOLBAND_COUNT - 1 do begin
1248     CoolSet.FCoolID := ini.ReadInteger('MainCoolBar', 'ID' + IntToStr(i), -1);
1249     CoolSet.FCoolWidth := ini.ReadInteger('MainCoolBar', 'Width' + IntToStr(i), -1);
1250     CoolSet.FCoolBreak := ini.ReadBool('MainCoolBar', 'Break' + IntToStr(i), False);
1251     MainCoolSet[i] := CoolSet;
1252     end;
1253 yoffy 1.14 FSelectComboBoxWidth := ini.ReadInteger( 'ListCoolBar', 'SelectWidth', 127 );
1254 hi_ 1.1 for i := 0 to LIST_COOLBAND_COUNT - 1 do begin
1255     CoolSet.FCoolID := ini.ReadInteger('ListCoolBar', 'ID' + IntToStr(i), -1);
1256     CoolSet.FCoolWidth := ini.ReadInteger('ListCoolBar', 'Width' + IntToStr(i), -1);
1257     CoolSet.FCoolBreak := ini.ReadBool('ListCoolBar', 'Break' + IntToStr(i), False);
1258 yoffy 1.2 ListCoolSet[i] := CoolSet;
1259 hi_ 1.1 end;
1260     for i := 0 to BROWSER_COOLBAND_COUNT - 1 do begin
1261     CoolSet.FCoolID := ini.ReadInteger('BrowserCoolBar', 'ID' + IntToStr(i), -1);
1262     CoolSet.FCoolWidth := ini.ReadInteger('BrowserCoolBar', 'Width' + IntToStr(i), -1);
1263     CoolSet.FCoolBreak := ini.ReadBool('BrowserCoolBar', 'Break' + IntToStr(i), False);
1264     BrowserCoolSet[i] := CoolSet;
1265     end;
1266 h677 1.3
1267 yoffy 1.14 //縺ゅ⊂縲懊s
1268     FAbonDeleterlo := ini.ReadBool('Abon','Deleterlo',false);
1269     FAbonReplaceul := ini.ReadBool('Abon','Replaceul',false);
1270     FPopUpAbon := ini.ReadBool('Abon','Popup',false);
1271     FShowNGLinesNum := ini.ReadBool('Abon','ShowNGLines',false);
1272     FAddResAnchor := ini.ReadBool('Abon','AddResAnchor',false);
1273 h677 1.93 FDeleteSyria := ini.ReadBool('Abon','DeleteSyria',false);
1274     FIgnoreKana := ini.ReadBool('Abon','IgnoreKana',false);
1275 yoffy 1.40
1276     // 繧ィ繝?ぅ繧ソ
1277 h677 1.73 FSpaceToNBSP := ini.ReadBool( 'Editor', 'SpaceToNBSP', False );
1278 yoffy 1.42 FAmpToCharRef := ini.ReadBool( 'Editor', 'AmpToCharRef', False );
1279 h677 1.139 FUseGobakuCheck := ini.ReadBool( 'Editor', 'UseGobakuCheck', True );
1280 h677 1.43
1281 h677 1.67 //Tab閾ェ蜍穂ソ晏ュ倥?∬ェュ縺ソ霎シ縺ソ
1282     FTabAutoLoadSave := ini.ReadBool('TabAuto', 'TabAutoLoadSave', False);
1283 h677 1.122 FLastCloseTabURL := ini.ReadString('Thread', 'LastCloseTabURL', '');
1284 h677 1.67 FKuroutSettingTabIndex := ini.ReadInteger('OptionDialog', 'KuroutTabIndex' , 0);
1285 genyakun 1.47
1286 yoffy 1.75 // 繝槭え繧ケ繧ク繧ァ繧ケ繝√Ε繝シ
1287     FGestureEnabled := ini.ReadBool( 'Guesture', 'Enabled', False );
1288 h677 1.115 FGestureIgnoreContext := ini.ReadBool( 'Guesture', 'IgnoreContext', False );
1289 h677 1.81 //2ch險?隱槭し繝?/span>
1290     F2chSupport := ini.ReadBool('2chSupport', 'Support', False);
1291    
1292     //FusianaTrap
1293     FLocalTrapAtt := ini.ReadBool('Trap', 'LocalTrap', False);
1294     FRemoteTrapAtt := ini.ReadBool('Trap', 'RemoteTrap', False);
1295 h677 1.82 FReadTimeOut := ini.ReadInteger('HTTP', 'ReadTimeOut', 10000);
1296 genyakun 1.77
1297 yoffy 1.83 // 菴ソ逕ィ縺吶k繧ケ繝代Β繝輔ぅ繝ォ繧ソ
1298     FSpamFilterAlgorithm := TGikoSpamFilterAlgorithm(
1299     ini.ReadInteger( 'Abon', 'SpamFilterAlgorithm', Ord( gsfaNone ) ) );
1300 h677 1.84 FMute := ini.ReadBool('Function', 'Mute', false);
1301 h677 1.85 FUseUndecided := ini.ReadBool('ThreadList', 'UseUndecided', False);
1302 genyakun 1.87
1303 h677 1.90 //Be2ch
1304 h677 1.91 //隱崎ィシ逕ィ繝ヲ繝シ繧カID繝サ隱崎ィシ繧ウ繝シ繝?/span>
1305 genyakun 1.87 FBeUserID := ini.ReadString('Be', 'UserID', '');
1306 h677 1.90 FBeCode := Decrypt(ini.ReadString('Be', 'Code', ''));
1307 genyakun 1.87 FBeAutoLogin := ini.ReadBool('Be', 'AutoLogin', False);
1308 h677 1.91 //螻・豁エ縺ョ譛?螟ァ菫晏ュ倅サカ謨ー
1309     FMaxRecordCount := Max(ini.ReadInteger('Recode', 'Max', 100), 1);
1310    
1311 h677 1.107 // 蜈・蜉帙い繧キ繧ケ繝?/span>
1312     FInputAssistFormTop := ini.ReadInteger('IAtWindowsSize', 'Top', 0);
1313     FInputAssistFormLeft := ini.ReadInteger('IAtWindowsSize', 'Left', 0);
1314     FInputAssistFormWidth := ini.ReadInteger('IAtWindowsSize', 'Width', 400);
1315     FInputAssistFormHeight := ini.ReadInteger('IAtWindowsSize', 'Height', 460);
1316    
1317 h677 1.108 // Cookie縺ォ莉伜刈縺吶k蝗コ螳壹さ繝シ繝?/span>
1318     FFixedCookie := ini.ReadString('Cookie', 'fixedString', FIXED_COOKIE);
1319    
1320 h677 1.110 // 繝ェ繝ウ繧ッ遘サ蜍募ア・豁エ縺ョ譛?螟ァ菫晄戟謨ー
1321     FMoveHistorySize := ini.ReadInteger('MoveHisotry', 'Max', 20);
1322    
1323 h677 1.111 FStoredTaskTray := ini.ReadBool('Function', 'StroedTaskTray', false);
1324 h677 1.113 FLoopBrowserTabs := ini.ReadBool('Function', 'LoopBrowserTabs', false);
1325 h677 1.116 FAddKeywordLink := ini.ReadBool('Thread', 'AddKeywordLink', false);
1326 h677 1.117 if not (ini.ValueExists('Thread', 'ReplaceDat')) then begin
1327     msg := '繧サ繧ュ繝・繝ェ繝?ぅ繧ス繝輔ヨ縺ョ隱、蜿榊ソ懷ッセ遲悶r縺励∪縺吶°??#39;+ #13#10 +
1328     '?域耳螂ィ:縺ッ縺?シ?#39;+ #13#10+'隧ウ邏ー險ュ螳壹°繧牙、画峩縺ァ縺阪∪縺吶??#39;;
1329     if MsgBox(Application.Handle,
1330     msg, '繧ョ繧ウ繝翫ン', MB_YESNO or MB_ICONQUESTION) = IDYES then begin
1331     FReplaceDat := True;
1332     end;
1333     end else begin
1334     FReplaceDat := ini.ReadBool('Thread', 'ReplaceDat', False);
1335     end;
1336 h677 1.118
1337     FSentIniFileSize := ini.ReadInteger('Function', 'SentIniFileSize', 3);
1338 h677 1.120 FExtList := ini.ReadString('Function', 'ExtList', '*.gif;*.jpg;*.jpeg;*.png;*.zip;*.rar');
1339 h677 1.125
1340     FCheckDatFile := ini.ReadBool('ThreadList', 'CheckDatFile', True);
1341 h677 1.127 FLimitResCountMessage := ini.ReadBool('Thread', 'LimitResCountMessage', True);
1342 h677 1.136
1343 h677 1.139
1344    
1345 h677 1.136 // 繧ョ繧ウ繝翫ン譖エ譁ー縺ァ蛻ゥ逕ィ縺励◆繧、繝ウ繧ケ繝医?繝ゥ縺ョ蜑企勁
1346     s := ini.ReadString('Update', 'Remove0', '');
1347     if (FileExists(s)) then begin
1348     SysUtils.DeleteFile(s);
1349     // 蜑企勁縺ォ螟ア謨励@縺ヲ繧ら┌隕悶☆繧?/span>
1350     ini.DeleteKey('Update', 'Remove0');
1351     end;
1352    
1353 h677 1.81 ini.UpdateFile;
1354 hi_ 1.1 finally
1355     ini.Free;
1356     end;
1357     end;
1358 h677 1.11 //譚ソ譖エ譁ー逕ィURL隱ュ縺ソ霎シ縺ソ
1359     procedure TSetting.ReadBoardURLsFile();
1360     var
1361     ini: TMemIniFile;
1362 yoffy 1.14 urlNum: Integer;
1363     i : Integer;
1364 h677 1.11 begin
1365 yoffy 1.14 if not FileExists(GetBoardURLFileName()) then
1366     MakeURLIniFile();
1367 h677 1.11 ini := TMemIniFile.Create(GetBoardURLFileName());
1368 yoffy 1.14 try
1369     urlNum := ini.ReadInteger('URL','count',0);
1370     BoardURLSelected := ini.ReadInteger('URL','selected',0);
1371     for i := 0 to urlNum - 1 do begin
1372     FBoardURLs.Append(ini.ReadString('URL',IntToStr(i+1),''));
1373     end;
1374     finally
1375     ini.Free;
1376     end;
1377 hi_ 1.1
1378 h677 1.11 end;
1379 hi_ 1.1 //險ュ螳壹ヵ繧。繧、繝ォ菫晏ュ?system)
1380     procedure TSetting.WriteSystemSettingFile();
1381     var
1382     ini: TMemIniFile;
1383     begin
1384     ini := TMemIniFile.Create(GetFileName());
1385     try
1386     //蜿嶺ソ。繝舌ャ繝輔ぃ繧オ繧、繧コ
1387     ini.WriteInteger('HTTP', 'RecvBufferSize', FRecvBufferSize);
1388     //HTTP1.1菴ソ逕ィ
1389     ini.WriteBool('HTTP', 'Protocol', FProtocol);
1390     //繝励Ο繧ュ繧キ謗・邯唏TTP1.1菴ソ逕ィ
1391     ini.WriteBool('HTTP', 'ProxyProtocol', FProxyProtocol);
1392    
1393     ini.WriteBool('ReadProxy', 'Proxy', FReadProxy);
1394     ini.WriteString('ReadProxy', 'Address', FReadProxyAddress);
1395     ini.WriteInteger('ReadProxy', 'Port', FReadProxyPort);
1396     ini.WriteString('ReadProxy', 'UserID', FReadProxyUserID);
1397     ini.WriteString('ReadProxy', 'Password', FReadProxyPassword);
1398    
1399     ini.WriteBool('WriteProxy', 'Proxy', FWriteProxy);
1400     ini.WriteString('WriteProxy', 'Address', FWriteProxyAddress);
1401     ini.WriteInteger('WriteProxy', 'Port', FWriteProxyPort);
1402     ini.WriteString('WriteProxy', 'UserID', FWriteProxyUserID);
1403     ini.WriteString('WriteProxy', 'Password', FWriteProxyPassword);
1404    
1405 yoffy 1.6 ini.WriteString('Window', 'BrowserFontName', FBrowserFontName);
1406     ini.WriteInteger('Window', 'BrowserFontSize', FBrowserFontSize);
1407     ini.WriteInteger('Window', 'BrowserFontSize', FBrowserFontSize);
1408     ini.WriteInteger('Window', 'BrowserFontBold', FBrowserFontBold);
1409     ini.WriteInteger('Window', 'BrowserFontItalic', FBrowserFontItalic);
1410     ini.WriteInteger('Window', 'BrowserFontColor', FBrowserFontColor);
1411     ini.WriteInteger('Window', 'BrowserBackColor', FBrowserBackColor);
1412    
1413 hi_ 1.1 ini.WriteString('Window', 'CabinetFontName', FCabinetFontName);
1414     ini.WriteInteger('Window', 'CabinetFontSize', FCabinetFontSize);
1415     ini.WriteString('Window', 'CabinetFontColor', ColorToString(FCabinetFontColor));
1416 h677 1.80 ini.WriteBool('Window', 'CabinetFontBold', FCabinetFontBold);
1417     ini.WriteBool('Window', 'CabinetFontItalic', FCabinetFontItalic);
1418 hi_ 1.1 ini.WriteString('Window', 'CabinetBackColor', ColorToString(FCabinetBackColor));
1419    
1420     ini.WriteString('Window', 'ListFontName', FListFontName);
1421     ini.WriteInteger('Window', 'ListFontSize', FListFontSize);
1422     ini.WriteString('Window', 'ListFontColor', ColorToString(FListFontColor));
1423     ini.WriteString('Window', 'ListBackColor', ColorToString(FListBackColor));
1424 h677 1.80 ini.WriteBool('Window', 'ListFontBold', FListFontBold);
1425     ini.WriteBool('Window', 'ListFontItalic', FListFontItalic);
1426 h677 1.92 ini.WriteBool('Window','UseOddColor',FUseOddColorOddResNum);
1427     ini.WriteString('Window', 'OddColor',ColorToString(FOddColor));
1428     ini.WriteBool('Window','UnFocusedBold', FUnFocusedBold);
1429 hi_ 1.1
1430     ini.WriteString('Window', 'EditorFontName', FEditorFontName);
1431     ini.WriteInteger('Window', 'EditorFontSize', FEditorFontSize);
1432     ini.WriteString('Window', 'EditorFontColor', ColorToString(FEditorFontColor));
1433     ini.WriteString('Window', 'EditorBackColor', ColorToString(FEditorBackColor));
1434    
1435     ini.WriteString('Window', 'BrowserTabFontName', FBrowserTabFontName);
1436     ini.WriteInteger('Window', 'BrowserTabFontSize', FBrowserTabFontSize);
1437     ini.WriteBool('Window', 'BrowserTabFontBold', FBrowserTabFontBold);
1438     ini.WriteBool('Window', 'BrowserTabFontItalic', FBrowserTabFontItalic);
1439    
1440     ini.WriteString('Window', 'HintFontName', FHintFontName);
1441     ini.WriteInteger('Window', 'HintFontSize', FHintFontSize);
1442     ini.WriteString('Window', 'HintFontColor', ColorToString(FHintFontColor));
1443     ini.WriteString('Window', 'HintBackColor', ColorToString(FHintBackColor));
1444    
1445     ini.UpdateFile;
1446     finally
1447     ini.Free;
1448     end;
1449     end;
1450    
1451     //險ュ螳壹ヵ繧。繧、繝ォ菫晏ュ?window)
1452     procedure TSetting.WriteWindowSettingFile();
1453     var
1454     i: Integer;
1455     ini: TMemIniFile;
1456     CoolSet: TCoolSet;
1457 yoffy 1.66 wkList : TStringList;
1458 hi_ 1.1 begin
1459     ini := TMemIniFile.Create(GetFileName());
1460     try
1461     ini.WriteInteger('WindowSize', 'Top', WindowTop);
1462     ini.WriteInteger('WindowSize', 'Left', WindowLeft);
1463     ini.WriteInteger('WindowSize', 'Height', WindowHeight);
1464     ini.WriteInteger('WindowSize', 'Width', WindowWidth);
1465     ini.WriteBool('WindowSize', 'Max', WindowMax);
1466    
1467     ini.WriteInteger('ViewStyle', 'ListView', Ord(ListStyle));
1468    
1469     ini.WriteInteger('EditorWindowSize', 'Top', EditWindowTop);
1470     ini.WriteInteger('EditorWindowSize', 'Left', EditWindowLeft);
1471     ini.WriteInteger('EditorWindowSize', 'Height', EditWindowHeight);
1472     ini.WriteInteger('EditorWindowSize', 'Width', EditWindowWidth);
1473     ini.WriteBool('EditorWindowSize', 'Max', EditWindowMax);
1474 deux 1.20 ini.WriteBool('EditorWindowSize', 'Stay', EditWindowStay);
1475 yoffy 1.34 ini.WriteBool('EditorWindowSize', 'Translucent', EditWindowTranslucent);
1476 hi_ 1.1
1477 yoffy 1.14 ini.WriteInteger('OptionDialog', 'TabIndex', FOptionDialogTabIndex);
1478 yoffy 1.8
1479 h677 1.107 // 蜈・蜉帙い繧キ繧ケ繝?/span>
1480     ini.WriteInteger('IAtWindowsSize', 'Top', FInputAssistFormTop);
1481     ini.WriteInteger('IAtWindowsSize', 'Left', FInputAssistFormLeft);
1482     ini.WriteInteger('IAtWindowsSize', 'Width', FInputAssistFormWidth);
1483     ini.WriteInteger('IAtWindowsSize', 'Height', FInputAssistFormHeight);
1484    
1485 hi_ 1.1 //繝??繝ォ繝舌?
1486     ini.WriteBool('ToolBar', 'StdVisible', FStdToolBarVisible);
1487     ini.WriteBool('ToolBar', 'AddressVisible', FAddressBarVisible);
1488     ini.WriteBool('ToolBar', 'LinkVisible', FLinkBarVisible);
1489     ini.WriteBool('ToolBar', 'ListVisible', FListToolBarVisible);
1490     ini.WriteBool('ToolBar', 'ListNameVisible', FListNameBarVisible);
1491     ini.WriteBool('ToolBar', 'BrowserVisible', FBrowserToolBarVisible);
1492     ini.WriteBool('ToolBar', 'BrowserNameVisible', FBrowserNameBarVisible);
1493     //繝??繝ォ繝舌?Wrapable
1494     ini.WriteBool('ToolBar', 'ListWrapable', FListToolBarWrapable);
1495     ini.WriteBool('ToolBar', 'BrowserWrapable', FBrowserToolBarWrapable);
1496    
1497     //繧ソ繝?/span>
1498     ini.WriteBool('Tab', 'BrowserTabVisible', FBrowserTabVisible);
1499     ini.WriteInteger('Tab', 'BrowserTabPosition', Ord(FBrowserTabPosition));
1500     ini.WriteInteger('Tab', 'BrowserTabAppend', Ord(FBrowserTabAppend));
1501     ini.WriteInteger('Tab', 'BrowserTabStyle', Ord(FBrowserTabStyle));
1502    
1503     //繝。繝?そ繝シ繧ク繝舌?
1504     ini.WriteBool('MessageBar', 'Visible', FMessageBarVisible);
1505     ini.WriteInteger('MessageBar', 'Height', FMessegeBarHeight);
1506    
1507     //繧ケ繝??繧ソ繧ケ繝舌?
1508     ini.WriteBool('StatusBar', 'Visible', FStatusBarVisible);
1509    
1510     //繧ュ繝」繝薙ロ繝?ヨ
1511     ini.WriteBool('Cabinet', 'Visible', FCabinetVisible);
1512     ini.WriteInteger('Cabinet', 'Width', FCabinetWidth);
1513 yoffy 1.14 ini.WriteInteger('Cabinet', 'Index', FCabinetIndex);
1514 hi_ 1.1
1515     //繝ェ繧ケ繝医?繧オ繧、繧コ縺ィ蝙ら峩豌エ蟷ウ
1516     ini.WriteInteger('List', 'Orientation', Ord(FListOrientation));
1517     ini.WriteInteger('List', 'Height', FListHeight);
1518     ini.WriteInteger('List', 'HeightState', Ord(FListHeightState));
1519     ini.WriteInteger('List', 'Width', FListWidth);
1520     ini.WriteInteger('List', 'WidthState', Ord(FListWidthState));
1521     // ini.WriteBool('List', 'HeightMax', FListHeightMax);
1522     // ini.WriteBool('List', 'WidthMax', FListWidthMax);
1523    
1524    
1525     // ini.WriteInteger('Window', 'BrowserFontSize', BrowserFontSize);
1526    
1527     //繝ェ繧ケ繝育分蜿キ陦ィ遉コ
1528     ini.WriteBool('Function', 'ListViewNo', FListViewNo);
1529     //CSS菴ソ逕ィ
1530     ini.WriteBool('CSS', 'UseCSS', FUseCSS);
1531 h677 1.97 //縺九@繧??懊@繧??繧ケ繧ュ繝ウ繧剃スソ縺?°
1532     ini.WriteBool('CSS', 'UseKatjushaType', FUseKatjushaType);
1533 hi_ 1.1 //CSS繝輔ぃ繧、繝ォ蜷?/span>
1534 h677 1.124 ini.WriteString('CSS', 'FileName', FSkinFiles.FileName);
1535 hi_ 1.1 //Mail谺?。ィ遉コ
1536     ini.WriteBool('Thread', 'ShowMail', FShowMail);
1537 yoffy 1.49 // 繝ャ繧ケ陦ィ遉コ遽?峇
1538 yoffy 1.58 ini.DeleteKey( 'Thread', 'OnlyAHundredRes' ); // 蜿、縺?ィュ螳壹?蜑企勁
1539 yoffy 1.49 ini.WriteInteger('Thread', 'ResRange', FResRange);
1540 yoffy 1.51 ini.WriteBool('Thread', 'ResRangeHold', FResRangeHold);
1541 h677 1.114 ini.WriteInteger('Thread', 'HeadResCount', FHeadResCount);
1542 h677 1.137 ini.WriteInteger('Thread','ResRangeExCount', FResRangeExCount);
1543 yoffy 1.55 // 繧ケ繝ャ繝?ラ荳?隕ァ陦ィ遉コ遽?峇
1544     ini.WriteInteger('ThreadList', 'ThreadRange', Ord( FThreadRange ));
1545 hi_ 1.1 //繝ュ繧ー蜑企勁遒コ隱?/span>
1546     ini.WriteBool('Function', 'LogDeleteMessage', FDeleteMsg);
1547 yoffy 1.14 //邨ゆコ?「コ隱?/span>
1548     ini.WriteBool('Function','ShowDialogForEnd',FShowDialogForEnd);
1549 h677 1.38 //AllTabClose
1550     ini.WriteBool('Function','ShowDialogForAllTabClose', FShowDialogForAllTabClose);
1551 yoffy 1.34 //Samba
1552     ini.WriteBool('Function','UseSamba', FUseSamba);
1553 h677 1.38 //ResAnchorjamp
1554     ini.WriteBool('Function', 'ResAnchoJamp', ResAnchorJamp);
1555 h677 1.33
1556 hi_ 1.1 //髱槭い繧ッ繝?ぅ繝匁凾繝昴ャ繝励い繝??陦ィ遉コ
1557     ini.WriteBool('Thread', 'UnActivePopup', FUnActivePopup);
1558 yoffy 1.2 //繝ャ繧ケ繝昴ャ繝励い繝??繝倥ャ繝?繝シ繝懊?繝ォ繝?/span>
1559     ini.WriteBool('Thread', 'ResPopupHeaderBold', FResPopupHeaderBold);
1560 h677 1.11 //ini.WriteString('BoardURL', '2ch', FBoardURL2ch);
1561 hi_ 1.1
1562     //隱崎ィシ逕ィ繝ヲ繝シ繧カID繝サ繝代せ繝ッ繝シ繝?/span>
1563     ini.WriteString('Attestation', 'UserID', FUserID);
1564     ini.WriteString('Attestation', 'Password', Encrypt(FPassword));
1565     ini.WriteBool('Attestation', 'AutoLogin', FAutoLogin);
1566 h677 1.36 ini.WriteBool('Attestation', 'FForcedLogin', FForcedLogin);
1567     ini.WriteString('Attestation', 'FDolibURL', FDolibURL);
1568 hi_ 1.1
1569     //URL繧ッ繝ェ繝?け譎りオキ蜍輔い繝励Μ
1570     ini.WriteBool('URLApp', 'Select', FURLApp);
1571     ini.WriteString('URLApp', 'File', FURLAppFile);
1572    
1573     //mailto繧ッ繝ェ繝?け譎ょ虚菴?/span>
1574     ini.WriteBool('Mailto', 'Open', FOpenMailer);
1575    
1576     //繝昴ャ繝励い繝??菴咲スョ
1577     ini.WriteInteger('Browser', 'PopupPosition', Ord(FPopupPosition));
1578 h677 1.128 ini.WriteInteger('Browser', 'RespopupDelteX', FRespopupDeltaX);
1579     ini.WriteInteger('Browser', 'RespopupDelteY', FRespopupDeltaY);
1580     ini.WriteInteger('Browser', 'RespopupWait', FRespopupWait);
1581 h677 1.130 ini.WriteBool('Browser', 'RespopupMailTo', FRespopupMailTo);
1582    
1583 hi_ 1.1 //繧「繝峨Ξ繧ケ繝舌?
1584     ini.WriteBool('AddressBar', 'URLDisplay', FURLDisplay);
1585     ini.WriteBool('AddressBar', 'TabStop', FAddressBarTabStop);
1586     ini.WriteBool('AddressBar', 'LinkAdd', FLinkAddAddressBar);
1587     ini.WriteInteger('AddressBar', 'HistoryCount', FAddressHistoryCount);
1588    
1589     //逕サ蜒上?繝ャ繝薙Η繝シ
1590     ini.WriteBool('Browser', 'PreviewVisible', FPreviewVisible);
1591     ini.WriteInteger('Browser', 'PreviewSize', Ord(FPreviewSize));
1592     ini.WriteInteger('Browser', 'PreviewWait', FPreviewWait);
1593 yoffy 1.61
1594     ini.WriteInteger('Window', 'BrowserAutoMaximize', Ord( BrowserAutoMaximize ) );
1595 hi_ 1.1
1596     //繧ケ繝ャ繝?ラ荳?隕ァ譖エ譁ー繧「繧、繧ウ繝ウ
1597     ini.WriteBool('ThreadList', 'StateIconVisible', FListIconVisible);
1598 yoffy 1.34 ini.WriteBool('ThreadList', 'CreationTimeLogs',FCreationTimeLogs);
1599     ini.WriteBool('ThreadList', 'FutureThread', FFutureThread);
1600 q9_ 1.44 ini.WriteInteger('ThreadList', 'SelectInterval', FSelectInterval);
1601 q9_ 1.46 //繧ス繝シ繝磯??/span>
1602     ini.WriteInteger('ThreadList', 'BBSSortIndex', FBBSSortIndex);
1603     ini.WriteBool('ThreadList', 'BBSSortOrder', FBBSSortOrder);
1604     ini.WriteInteger('ThreadList', 'CategorySortIndex', FCategorySortIndex);
1605     ini.WriteBool('ThreadList', 'CategorySortOrder', FCategorySortOrder);
1606     ini.WriteInteger('ThreadList', 'BoardSortIndex', FBoardSortIndex);
1607     ini.WriteBool('ThreadList', 'BoardSortOrder', FBoardSortOrder);
1608 q9_ 1.53 ini.WriteInteger('ThreadList', 'DatOchiSortIndex', FDatOchiSortIndex);
1609     ini.WriteBool('ThreadList', 'DatOchiSortOrder', FDatOchiSortOrder);
1610 h677 1.101 // DL蠕後?閾ェ蜍輔た繝シ繝?/span>
1611     ini.WriteBool('ThreadList', 'AutoSort', FAutoSortThreadList);
1612 hi_ 1.1
1613     //譖ク縺崎セシ縺ソ譎ゅ?繧キ繝ウ譎ょ綾菴ソ逕ィ險ュ螳?/span>
1614     ini.WriteBool('PostTime', 'UseMachineTime', FUseMachineTime);
1615     ini.WriteInteger('PostTime', 'TimeAdjustSec', FTimeAdjustSec);
1616     ini.WriteBool('PostTime', 'TimeAdjust', FTimeAdjust);
1617    
1618 yoffy 1.64 // 繝ェ繧ケ繝医き繝ゥ繝?蟷?/span>
1619 hi_ 1.1 for i := 0 to Length(FBBSColumnWidth) - 1 do begin
1620     ini.WriteInteger('BBSColumnWidth', 'ID' + IntToStr(i), FBBSColumnWidth[i]);
1621     end;
1622     for i := 0 to Length(FCategoryColumnWidth) - 1 do begin
1623     ini.WriteInteger('CategoryColumnWidth', 'ID' + IntToStr(i), FCategoryColumnWidth[i]);
1624     end;
1625     for i := 0 to Length(FBoardColumnWidth) - 1 do begin
1626     ini.WriteInteger('BoardColumnWidth', 'ID' + IntToStr(i), FBoardColumnWidth[i]);
1627     end;
1628    
1629 yoffy 1.66 wkList := TStringList.Create;
1630     try
1631     // 繧ォ繝?ざ繝ェ繝ェ繧ケ繝磯??コ?/span>
1632     ini.ReadSection( 'BBSColumnOrder', wkList );
1633     for i := wkList.Count - 1 downto 0 do
1634     ini.DeleteKey( 'BBSColumnOrder', wkList[ i ] );
1635     for i := 0 to FBBSColumnOrder.Count - 1 do
1636     ini.WriteInteger( 'BBSColumnOrder', 'ID' + IntToStr( i ), Ord( FBBSColumnOrder[ i ] ) );
1637    
1638     // 譚ソ繝ェ繧ケ繝磯??コ?/span>
1639     ini.ReadSection( 'CategoryColumnOrder', wkList );
1640     for i := wkList.Count - 1 downto 0 do
1641     ini.DeleteKey( 'CategoryColumnOrder', wkList[ i ] );
1642     for i := 0 to FCategoryColumnOrder.Count - 1 do
1643     ini.WriteInteger( 'CategoryColumnOrder', 'ID' + IntToStr( i ), Ord( FCategoryColumnOrder[ i ] ) );
1644    
1645     // 繧ケ繝ャ繝ェ繧ケ繝磯??コ?/span>
1646     ini.ReadSection( 'BoardColumnOrder', wkList );
1647     for i := wkList.Count - 1 downto 0 do
1648     ini.DeleteKey( 'BoardColumnOrder', wkList[ i ] );
1649     for i := 0 to FBoardColumnOrder.Count - 1 do
1650     ini.WriteInteger( 'BoardColumnOrder', 'ID' + IntToStr( i ), Ord( FBoardColumnOrder[ i ] ) );
1651     finally
1652     wkList.Free;
1653     end;
1654 yoffy 1.64
1655 hi_ 1.1 //繧オ繧ヲ繝ウ繝?/span>
1656     for i := 0 to GetSoundCount - 1 do begin
1657     if not FileExists(SoundFileName[i]) then
1658     SoundFileName[i] := '';
1659     ini.WriteString('Sound', SoundName[i], SoundFileName[i]);
1660     end;
1661    
1662     //CoolBar
1663     ini.EraseSection('MainCoolBar');
1664     for i := 0 to MAIN_COOLBAND_COUNT - 1 do begin
1665     CoolSet := MainCoolSet[i];
1666     ini.WriteInteger('MainCoolBar', 'ID' + IntToStr(i), CoolSet.FCoolID);
1667     ini.WriteInteger('MainCoolBar', 'Width' + IntToStr(i), CoolSet.FCoolWidth);
1668     ini.WriteBool('MainCoolBar', 'Break' + IntToStr(i), CoolSet.FCoolBreak);
1669     end;
1670 yoffy 1.2 ini.EraseSection('ListCoolBar');
1671 yoffy 1.14 ini.WriteInteger( 'ListCoolBar', 'SelectWidth', FSelectComboBoxWidth );
1672 hi_ 1.1 for i := 0 to LIST_COOLBAND_COUNT - 1 do begin
1673     CoolSet := ListCoolSet[i];
1674     ini.WriteInteger('ListCoolBar', 'ID' + IntToStr(i), CoolSet.FCoolID);
1675     ini.WriteInteger('ListCoolBar', 'Width' + IntToStr(i), CoolSet.FCoolWidth);
1676     ini.WriteBool('ListCoolBar', 'Break' + IntToStr(i), CoolSet.FCoolBreak);
1677     end;
1678     ini.EraseSection('BrowserCoolBar');
1679     for i := 0 to BROWSER_COOLBAND_COUNT - 1 do begin
1680     CoolSet := BrowserCoolSet[i];
1681     ini.WriteInteger('BrowserCoolBar', 'ID' + IntToStr(i), CoolSet.FCoolID);
1682     ini.WriteInteger('BrowserCoolBar', 'Width' + IntToStr(i), CoolSet.FCoolWidth);
1683     ini.WriteBool('BrowserCoolBar', 'Break' + IntToStr(i), CoolSet.FCoolBreak);
1684     end;
1685 h677 1.3
1686 h677 1.9 //縺ゅ⊂縲懊s
1687     ini.WriteBool('Abon','Deleterlo',FAbonDeleterlo);
1688     ini.WriteBool('Abon','Replaceul',FAbonReplaceul);
1689 h677 1.93 ini.WriteBool('Abon','Popup',FPopUpAbon);
1690 h677 1.9 ini.WriteBool('Abon','ShowNGLines',FShowNGLinesNum);
1691     ini.WriteBool('Abon','AddResAnchor',FAddResAnchor);
1692 h677 1.93 ini.WriteBool('Abon','DeleteSyria',FDeleteSyria);
1693     ini.WriteBool('Abon','IgnoreKana', FIgnoreKana);
1694 yoffy 1.40
1695     // 繧ィ繝?ぅ繧ソ
1696     ini.WriteBool( 'Editor', 'SpaceToNBSP', FSpaceToNBSP );
1697 yoffy 1.41 ini.WriteBool( 'Editor', 'AmpToCharRef', FAmpToCharRef );
1698 h677 1.139 ini.WriteBool( 'Editor', 'UseGobakuCheck', FUseGobakuCheck );
1699 hi_ 1.1
1700 genyakun 1.71 //繧ソ繝冶?蜍穂ソ晏ュ?/span>
1701 h677 1.67 ini.WriteBool('TabAuto', 'TabAutoLoadSave', FTabAutoLoadSave);
1702 h677 1.139 ini.WriteString('Thread', 'LastCloseTabURL', FLastCloseTabURL);
1703 genyakun 1.71 //隧ウ邏ー險ュ螳?/span>
1704     ini.WriteInteger('OptionDialog', 'KuroutTabIndex', FKuroutSettingTabIndex);
1705 h677 1.67
1706 genyakun 1.71 //縺ォ縺。繧?s隱樊。亥?讖溯?
1707 genyakun 1.77 ini.WriteBool('2chSupport', 'Support', F2chSupport);
1708 genyakun 1.52
1709 yoffy 1.75 // 繝槭え繧ケ繧ク繧ァ繧ケ繝√Ε繝シ繧剃スソ逕ィ縺吶k縺九←縺?°
1710     ini.WriteBool( 'Guesture', 'Enabled', FGestureEnabled );
1711 h677 1.115 ini.WriteBool( 'Guesture', 'IgnoreContext', FGestureIgnoreContext );
1712 h677 1.81 //FusianaTrap
1713     ini.WriteBool('Trap', 'LocalTrap', FLocalTrapAtt);
1714     ini.WriteBool('Trap', 'RemoteTrap', FRemoteTrapAtt);
1715     ini.WriteInteger('HTTP', 'ReadTimeOut', FReadTimeOut);
1716 yoffy 1.83
1717     // 菴ソ逕ィ縺吶k繧ケ繝代Β繝輔ぅ繝ォ繧ソ
1718     ini.WriteInteger( 'Abon', 'SpamFilterAlgorithm', Ord( FSpamFilterAlgorithm ) );
1719 genyakun 1.87 ini.WriteBool('Function', 'Mute', FMute);
1720     ini.WriteBool('ThreadList', 'UseUndecided', FUseUndecided);
1721    
1722     //隱崎ィシ逕ィ繝ヲ繝シ繧カID繝サ繝代せ繝ッ繝シ繝?/span>
1723     ini.WriteString('Be', 'UserID', FBeUserID);
1724 h677 1.90 ini.WriteString('Be', 'Code', Encrypt(FBeCode));
1725 genyakun 1.87 ini.WriteBool('Be', 'AutoLogin', FBeAutoLogin);
1726    
1727 h677 1.91 //螻・豁エ縺ョ譛?螟ァ菫晏ュ倅サカ謨ー
1728     ini.WriteInteger('Recode', 'Max', FMaxRecordCount);
1729 h677 1.108 // 蝗コ螳壹?Cookie譁?ュ怜?
1730     ini.WriteString('Cookie', 'fixedString', FFixedCookie);
1731 h677 1.91
1732 h677 1.110 // 繝ェ繝ウ繧ッ遘サ蜍募ア・豁エ縺ョ譛?螟ァ菫晄戟謨ー
1733     ini.WriteInteger('MoveHisotry', 'Max', FMoveHistorySize);
1734    
1735 h677 1.111 ini.WriteBool('Function', 'StroedTaskTray', FStoredTaskTray);
1736 h677 1.113 ini.WriteBool('Function', 'LoopBrowserTabs', FLoopBrowserTabs);
1737 h677 1.116 ini.WriteBool('Thread', 'AddKeywordLink', FAddKeywordLink);
1738 h677 1.117 ini.WriteBool('Thread', 'ReplaceDat', FReplaceDat);
1739 h677 1.118 ini.WriteInteger('Function', 'SentIniFileSize', FSentIniFileSize);
1740 h677 1.120 ini.WriteString('Function', 'ExtList', FExtList);
1741 h677 1.125 ini.WriteBool('ThreadList', 'CheckDatFile', FCheckDatFile);
1742 h677 1.127 ini.WriteBool('Thread', 'LimitResCountMessage', FLimitResCountMessage);
1743 h677 1.139
1744 h677 1.81 ini.UpdateFile;
1745 hi_ 1.1 finally
1746     ini.Free;
1747     end;
1748     end;
1749    
1750     //險ュ螳壹ヵ繧。繧、繝ォ菫晏ュ?name & mail)
1751     procedure TSetting.WriteNameMailSettingFile();
1752     var
1753     i: Integer;
1754     ini: TMemIniFile;
1755     begin
1756     ini := TMemIniFile.Create(GetFileName());
1757     try
1758     ini.EraseSection('Name');
1759     ini.EraseSection('Mail');
1760     ini.EraseSection('SelectText');
1761     for i := 0 to FNameList.Count - 1 do begin
1762     ini.WriteString('Name', Format('%.2d', [i + 1]), FNameList[i]);
1763     if i >= 39 then
1764     Break;
1765     end;
1766     for i := 0 to FMailList.Count - 1 do begin
1767     ini.WriteString('Mail', Format('%.2d', [i + 1]), FMailList[i]);
1768     if i >= 39 then
1769     Break;
1770     end;
1771     for i := 0 to FSelectTextList.Count - 1 do begin
1772     ini.WriteString('SelectText', Format('%.2d', [i + 1]), FSelectTextList[i]);
1773     if i >= 39 then
1774     Break;
1775     end;
1776     ini.UpdateFile;
1777     finally
1778     ini.Free;
1779     end;
1780     end;
1781    
1782     procedure TSetting.WriteFolderSettingFile();
1783     var
1784     ini: TMemIniFile;
1785     begin
1786     ini := TMemIniFile.Create(GetFileName());
1787     try
1788 h677 1.123 if GetAppDir + 'Log' = NewLogFolder then
1789 hi_ 1.1 ini.DeleteKey('Folder', 'LogFolder')
1790     else
1791     ini.WriteString('Folder', 'LogFolder', NewLogFolder);
1792     ini.UpdateFile;
1793     finally
1794     ini.Free;
1795     end;
1796     end;
1797 h677 1.11 //譚ソ譖エ譁ー逕ィBoardURL繧剃ソ晏ュ?/span>
1798     procedure TSetting.WriteBoardURLSettingFile();
1799     var
1800     ini: TMemIniFile;
1801 yoffy 1.14 i : Integer;
1802     oldcount : Integer;
1803 h677 1.11 begin
1804     ini := TMemIniFile.Create(GetBoardURLFileName());
1805     try
1806 yoffy 1.14 oldcount := ini.ReadInteger('URL','count',FBoardURLs.Count);
1807     ini.WriteInteger('URL','count',FBoardURLs.Count);
1808     ini.WriteInteger('URL','selected',BoardURLSelected);
1809     for i := 0 to FBoardURLs.Count -1 do begin
1810     ini.WriteString('URL',IntToStr(i+1),FBoardURLs.Strings[i]);
1811     end;
1812     if oldcount > FBoardURLs.Count then begin
1813     for i := FBoardURLs.Count to oldcount do begin
1814     ini.DeleteKey('URL',IntToStr(i+1));
1815     end;
1816     end;
1817 h677 1.11 ini.UpdateFile;
1818     finally
1819     ini.Free;
1820     end;
1821     end;
1822 hi_ 1.1
1823 yoffy 1.28 {$R-}
1824 hi_ 1.1 //繝ェ繧ケ繝医き繝ゥ繝?繝倥ャ繝?繝シ
1825     function TSetting.GetBBSColumnWidth(index: Integer): Integer;
1826     begin
1827     Result := IfThen(index in [0..Length(FBBSColumnWidth) - 1], FBBSColumnWidth[index], 0);
1828     end;
1829    
1830     function TSetting.GetCategoryColumnWidth(index: Integer): Integer;
1831     begin
1832     Result := IfThen(index in [0..Length(FCategoryColumnWidth) - 1], FCategoryColumnWidth[index], 0);
1833     end;
1834    
1835     function TSetting.GetBoardColumnWidth(index: Integer): Integer;
1836     begin
1837     Result := IfThen(index in [0..Length(FBoardColumnWidth) - 1], FBoardColumnWidth[index], 0);
1838     end;
1839 yoffy 1.28 {$IFDEF DEBUG}
1840     {$R+}
1841     {$ENDIF}
1842 hi_ 1.1
1843     procedure TSetting.SetBBSColumnWidth(index: Integer; value: Integer);
1844     begin
1845     if index in [0..Length(FBBSColumnWidth) - 1] then
1846     FBBSColumnWidth[index] := value;
1847     end;
1848    
1849     procedure TSetting.SetCategoryColumnWidth(index: Integer; value: Integer);
1850     begin
1851     if index in [0..Length(FCategoryColumnWidth) - 1] then
1852     FCategoryColumnWidth[index] := value;
1853     end;
1854    
1855     procedure TSetting.SetBoardColumnWidth(index: Integer; value: Integer);
1856     begin
1857     if index in [0..Length(FBoardColumnWidth) - 1] then
1858     FBoardColumnWidth[index] := value;
1859     end;
1860    
1861     function TSetting.GetSoundCount: Integer;
1862     begin
1863     Result := Length(SOUND_NAME);
1864     end;
1865    
1866     function TSetting.GetSoundName(Index: Integer): string;
1867     begin
1868     if (Index < GetSoundCount) and (Index >= 0) then
1869     Result := SOUND_NAME[Index].Name
1870     else
1871     Result := '';
1872     end;
1873    
1874     function TSetting.GetSoundViewName(Index: Integer): string;
1875     begin
1876     if (Index < GetSoundCount) and (Index >= 0) then
1877     Result := SOUND_NAME[Index].ViewName
1878     else
1879     Result := '';
1880     end;
1881    
1882     function TSetting.GetSoundFileName(Index: Integer): string;
1883     begin
1884     if (Index < GetSoundCount) and (Index >= 0) then
1885     Result := SOUND_NAME[Index].FileName
1886     else
1887     Result := '';
1888     end;
1889    
1890     procedure TSetting.SetSoundFileName(Index: Integer; value: string);
1891     begin
1892     if (Index < GetSoundCount) and (Index >= 0) then
1893     SOUND_NAME[Index].FileName := value;
1894     end;
1895    
1896     function TSetting.FindSoundFileName(Name: string): string;
1897     var
1898     i: Integer;
1899     begin
1900     for i := 0 to GetSoundCount - 1 do begin
1901     if SoundName[i] = Name then begin
1902 h677 1.138 SysUtils.SetCurrentDir(GetAppDir);
1903     Result := ExpandFileName(SoundFileName[i]);
1904 hi_ 1.1 Exit;
1905     end;
1906     end;
1907     Result := '';
1908     end;
1909    
1910     function TSetting.Encrypt(s: string): string;
1911     var
1912     cryptObj: THogeCryptAuto;
1913     inputStream, outputStream: TStringStream;
1914     begin
1915     inputStream := TStringStream.Create(s);
1916     outputStream := TStringStream.Create('');
1917     cryptObj := THogeCryptAuto.Create;
1918     try
1919     // 證怜捷蛹?/span>
1920     cryptObj.Encrypt(inputStream, GIKO_ENCRYPT_TEXT, outputStream);
1921    
1922     // 繝舌う繝翫Μ縺ェ縺ョ縺ァ蠢?ヲ√↓蠢懊§縺ヲ繝?く繧ケ繝医↓螟画鋤
1923     Result := HogeBase64Encode(outputStream.DataString);
1924     finally
1925     cryptObj.Free;
1926     outputStream.Free;
1927     inputStream.Free;
1928     end;
1929     end;
1930    
1931     function TSetting.Decrypt(s: string): string;
1932     var
1933     cryptObj: THogeCryptAuto;
1934     inputStream, outputStream: TStringStream;
1935     begin
1936     try
1937     inputStream := TStringStream.Create(HogeBase64Decode(s));
1938     except
1939     Result := '';
1940     Exit;
1941     end;
1942     outputStream := TStringStream.Create('');
1943     cryptObj := THogeCryptAuto.Create;
1944     try
1945     // 蠕ゥ蜿キ
1946     cryptObj.Decrypt(inputStream, GIKO_ENCRYPT_TEXT, outputStream);
1947     Result := outputStream.DataString;
1948     finally
1949     cryptObj.Free;
1950     outputStream.Free;
1951     inputStream.Free;
1952     end;
1953     end;
1954    
1955     function TSetting.GetMainCoolSet(Index: Integer): TCoolSet;
1956     begin
1957     if Index in [0..MAIN_COOLBAND_COUNT - 1] then
1958     Result := FMainCoolBar[Index]
1959     else begin
1960     Result.FCoolID := -1;
1961     Result.FCoolWidth := -1;
1962     Result.FCoolBreak := False;
1963     end;
1964     end;
1965    
1966     function TSetting.GetBoardCoolSet(Index: Integer): TCoolSet;
1967     begin
1968     if Index in [0..LIST_COOLBAND_COUNT - 1] then
1969     Result := FListCoolBar[Index]
1970     else begin
1971     Result.FCoolID := -1;
1972     Result.FCoolWidth := -1;
1973     Result.FCoolBreak := False;
1974     end;
1975     end;
1976    
1977     function TSetting.GetBrowserCoolSet(Index: Integer): TCoolSet;
1978     begin
1979     if Index in [0..BROWSER_COOLBAND_COUNT - 1] then
1980     Result := FBrowserCoolBar[Index]
1981     else begin
1982     Result.FCoolID := -1;
1983     Result.FCoolWidth := -1;
1984     Result.FCoolBreak := False;
1985     end;
1986     end;
1987    
1988     procedure TSetting.SetMainCoolSet(Index: Integer; CoolSet: TCoolSet);
1989     begin
1990     if Index in [0..MAIN_COOLBAND_COUNT - 1] then
1991     FMainCoolBar[Index] := CoolSet;
1992     end;
1993    
1994     procedure TSetting.SetBoardCoolSet(Index: Integer; CoolSet: TCoolSet);
1995     begin
1996     if Index in [0..LIST_COOLBAND_COUNT - 1] then
1997     FListCoolBar[Index] := CoolSet;
1998     end;
1999    
2000     procedure TSetting.SetBrowserCoolSet(Index: Integer; CoolSet: TCoolSet);
2001     begin
2002     if Index in [0..BROWSER_COOLBAND_COUNT - 1] then
2003     FBrowserCoolBar[Index] := CoolSet;
2004     end;
2005    
2006 h677 1.11 //url.ini縺後↑縺?→縺阪↓逕滓?縺吶k
2007     procedure TSetting.MakeURLIniFile();
2008     var
2009     ini: TMemIniFile;
2010     begin
2011     ini := TMemIniFile.Create(GetBoardURLFileName());
2012     try
2013 h677 1.98 //譖エ譁ーURL縺ョ謨ー
2014     ini.WriteInteger('URL','count',1);
2015     //繝?ヵ繧ゥ繝ォ繝医〒菴ソ逕ィ縺吶k?オ?イ?ャ縺ョ繧、繝ウ繝?ャ繧ッ繧ケ
2016     ini.WriteInteger('URL','selected',1);
2017     //莉・荳句ソ?ヲ√↑謨ー縺?縺代?∵峩譁ー?オ?イ?ャ繧定ソス蜉?
2018 yoffy 1.14 ini.WriteString('URL','1',DEFAULT_2CH_BOARD_URL1);
2019 genyakun 1.96 //ini.WriteString('URL','2',DEFAULT_2CH_BOARD_URL2);
2020 h677 1.11 ini.UpdateFile;
2021     finally
2022     ini.Free;
2023     end;
2024 yoffy 1.14 end;
2025    
2026     (*************************************************************************
2027     *繝懊?繝峨ヵ繧。繧、繝ォ蜷榊叙蠕暦シ医ヱ繧ケ?九ヵ繧。繧、繝ォ蜷搾シ?/span>
2028     *************************************************************************)
2029     function TSetting.GetBoardFileName: string;
2030     begin
2031 h677 1.123 Result := GetConfigDir + BOARD_FILE_NAME;
2032 yoffy 1.14 end;
2033    
2034     (*************************************************************************
2035     *繝懊?繝峨ヵ繧。繧、繝ォ蜷榊叙蠕暦シ医ヱ繧ケ?九ヵ繧。繧、繝ォ蜷搾シ?/span>
2036     *************************************************************************)
2037     function TSetting.GetCustomBoardFileName: string;
2038     begin
2039 h677 1.123 Result := GetConfigDir + CUSTOMBOARD_FILE_NAME;
2040 yoffy 1.18 end;
2041    
2042     (*************************************************************************
2043 h677 1.123 *繝懊?繝峨ョ繧」繝ャ繧ッ繝医Μ蜿門セ?\縺ァ邨ゅo繧?
2044 yoffy 1.18 *************************************************************************)
2045     function TSetting.GetBoardDir: string;
2046     begin
2047 h677 1.123 Result := IncludeTrailingPathDelimiter(GetConfigDir + BOARD_DIR_NAME);
2048 yoffy 1.14 end;
2049    
2050     (*************************************************************************
2051     *繝?Φ繝昴Λ繝ェ繝輔か繝ォ繝?繝シ蜷榊叙蠕?/span>
2052     *************************************************************************)
2053     function TSetting.GetHtmlTempFileName: string;
2054     begin
2055     Result := TEMP_FOLDER;
2056     end;
2057    
2058    
2059     (*************************************************************************
2060 h677 1.123 *螳溯。後ヵ繧。繧、繝ォ繝輔か繝ォ繝?蜿門セ?譛?蠕後↓\縺後≠繧?
2061 yoffy 1.14 *************************************************************************)
2062     function TSetting.GetAppDir: string;
2063     begin
2064     Result := ExtractFilePath(Application.ExeName);
2065     end;
2066    
2067     (*************************************************************************
2068     *TempHtml繝輔ぃ繧、繝ォ蜷榊叙蠕暦シ医ヱ繧ケ?九ヵ繧。繧、繝ォ蜷搾シ?/span>
2069     *************************************************************************)
2070     function TSetting.GetTempFolder: string;
2071     begin
2072     Result := GetAppDir + TEMP_FOLDER;
2073     end;
2074    
2075     (*************************************************************************
2076     *sent.ini繝輔ぃ繧、繝ォ蜷榊叙蠕暦シ医ヱ繧ケ?九ヵ繧。繧、繝ォ蜷搾シ?/span>
2077     *************************************************************************)
2078     function TSetting.GetSentFileName: string;
2079     begin
2080     Result := GetAppDir + SENT_FILE_NAME;
2081     end;
2082    
2083     (*************************************************************************
2084     *outbox.ini繝輔ぃ繧、繝ォ蜷榊叙蠕暦シ医ヱ繧ケ?九ヵ繧。繧、繝ォ蜷搾シ?/span>
2085     *************************************************************************)
2086     function TSetting.GetOutBoxFileName: string;
2087     begin
2088     Result := GetAppDir + OUTBOX_FILE_NAME;
2089     end;
2090    
2091     (*************************************************************************
2092 h677 1.123 *Config繝輔か繝ォ繝?蜿門セ?\縺ァ邨ゅo繧?
2093 yoffy 1.14 *************************************************************************)
2094     function TSetting.GetConfigDir: string;
2095     begin
2096     Result := IncludeTrailingPathDelimiter(GetAppDir + CONFIG_DIR_NAME);
2097     end;
2098 h677 1.123 (*************************************************************************
2099     *CSS繝輔か繝ォ繝?蜿門セ?\縺ァ邨ゅo繧?
2100     *************************************************************************)
2101 yoffy 1.14 function TSetting.GetStyleSheetDir: string;
2102     begin
2103     Result := IncludeTrailingPathDelimiter(GetConfigDir + CSS_DIR_NAME);
2104     end;
2105 h677 1.123 (*************************************************************************
2106     *skin繝輔か繝ォ繝?蜿門セ?\縺ァ邨ゅo繧?
2107     *************************************************************************)
2108 yoffy 1.14 function TSetting.GetSkinDir: string;
2109     begin
2110     Result := IncludeTrailingPathDelimiter(GetConfigDir + SKIN_DIR_NAME);
2111     end;
2112 h677 1.123 (*************************************************************************
2113     *NG繝ッ繝シ繝峨ョ繧」繝ャ繧ッ繝医Μ蜿門セ?\縺ァ邨ゅo繧?
2114     *************************************************************************)
2115 yoffy 1.15 function TSetting.GetNGWordsDir: string;
2116     begin
2117 yoffy 1.16 Result := IncludeTrailingPathDelimiter(GetConfigDir + NGWORDs_DIR_NAME);
2118     end;
2119 h677 1.123 (*************************************************************************
2120     *Board繝励Λ繧ー繧、繝ウ繝?ぅ繝ャ繧ッ繝医Μ蜿門セ?\縺ァ邨ゅo繧?
2121     *************************************************************************)
2122 yoffy 1.16 function TSetting.GetBoardPlugInDir: string;
2123     begin
2124     Result := IncludeTrailingPathDelimiter(GetConfigDir + BOARD_PLUGIN_DIR_NAME);
2125 yoffy 1.14 end;
2126    
2127     procedure TSetting.SetUseCSS( value: Boolean );
2128     begin
2129    
2130     FUseCSS := value;
2131 h677 1.109 // Windows逧?↓繝輔ぃ繧、繝ォ繝代せ縺ョ螟ァ譁?ュ怜ー乗枚蟄励?驕輔>縺ッ辟。隕悶&繧後k縺ョ縺ァ縲?/span>
2132     // 繧ウ繧ウ縺ァ縺ョ蛻、螳壹〒繧ょ、ァ譁?ュ怜ー乗枚蟄励?驕輔>縺ッ辟。隕悶☆繧九??/span>
2133 yoffy 1.14 FUseSkin :=
2134     UseCSS and
2135 h677 1.124 (Pos( AnsiLowerCase(GetSkinDir), AnsiLowerCase(FSkinFiles.FileName) ) > 0) and
2136     FileExists( FSkinFiles.GetSkinHeaderFileName );
2137 yoffy 1.14
2138     end;
2139    
2140     procedure TSetting.SetCSSFileName( fileName: string );
2141     begin
2142 h677 1.124 FSkinFiles.FileName := fileName;
2143 h677 1.109 // Windows逧?↓繝輔ぃ繧、繝ォ繝代せ縺ョ螟ァ譁?ュ怜ー乗枚蟄励?驕輔>縺ッ辟。隕悶&繧後k縺ョ縺ァ縲?/span>
2144     // 繧ウ繧ウ縺ァ縺ョ蛻、螳壹〒繧ょ、ァ譁?ュ怜ー乗枚蟄励?驕輔>縺ッ辟。隕悶☆繧九??/span>
2145 yoffy 1.14 FUseSkin :=
2146     UseCSS and
2147 h677 1.124 (Pos( AnsiLowerCase(GetSkinDir), AnsiLowerCase(FSkinFiles.FileName) ) > 0) and
2148     FileExists( FSkinFiles.GetSkinHeaderFileName );
2149 yoffy 1.14
2150 h677 1.11 end;
2151 h677 1.123 (*************************************************************************
2152     *samba險ュ螳壹ヵ繧。繧、繝ォ蜷榊叙蠕?/span>
2153     *************************************************************************)
2154 h677 1.31 function TSetting.GetSambaFileName: string;
2155     begin
2156     Result := GetAppDir + SAMBATIME_FILE_NAME;
2157     end;
2158 h677 1.35 //譚ソ譖エ譁ー髯、螟悶き繝?ざ繝ェ繝ェ繧ケ繝井ソ晏ュ倥ヵ繧。繧、繝ォ
2159     function TSetting.GetIgnoreFileName: string;
2160     begin
2161     Result := GetConfigDir + IGNORE_FILE_NAME;
2162     end;
2163    
2164 yoffy 1.74 //! 繝槭え繧ケ繧ク繧ァ繧ケ繝√Ε繝シ繝輔ぃ繧、繝ォ繝代せ
2165     function TSetting.GetGestureFileName: string;
2166     begin
2167     Result := GetConfigDir + GESTURE_FILE_NAME;
2168     end;
2169    
2170