Develop and Download Open Source Software

Browse CVS Repository

Annotation of /gikonavigoeson/gikonavi/Giko.pas

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


Revision 1.253 - (hide annotations) (download) (as text)
Wed Apr 7 04:48:10 2004 UTC (20 years ago) by yoffy
Branch: MAIN
Changes since 1.252: +18 -1 lines
File MIME type: text/x-pascal
・スレリストとブラウザがマウスの左サイドボタンに対応。

1 hi_ 1.1 unit Giko;
2    
3     interface
4    
5     uses
6     Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
7 yoffy 1.117 OleCtrls, ComCtrls, ExtCtrls, Menus, StdCtrls, MMSystem, DateUtils, Math,
8 hi_ 1.4 {$IF Defined(DELPRO) }
9 yoffy 1.138 SHDocVw,
10 hi_ 1.4 MSHTML,
11     {$ELSE}
12     SHDocVw_TLB,
13     MSHTML_TLB,
14     {$IFEND}
15 h677 1.183 IdHTTP, ActiveX, ActnList, ImgList,
16     ToolWin, Buttons, {Clipbrd,} {HTTPApp,} YofUtils, IdComponent,
17     ShellAPI, UrlMon, Tabs, IdGlobal, StrUtils,
18 h677 1.170 CommCtrl, IniFiles, Dialogs,
19 hi_ 1.1 GikoSystem, GikoUtil, Setting, BoardGroup, ThreadControl, ItemDownload,
20     Editor, RoundData, RoundName, KeySetting, GikoPanel, Favorite, FavoriteAdd,
21     FavoriteArrange, AddressHistory, Preview, HTMLDocumentEvent, Kotehan,
22 h677 1.35 HintWindow, GikoCoolBar, GikoListView, ToolBarSetting, ToolBarUtil,
23 h677 1.170 IndividualAbon, Search, ExternalBoardManager, ExternalBoardPlugInMain,
24 yoffy 1.135 StdActns, GikoXMLDoc;
25 hi_ 1.1
26     type
27 yoffy 1.138 TGikoTreeType = (gttNone, gtt2ch, gttHistory, gttFavorite);
28 hi_ 1.1
29     TGikoForm = class(TForm)
30     StatusBar: TStatusBar;
31     MainPanel: TPanel;
32     ClientPanel: TPanel;
33     TreeSplitter: TSplitter;
34     CabinetPanel: TPanel;
35     TreeView: TTreeView;
36     ThreadMainPanel: TPanel;
37     ListSplitter: TSplitter;
38     ViewPanel: TPanel;
39 yoffy 1.51 ListView: TGikoListView;
40 hi_ 1.1 ThreadPanel: TPanel;
41     MessagePanel: TPanel;
42     MessageBar: TPanel;
43     MessageHideButton: TSpeedButton;
44     MessageListView: TListView;
45     MessageSplitter: TSplitter;
46     Panel3: TPanel;
47     SpeedButton1: TSpeedButton;
48     ToolBar1: TToolBar;
49     CabinetSelectToolButton: TToolButton;
50     HistoryToolBar: TToolBar;
51     ToolButton15: TToolButton;
52     ToolButton18: TToolButton;
53     ItemIcon16: TImageList;
54     ItemIcon32: TImageList;
55 yoffy 1.2 HotToobarImageList: TImageList;
56 yoffy 1.51 ToobarImageList: TImageList;
57 hi_ 1.1 ItemImageList: TImageList;
58 yoffy 1.2 ActionList: TActionList;
59 hi_ 1.1 LogDeleteAction: TAction;
60     KidokuAction: TAction;
61     StdToolBarVisibleAction: TAction;
62     SearchAction: TAction;
63 yoffy 1.51 GikoNaviWebPageAction: TAction;
64 hi_ 1.1 AboutAction: TAction;
65     ExitAction: TAction;
66 yoffy 1.51 MsgBarVisibleAction: TAction;
67 hi_ 1.1 StatusBarVisibleAction: TAction;
68     LargeIconAction: TAction;
69     SmallIconAction: TAction;
70     ListIconAction: TAction;
71 yoffy 1.51 DetailIconAction: TAction;
72 yoffy 1.141 CabinetBBSAction: TAction;
73 hi_ 1.1 CabinetHistoryAction: TAction;
74 yoffy 1.51 CabinetVisibleAction: TAction;
75     MidokuAction: TAction;
76 hi_ 1.1 AllSelectAction: TAction;
77     UpFolderAction: TAction;
78 yoffy 1.51 ListNumberVisibleAction: TAction;
79 hi_ 1.1 AllItemAction: TAction;
80 yoffy 1.51 LogItemAction: TAction;
81     NewItemAction: TAction;
82 hi_ 1.1 SelectItemAction: TAction;
83     ShowThreadAction: TAction;
84     StopAction: TAction;
85     MainMenu: TMainMenu;
86     FileMenu: TMenuItem;
87 yoffy 1.51 DeleteMenu: TMenuItem;
88     ExitMenu: TMenuItem;
89     KidokuMenu: TMenuItem;
90 hi_ 1.1 MidokuMenu: TMenuItem;
91 yoffy 1.51 AllSelectMenu: TMenuItem;
92 hi_ 1.1 ViewMenu: TMenuItem;
93     StdToolBarMenu: TMenuItem;
94     CabinetMenu: TMenuItem;
95 yoffy 1.51 H1: TMenuItem;
96 hi_ 1.1 N4: TMenuItem;
97 yoffy 1.51 CabinetVisibleMenu: TMenuItem;
98 hi_ 1.1 MessageMenu: TMenuItem;
99     StatusBarMenu: TMenuItem;
100     MMSep03: TMenuItem;
101 yoffy 1.51 LargeIconMenu: TMenuItem;
102 hi_ 1.1 SmallIconMenu: TMenuItem;
103     ListMenu: TMenuItem;
104     DetailMenu: TMenuItem;
105 yoffy 1.51 ToolMenu: TMenuItem;
106 hi_ 1.1 Find1: TMenuItem;
107     RoundMenu: TMenuItem;
108     MMSep04: TMenuItem;
109     OptionMenu: TMenuItem;
110     HelpMenu: TMenuItem;
111     G1: TMenuItem;
112 yoffy 1.51 N1: TMenuItem;
113 hi_ 1.1 AboutMenu: TMenuItem;
114 yoffy 1.51 IconStyle: TAction;
115 hi_ 1.1 BrowserPopupMenu: TPopupMenu;
116 yoffy 1.51 ShowThreadMenu: TMenuItem;
117 yoffy 1.2 ShowBoardMenu: TMenuItem;
118 hi_ 1.1 ShowBoardAction: TAction;
119     ListIconPopupMenu: TPopupMenu;
120     LargeIconPMenu: TMenuItem;
121     SmallIconPMenu: TMenuItem;
122     ListPMenu: TMenuItem;
123 yoffy 1.51 DetailPMenu: TMenuItem;
124     CabinetCloseAction: TAction;
125 hi_ 1.1 ClosePopupMenu: TPopupMenu;
126 yoffy 1.51 CloseMenu: TMenuItem;
127     OptionAction: TAction;
128 hi_ 1.1 U1: TMenuItem;
129     N3: TMenuItem;
130     B1: TMenuItem;
131     S1: TMenuItem;
132     N2: TMenuItem;
133     A1: TMenuItem;
134     L1: TMenuItem;
135     N5: TMenuItem;
136     S2: TMenuItem;
137 yoffy 1.51 RoundAction: TAction;
138 hi_ 1.1 ListPopupMenu: TPopupMenu;
139 yoffy 1.51 ListRoundPMenu: TMenuItem;
140 hi_ 1.1 ListReservPMenu: TMenuItem;
141     LPMSep01: TMenuItem;
142 yoffy 1.51 ItemRoundPMenu: TMenuItem;
143 hi_ 1.1 LPMSep02: TMenuItem;
144 yoffy 1.2 KidokuPMenu: TMenuItem;
145 hi_ 1.1 MidokuPMenu: TMenuItem;
146     AllSelectPMenu: TMenuItem;
147     UrlCopyPMenu: TMenuItem;
148     LPMSep05: TMenuItem;
149     DeletePMenu: TMenuItem;
150     LPMSep06: TMenuItem;
151     ViewPMenu: TMenuItem;
152     LargeIconLPMenu: TMenuItem;
153     SmallIconLPMenu: TMenuItem;
154     ListLPMenu: TMenuItem;
155     DetailLPMenu: TMenuItem;
156     T1: TMenuItem;
157     B2: TMenuItem;
158     N8: TMenuItem;
159     URLCopyAction: TAction;
160 yoffy 1.51 URLC1: TMenuItem;
161     N9: TMenuItem;
162 hi_ 1.1 N10: TMenuItem;
163 yoffy 1.51 MsgBarCloseAction: TAction;
164     ScrollTopAction: TAction;
165 hi_ 1.1 ScrollLastAction: TAction;
166     ScrollNewAction: TAction;
167     ScrollKokoAction: TAction;
168 yoffy 1.51 EditorAction: TAction;
169 hi_ 1.1 IEAction: TAction;
170     ItemReloadAction: TAction;
171 yoffy 1.51 BrowserMaxAction: TAction;
172 hi_ 1.1 G2: TMenuItem;
173     N11: TMenuItem;
174     T3: TMenuItem;
175     L2: TMenuItem;
176     N12: TMenuItem;
177     K1: TMenuItem;
178     N13: TMenuItem;
179     N14: TMenuItem;
180     R1: TMenuItem;
181     A2: TMenuItem;
182     N15: TMenuItem;
183 yoffy 1.51 SelectListReloadAction: TAction;
184     SelectThreadReloadAction: TAction;
185 hi_ 1.1 KokoPopupMenu: TPopupMenu;
186     KokomadePMenu: TMenuItem;
187 yoffy 1.2 AllPMenu: TMenuItem;
188 hi_ 1.1 MenuItem1: TMenuItem;
189     MenuItem2: TMenuItem;
190     BrowserTabCloseAction: TAction;
191     BrowserTabPopupMenu: TPopupMenu;
192 yoffy 1.51 Close1: TMenuItem;
193 hi_ 1.1 KokomadeAction: TAction;
194     ZenbuAction: TAction;
195     KokoResAction: TAction;
196     SelectItemURLCopyAction: TAction;
197     SelectReservAction: TAction;
198     NotSelectTabCloseAction: TAction;
199     A3: TMenuItem;
200 yoffy 1.51 N16: TMenuItem;
201 hi_ 1.1 A4: TMenuItem;
202     TreePopupMenu: TPopupMenu;
203     TreeSelectThreadPupupMenu: TMenuItem;
204 yoffy 1.51 TreeSelectBoardPupupMenu: TMenuItem;
205 hi_ 1.1 TPMSep01: TMenuItem;
206     TreeSelectURLPupupMenu: TMenuItem;
207     TreeSelectBoradReload: TAction;
208 yoffy 1.51 TreeSelectThreadReload: TAction;
209 hi_ 1.1 TreeSelectURLCopy: TAction;
210     ListToolBarVisibleAction: TAction;
211     BrowserToolBarVisibleAction: TAction;
212     T2: TMenuItem;
213 yoffy 1.2 L3: TMenuItem;
214 hi_ 1.1 B3: TMenuItem;
215     BrowserBottomPanel: TGikoPanel;
216     CabinetSelectPopupMenu: TPopupMenu;
217     H2: TMenuItem;
218 yoffy 1.51 ItemReservPMenu: TMenuItem;
219     RoundNamePopupMenu: TPopupMenu;
220 hi_ 1.1 SelectNewRoundName: TAction;
221 yoffy 1.51 SelectDeleteRound: TAction;
222     NewBoardAction: TAction;
223 yoffy 1.2 N7: TMenuItem;
224 hi_ 1.1 B4: TMenuItem;
225     LoginAction: TAction;
226     L4: TMenuItem;
227     KeySettingAction: TAction;
228     K2: TMenuItem;
229     AllTabCloseAction: TAction;
230 yoffy 1.51 A5: TMenuItem;
231 hi_ 1.1 A6: TMenuItem;
232 yoffy 1.51 C1: TMenuItem;
233     V1: TMenuItem;
234     N19: TMenuItem;
235 hi_ 1.1 D1: TMenuItem;
236 yoffy 1.51 D2: TMenuItem;
237     MessageImageList: TImageList;
238     ProgressBar: TProgressBar;
239     ArrangeAction: TAction;
240     URL1: TMenuItem;
241     NameURLCopyAction: TAction;
242     SelectItemNameURLCopyAction: TAction;
243 hi_ 1.1 NameUrlCopyPMenu: TMenuItem;
244     URLC2: TMenuItem;
245 yoffy 1.51 URLN1: TMenuItem;
246     N21: TMenuItem;
247     URLC3: TMenuItem;
248 yoffy 1.2 URLN2: TMenuItem;
249 hi_ 1.1 N22: TMenuItem;
250 yoffy 1.51 N23: TMenuItem;
251 yoffy 1.2 ListCoolBar: TGikoCoolBar;
252 hi_ 1.1 ListToolBar: TToolBar;
253     ViewNoButton: TToolButton;
254     IconToolButton: TToolButton;
255 yoffy 1.51 UpFolderButton: TToolButton;
256     Sepa01ToolButton: TToolButton;
257 yoffy 1.2 AllItemToolButton: TToolButton;
258 hi_ 1.1 LogItemToolButton: TToolButton;
259     NewItemToolButton: TToolButton;
260 yoffy 1.51 ListDownloadToolButton: TToolButton;
261 hi_ 1.1 ListThreadDownloadToolButton: TToolButton;
262 yoffy 1.51 ToolButton2: TToolButton;
263     ToolButton1: TToolButton;
264 yoffy 1.2 BrowserCoolBar: TGikoCoolBar;
265 hi_ 1.1 BrowserToolBar: TToolBar;
266 yoffy 1.51 BrowserSizeButton: TToolButton;
267 hi_ 1.1 ToolButton3: TToolButton;
268     TopButton: TToolButton;
269 yoffy 1.2 LastBotton: TToolButton;
270     NewButton: TToolButton;
271 yoffy 1.51 KokoButton: TToolButton;
272     ToolButton9: TToolButton;
273 yoffy 1.2 EditorButton: TToolButton;
274 hi_ 1.1 ToolButton11: TToolButton;
275     IEButton: TToolButton;
276 yoffy 1.51 ToolButton5: TToolButton;
277     ItemReloadButton: TToolButton;
278 hi_ 1.1 ListNameToolBar: TToolBar;
279 yoffy 1.51 ListNameLabel: TLabel;
280 hi_ 1.1 FolderImage: TImage;
281     BrowserNameToolBar: TToolBar;
282     ItemBoardImage: TImage;
283     BrowserBoardNameLabel: TLabel;
284 yoffy 1.51 ItemImage: TImage;
285     BrowserNameLabel: TLabel;
286     ActiveLogDeleteAction: TAction;
287     D3: TMenuItem;
288     N25: TMenuItem;
289 hi_ 1.1 N26: TMenuItem;
290     ListNameBarVisibleAction: TAction;
291     D4: TMenuItem;
292     BrowserNameBarVisibleAction: TAction;
293     S3: TMenuItem;
294 yoffy 1.51 R2: TMenuItem;
295     TreeSelectNameURLCopy: TAction;
296     TreeSelectNameURLPupupMenu: TMenuItem;
297     N27: TMenuItem;
298 hi_ 1.1 H3: TMenuItem;
299     PaneInitAction: TAction;
300 yoffy 1.51 I1: TMenuItem;
301     BrowserTabToolBar: TToolBar;
302     BrowserTab: TTabControl;
303 hi_ 1.1 ToolButton7: TToolButton;
304 yoffy 1.2 BrowserMinAction: TAction;
305 yoffy 1.51 About1: TMenuItem;
306     N28: TMenuItem;
307     SelectTextClearAction: TAction;
308     MailTextClearAction: TAction;
309 hi_ 1.1 NameTextClearAction: TAction;
310 yoffy 1.51 S4: TMenuItem;
311 yoffy 1.2 N29: TMenuItem;
312     N30: TMenuItem;
313 hi_ 1.1 LeftmostTabSelectAction: TAction;
314 yoffy 1.51 LeftTabSelectAction: TAction;
315     RightTabSelectAction: TAction;
316     RightmostTabSelectAction: TAction;
317 yoffy 1.2 N31: TMenuItem;
318 hi_ 1.1 L5: TMenuItem;
319 yoffy 1.51 L6: TMenuItem;
320 hi_ 1.1 A7: TMenuItem;
321 yoffy 1.51 R3: TMenuItem;
322 hi_ 1.1 FavoriteMenu: TMenuItem;
323 yoffy 1.51 FavoriteAddAction: TAction;
324     N32: TMenuItem;
325 hi_ 1.1 BoardFavoriteAddMenu: TMenuItem;
326 yoffy 1.2 BoardFavoriteAddAction: TAction;
327 hi_ 1.1 ThreadFavoriteAddAction: TAction;
328     ThreadFavoriteAddMenu: TMenuItem;
329     TreeSelectFavoriteAddAction: TAction;
330 yoffy 1.2 N33: TMenuItem;
331 hi_ 1.1 TreeSelectFavoriteAddPupupMenu: TMenuItem;
332     FavoriteArrangeAction: TAction;
333     FavoriteTreeView: TTreeView;
334 yoffy 1.51 StateIconImageList: TImageList;
335     TopPanel: TPanel;
336     TopRightPanel: TPanel;
337     AnimePanel: TPanel;
338 hi_ 1.1 Animate: TAnimate;
339     TopCoolPanel: TPanel;
340 yoffy 1.51 MainCoolBar: TGikoCoolBar;
341     MenuToolBar: TToolBar;
342     StdToolBar: TToolBar;
343     RoundToolButton: TToolButton;
344     ToolButton6: TToolButton;
345     ToolButton4: TToolButton;
346 hi_ 1.1 ToolButton13: TToolButton;
347     AbortToolButton: TToolButton;
348     LoginToolButton: TToolButton;
349 yoffy 1.51 AddressToolBar: TToolBar;
350     AddressComboBox: TComboBox;
351     MoveToToolButton: TToolButton;
352 yoffy 1.2 MoveToAction: TAction;
353 yoffy 1.51 AddressImageList: TImageList;
354     AddressBarVisibleAction: TAction;
355     AddressToolBarMenu: TMenuItem;
356     T4: TMenuItem;
357 hi_ 1.1 BrowserTabVisibleAction: TAction;
358 yoffy 1.51 Show1: TMenuItem;
359     N34: TMenuItem;
360     BrowserTabTopAction: TAction;
361 yoffy 1.2 BrowserTabBottomAction: TAction;
362 hi_ 1.1 T5: TMenuItem;
363     B5: TMenuItem;
364 yoffy 1.51 N35: TMenuItem;
365     BrowserTabTabStyleAction: TAction;
366     BrowserTabButtonStyleAction: TAction;
367     BrowserTabFlatStyleAction: TAction;
368     A8: TMenuItem;
369     U2: TMenuItem;
370 hi_ 1.1 F1: TMenuItem;
371     PreviewTimer: TTimer;
372 yoffy 1.51 MonazillaWebPageAction: TAction;
373     MonazillaWebPageAction1: TMenuItem;
374 hi_ 1.1 GikoHelpAction: TAction;
375 yoffy 1.51 N36: TMenuItem;
376     H4: TMenuItem;
377     KotehanAction: TAction;
378     K3: TMenuItem;
379     LinkBarVisibleAction: TAction;
380     L7: TMenuItem;
381     N37: TMenuItem;
382     A9: TMenuItem;
383 yoffy 1.2 ChevronPopupMenu: TPopupMenu;
384 yoffy 1.51 BBS2chWebPageAction: TAction;
385 yoffy 1.2 N2N1: TMenuItem;
386 hi_ 1.1 N38: TMenuItem;
387     GikoFolderOpenAction: TAction;
388 yoffy 1.2 F2: TMenuItem;
389 yoffy 1.51 LinkToolBar: TToolBar;
390     a10: TMenuItem;
391     ToolButton8: TToolButton;
392 yoffy 1.2 ToolButton10: TToolButton;
393 yoffy 1.51 ThreadEditorAction: TAction;
394     N39: TMenuItem;
395     T6: TMenuItem;
396     N40: TMenuItem;
397 yoffy 1.2 LinkBarPopupMenu: TPopupMenu;
398 yoffy 1.51 ToolBarSettingAction: TAction;
399     T7: TMenuItem;
400     ToolButton12: TToolButton;
401     ToolButton14: TToolButton;
402     ThreadPopupMenu: TPopupMenu;
403     MenuItem4: TMenuItem;
404     MenuItem5: TMenuItem;
405     MenuItem6: TMenuItem;
406 yoffy 1.2 T8: TMenuItem;
407 yoffy 1.51 NameCopyAction: TAction;
408     BoardIEAction: TAction;
409     URLN3: TMenuItem;
410     SelectItemNameCopyAction: TAction;
411 yoffy 1.2 SelectItemNameCopyAction1: TMenuItem;
412 yoffy 1.51 B6: TMenuItem;
413     T9: TMenuItem;
414     C2: TMenuItem;
415     SelectComboBox: TComboBox;
416     MainCoolBarPopupMenu: TPopupMenu;
417     StdToolBarVisiblePMenu: TMenuItem;
418     AddressToolBarVisiblePMenu: TMenuItem;
419     LinkToolBarVisiblePMenu: TMenuItem;
420     NG1: TMenuItem;
421     NG2: TMenuItem;
422     N43: TMenuItem;
423     N44: TMenuItem;
424     L9: TMenuItem;
425     I3: TMenuItem;
426     N45: TMenuItem;
427     B9: TMenuItem;
428     R5: TMenuItem;
429     T12: TMenuItem;
430     Show3: TMenuItem;
431     N46: TMenuItem;
432     T13: TMenuItem;
433     B10: TMenuItem;
434     N47: TMenuItem;
435     A12: TMenuItem;
436     U4: TMenuItem;
437     F4: TMenuItem;
438     N48: TMenuItem;
439     T14: TMenuItem;
440     SelectItemToolButton: TToolButton;
441     SelectResToolButton: TToolButton;
442     SelectResAction: TAction;
443     ToolButton16: TToolButton;
444     AllResAction: TAction;
445     AllResToolButton: TToolButton;
446     N50: TMenuItem;
447     A11: TMenuItem;
448     S5: TMenuItem;
449     Reload: TMenuItem;
450     GoBack: TMenuItem;
451     GoFoward: TMenuItem;
452     EditAction: TAction;
453     ReloadAction: TAction;
454     GoFowardAction: TAction;
455     GoBackAction: TAction;
456     SelectComboBoxSplitter: TImage;
457     IndividualAbon1: TMenuItem;
458     N41: TMenuItem;
459     IndividualAbon2: TMenuItem;
460     N42: TMenuItem;
461     CancellIndividualAbon: TAction;
462     AntiIndividualAbon: TMenuItem;
463     N49: TMenuItem;
464     N51: TMenuItem;
465     N52: TMenuItem;
466     N53: TMenuItem;
467     SearchBoardName: TMenuItem;
468 yoffy 1.205 TreeSelectLogDeleteSeparator: TMenuItem;
469 yoffy 1.51 TreeSelectSearchBoardName: TAction;
470 yoffy 1.100 CabinetFavoriteAction: TAction;
471     N54: TMenuItem;
472     A13: TMenuItem;
473     FavoriteTreePopupMenu: TPopupMenu;
474     FavoriteTreeViewRenameAction: TAction;
475     FavoriteTreeRenamePopupMenu: TMenuItem;
476     FavoriteTreeViewNewFolderAction: TAction;
477     FavoriteTreeNewFolderPopupMenu: TMenuItem;
478     N56: TMenuItem;
479     FavoriteTreeViewDeleteAction: TAction;
480     FavoriteTreeDeletePopupMenu: TMenuItem;
481     FavoriteToolBar: TToolBar;
482     ToolButton17: TToolButton;
483     ToolButton19: TToolButton;
484     FavoriteTreeViewBrowseFolderAction: TAction;
485     FavoriteTreeBrowseFolderPopupMenu: TMenuItem;
486     N57: TMenuItem;
487     FavoriteTreeReloadPopupMenu: TMenuItem;
488     N58: TMenuItem;
489     FavoriteTreeURLCopyPopupMenu: TMenuItem;
490     FavoriteTreeNameCopyPopupMenu: TMenuItem;
491     FavoriteTreeLogDeletePopupMenu: TMenuItem;
492     N59: TMenuItem;
493     FavoriteTreeNameURLCopyPopupMenu: TMenuItem;
494     FavoriteTreeViewReloadAction: TAction;
495     FavoriteTreeViewURLCopyAction: TAction;
496     FavoriteTreeViewNameCopyAction: TAction;
497     FavoriteTreeViewNameURLCopyAction: TAction;
498     FavoriteTreeViewLogDeleteAction: TAction;
499     OnlyAHundredRes: TAction;
500     ToolButton20: TToolButton;
501     AHundredResButton: TToolButton;
502     N60: TMenuItem;
503 yoffy 1.107 ExportFavoriteFileAction1: TMenuItem;
504     ExportFavoriteFile: TFileSaveAs;
505 yoffy 1.141 ToolButton21: TToolButton;
506 yoffy 1.209 CabinetBBSToolButton: TToolButton;
507 yoffy 1.141 ToolButton23: TToolButton;
508     ToolButton24: TToolButton;
509 yoffy 1.142 N6: TMenuItem;
510     N17: TMenuItem;
511     FavoriteTreeViewBrowseBoardAction: TAction;
512     FavoriteTreeViewBrowseThreadAction: TAction;
513 yoffy 1.158 UpBoardAction: TAction;
514 h677 1.174 N18: TMenuItem;
515     N20: TMenuItem;
516     N24: TMenuItem;
517     N62: TMenuItem;
518 h677 1.176 N61: TMenuItem;
519 h677 1.183 N63: TMenuItem;
520     KoreCopy: TAction;
521     N64: TMenuItem;
522 h677 1.187 dummy1: TMenuItem;
523 h677 1.192 Browser: TWebBrowser;
524 yoffy 1.205 TreeSelectLogDeletePopupMenu: TMenuItem;
525     N65: TMenuItem;
526 yoffy 1.209 BBSSelectPopupMenu: TPopupMenu;
527 yoffy 1.218 PlugInMenu: TMenuItem;
528 h677 1.230 TmpToolBar: TToolBar;
529 yoffy 1.252 TreeSelectNameCopy: TAction;
530     TreeSelectNamePupupMenu: TMenuItem;
531 yoffy 1.251 procedure FormCreate(Sender: TObject);
532 hi_ 1.1 procedure FormDestroy(Sender: TObject);
533     procedure CabinetPanelHide(Sender: TObject);
534     procedure FormClose(Sender: TObject; var Action: TCloseAction);
535     procedure ListViewData(Sender: TObject; Item: TListItem);
536     procedure ListViewDataFind(Sender: TObject; Find: TItemFind;
537     const FindString: String; const FindPosition: TPoint;
538     FindData: Pointer; StartIndex: Integer; Direction: TSearchDirection;
539     Wrap: Boolean; var Index: Integer);
540     procedure ListViewDataHint(Sender: TObject; StartIndex,
541     EndIndex: Integer);
542     procedure ListViewDataStateChange(Sender: TObject; StartIndex,
543     EndIndex: Integer; OldState, NewState: TItemStates);
544     procedure BrowserStatusTextChange(Sender: TObject;
545     const Text: WideString);
546     procedure BrowserTitleChange(Sender: TObject; const Text: WideString);
547     procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
548     procedure TreeViewChanging(Sender: TObject; Node: TTreeNode;
549     var AllowChange: Boolean);
550     procedure ListViewKeyDown(Sender: TObject; var Key: Word;
551     Shift: TShiftState);
552     procedure ListViewColumnClick(Sender: TObject; Column: TListColumn);
553     procedure MenuToolBarCustomDrawButton(Sender: TToolBar;
554     Button: TToolButton; State: TCustomDrawState;
555     var DefaultDraw: Boolean);
556     procedure BrowserBeforeNavigate2(Sender: TObject;
557     const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
558     Headers: OleVariant; var Cancel: WordBool);
559     procedure ListViewAdvancedCustomDrawItem(Sender: TCustomListView;
560     Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
561     var DefaultDraw: Boolean);
562     procedure TreeViewCustomDraw(Sender: TCustomTreeView;
563     const ARect: TRect; var DefaultDraw: Boolean);
564     procedure TreeViewCustomDrawItem(Sender: TCustomTreeView;
565     Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
566     procedure TreeViewExpanded(Sender: TObject; Node: TTreeNode);
567     procedure TreeViewDblClick(Sender: TObject);
568 yoffy 1.100 procedure FavoriteTreeViewClick(Sender: TObject);
569 hi_ 1.1 procedure ListViewCustomDraw(Sender: TCustomListView;
570     const ARect: TRect; var DefaultDraw: Boolean);
571     procedure ListViewMouseDown(Sender: TObject; Button: TMouseButton;
572     Shift: TShiftState; X, Y: Integer);
573     procedure TreeViewCollapsed(Sender: TObject; Node: TTreeNode);
574     procedure MessageListViewResize(Sender: TObject);
575     procedure ExitActionExecute(Sender: TObject);
576     procedure AllSelectActionExecute(Sender: TObject);
577     procedure StdToolBarVisibleActionExecute(Sender: TObject);
578     procedure MsgBarVisibleActionExecute(Sender: TObject);
579     procedure StatusBarVisibleActionExecute(Sender: TObject);
580     procedure LargeIconActionExecute(Sender: TObject);
581     procedure SmallIconActionExecute(Sender: TObject);
582     procedure ListIconActionExecute(Sender: TObject);
583     procedure DetailIconActionExecute(Sender: TObject);
584     procedure SearchActionExecute(Sender: TObject);
585     procedure OptionActionExecute(Sender: TObject);
586     procedure GikoNaviWebPageActionExecute(Sender: TObject);
587     procedure AboutActionExecute(Sender: TObject);
588     procedure CabinetHistoryActionExecute(Sender: TObject);
589 yoffy 1.138 procedure CabinetVisible( isVisible : Boolean );
590 hi_ 1.1 procedure CabinetVisibleActionExecute(Sender: TObject);
591     procedure AllItemActionExecute(Sender: TObject);
592     procedure LogItemActionExecute(Sender: TObject);
593     procedure NewItemActionExecute(Sender: TObject);
594     procedure SelectItemActionExecute(Sender: TObject);
595     procedure ListNumberVisibleActionExecute(Sender: TObject);
596     procedure UpFolderActionExecute(Sender: TObject);
597     procedure IconStyleExecute(Sender: TObject);
598     procedure RoundActionExecute(Sender: TObject);
599     procedure StopActionExecute(Sender: TObject);
600     procedure MsgBarCloseActionExecute(Sender: TObject);
601     procedure BrowserMaxActionExecute(Sender: TObject);
602     procedure ScrollTopActionExecute(Sender: TObject);
603     procedure ScrollLastActionExecute(Sender: TObject);
604     procedure ScrollNewActionExecute(Sender: TObject);
605     procedure ScrollKokoActionExecute(Sender: TObject);
606     procedure EditorActionExecute(Sender: TObject);
607     procedure IEActionExecute(Sender: TObject);
608     procedure ShowThreadActionExecute(Sender: TObject);
609     procedure ShowBoardActionExecute(Sender: TObject);
610     procedure URLCopyActionExecute(Sender: TObject);
611     procedure ItemReloadActionExecute(Sender: TObject);
612     procedure SelectListReloadActionExecute(Sender: TObject);
613     procedure SelectThreadReloadActionExecute(Sender: TObject);
614     procedure SelectListReloadActionUpdate(Sender: TObject);
615     procedure AllItemActionUpdate(Sender: TObject);
616     procedure LogItemActionUpdate(Sender: TObject);
617     procedure NewItemActionUpdate(Sender: TObject);
618     procedure SelectItemActionUpdate(Sender: TObject);
619     procedure UpFolderActionUpdate(Sender: TObject);
620     procedure FormResize(Sender: TObject);
621     procedure ScrollTopActionUpdate(Sender: TObject);
622     procedure ScrollLastActionUpdate(Sender: TObject);
623     procedure ScrollNewActionUpdate(Sender: TObject);
624     procedure ScrollKokoActionUpdate(Sender: TObject);
625     procedure EditorActionUpdate(Sender: TObject);
626     procedure IEActionUpdate(Sender: TObject);
627     procedure ShowThreadActionUpdate(Sender: TObject);
628     procedure ShowBoardActionUpdate(Sender: TObject);
629     procedure SelectThreadReloadActionUpdate(Sender: TObject);
630 yoffy 1.51 procedure ItemReloadActionUpdate(Sender: TObject);
631 hi_ 1.1 procedure ListViewDblClick(Sender: TObject);
632 yoffy 1.51 procedure LogDeleteActionExecute(Sender: TObject);
633 hi_ 1.1 procedure KokomadeActionExecute(Sender: TObject);
634     procedure ZenbuActionExecute(Sender: TObject);
635 yoffy 1.51 procedure KokoResActionExecute(Sender: TObject);
636 hi_ 1.1 procedure ListPopupMenuPopup(Sender: TObject);
637     procedure SelectItemURLCopyActionExecute(Sender: TObject);
638     procedure SelectItemURLCopyActionUpdate(Sender: TObject);
639     procedure AllSelectActionUpdate(Sender: TObject);
640     procedure LogDeleteActionUpdate(Sender: TObject);
641     procedure BrowserTabCloseActionExecute(Sender: TObject);
642     procedure NotSelectTabCloseActionExecute(Sender: TObject);
643     procedure TreeSelectBoradReloadExecute(Sender: TObject);
644     procedure TreeSelectThreadReloadExecute(Sender: TObject);
645     procedure TreeSelectURLCopyExecute(Sender: TObject);
646     procedure TreePopupMenuPopup(Sender: TObject);
647     procedure ListToolBarVisibleActionExecute(Sender: TObject);
648     procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
649     procedure BrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch;
650     var Cancel: WordBool);
651     procedure ListSplitterCanResize(Sender: TObject; var NewSize: Integer;
652     var Accept: Boolean);
653     procedure ListSplitterMoved(Sender: TObject);
654     procedure BrowserTabChange(Sender: TObject);
655     procedure BrowserTabMouseDown(Sender: TObject; Button: TMouseButton;
656     Shift: TShiftState; X, Y: Integer);
657     procedure BrowserTabDragOver(Sender, Source: TObject; X, Y: Integer;
658     State: TDragState; var Accept: Boolean);
659     procedure BrowserTabDragDrop(Sender, Source: TObject; X, Y: Integer);
660     procedure BrowserTabMouseMove(Sender: TObject; Shift: TShiftState; X,
661     Y: Integer);
662     procedure BrowserDocumentComplete(Sender: TObject;
663     const pDisp: IDispatch; var URL: OleVariant);
664     procedure SelectReservActionUpdate(Sender: TObject);
665     procedure RoundNamePopupMenuPopup(Sender: TObject);
666     procedure SelectNewRoundNameExecute(Sender: TObject);
667     procedure SelectDeleteRoundExecute(Sender: TObject);
668     procedure SelectReservActionExecute(Sender: TObject);
669     procedure NewBoardActionExecute(Sender: TObject);
670     procedure LoginActionExecute(Sender: TObject);
671     procedure KeySettingActionExecute(Sender: TObject);
672     procedure AllTabCloseActionExecute(Sender: TObject);
673 yoffy 1.51 procedure ArrangeActionExecute(Sender: TObject);
674     procedure NameURLCopyActionExecute(Sender: TObject);
675     procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
676 hi_ 1.1 procedure URLCopyActionUpdate(Sender: TObject);
677 yoffy 1.2 procedure NameURLCopyActionUpdate(Sender: TObject);
678 hi_ 1.1 procedure BrowserTabCloseActionUpdate(Sender: TObject);
679 yoffy 1.51 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
680 hi_ 1.1 procedure AllTabCloseActionUpdate(Sender: TObject);
681     procedure SelectItemNameURLCopyActionUpdate(Sender: TObject);
682     procedure ActiveLogDeleteActionExecute(Sender: TObject);
683     procedure ActiveLogDeleteActionUpdate(Sender: TObject);
684 yoffy 1.51 procedure ListNameBarVisibleActionExecute(Sender: TObject);
685 hi_ 1.1 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
686 yoffy 1.51 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
687     procedure PaneInitActionExecute(Sender: TObject);
688 hi_ 1.1 procedure FormShow(Sender: TObject);
689     procedure BrowserTabToolBarResize(Sender: TObject);
690     procedure BrowserMinActionExecute(Sender: TObject);
691 yoffy 1.51 procedure SelectTextClearActionExecute(Sender: TObject);
692 hi_ 1.1 procedure NameTextClearActionExecute(Sender: TObject);
693 yoffy 1.51 procedure MailTextClearActionExecute(Sender: TObject);
694     procedure LeftmostTabSelectActionExecute(Sender: TObject);
695     procedure LeftTabSelectActionExecute(Sender: TObject);
696 hi_ 1.1 procedure RightTabSelectActionExecute(Sender: TObject);
697     procedure RightmostTabSelectActionExecute(Sender: TObject);
698     procedure LeftmostTabSelectActionUpdate(Sender: TObject);
699     procedure LeftTabSelectActionUpdate(Sender: TObject);
700     procedure RightTabSelectActionUpdate(Sender: TObject);
701     procedure RightmostTabSelectActionUpdate(Sender: TObject);
702     procedure FavoriteMenuClick(Sender: TObject);
703     procedure FavoriteAddActionExecute(Sender: TObject);
704     procedure FavoriteAddActionUpdate(Sender: TObject);
705     procedure BoardFavoriteAddActionExecute(Sender: TObject);
706     procedure BoardFavoriteAddActionUpdate(Sender: TObject);
707 yoffy 1.51 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
708 hi_ 1.1 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
709 yoffy 1.51 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
710 yoffy 1.2 procedure FavoriteArrangeActionExecute(Sender: TObject);
711     procedure MainCoolBarResize(Sender: TObject);
712 hi_ 1.1 procedure MoveToActionExecute(Sender: TObject);
713 yoffy 1.2 procedure AddressToolBarResize(Sender: TObject);
714 hi_ 1.1 procedure AddressComboBoxKeyDown(Sender: TObject; var Key: Word;
715     Shift: TShiftState);
716 yoffy 1.51 procedure AddressBarVisibleActionExecute(Sender: TObject);
717 yoffy 1.2 procedure BrowserEnter(Sender: TObject);
718 hi_ 1.1 procedure FormShortCut(var Msg: TWMKey; var Handled: Boolean);
719 yoffy 1.51 procedure BrowserTabVisibleActionExecute(Sender: TObject);
720     procedure BrowserTabTopActionExecute(Sender: TObject);
721     procedure BrowserTabBottomActionExecute(Sender: TObject);
722     procedure BrowserTabTabStyleActionExecute(Sender: TObject);
723 hi_ 1.1 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
724 yoffy 1.51 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
725 hi_ 1.1 procedure PreviewTimerTimer(Sender: TObject);
726     procedure MessageHideButtonClick(Sender: TObject);
727     procedure MonazillaWebPageActionExecute(Sender: TObject);
728     procedure GikoHelpActionExecute(Sender: TObject);
729     procedure ToolButton18Click(Sender: TObject);
730     procedure KotehanActionExecute(Sender: TObject);
731 yoffy 1.51 procedure LinkBarVisibleActionExecute(Sender: TObject);
732     procedure BBS2chWebPageActionExecute(Sender: TObject);
733     procedure GikoFolderOpenActionExecute(Sender: TObject);
734 yoffy 1.2 procedure MainCoolBarBandInfo(Sender: TObject;
735     var BandInfo: PReBarBandInfoA);
736     procedure MainCoolBarChevronClick(Sender: TObject;
737 yoffy 1.51 RebarChevron: PNMRebarChevron);
738     procedure ListCoolBarBandInfo(Sender: TObject;
739     var BandInfo: PReBarBandInfoA);
740     procedure ListCoolBarChevronClick(Sender: TObject;
741     RebarChevron: PNMRebarChevron);
742     procedure BrowserCoolBarBandInfo(Sender: TObject;
743     var BandInfo: PReBarBandInfoA);
744 yoffy 1.2 procedure BrowserCoolBarChevronClick(Sender: TObject;
745 yoffy 1.51 RebarChevron: PNMRebarChevron);
746     procedure ListViewColumnInfo(Sender: TObject; var Column: PLVColumnA);
747     procedure ThreadEditorActionExecute(Sender: TObject);
748 yoffy 1.2 procedure ThreadEditorActionUpdate(Sender: TObject);
749 yoffy 1.51 procedure ToolBarSettingActionExecute(Sender: TObject);
750     procedure NameCopyActionExecute(Sender: TObject);
751     procedure BoardIEActionExecute(Sender: TObject);
752     procedure SelectItemNameCopyActionExecute(Sender: TObject);
753 yoffy 1.2 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
754 yoffy 1.51 procedure BoardIEActionUpdate(Sender: TObject);
755     procedure FormMouseWheel(Sender: TObject; Shift: TShiftState;
756     WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
757     procedure NameCopyActionUpdate(Sender: TObject);
758     procedure SelectComboBoxChange(Sender: TObject);
759     procedure SelectComboBoxKeyDown(Sender: TObject; var Key: Word;
760     Shift: TShiftState);
761     procedure SelectComboBoxExit(Sender: TObject);
762     procedure NG1Click(Sender: TObject);
763     procedure SelectResActionExecute(Sender: TObject);
764     procedure SelectResActionUpdate(Sender: TObject);
765     procedure FormKeyUp(Sender: TObject; var Key: Word;
766     Shift: TShiftState);
767     procedure AllResActionExecute(Sender: TObject);
768     procedure AllResActionUpdate(Sender: TObject);
769     procedure ReloadClick(Sender: TObject);
770     procedure GoBackClick(Sender: TObject);
771     procedure GoFowardClick(Sender: TObject);
772     procedure SelectComboBoxSplitterMouseMove(Sender: TObject;
773     Shift: TShiftState; X, Y: Integer);
774     procedure SelectComboBoxSplitterMouseDown(Sender: TObject;
775     Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
776     procedure SelectComboBoxSplitterMouseUp(Sender: TObject;
777     Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
778     procedure StatusBarResize(Sender: TObject);
779     procedure IndividualAbon1Click(Sender: TObject);
780     procedure IndividualAbon2Click(Sender: TObject);
781     procedure N42Click(Sender: TObject);
782     procedure SelectComboBoxEnter(Sender: TObject);
783     procedure AntiIndividualAbonClick(Sender: TObject);
784     procedure N51Click(Sender: TObject);
785     procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
786 yoffy 1.100 procedure CabinetFavoriteActionExecute(Sender: TObject);
787     procedure FavoriteTreeViewDragDrop(Sender, Source: TObject; X,
788     Y: Integer);
789 yoffy 1.71 procedure FavoriteTreeViewDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
790 yoffy 1.100 procedure FavoriteTreeViewEdited(Sender: TObject; Node: TTreeNode;
791     var S: String);
792     procedure FavoriteTreeViewKeyDown(Sender: TObject; var Key: Word;
793     Shift: TShiftState);
794     procedure FavoriteTreePopupMenuPopup(Sender: TObject);
795     procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
796     procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
797     procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
798     procedure ToolButton19Click(Sender: TObject);
799     procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
800     procedure FavoriteTreeViewDblClick(Sender: TObject);
801     procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
802     procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
803     procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
804     procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
805     procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
806     procedure LinkToolBarDragDrop(Sender, Source: TObject; X, Y: Integer);
807     procedure BrowserTabMouseUp(Sender: TObject; Button: TMouseButton;
808     Shift: TShiftState; X, Y: Integer);
809     procedure LinkToolBarDragOver(Sender, Source: TObject; X, Y: Integer;
810     State: TDragState; var Accept: Boolean);
811     procedure OnlyAHundredResExecute(Sender: TObject);
812     procedure FavoriteTreeViewEndDrag(Sender, Target: TObject; X,
813     Y: Integer);
814     procedure ListCoolBarContextPopup(Sender: TObject; MousePos: TPoint;
815     var Handled: Boolean);
816     procedure MainCoolBarContextPopup(Sender: TObject; MousePos: TPoint;
817     var Handled: Boolean);
818     procedure BrowserCoolBarContextPopup(Sender: TObject; MousePos: TPoint;
819     var Handled: Boolean);
820 yoffy 1.107 procedure ExportFavoriteFileAccept(Sender: TObject);
821     procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
822 yoffy 1.139 procedure CabinetBBSActionExecute(Sender: TObject);
823 yoffy 1.142 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
824     procedure FavoriteTreeBrowseBoardPopupMenuClick(Sender: TObject);
825 yoffy 1.158 procedure UpBoardActionExecute(Sender: TObject);
826     procedure UpBoardActionUpdate(Sender: TObject);
827 h677 1.174 procedure BrowserTabContextPopup(Sender: TObject; MousePos: TPoint;
828     var Handled: Boolean);
829 h677 1.183 procedure KoreCopyExecute(Sender: TObject);
830 h677 1.187 procedure BrowserTabPopupMenuPopup(Sender: TObject);
831 yoffy 1.216 procedure MenuToolBarResize(Sender: TObject);
832     procedure StdToolBarResize(Sender: TObject);
833     procedure LinkToolBarResize(Sender: TObject);
834     procedure ListNameToolBarResize(Sender: TObject);
835     procedure ListToolBarResize(Sender: TObject);
836     procedure BrowserNameToolBarResize(Sender: TObject);
837     procedure BrowserToolBarResize(Sender: TObject);
838     procedure BrowserTabResize(Sender: TObject);
839 yoffy 1.248 procedure ListViewClick(Sender: TObject);
840 yoffy 1.236 procedure TreeViewClick(Sender: TObject);
841     procedure TreeViewKeyDown(Sender: TObject; var Key: Word;
842     Shift: TShiftState);
843 yoffy 1.246 procedure FavoriteTreeViewMouseDown(Sender: TObject;
844 yoffy 1.248 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
845 yoffy 1.250 procedure MessagePanelResize(Sender: TObject);
846 yoffy 1.251 procedure OnResized;
847 yoffy 1.252 procedure TreeSelectNameCopyExecute(Sender: TObject);
848 hi_ 1.1 private
849     { Private 鐃緒申鐃緒申 }
850 h677 1.182 //RoundList : TRoundList;
851 hi_ 1.1 FSortIndex: Integer;
852     FSortOrder: Boolean;
853    
854     FEnabledCloseButton: Boolean;
855     // ThreadCreate: TThreadCreate;
856    
857     FClickNode: TTreeNode;
858     FHttpState: Boolean;
859     FHint: TResPopup;
860     FPreviewBrowser: TPreviewBrowser;
861     FPreviewURL: string;
862    
863     FBrowserSizeHeight: Integer;
864     FBrowserSizeWidth: Integer;
865    
866     // FFavorite: TFavorite;
867     FBrowserComplete: Boolean;
868     FTabHintIndex: Integer;
869     FListStyle: TViewStyle; //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
870     FItemNoVisible: Boolean; //鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申鐃?
871     FViewType: TGikoViewType; //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃?
872 yoffy 1.123 FActiveList: TObject;
873 hi_ 1.1 FActiveContent: TThreadItem; //
874 yoffy 1.133 FActiveBBS : TBBS;
875 hi_ 1.1 FHistoryList: TList; //鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?
876     FTreeType: TGikoTreeType;
877     FWorkCount: Integer;
878     FNameCookie: string;
879     FMailCookie: string;
880     // FLastRoundTime: TDateTime;
881     BrowserNullTab: TThreadItem;
882     // DoubleClickOccurred: array [TMouseButton] of Boolean;
883     FDownloadTitle: string; //鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申
884     FDownloadMax: Integer; //鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?
885     FEvent: THTMLDocumentEventSink;//鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?
886 h677 1.14
887 h677 1.192 // Fkeynum : Integer; //鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?
888 yoffy 1.29
889 yoffy 1.51 IsDraggingSelectComboBox : Boolean;
890     DraggingSelectComboBoxPosition : TPoint;
891 yoffy 1.29
892 yoffy 1.54 FSearchDialog: TSearchDialog;
893 yoffy 1.49
894 yoffy 1.100 FDropSpaceNode: TTreeNode;
895 yoffy 1.74
896 yoffy 1.107 FDragTime : Cardinal; //鐃緒申鐃緒申鐃?鐃緒申D&D鐃?
897     FDragButton : TToolButton; //鐃緒申鐃緒申鐃?鐃緒申D&D鐃?鐃緒申Drag鐃緒申鐃緒申鐃緒申Button鐃緒申鐃緒申
898     FDragWFirst : Boolean; //WebTab鐃緒申D&D鐃?
899 h677 1.84
900 yoffy 1.143 FListViewBackGroundColor : TColor; //ListView鐃緒申BackGroundColor
901     FUseOddResOddColor : Boolean; //鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申
902     FOddColor : TColor; //鐃緒申鐃緒申鐃?
903 yoffy 1.152
904     FSelectResWord : string; // 鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?
905 yoffy 1.248 FIsIgnoreResize : Boolean; // 鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
906 yoffy 1.216 FOldFormWidth : Integer; // 鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申
907 yoffy 1.123 procedure SetBoardTreeNode( inBBS : TBBS );
908     function SetCategoryListItem(ABBS2ch: TBBS): Integer;
909 hi_ 1.1 function SetBoardListItem(Category: TCategory): Integer;
910     function SetThreadListItem(Board: TBoard): Integer;
911     // function GetRoundName(index: integer): string;
912    
913     procedure DownloadEnd(Sender: TObject; Item: TDownloadItem);
914     procedure DownloadMsg(Sender: TObject; Item: TDownloadItem; Msg: string; Icon: TGikoMessageIcon);
915 q9_ 1.233 procedure WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer; Number: Integer; const AWorkTitle: string);
916 hi_ 1.1 procedure WorkEnd(Sender: TObject; AWorkMode: TWorkMode; Number: Integer);
917     procedure Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer; Number: Integer);
918    
919     procedure SetActiveList(Obj: TObject);
920     procedure ListClick;
921     procedure ListDoubleClick;
922     procedure BrowserMovement(AName: string);
923     procedure SelectListItem(List: TList);
924     // procedure SetProgressValue(Number: Integer; Value: Integer; Max: Integer = -1);
925     procedure DeleteTab(ThreadItem: TThreadItem);
926     function Hook(var Message: TMessage): Boolean;
927     procedure AddRoundNameMenu(MenuItem: TMenuItem);
928 h677 1.188 procedure SetSelectItemRound(RoundFlag: Boolean; RoundName: string); overload;
929 yoffy 1.236 procedure SetSelectItemRound(RoundFlag: Boolean; RoundName: string; ParentName: string); overload;
930 hi_ 1.1 procedure SetSelectRoundName(Sender: TObject);
931     function GetCoolBand(CoolBar: TCoolBar; Control: TWinControl): TCoolBand;
932    
933     procedure SetMenuFont;
934     // procedure CreateFavMenu(Folder: TFavoriteFolder);
935     procedure CreateFavMenu(Node: TTreeNode; MenuItem: TMenuItem);
936 yoffy 1.62 procedure FavoriteClick(Sender: TObject; ActiveTab: Boolean); overload;
937     procedure FavoriteClick(Sender: TObject); overload;
938 yoffy 1.100 procedure FavoriteDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
939 yoffy 1.2 procedure SelectTreeNode(Item: TObject; CallEvent: Boolean);
940 hi_ 1.1 function OnDocumentContextMenu(Sender: TObject): WordBool;
941     // function GetThreadText(sBoard: string; sThread: string; StNum, ToNum: Integer; Title, First: Boolean): string;
942 yoffy 1.123 procedure SetResPopupText(ThreadItem : TThreadItem; StNum, ToNum: Integer; Title, First: Boolean);
943 hi_ 1.1 procedure ShowTextPopup;
944     //procedure ShowTextPopup(HintData: THintData);
945 yoffy 1.2 // procedure SetStdToolBar;
946     // function GetAction(ActionName: string): TContainedAction;
947 hi_ 1.1 procedure SetLinkBar;
948 yoffy 1.236 procedure ClearLinkBar;
949 hi_ 1.1 function GetWidthAllToolButton(ToolBar: TToolBar): Integer;
950 yoffy 1.2 procedure MenuBarChevronMenu;
951     procedure LinkBarChevronMenu;
952     procedure ToolBarChevronMenu(ToolBar: TToolBar);
953 yoffy 1.51 procedure ModifySelectList;
954 yoffy 1.100 procedure FavoriteBrowseFolder( node: TTreeNode );
955     procedure LinkToolButtonDragDrop(Sender, Source: TObject; X, Y: Integer);
956     procedure LinkToolButtonOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
957     procedure LinkToolButtonOnMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
958     procedure LinkToolButtonOnMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
959 yoffy 1.85 procedure LinkToolButtonStartDrag(Sender: TObject; var DragObject: TDragObject);
960 yoffy 1.72 function TreeNodeDataFind(Node: TTreeNode; FindPointer: Pointer): TTreeNode;
961 yoffy 1.100 procedure FavoriteMoveTo( SenderNode, SourceNode: TTreeNode );
962     procedure FavoriteAddTo( SenderNode: TTreeNode; Source: TObject );
963 yoffy 1.72 procedure FavoriteDragDrop( SenderNode: TTreeNode; Source: TObject );
964 yoffy 1.236 //
965 yoffy 1.143 procedure BrowserTabClick(Sender: TObject);
966     procedure SetListViewBackGroundColor(value: TColor);
967 yoffy 1.123 procedure BBSMenuItemOnClick( Sender : TObject );
968 yoffy 1.236 //
969     procedure KonoresCopy(Number: Integer; ReplaceTag : Boolean);
970 yoffy 1.216 // CoolBar 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
971     procedure SaveCoolBarSettings;
972     // CoolBar 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
973     procedure LoadCoolBarSettings;
974 yoffy 1.248 // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
975     procedure OnMinimized;
976 yoffy 1.216 // CoolBar 鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申
977     procedure CoolBarResized(Sender: TObject; CoolBar: TCoolBar);
978 yoffy 1.236 // TreeView 鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申
979     procedure TreeClick( Node : TTreeNode );
980     // TreeView 鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申
981     procedure TreeDoubleClick( Node : TTreeNode );
982     // 鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
983     procedure HandleAppMessage(var Msg: TMsg; var Handled: Boolean);
984     // 鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?
985     // 鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申 True 鐃緒申鐃緒申鐃緒申
986     function BrowserKeydown(Sender: TObject; Key: Word; State:TShiftState) : Boolean;
987 yoffy 1.216
988 hi_ 1.1 protected
989     procedure CreateParams(var Params: TCreateParams); override;
990 yoffy 1.2 procedure WndProc(var Message: TMessage); override;
991 hi_ 1.1 procedure WMSetCursor(var Message: TWMSetCursor); message WM_SETCURSOR;
992     procedure WMSettingChange(var Message: TWMWinIniChange); message WM_SETTINGCHANGE;
993     procedure WMCopyData(var Message: TWMCopyData); message WM_COPYDATA;
994 yoffy 1.216
995 hi_ 1.1 public
996     { Public 鐃緒申鐃緒申 }
997     // FDownload: TDownload;
998     FControlThread: TThreadControl;
999 yoffy 1.48 procedure MoveToURL(URL: string);
1000     procedure InsertBrowserTab(ThreadItem: TThreadItem; ActiveTab: Boolean = True);
1001 hi_ 1.1 procedure ReloadBBS;
1002     function GetHttpState: Boolean;
1003     procedure SetEnabledCloseButton(Enabled: Boolean);
1004     function GetTreeNode(Data: TObject): TTreeNode;
1005     procedure AppFormDeactivate(Sender: TObject);
1006     // procedure CabinetPanelVisible(PanelVisible: Boolean);
1007     procedure ListViewAllSelect;
1008    
1009     property ListStyle: TViewStyle read FListStyle write FListStyle;
1010     property ItemNoVisible: Boolean read FItemNoVisible write FItemNoVisible;
1011     property ViewType: TGikoViewType read FViewType write FViewType;
1012    
1013     property NameCookie: string read FNameCookie write FNameCookie;
1014     property MailCookie: string read FMailCookie write FMailCookie;
1015    
1016     procedure SetContent(ThreadItem: TThreadItem);
1017     function GetActiveContent: TThreadItem;
1018     function GetActiveList: TObject;
1019    
1020     property ActiveList: TObject read GetActiveList write SetActiveList;
1021     // property LastRoundTime: TDateTime read FLastRoundTime write FLastRoundTime;
1022    
1023     procedure SetListViewType(AViewType: TGikoViewType); overload;
1024     procedure SetListViewType(AViewType: TGikoViewType; SelectText: string; KubetsuChk: Boolean); overload;
1025     procedure DownloadContent(ThreadItem: TThreadItem);
1026     procedure DownloadList(Board: TBoard);
1027     procedure PlaySound(SoundEventName: string);
1028    
1029 yoffy 1.136 function AddHistory( FavItem: TFavoriteThreadItem ): Boolean;
1030     procedure DeleteHistory( threadItem: TThreadItem );
1031 hi_ 1.1 procedure ClearHistory;
1032 yoffy 1.135 procedure SaveHistory;
1033     procedure LoadHistory;
1034 yoffy 1.123 procedure ShowBBSTree( inBBS : TBBS );
1035 yoffy 1.248 procedure ShowBBSTreeOld( inBBS : TBBS );
1036 hi_ 1.1 procedure ShowHistoryTree;
1037     procedure SetHistoryTreeNode;
1038     // procedure SelectTreeNode(Item: TObject);
1039     procedure AddMessageList(ACaption: string; AObject: TObject; Icon: TGikoMessageIcon);
1040     procedure SetBrowserTabState;
1041     // property Favorite: TFavorite read FFavorite write FFavorite;
1042 yoffy 1.2 procedure SetToolBarPopup;
1043 yoffy 1.100 procedure ShowFavoriteAddDialog( Item : TObject );
1044 h677 1.189 procedure FavoritesURLReplace(oldURLs: TStringList; newURLs: TStringList);
1045 h677 1.226 procedure RoundListURLReplace(oldURLs: TStringList; newURLs: TStringList);
1046 yoffy 1.143 property ListViewBackGroundColor: TColor read FListViewBackGroundColor write SetListViewBackGroundColor;
1047     property UseOddResOddColor : Boolean read FUseOddResOddColor write FUseOddResOddColor;
1048     property OddColor : TColor read FOddColor write FOddColor;
1049 h677 1.109
1050 yoffy 1.209 function FindToolBarButton( bar : TToolBar; action : TAction ) : TToolButton;
1051 yoffy 1.218 procedure OnPlugInMenuItem( Sender : TObject );
1052 yoffy 1.209
1053 hi_ 1.1 published
1054     property EnabledCloseButton: Boolean read FEnabledCloseButton write SetEnabledCloseButton;
1055     end;
1056    
1057     TFavoriteMenuItem = class(TMenuItem)
1058     private
1059     FData : Pointer;
1060     public
1061     property Data: Pointer read FData write FData;
1062     end;
1063    
1064 yoffy 1.123 TBBSMenuItem = class(TMenuItem)
1065     private
1066     FData : Pointer;
1067     public
1068     property Data: Pointer read FData write FData;
1069     end;
1070    
1071 hi_ 1.1 TLinkToolButton = class(TToolButton)
1072     private
1073     FData : Pointer;
1074     public
1075     property Data: Pointer read FData write FData;
1076     end;
1077    
1078     var
1079     GikoForm: TGikoForm;
1080    
1081     implementation
1082    
1083     uses
1084     About, Option, Round, Splash, Sort, ListSelect,
1085 h677 1.183 NewBoard, MojuUtils,Clipbrd;
1086 hi_ 1.1
1087     const
1088     CAPTION_NAME: string = '鐃?鐃?鐃?鐃?';
1089     BLANK_HTML: string = 'about:blank';
1090 yoffy 1.51 SELECTCOMBOBOX_NAME: string = ''; // '鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申';
1091     SELECTCOMBOBOX_COLOR: TColor = clWindow;
1092 yoffy 1.120 //D&D鐃緒申鐃?
1093     DandD_THRESHOLD = 5; //D&D鐃緒申鐃緒申鐃?鐃?pixcel)
1094 yoffy 1.2 //鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
1095     ITEM_ICON_2CH1 = 0; //2ch鐃?鐃?鐃?鐃緒申
1096     ITEM_ICON_2CH2 = 1; //2ch鐃?鐃?鐃?鐃緒申
1097     ITEM_ICON_CATEGORY1 = 2; //鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1098     ITEM_ICON_CATEGORY2 = 3; //鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1099 yoffy 1.120 ITEM_ICON_BOARD_NOSUBJECT = 3; //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1100 yoffy 1.2 ITEM_ICON_BOARD1 = 4; //鐃緒申鐃?鐃?鐃?鐃緒申
1101     ITEM_ICON_BOARD2 = 5; //鐃緒申鐃?鐃?鐃?鐃緒申
1102     ITEM_ICON_THREADLOG1 = 6; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?
1103     ITEM_ICON_THREADLOG2 = 7; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?
1104     ITEM_ICON_THREAD1 = 8; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?
1105     ITEM_ICON_THREAD2 = 9; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?
1106     ITEM_ICON_THREADNEW1 = 10; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?
1107     ITEM_ICON_THREADNEW2 = 11; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?
1108     ITEM_ICON_SORT1 = 12; //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申
1109     ITEM_ICON_SORT2 = 13; //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申
1110 yoffy 1.120 ITEM_ICON_BOARD_LOG = 17; //鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1111     ITEM_ICON_BOARD_NEW = 18; //鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1112 yoffy 1.2
1113     //鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
1114 yoffy 1.48 TOOL_ICON_HEIGHT_MAX = 16; //鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1115     TOOL_ICON_HEIGHT_MIN = 17; //鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1116     TOOL_ICON_HEIGHT_NORMAL = 18; //鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1117     TOOL_ICON_WIDTH_MAX = 19; //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1118     TOOL_ICON_WIDTH_MIN = 20; //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1119     TOOL_ICON_WIDTH_NORMAL = 21; //鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1120    
1121 yoffy 1.51 TOOL_ICON_FAV_FOLDER = 30; //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申
1122 yoffy 1.100 TOOL_ICON_FAV_BOARD = 31; //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1123 yoffy 1.51 TOOL_ICON_FAV_THREAD = 32; //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1124 hi_ 1.1
1125     HTML_FILE_NAME = 'temp_preview.html';
1126    
1127 yoffy 1.253 WM_XBUTTONDOWN = $020B;
1128     WM_XBUTTONUP = $020C;
1129     WM_XBUTTONDBLCLK = $020D;
1130     XBUTTON1 = $0001;
1131     XBUTTON2 = $0002;
1132 yoffy 1.248 USER_TREECLICK = WM_USER + 10;
1133     USER_RESIZED = WM_USER + 11;
1134     USER_MINIMIZED = WM_USER + 12;
1135    
1136 hi_ 1.1 {$R *.DFM}
1137    
1138     procedure TGikoForm.CreateParams(var Params: TCreateParams);
1139     begin
1140     inherited;
1141     if FormStyle in [fsNormal, fsStayOnTop] then begin
1142     if BorderStyle in [bsSingle, bsSizeable] then begin
1143     Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
1144     Params.WndParent := 0;
1145     end;
1146     end;
1147     end;
1148    
1149     procedure TGikoForm.FormCreate(Sender: TObject);
1150     const
1151     TVS_NOTOOLTIPS = $0080;
1152     var
1153     FileName: string;
1154     Style: DWORD;
1155     msg: string;
1156     i: Integer;
1157     wp: TWindowPlacement;
1158 hi_ 1.32 s: string;
1159 yoffy 1.123 item : TBBSMenuItem;
1160 hi_ 1.1 begin
1161     {$IFDEF DEBUG}
1162     AllocConsole;
1163     Writeln('============================================================');
1164     Writeln(' 鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃? 鐃?鐃緒申鐃?鐃?鐃緒申');
1165     Writeln('');
1166     Writeln(' 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?');
1167     Writeln(' 鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申');
1168     Writeln('============================================================');
1169     {$ENDIF}
1170     Application.OnDeactivate := AppFormDeactivate;
1171     Self.OnDeactivate := AppFormDeactivate;
1172     Application.HookMainWindow(Hook);
1173 yoffy 1.236 Application.OnMessage := HandleAppMessage;
1174 hi_ 1.1
1175     FTreeType := gttNone;
1176    
1177 yoffy 1.51 FSearchDialog := nil;
1178 yoffy 1.49
1179 yoffy 1.216 // 鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1180 yoffy 1.248 FIsIgnoreResize := True;
1181 yoffy 1.216
1182 hi_ 1.1 //鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1183     Screen.Cursors[5] := LoadCursor(HInstance, 'GIKOHAND');
1184    
1185    
1186     //鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1187     AddressHistoryDM.ReadHistory(AddressComboBox.Items, GikoSys.Setting.AddressHistoryCount);
1188    
1189 yoffy 1.135 // 鐃?鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?(ReadBoardFile, LoadHistory 鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申)
1190 yoffy 1.107 InitializeBoardPlugIns;
1191 yoffy 1.105
1192 hi_ 1.1 EnabledCloseButton := True;
1193 h677 1.176
1194    
1195     //鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1196     RoundList := TRoundList.Create;
1197     RoundList.LoadRoundBoardFile;
1198    
1199 yoffy 1.210 // 鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申(ReadFavorite 鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申)
1200     GikoSys.ListBoardFile;
1201 h677 1.176
1202     RoundList.LoadRoundThreadFile;
1203    
1204 yoffy 1.236 if RoundList.OldFileRead or ( RoundList.Count[grtItem] > 0 ) then
1205     GikoSys.ListBoardFile;
1206 h677 1.176
1207 yoffy 1.123 // 鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1208     for i := Length( BBSs ) - 1 downto 0 do begin
1209 yoffy 1.126 try
1210     item := TBBSMenuItem.Create( PopupMenu );
1211     item.Caption := BBSs[ i ].Title;
1212     item.Data := BBSs[ i ];
1213     item.OnClick := BBSMenuItemOnClick;
1214     CabinetSelectPopupMenu.Items.Insert( 0, item );
1215     item := TBBSMenuItem.Create( PopupMenu );
1216     item.Caption := BBSs[ i ].Title;
1217     item.Data := BBSs[ i ];
1218     item.OnClick := BBSMenuItemOnClick;
1219     CabinetMenu.Insert( 0, item );
1220 yoffy 1.209 item := TBBSMenuItem.Create( PopupMenu );
1221     item.Caption := BBSs[ i ].Title;
1222     item.Data := BBSs[ i ];
1223     item.OnClick := BBSMenuItemOnClick;
1224     BBSSelectPopupMenu.Items.Insert( 0, Item );
1225 yoffy 1.126 except
1226     end;
1227 yoffy 1.123 end;
1228    
1229 h677 1.176
1230 yoffy 1.135 // 鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?(LoadHistory 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申)
1231     FHistoryList := TList.Create;
1232    
1233     // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1234     LoadHistory;
1235    
1236 yoffy 1.123 //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1237     // FFavorite := TFavorite.Create(FavoriteTreeView);
1238     FavoriteDM.SetFavTreeView(FavoriteTreeView);
1239     FavoriteDM.ReadFavorite;
1240 hi_ 1.1
1241     //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
1242     ListView.ViewStyle := GikoSys.Setting.ListStyle;
1243    
1244     //鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?
1245     // MainCoolBar.Top := 0;
1246     // MainCoolBar.Left := 0;
1247    
1248     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?
1249     AnimePanel.Top := 0;
1250     AnimePanel.Left := 0;
1251    
1252     //鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1253    
1254     //鐃?鐃緒申鐃?鐃?鐃?鐃?
1255     CabinetPanel.Width := GikoSys.Setting.CabinetWidth;
1256    
1257     //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?
1258     MsgBarVisibleAction.Checked := GikoSys.Setting.MessageBarVisible;
1259     MsgBarVisibleActionExecute(nil);
1260     MessagePanel.Height := GikoSys.Setting.MessegeBarHeight;
1261    
1262     //鐃?鐃?鐃?鐃?鐃?鐃?鐃?
1263     StatusBarVisibleAction.Checked := GikoSys.Setting.StatusBarVisible;
1264     StatusBarVisibleActionExecute(nil);
1265    
1266     //鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申
1267     TreeView.Items.BeginUpdate;
1268 yoffy 1.100 FavoriteTreeView.Items.BeginUpdate;
1269 hi_ 1.1 ListView.Items.BeginUpdate;
1270     try
1271     TreeView.Font.Name := GikoSys.Setting.CabinetFontName;
1272     TreeView.Font.Size := GikoSys.Setting.CabinetFontSize;
1273     TreeView.Font.Color := GikoSys.Setting.CabinetFontColor;
1274     TreeView.Color := GikoSys.Setting.CabinetBackColor;
1275    
1276 yoffy 1.67 FavoriteTreeView.Font.Name := GikoSys.Setting.CabinetFontName;
1277     FavoriteTreeView.Font.Size := GikoSys.Setting.CabinetFontSize;
1278     FavoriteTreeView.Font.Color := GikoSys.Setting.CabinetFontColor;
1279     FavoriteTreeView.Color := GikoSys.Setting.CabinetBackColor;
1280    
1281 hi_ 1.1 ListView.Font.Name := GikoSys.Setting.ListFontName;
1282     ListView.Font.Size := GikoSys.Setting.ListFontSize;
1283     ListView.Font.Color := GikoSys.Setting.ListFontColor;
1284 h677 1.109 //ListView.Color := GikoSys.Setting.ListBackColor;
1285 yoffy 1.236 ListViewBackGroundColor := GikoSys.Setting.ListBackColor;
1286     FUseOddResOddColor := GikoSys.Setting.UseOddColorOddResNum;
1287     FOddColor := GikoSys.Setting.OddColor;
1288 h677 1.109
1289 hi_ 1.1 finally
1290     TreeView.Items.EndUpdate;
1291 yoffy 1.100 FavoriteTreeView.Items.EndUpdate;
1292 hi_ 1.1 ListView.Items.EndUpdate;
1293     end;
1294     //ViewNoButton.Down := GikoSys.Setting.ListViewNo;
1295     ListNumberVisibleAction.Checked := GikoSys.Setting.ListViewNo;
1296    
1297     //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?
1298     BrowserTab.Font.Name := GikoSys.Setting.BrowserTabFontName;
1299     BrowserTab.Font.Size := GikoSys.Setting.BrowserTabFontSize;
1300 yoffy 1.133 FDragWFirst := false;
1301 hi_ 1.1
1302     // TreeView.TopItem.Expanded := True; //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申
1303     // TreeView.Selected := TreeView.Items[0]; //鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1304     SetContent(nil); //鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申
1305    
1306     //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申
1307     wp.length := sizeof(wp);
1308     wp.rcNormalPosition.Top := GikoSys.Setting.WindowTop;
1309     wp.rcNormalPosition.Left := GikoSys.Setting.WindowLeft;
1310     wp.rcNormalPosition.Bottom := GikoSys.Setting.WindowTop + GikoSys.Setting.WindowHeight;
1311     wp.rcNormalPosition.Right := GikoSys.Setting.WindowLeft + GikoSys.Setting.WindowWidth;
1312     wp.showCmd := SW_HIDE;
1313     SetWindowPlacement(Handle, @wp);
1314    
1315     // SetBounds(GikoSys.Setting.WindowLeft, GikoSys.Setting.WindowTop,
1316     // GikoSys.Setting.WindowWidth, GikoSys.Setting.WindowHeight);
1317     if GikoSys.Setting.WindowMax then
1318 yoffy 1.248 WindowState := wsMaximized;
1319 hi_ 1.1
1320     //鐃?鐃?鐃?鐃?鐃緒申
1321     try
1322     FileName := GikoSys.GetAppDir + 'gikoNavi.avi';
1323     if FileExists(FileName) then
1324     Animate.FileName := FileName;
1325     except
1326     end;
1327    
1328     //鐃?鐃?鐃?鐃?
1329     FNameCookie := '';
1330     FMailCookie := '';
1331    
1332     //鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1333     AllItemAction.Checked := True;
1334 yoffy 1.126 AllResAction.Checked := True;
1335 hi_ 1.1
1336     //TreeView鐃緒申鐃緒申鐃緒申鐃?鐃緒申ToolTip鐃緒申鐃緒申鐃?鐃緒申
1337     Style := GetWindowLong(TreeView.Handle, GWL_STYLE);
1338     Style := Style or TVS_NOTOOLTIPS;
1339     SetWindowLong(TreeView.Handle, GWL_STYLE, Style);
1340    
1341     // 鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1342     TreeView.Align := alClient;
1343 yoffy 1.57 FavoriteTreeView.Align := alClient;
1344 hi_ 1.1 FavoriteTreeView.Visible := False;
1345    
1346     //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1347     // FBrowserSizeFlag := False;
1348     // FBrowserSizeHeight := ViewPanel.Height;
1349    
1350     FBrowserSizeHeight := GikoSys.Setting.ListHeight;
1351     FBrowserSizeWidth := GikoSys.Setting.ListWidth;
1352    
1353     ArrangeAction.Checked := not (GikoSys.Setting.ListOrientation = gloVertical);
1354     ArrangeAction.Execute;
1355    
1356     if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1357     case GikoSys.Setting.ListWidthState of
1358     glsMax: begin
1359     ViewPanel.Width := 1;
1360 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
1361     BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
1362 hi_ 1.1 end;
1363     glsMin: begin
1364     ViewPanel.Width := GikoSys.Setting.ListWidth;
1365 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
1366     BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
1367 hi_ 1.1 end;
1368     else begin
1369     ViewPanel.Width := GikoSys.Setting.ListWidth;
1370 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
1371     BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
1372 hi_ 1.1 end;
1373     end;
1374     end else begin
1375     case GikoSys.Setting.ListHeightState of
1376     glsMax: begin
1377     ViewPanel.Height := 1;
1378 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1379     BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1380 hi_ 1.1 end;
1381     glsMin: begin
1382     ViewPanel.Height := GikoSys.Setting.ListHeight;
1383 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1384     BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1385 hi_ 1.1 end;
1386     else begin
1387     ViewPanel.Height := GikoSys.Setting.ListHeight;
1388 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1389     BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1390 hi_ 1.1 end;
1391     end;
1392     end;
1393    
1394     //鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1395     // ProgressBar.Visible := False;
1396     ProgressBar.Parent := StatusBar;
1397     ProgressBar.Top := 2;
1398     ProgressBar.Left := 0;
1399     ProgressBar.Width := StatusBar.Panels[0].Width;
1400     ProgressBar.Height := StatusBar.Height - 2;
1401     ProgressBar.Position := 0;
1402    
1403     //鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?
1404     FControlThread := TThreadControl.Create(True);
1405     FControlThread.MaxThreadCount := 1;
1406     FControlThread.Resume;
1407     FControlThread.OnDownloadEnd := DownloadEnd;
1408     FControlThread.OnDownloadMsg := DownloadMsg;
1409     FControlThread.OnWork := Work;
1410     FControlThread.OnWorkBegin := WorkBegin;
1411     FControlThread.OnWorkEnd := WorkEnd;
1412     // ProgressPanel.Width := FControlThread.MaxThreadCount * 12;
1413    
1414 yoffy 1.51 // 鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1415     SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1416 yoffy 1.2
1417 hi_ 1.1 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申
1418     SetBrowserTabState;
1419    
1420     BrowserBoardNameLabel.Caption := '';
1421     BrowserNameLabel.Caption := '';
1422     FWorkCount := 0;
1423    
1424     FTabHintIndex := -1;
1425    
1426     //鐃緒申鐃緒申鐃?鐃?鐃?
1427     SetLinkBar;
1428    
1429     //鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?
1430     SetMenuFont;
1431    
1432     //鐃?鐃?鐃緒申鐃?鐃?Wrapable
1433     ListToolBar.Wrapable := GikoSys.Setting.ListToolBarWrapable;
1434     BrowserToolBar.Wrapable := GikoSys.Setting.BrowserToolBarWrapable;
1435    
1436 yoffy 1.236 KeepDefaultToolButton(StdToolBar, TmpToolBar);
1437     KeepDefaultToolButton(ListToolBar, TmpToolBar);
1438     KeepDefaultToolButton(BrowserToolBar, TmpToolBar);
1439 h677 1.234
1440 yoffy 1.236 MakeDefaultINIFile();
1441 yoffy 1.2 //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1442     ReadToolBarSetting(ActionList, StdToolBar);
1443     ReadToolBarSetting(ActionList, ListToolBar);
1444 yoffy 1.51 try
1445     for i := ListToolBar.ControlCount - 1 downto 0 do
1446     begin
1447     if ListToolBar.Controls[ i ].Action = SelectItemAction then
1448     begin
1449     // 鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申
1450     if (i + 1) < ListToolBar.ControlCount then
1451     if ListToolBar.Controls[ i + 1 ] is TToolButton then
1452     if TToolButton( ListToolBar.Controls[ i + 1 ] ).Style = tbsSeparator then
1453     ListToolBar.Controls[ i + 1 ].Visible := False;
1454    
1455     // 鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃緒申
1456     ListToolBar.Controls[ i ].Visible := False;
1457     // 鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申
1458 yoffy 1.239 SelectComboBox.Parent := ListToolBar;
1459 yoffy 1.51 SelectComboBox.Left := ListToolBar.Controls[ i ].Left;
1460     SelectComboBox.Width := GikoSys.Setting.SelectComboBoxWidth;
1461     // 鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申
1462 yoffy 1.239 SelectComboBoxSplitter.Parent := ListToolBar;
1463 yoffy 1.51 SelectComboBoxSplitter.Left := SelectComboBox.Left + SelectComboBox.Width;
1464    
1465     break;
1466     end;
1467     end;
1468     except
1469     end;
1470 yoffy 1.2 ReadToolBarSetting(ActionList, BrowserToolBar);
1471     SetToolBarPopup;
1472 yoffy 1.126 OnlyAHundredRes.Checked := GikoSys.Setting.OnlyAHundredRes;
1473 hi_ 1.1 //鐃?鐃?鐃緒申鐃?鐃?鐃?
1474     AddressComboBox.TabStop := GikoSys.Setting.AddressBarTabStop;
1475    
1476 yoffy 1.2 //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申FormShow鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1477    
1478     //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
1479     if not FileExists(GikoSys.GetBoardFileName) then begin
1480     msg := '鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申' + #13#10#13#10
1481     + '鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申' + #13#10
1482     + '鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?';
1483     MsgBox(SplashWindow.Handle, msg, '鐃?鐃?鐃?鐃?', MB_OK or MB_ICONINFORMATION);
1484     NewBoardAction.Execute;
1485     end;
1486    
1487     //鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1488     GikoSys.LoadKeySetting(ActionList);
1489    
1490     //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1491     // FLastRoundTime := 0;
1492    
1493     //ResHint
1494     FHint := TResPopup.Create(Self);
1495    
1496 yoffy 1.100 // 鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申
1497 yoffy 1.140 CabinetVisible( False );
1498 yoffy 1.141 if GikoSys.Setting.CabinetVisible then begin
1499     i := CabinetSelectPopupMenu.Items.Count - 1;
1500     if GikoSys.Setting.CabinetIndex = i - 1 then
1501     CabinetHistoryAction.Execute
1502     else if GikoSys.Setting.CabinetIndex = i then
1503     CabinetFavoriteAction.Execute
1504     else begin
1505     if GikoSys.Setting.CabinetIndex < Length( BBSs ) then
1506     ShowBBSTree( BBSs[ GikoSys.Setting.CabinetIndex ] );
1507     CabinetBBSAction.Execute;
1508     end;
1509     end else begin
1510 yoffy 1.248 ShowBBSTreeOld( BBSs[ 0 ] );
1511     PostMessage( Handle, USER_TREECLICK, 0, 0 );
1512 yoffy 1.141 end;
1513 yoffy 1.67
1514 yoffy 1.248 // 鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申 2
1515     FIsIgnoreResize := True;
1516    
1517 yoffy 1.2 //鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申
1518     if GikoSys.Setting.AutoLogin then
1519     LoginAction.Execute;
1520    
1521     //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?
1522     for i := 1 to ParamCount do begin
1523     MoveToURL(ParamStr(i));
1524     end;
1525     // SetStdToolBar;
1526     // SetLinkBar;
1527 h677 1.22
1528 hi_ 1.32 s := GikoSys.FAbon.NGwordname;
1529     StatusBar.Panels[2].Text := s;
1530     StatusBar.Panels[2].Width := Max(StatusBar.Canvas.TextWidth(s), 100);
1531     StatusBarResize(Sender);
1532 h677 1.187
1533 yoffy 1.236 dummy1.Caption := ItemReservPMenu.Caption;
1534     dummy1.Hint := ItemReservPMenu.Hint;
1535 yoffy 1.216
1536 yoffy 1.236 //Samba24鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?
1537     GikoSys.SambaFileExists();
1538 yoffy 1.2 end;
1539    
1540 yoffy 1.216 // CoolBar 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1541     procedure TGikoForm.SaveCoolBarSettings;
1542 yoffy 1.2 var
1543 yoffy 1.216 i : Integer;
1544     CoolSet : TCoolSet;
1545 yoffy 1.2 begin
1546    
1547 yoffy 1.248 if IsIconic( Handle ) or FIsIgnoreResize then
1548 yoffy 1.216 Exit;
1549 yoffy 1.2
1550 yoffy 1.216 //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Main)
1551     for i := 0 to MAIN_COOLBAND_COUNT - 1 do begin
1552     CoolSet.FCoolID := MainCoolBar.Bands[i].ID;
1553     CoolSet.FCoolWidth := MainCoolBar.Bands[i].Width;
1554     CoolSet.FCoolBreak := MainCoolBar.Bands[i].Break;
1555     GikoSys.Setting.MainCoolSet[i] := CoolSet;
1556     end;
1557     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Board)
1558     for i := 0 to LIST_COOLBAND_COUNT - 1 do begin
1559     CoolSet.FCoolID := ListCoolBar.Bands[i].ID;
1560     CoolSet.FCoolWidth := ListCoolBar.Bands[i].Width;
1561     CoolSet.FCoolBreak := ListCoolBar.Bands[i].Break;
1562     GikoSys.Setting.ListCoolSet[i] := CoolSet;
1563     end;
1564     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Browser)
1565     for i := 0 to BROWSER_COOLBAND_COUNT - 1 do begin
1566     CoolSet.FCoolID := BrowserCoolBar.Bands[i].ID;
1567     CoolSet.FCoolWidth := BrowserCoolBar.Bands[i].Width;
1568     CoolSet.FCoolBreak := BrowserCoolBar.Bands[i].Break;
1569     GikoSys.Setting.BrowserCoolSet[i] := CoolSet;
1570 yoffy 1.2 end;
1571    
1572 yoffy 1.216 end;
1573 yoffy 1.2
1574 yoffy 1.216 // CoolBar 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1575     procedure TGikoForm.LoadCoolBarSettings;
1576     var
1577     i : Integer;
1578     CoolSet : TCoolSet;
1579     begin
1580 yoffy 1.2
1581 hi_ 1.1 //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Main)
1582     MainCoolBar.Bands.BeginUpdate;
1583     try
1584 yoffy 1.216 // for i := 0 to MainCoolBar.Bands.Count - 1 do begin
1585     for i := MAIN_COOLBAND_COUNT - 1 downto 0 do begin
1586 hi_ 1.1 CoolSet := GikoSys.Setting.MainCoolSet[i];
1587     if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then
1588     Continue;
1589     MainCoolBar.Bands.FindItemID(CoolSet.FCoolID).Index := i;
1590     MainCoolBar.Bands[i].Break := CoolSet.FCoolBreak;
1591     MainCoolBar.Bands[i].Width := CoolSet.FCoolWidth;
1592     end;
1593     finally
1594     MainCoolBar.Bands.EndUpdate;
1595     end;
1596    
1597     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Board)
1598     ListCoolBar.Bands.BeginUpdate;
1599     try
1600 yoffy 1.216 // for i := 0 to ListCoolBar.Bands.Count - 1 do begin
1601     for i := LIST_COOLBAND_COUNT - 1 downto 0 do begin
1602 hi_ 1.1 CoolSet := GikoSys.Setting.ListCoolSet[i];
1603     if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then
1604     Continue;
1605     ListCoolBar.Bands.FindItemID(CoolSet.FCoolID).Index := i;
1606     ListCoolBar.Bands[i].Break := CoolSet.FCoolBreak;
1607     ListCoolBar.Bands[i].Width := CoolSet.FCoolWidth;
1608     end;
1609     finally
1610     ListCoolBar.Bands.EndUpdate;
1611     end;
1612    
1613     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Browser)
1614     BrowserCoolBar.Bands.BeginUpdate;
1615     try
1616 yoffy 1.216 // for i := 0 to BrowserCoolBar.Bands.Count - 1 do begin
1617     for i := BROWSER_COOLBAND_COUNT - 1 downto 0 do begin
1618 hi_ 1.1 CoolSet := GikoSys.Setting.BrowserCoolSet[i];
1619     if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then
1620     Continue;
1621     BrowserCoolBar.Bands.FindItemID(CoolSet.FCoolID).Index := i;
1622     BrowserCoolBar.Bands[i].Break := CoolSet.FCoolBreak;
1623     BrowserCoolBar.Bands[i].Width := CoolSet.FCoolWidth;
1624     end;
1625     finally
1626     BrowserCoolBar.Bands.EndUpdate;
1627     end;
1628    
1629     end;
1630 yoffy 1.216
1631     //
1632     //
1633     //
1634     procedure TGikoForm.FormShow(Sender: TObject);
1635     begin
1636     ShowWindow(Application.Handle, SW_HIDE);
1637    
1638     //FormCreate鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申FormShow鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1639     //鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1640     StdToolBarVisibleAction.Checked := GikoSys.Setting.StdToolBarVisible;
1641     StdToolBarVisibleActionExecute( nil );
1642     AddressBarVisibleAction.Checked := GikoSys.Setting.AddressBarVisible;
1643     AddressBarVisibleActionExecute( nil );
1644     LinkBarVisibleAction.Checked := GikoSys.Setting.LinkBarVisible;
1645     LinkBarVisibleActionExecute( nil );
1646     ListToolBarVisibleAction.Checked := GikoSys.Setting.ListToolBarVisible;
1647     ListToolBarVisibleActionExecute( nil );
1648     ListNameBarVisibleAction.Checked := GikoSys.Setting.ListNameBarVisible;
1649     ListNameBarVisibleActionExecute( nil );
1650     BrowserToolBarVisibleAction.Checked := GikoSys.Setting.BrowserToolBarVisible;
1651     BrowserToolBarVisibleActionExecute( nil );
1652     BrowserNameBarVisibleAction.Checked := GikoSys.Setting.BrowserNameBarVisible;
1653     BrowserNameBarVisibleActionExecute( nil );
1654    
1655     //鐃?鐃緒申鐃?鐃?鐃?鐃?
1656     BrowserTabVisibleAction.Checked := GikoSys.Setting.BrowserTabVisible;
1657     BrowserTabVisibleActionExecute(nil);
1658    
1659     if GikoSys.Setting.BrowserTabPosition = gtpTop then begin
1660     BrowserTabTopAction.Checked := True;
1661     BrowserTabTopActionExecute(nil);
1662     end else begin
1663     BrowserTabBottomAction.Checked := True;
1664     BrowserTabBottomActionExecute(nil);
1665     end;
1666    
1667     if GikoSys.Setting.BrowserTabStyle = gtsTab then begin
1668     BrowserTabTabStyleAction.Checked := True;
1669     BrowserTabTabStyleActionExecute(nil);
1670     end else if GikoSys.Setting.BrowserTabStyle = gtsButton then begin
1671     BrowserTabButtonStyleAction.Checked := True;
1672     BrowserTabButtonStyleActionExecute(nil);
1673     end else begin
1674     BrowserTabFlatStyleAction.Checked := True;
1675     BrowserTabFlatStyleActionExecute(nil);
1676     end;
1677    
1678     // CoolBar 鐃緒申鐃緒申
1679     LoadCoolBarSettings;
1680 yoffy 1.248
1681     FIsIgnoreResize := False;
1682 yoffy 1.239 end;
1683 yoffy 1.216
1684 hi_ 1.1 procedure TGikoForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
1685     begin
1686 yoffy 1.236 if ( GikoSys.Setting.ShowDialogForEnd ) and
1687     (MessageDlg('鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?', mtConfirmation,[mbOk, mbCancel], 0) = mrCancel ) then begin
1688     CanClose := false;
1689     Exit;
1690     end else begin
1691     CanClose := True;
1692     end;
1693 h677 1.241 //Application.HookMainWindow(Hook);
1694     Application.UnhookMainWindow(Hook);
1695     Application.Terminate;
1696     end;
1697    
1698     procedure TGikoForm.FormDestroy(Sender: TObject);
1699     var
1700     i: Integer;
1701     // CoolSet: TCoolSet;
1702     wp: TWindowPlacement;
1703     begin
1704 h677 1.181 // Application.OnDeactivate := nil;
1705     // Self.OnDeactivate := nil;
1706 yoffy 1.236 try
1707 h677 1.234 //column鐃緒申
1708     if GetActiveList is TBBS then begin
1709     for i := 0 to ListView.Columns.Count - 1 do
1710     GikoSys.Setting.BBSColumnWidth[i] := ListView.Column[i].Width;
1711     end else if GetActiveList is TCategory then begin
1712     for i := 0 to ListView.Columns.Count - 1 do
1713     GikoSys.Setting.CategoryColumnWidth[i] := ListView.Column[i].Width;
1714     end else if GetActiveList is TBoard then begin
1715     for i := 0 to ListView.Columns.Count - 1 do
1716     GikoSys.Setting.BoardColumnWidth[i] := ListView.Column[i].Width;
1717     end;
1718 yoffy 1.236 except
1719     end;
1720     try
1721 h677 1.234 //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申
1722     wp.length := sizeof(wp);
1723     GetWindowPlacement(Handle, @wp);
1724     GikoSys.Setting.WindowTop := wp.rcNormalPosition.Top;
1725     GikoSys.Setting.WindowLeft := wp.rcNormalPosition.Left;
1726     GikoSys.Setting.WindowHeight := wp.rcNormalPosition.Bottom - wp.rcNormalPosition.Top;
1727     GikoSys.Setting.WindowWidth := wp.rcNormalPosition.Right - wp.rcNormalPosition.Left;
1728     GikoSys.Setting.WindowMax := WindowState = wsMaximized;
1729    
1730     GikoSys.Setting.ListStyle := ListView.ViewStyle;
1731     GikoSys.Setting.CabinetVisible := CabinetVisibleAction.Checked;
1732     GikoSys.Setting.CabinetWidth := CabinetPanel.Width;
1733     GikoSys.Setting.ListHeight := FBrowserSizeHeight;
1734     GikoSys.Setting.ListWidth := FBrowserSizeWidth;
1735     if ArrangeAction.Checked then
1736     GikoSys.Setting.ListOrientation := gloVertical
1737     else
1738     GikoSys.Setting.ListOrientation := gloHorizontal;
1739     GikoSys.Setting.MessegeBarHeight := MessagePanel.Height;
1740 yoffy 1.236 except
1741 yoffy 1.2 end;
1742    
1743 yoffy 1.216 // 鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申 CoolBar 鐃緒申鐃緒申
1744     // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1745 h677 1.223 {
1746 yoffy 1.216 // CoolBar 鐃緒申鐃緒申
1747     SaveCoolBarSettings;
1748 yoffy 1.236 }
1749     try
1750 h677 1.234 GikoSys.Setting.WriteWindowSettingFile;
1751     GikoSys.Setting.WriteNameMailSettingFile;
1752 yoffy 1.236 except
1753     end;
1754 yoffy 1.2
1755     //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1756 hi_ 1.1 try
1757 yoffy 1.236 //FavoriteDM鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1758 yoffy 1.2 FavoriteDM.WriteFavorite;
1759 yoffy 1.236 FavoriteDM.Clear;
1760 hi_ 1.1 except
1761     end;
1762    
1763     try
1764     //鐃?鐃?鐃?鐃緒申鐃?鐃?
1765 h677 1.234 //NotSelectTabCloseAction.Execute;
1766     {if BrowserTab.Tabs.Count >= 1 then begin
1767 hi_ 1.1 DeleteTab(TThreadItem(BrowserTab.Tabs.Objects[0]));
1768     end;
1769 h677 1.234 }
1770 hi_ 1.1 except
1771     end;
1772    
1773 h677 1.224 try
1774 yoffy 1.236 TreeView.Items.BeginUpdate;
1775     for i := TreeView.Items.Count - 1 downto 0 do begin
1776     TreeView.Items[i].Free;
1777     end;
1778     TreeView.Items.Clear;
1779     TreeView.Items.EndUpdate;
1780 h677 1.224 except
1781     end;
1782 h677 1.230
1783 hi_ 1.1 //鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1784     try
1785 yoffy 1.236 //AddressHistoryDM鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?
1786 hi_ 1.1 AddressHistoryDM.WriteHistory(AddressComboBox.Items, GikoSys.Setting.AddressHistoryCount);
1787     except
1788     end;
1789    
1790 h677 1.234 //鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申
1791 hi_ 1.1 try
1792 h677 1.234 SaveHistory;
1793 hi_ 1.1 except
1794     end;
1795 yoffy 1.236 try
1796     try
1797     ClearHistory;
1798     except
1799     end;
1800     finally
1801     FHistoryList.Free;
1802     end;
1803 h677 1.221
1804 h677 1.182 //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申&鐃?鐃緒申
1805     try
1806     RoundList.SaveRoundFile;
1807     except
1808     end;
1809 yoffy 1.236 try
1810 h677 1.234 try
1811 yoffy 1.236 RoundList.Clear;
1812 h677 1.234 except
1813     end;
1814 yoffy 1.236 finally
1815     RoundList.Free;
1816     end;
1817 h677 1.182
1818 yoffy 1.236 try
1819 h677 1.234 try
1820     FControlThread.Terminate;
1821 yoffy 1.236 FControlThread.WaitFor;
1822 h677 1.234 except
1823 h677 1.219 end;
1824 yoffy 1.236 finally
1825     FControlThread.Free;
1826     end;
1827 h677 1.230
1828 yoffy 1.155 // TBBS 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申 TCategory, TBoard, TThreadItem 鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1829     // TBoard, TThreadItem 鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1830     // BoardPluteIns 鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1831 yoffy 1.126 try
1832 h677 1.220 for i := Length( BBSs ) - 1 downto 0 do begin
1833 h677 1.153 if BBSs[ i ] <> nil then
1834     BBSs[ i ].Free;
1835     BBSs[ i ] := nil;
1836     end;
1837     except
1838     end;
1839 yoffy 1.155
1840 h677 1.153 try
1841 h677 1.220 for i := Length( BoardPlugIns ) - 1 downto 0 do begin
1842 yoffy 1.126 if BoardPlugIns[ i ] <> nil then
1843     BoardPlugIns[ i ].Free;
1844     BoardPlugIns[ i ] := nil;
1845     end;
1846     except
1847     end;
1848 yoffy 1.124
1849 h677 1.234 try
1850 yoffy 1.236 if FEvent <> nil then
1851     FEvent.Free;
1852 h677 1.181
1853 yoffy 1.2 //Hint鐃?鐃緒申
1854     if FHint <> nil then begin
1855     FHint.ReleaseHandle;
1856     FHint.Free;
1857     FHint := nil;
1858     end;
1859     //Preview鐃?鐃緒申
1860     if TPreviewBrowser <> nil then begin
1861     FPreviewBrowser.Free;
1862     FPreviewBrowser := nil;
1863     end;
1864     except
1865     end;
1866 h677 1.230
1867 hi_ 1.1 end;
1868    
1869     //鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?
1870     procedure TGikoForm.FormClose(Sender: TObject; var Action: TCloseAction);
1871     begin
1872 h677 1.230 end;
1873 hi_ 1.1 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?
1874     procedure TGikoForm.CabinetPanelHide(Sender: TObject);
1875     begin
1876     CabinetVisibleAction.Execute;
1877     // CabinetPanelVisible(false);
1878     end;
1879    
1880     procedure TGikoForm.ReloadBBS;
1881 yoffy 1.123 var
1882     i : Integer;
1883 yoffy 1.149 item : TBBSMenuItem;
1884 hi_ 1.1 begin
1885     //鐃?鐃?鐃?鐃緒申鐃?鐃?
1886     NotSelectTabCloseAction.Execute;
1887     if BrowserTab.Tabs.Count >= 1 then
1888     DeleteTab(TThreadItem(BrowserTab.Tabs.Objects[0]));
1889     //TreeView鐃?鐃緒申鐃?鐃?BBS2ch.Free鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申XP鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃?
1890     TreeView.Items.Clear;
1891    
1892     //BBS鐃?鐃緒申
1893 yoffy 1.146 try
1894     for i := Length( BBSs ) - 1 downto 0 do begin
1895     if BBSs[ i ] <> nil then
1896     BBSs[ i ].Free;
1897     BBSs[ i ] := nil;
1898     end;
1899     except
1900 yoffy 1.126 end;
1901 hi_ 1.1
1902 yoffy 1.123 ActiveList := nil;
1903 hi_ 1.1
1904     FTreeType := gttNone;
1905    
1906 yoffy 1.210 GikoSys.ListBoardFile; //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申
1907 yoffy 1.148 // 鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1908     for i := CabinetSelectPopupMenu.Items.Count - 1 downto 0 do begin
1909     try
1910     if CabinetSelectPopupMenu.Items[ i ] is TBBSMenuItem then begin
1911 yoffy 1.155 CabinetSelectPopupMenu.Items[ i ].Free;
1912     CabinetMenu.Items[ i ].Free;
1913 yoffy 1.148 end;
1914     except
1915     end;
1916     end;
1917     // 鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1918     for i := Length( BBSs ) - 1 downto 0 do begin
1919     try
1920     item := TBBSMenuItem.Create( PopupMenu );
1921     item.Caption := BBSs[ i ].Title;
1922     item.Data := BBSs[ i ];
1923     item.OnClick := BBSMenuItemOnClick;
1924     CabinetSelectPopupMenu.Items.Insert( 0, item );
1925     item := TBBSMenuItem.Create( PopupMenu );
1926     item.Caption := BBSs[ i ].Title;
1927     item.Data := BBSs[ i ];
1928     item.OnClick := BBSMenuItemOnClick;
1929     CabinetMenu.Insert( 0, item );
1930     except
1931     end;
1932     end;
1933 yoffy 1.123 ShowBBSTree( BBSs[ 0 ] );
1934 yoffy 1.143
1935     // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1936 yoffy 1.146 SaveHistory;
1937 h677 1.219 ClearHistory;
1938 yoffy 1.143 LoadHistory;
1939    
1940     //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1941 h677 1.231 FavoriteDM.Clear;
1942 yoffy 1.143 FavoriteDM.ReadFavorite;
1943     SetLinkBar;
1944    
1945 hi_ 1.1 end;
1946    
1947     //鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申
1948 yoffy 1.123 procedure TGikoForm.SetBoardTreeNode(
1949     inBBS : TBBS
1950     );
1951 hi_ 1.1 var
1952 yoffy 1.120 i, j, k: integer;
1953 hi_ 1.1 Root: TTreeNode;
1954     CategoryNode: TTreeNode;
1955     BoardNode: TTreeNode;
1956     Category: TCategory;
1957     Board: TBoard;
1958     begin
1959 yoffy 1.112 // 鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申
1960 yoffy 1.133 FActiveBBS := inBBS;
1961 hi_ 1.1 TreeView.Items.BeginUpdate;
1962     TreeView.Items.Clear;
1963     try
1964 yoffy 1.210 if not inBBS.IsBoardFileRead then
1965     GikoSys.ReadBoardFile( inBBS );
1966 yoffy 1.123 try
1967     if SplashWindow <> nil then
1968 yoffy 1.210 SplashWindow.ProgressBar.Max := inBBS.Count;
1969 yoffy 1.123 except
1970     end;
1971    
1972     Root := TreeView.Items.Add( nil, inBBS.Title );
1973     Root.ImageIndex := ITEM_ICON_2CH1;
1974     Root.SelectedIndex := ITEM_ICON_2CH2;
1975     Root.Data := inBBS;
1976     for i := 0 to inBBS.Count - 1 do begin
1977     Category := TCategory(inBBS.Items[i]);
1978     CategoryNode := TreeView.Items.AddChild(Root, Category.Title);
1979     CategoryNode.Data := Category;
1980     CategoryNode.ImageIndex := ITEM_ICON_CATEGORY1;
1981     CategoryNode.SelectedIndex := ITEM_ICON_CATEGORY2;
1982 hi_ 1.1
1983 yoffy 1.123 for j := 0 to Category.Count - 1 do begin
1984     Board := TBoard(Category.Items[j]);
1985     Board.BeginUpdate;
1986     BoardNode := TreeView.Items.AddChild(CategoryNode, Board.Title);
1987     BoardNode.Data := Board;
1988     //if (Board.LastGetTime = 0) or (Board.LastGetTime = ZERO_DATE) then begin
1989     if not Board.IsLogFile then begin
1990     BoardNode.ImageIndex := ITEM_ICON_BOARD_NOSUBJECT;
1991     BoardNode.SelectedIndex := ITEM_ICON_BOARD_NOSUBJECT;
1992     end else begin
1993     BoardNode.ImageIndex := ITEM_ICON_BOARD1;
1994     BoardNode.SelectedIndex := ITEM_ICON_BOARD2;
1995     for k := 0 to Board.Count - 1 do begin
1996     if Board.Items[ k ].IsLogFile then begin
1997     BoardNode.ImageIndex := ITEM_ICON_BOARD_LOG;
1998     BoardNode.SelectedIndex := ITEM_ICON_BOARD_LOG;
1999 yoffy 1.120
2000 yoffy 1.123 Break;
2001 yoffy 1.120 end;
2002     end;
2003 yoffy 1.112 end;
2004 yoffy 1.123 Board.EndUpdate;
2005     end;
2006 hi_ 1.1
2007 yoffy 1.123 CategoryNode.Expanded := Category.NodeExpand;
2008 hi_ 1.1
2009 yoffy 1.123 if SplashWindow <> nil then begin
2010     SplashWindow.ProgressBar.StepIt;
2011     Application.ProcessMessages;
2012 hi_ 1.1 end;
2013     end;
2014     finally
2015     TreeView.Items.EndUpdate;
2016     end;
2017     end;
2018    
2019 yoffy 1.123 function TGikoForm.SetCategoryListItem(ABBS2ch: TBBS): Integer;
2020 hi_ 1.1 const
2021     COLUMN: array[0..0] of string = ('鐃?鐃?鐃?鐃緒申鐃緒申');
2022     var
2023     ListColumn: TListColumn;
2024     i: Integer;
2025     begin
2026     ListView.Items.BeginUpdate;
2027     try
2028     Screen.Cursor := crHourGlass;
2029    
2030     ListView.Columns.Clear;
2031     for i := 0 to Length(COLUMN) - 1 do begin
2032     ListColumn := ListView.Columns.Add;
2033     ListColumn.Caption := COLUMN[i];
2034     ListColumn.Width := GikoSys.Setting.BBSColumnWidth[i];
2035     end;
2036    
2037     ListView.Items.Count := 0;
2038     ListView.Items.Clear;
2039     ListView.Items.Count := ABBS2ch.Count;
2040    
2041     // UpFolderAction.Enabled := False;
2042     // AllItemAction.Enabled := False;
2043     // LogItemAction.Enabled := False;
2044     // NewItemAction.Enabled := False;
2045     // SelectItemAction.Enabled := False;
2046     // ListDownloadToolButton.Enabled := False;
2047     // BoardReservToolButton.Enabled := False;
2048     // ListThreadDownloadToolButton.Enabled := False;
2049    
2050     ListNameLabel.Caption := ABBS2ch.Title;
2051     FolderImage.Picture := nil;
2052     ItemIcon16.GetBitmap(1, FolderImage.Picture.Bitmap);
2053    
2054 yoffy 1.2 FSortIndex := 0;
2055     FSortOrder := False;
2056     ListViewColumnClick(nil, ListView.Column[0]);
2057    
2058 hi_ 1.1 Result := ABBS2ch.Count;
2059     finally
2060     Screen.Cursor := crDefault;
2061     ListView.Items.EndUpdate;
2062     end;
2063     end;
2064    
2065     function TGikoForm.SetBoardListItem(Category: TCategory): Integer;
2066     const
2067     COLUMN: array[0..2] of string = ('鐃緒申鐃緒申', '鐃緒申鐃緒申鐃?鐃緒申', '鐃緒申鐃緒申鐃緒申鐃緒申');
2068     var
2069     ListColumn: TListColumn;
2070     i: Integer;
2071     begin
2072     ListView.Items.BeginUpdate;
2073     try
2074     Screen.Cursor := crHourGlass;
2075    
2076     ListView.Columns.Clear;
2077     for i := 0 to Length(COLUMN) - 1 do begin
2078     ListColumn := ListView.Columns.Add;
2079     ListColumn.Caption := COLUMN[i];
2080     ListColumn.Width := GikoSys.Setting.CategoryColumnWidth[i];
2081     end;
2082    
2083     ListView.Items.Count := 0;
2084     ListView.Items.Clear;
2085     ListView.Items.Count := Category.Count;
2086    
2087     // UpFolderAction.Enabled := True;
2088     // AllItemAction.Enabled := False;
2089     // LogItemAction.Enabled := False;
2090     // NewItemAction.Enabled := False;
2091     // SelectItemAction.Enabled := False;
2092     // ListDownloadToolButton.Enabled := False;
2093     // BoardReservToolButton.Enabled := False;
2094     // ListThreadDownloadToolButton.Enabled := False;
2095    
2096     ListNameLabel.Caption := Category.Title;
2097     FolderImage.Picture := nil;
2098     ItemIcon16.GetBitmap(3, FolderImage.Picture.Bitmap);
2099    
2100 yoffy 1.2 FSortIndex := 0;
2101     FSortOrder := False;
2102     ListViewColumnClick(nil, ListView.Column[0]);
2103    
2104 hi_ 1.1 Result := Category.Count;
2105     finally
2106     Screen.Cursor := crDefault;
2107     ListView.Items.EndUpdate;
2108     end;
2109     end;
2110    
2111     function TGikoForm.SetThreadListItem(Board: TBoard): Integer;
2112     const
2113 h677 1.199 COLUMN: array[0..7] of string = ('鐃?鐃緒申鐃?鐃?鐃緒申', '鐃?鐃?鐃緒申鐃?', '鐃緒申鐃緒申', '鐃?鐃緒申',
2114     '鐃緒申鐃緒申', '鐃緒申鐃緒申鐃?鐃緒申', '鐃緒申鐃緒申鐃緒申鐃緒申', '鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申');
2115     COLUMN_ALIGNMENT: array[0..7] of TAlignment = (taLeftJustify, taRightJustify,
2116 hi_ 1.1 taRightJustify, taRightJustify,
2117     taRightJustify, taLeftJustify,
2118 h677 1.199 taLeftJustify, taLeftJustify);
2119 hi_ 1.1 //No, 鐃?鐃緒申鐃?鐃?鐃緒申, 鐃?鐃?鐃緒申鐃?, 鐃緒申鐃緒申鐃?鐃緒申, 鐃緒申鐃緒申鐃緒申鐃緒申
2120     var
2121     ListColumn: TListColumn;
2122     i: Integer;
2123     begin
2124     ListView.Items.BeginUpdate;
2125     try
2126     Screen.Cursor := crHourGlass;
2127    
2128 yoffy 1.51 // 鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
2129     // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
2130     if ListView.Columns.Count <> (High( COLUMN ) - Low( COLUMN ) + 1) then
2131     begin
2132     ListView.Columns.Clear;
2133     for i := 0 to Length(COLUMN) - 1 do begin
2134     ListColumn := ListView.Columns.Add;
2135     ListColumn.Caption := COLUMN[i];
2136     ListColumn.Width := GikoSys.Setting.BoardColumnWidth[i];
2137     ListColumn.Alignment := COLUMN_ALIGNMENT[i];
2138     end;
2139     end;
2140 hi_ 1.1
2141     ListView.Items.Count := 0;
2142     ListView.Items.Clear;
2143    
2144     case GikoForm.ViewType of
2145     gvtAll: ListView.Items.Count := Board.Count;
2146     gvtLog: ListView.Items.Count := Board.GetLogThreadCount;
2147     gvtNew: ListView.Items.Count := Board.GetNewThreadCount;
2148     gvtUser: ListView.Items.Count := Board.GetUserThreadCount;
2149     end;
2150    
2151     ListNameLabel.Caption := Board.Title;
2152     FolderImage.Picture := nil;
2153     ItemIcon16.GetBitmap(5, FolderImage.Picture.Bitmap);
2154    
2155 yoffy 1.2 FSortIndex := 0;
2156     FSortOrder := False;
2157     ListViewColumnClick(nil, ListView.Column[0]);
2158 hi_ 1.1
2159     Result := Board.Count;
2160     finally
2161     Screen.Cursor := crDefault;
2162     ListView.Items.EndUpdate;
2163     end;
2164     end;
2165    
2166     procedure TGikoForm.ListViewData(Sender: TObject; Item: TListItem);
2167     var
2168     // FileName: string;
2169     // DateTime: TDateTime;
2170     BoardCnt: Integer;
2171 yoffy 1.123 BBS: TBBS;
2172 hi_ 1.1 Category: TCategory;
2173     Board: TBoard;
2174     ThreadItem: TThreadItem;
2175     RepStr: string;
2176 yoffy 1.236 ActivListObj : TObject;
2177 hi_ 1.1 begin
2178 yoffy 1.236 ActivListObj := ActiveList;
2179 h677 1.170 if ActivListObj is TBBS then begin
2180     BBS := TBBS(ActivListObj);
2181 yoffy 1.114
2182 hi_ 1.1 ListView.StateImages := nil;
2183    
2184     if BBS = nil then Exit;
2185     if BBS.Count <= 0 then Exit;
2186     if Item = nil then Exit;
2187     if Item.Index > BBS.Count then Exit;
2188     if ListView.Items.Count = 0 then Exit;
2189    
2190 h677 1.196 if not (BBS.Items[Item.index] is TCategory) then Exit;
2191     Category := TCategory(BBS.Items[Item.index]);
2192 hi_ 1.1
2193     if Category = nil then Exit;
2194    
2195     if ListNumberVisibleAction.Checked then
2196     Item.Caption := IntToStr(Category.No) + ': ' + Category.Title
2197     else
2198     Item.Caption := Category.Title;
2199    
2200 yoffy 1.2 Item.ImageIndex := ITEM_ICON_CATEGORY1;
2201 hi_ 1.1 Item.Data := Category;
2202 h677 1.170 end else if ActivListObj is TCategory then begin
2203     Category := TCategory(ActivListObj);
2204 hi_ 1.1
2205     ListView.StateImages := nil;
2206    
2207     if Category = nil then Exit;
2208     if Category.Count <= 0 then Exit;
2209     if Item = nil then Exit;
2210     if Item.Index >= Category.Count then Exit;
2211     if ListView.Items.Count = 0 then Exit;
2212    
2213     if not (Category.Items[Item.Index] is TBoard) then Exit;
2214     Board := TBoard(Category.Items[Item.Index]);
2215    
2216     if Board = nil then Exit;
2217    
2218     if ListNumberVisibleAction.Checked then
2219     Item.Caption := IntToStr(Board.No) + ': ' + Board.Title
2220     else
2221     Item.Caption := Board.Title;
2222    
2223     if Item.SubItems.Count <> 2 then begin
2224     Item.SubItems.Clear;
2225     Item.SubItems.Add('');
2226     Item.SubItems.Add('');
2227     end;
2228    
2229 yoffy 1.2 Item.ImageIndex := ITEM_ICON_BOARD1;
2230 hi_ 1.1
2231     if Board.Round then
2232 yoffy 1.51 Item.SubItems[0] := Board.RoundName // '鐃?鐃緒申'
2233 hi_ 1.1 else
2234     Item.SubItems[0] := '';
2235    
2236     if Board.RoundDate = ZERO_DATE then begin
2237     Item.SubItems[1] := '';
2238     end else
2239     Item.SubItems[1] := FormatDateTime('yyyy/mm/dd hh:mm:ss', Board.RoundDate);
2240     Item.Data := Board;
2241 h677 1.170 end else if ActivListObj is TBoard then begin
2242     Board := TBoard(ActivListObj);
2243 hi_ 1.1
2244     if GikoSys.Setting.ListIconVisible then
2245     ListView.StateImages := StateIconImageList
2246     else
2247     ListView.StateImages := nil;
2248    
2249     case GikoForm.ViewType of
2250     gvtAll: BoardCnt := Board.Count;
2251     gvtLog: BoardCnt := Board.GetLogThreadCount;
2252     gvtNew: BoardCnt := Board.GetNewThreadCount;
2253     gvtUser: BoardCnt := Board.GetUserThreadCount;
2254 yoffy 1.2 else
2255     BoardCnt := 0;
2256 hi_ 1.1 end;
2257    
2258     // if Board = nil then Exit;
2259     if BoardCnt <= 0 then Exit;
2260     if Item = nil then Exit;
2261     if Item.Index > BoardCnt then Exit;
2262     if ListView.Items.Count = 0