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