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.319 - (hide annotations) (download) (as text)
Sun May 30 17:23:09 2004 UTC (19 years, 10 months ago) by h677
Branch: MAIN
Changes since 1.318: +72 -58 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 h677 1.318 StdActns, GikoXMLDoc, Variants, ExtActns;
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 h677 1.315 SetFocusForBrowserAction: TAction;
537     SetFocusForThreadListAction: TAction;
538     SetFocusForCabinetAction: TAction;
539 h677 1.318 FileRun1: TFileRun;
540 h677 1.319 ThreadlistMaxAndFocusAction: TAction;
541     BrowserMaxAndFocusAction: TAction;
542 yoffy 1.251 procedure FormCreate(Sender: TObject);
543 hi_ 1.1 procedure FormDestroy(Sender: TObject);
544     procedure CabinetPanelHide(Sender: TObject);
545     procedure FormClose(Sender: TObject; var Action: TCloseAction);
546     procedure ListViewData(Sender: TObject; Item: TListItem);
547     procedure ListViewDataFind(Sender: TObject; Find: TItemFind;
548     const FindString: String; const FindPosition: TPoint;
549     FindData: Pointer; StartIndex: Integer; Direction: TSearchDirection;
550     Wrap: Boolean; var Index: Integer);
551     procedure ListViewDataHint(Sender: TObject; StartIndex,
552     EndIndex: Integer);
553     procedure ListViewDataStateChange(Sender: TObject; StartIndex,
554     EndIndex: Integer; OldState, NewState: TItemStates);
555     procedure BrowserStatusTextChange(Sender: TObject;
556     const Text: WideString);
557     procedure BrowserTitleChange(Sender: TObject; const Text: WideString);
558     procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
559     procedure TreeViewChanging(Sender: TObject; Node: TTreeNode;
560     var AllowChange: Boolean);
561     procedure ListViewKeyDown(Sender: TObject; var Key: Word;
562     Shift: TShiftState);
563     procedure ListViewColumnClick(Sender: TObject; Column: TListColumn);
564     procedure MenuToolBarCustomDrawButton(Sender: TToolBar;
565     Button: TToolButton; State: TCustomDrawState;
566     var DefaultDraw: Boolean);
567     procedure BrowserBeforeNavigate2(Sender: TObject;
568     const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
569     Headers: OleVariant; var Cancel: WordBool);
570     procedure ListViewAdvancedCustomDrawItem(Sender: TCustomListView;
571     Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
572     var DefaultDraw: Boolean);
573     procedure TreeViewCustomDraw(Sender: TCustomTreeView;
574     const ARect: TRect; var DefaultDraw: Boolean);
575     procedure TreeViewCustomDrawItem(Sender: TCustomTreeView;
576     Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
577     procedure TreeViewExpanded(Sender: TObject; Node: TTreeNode);
578     procedure TreeViewDblClick(Sender: TObject);
579     procedure ListViewCustomDraw(Sender: TCustomListView;
580     const ARect: TRect; var DefaultDraw: Boolean);
581     procedure ListViewMouseDown(Sender: TObject; Button: TMouseButton;
582     Shift: TShiftState; X, Y: Integer);
583     procedure TreeViewCollapsed(Sender: TObject; Node: TTreeNode);
584     procedure MessageListViewResize(Sender: TObject);
585     procedure ExitActionExecute(Sender: TObject);
586     procedure AllSelectActionExecute(Sender: TObject);
587     procedure StdToolBarVisibleActionExecute(Sender: TObject);
588     procedure MsgBarVisibleActionExecute(Sender: TObject);
589     procedure StatusBarVisibleActionExecute(Sender: TObject);
590     procedure LargeIconActionExecute(Sender: TObject);
591     procedure SmallIconActionExecute(Sender: TObject);
592     procedure ListIconActionExecute(Sender: TObject);
593     procedure DetailIconActionExecute(Sender: TObject);
594     procedure SearchActionExecute(Sender: TObject);
595     procedure OptionActionExecute(Sender: TObject);
596     procedure GikoNaviWebPageActionExecute(Sender: TObject);
597     procedure AboutActionExecute(Sender: TObject);
598     procedure CabinetHistoryActionExecute(Sender: TObject);
599 yoffy 1.138 procedure CabinetVisible( isVisible : Boolean );
600 hi_ 1.1 procedure CabinetVisibleActionExecute(Sender: TObject);
601     procedure AllItemActionExecute(Sender: TObject);
602     procedure LogItemActionExecute(Sender: TObject);
603     procedure NewItemActionExecute(Sender: TObject);
604     procedure SelectItemActionExecute(Sender: TObject);
605     procedure ListNumberVisibleActionExecute(Sender: TObject);
606     procedure UpFolderActionExecute(Sender: TObject);
607     procedure IconStyleExecute(Sender: TObject);
608     procedure RoundActionExecute(Sender: TObject);
609     procedure StopActionExecute(Sender: TObject);
610     procedure MsgBarCloseActionExecute(Sender: TObject);
611     procedure BrowserMaxActionExecute(Sender: TObject);
612     procedure ScrollTopActionExecute(Sender: TObject);
613     procedure ScrollLastActionExecute(Sender: TObject);
614     procedure ScrollNewActionExecute(Sender: TObject);
615     procedure ScrollKokoActionExecute(Sender: TObject);
616     procedure EditorActionExecute(Sender: TObject);
617     procedure IEActionExecute(Sender: TObject);
618     procedure ShowThreadActionExecute(Sender: TObject);
619     procedure ShowBoardActionExecute(Sender: TObject);
620     procedure URLCopyActionExecute(Sender: TObject);
621     procedure ItemReloadActionExecute(Sender: TObject);
622     procedure SelectListReloadActionExecute(Sender: TObject);
623     procedure SelectThreadReloadActionExecute(Sender: TObject);
624     procedure SelectListReloadActionUpdate(Sender: TObject);
625     procedure AllItemActionUpdate(Sender: TObject);
626     procedure LogItemActionUpdate(Sender: TObject);
627     procedure NewItemActionUpdate(Sender: TObject);
628     procedure SelectItemActionUpdate(Sender: TObject);
629     procedure UpFolderActionUpdate(Sender: TObject);
630     procedure FormResize(Sender: TObject);
631     procedure ScrollTopActionUpdate(Sender: TObject);
632     procedure ScrollLastActionUpdate(Sender: TObject);
633     procedure ScrollNewActionUpdate(Sender: TObject);
634     procedure ScrollKokoActionUpdate(Sender: TObject);
635     procedure EditorActionUpdate(Sender: TObject);
636     procedure IEActionUpdate(Sender: TObject);
637     procedure ShowThreadActionUpdate(Sender: TObject);
638     procedure ShowBoardActionUpdate(Sender: TObject);
639     procedure SelectThreadReloadActionUpdate(Sender: TObject);
640 yoffy 1.51 procedure ItemReloadActionUpdate(Sender: TObject);
641     procedure LogDeleteActionExecute(Sender: TObject);
642 hi_ 1.1 procedure KokomadeActionExecute(Sender: TObject);
643     procedure ZenbuActionExecute(Sender: TObject);
644 yoffy 1.51 procedure KokoResActionExecute(Sender: TObject);
645 hi_ 1.1 procedure ListPopupMenuPopup(Sender: TObject);
646     procedure SelectItemURLCopyActionExecute(Sender: TObject);
647     procedure SelectItemURLCopyActionUpdate(Sender: TObject);
648     procedure AllSelectActionUpdate(Sender: TObject);
649     procedure LogDeleteActionUpdate(Sender: TObject);
650     procedure BrowserTabCloseActionExecute(Sender: TObject);
651     procedure NotSelectTabCloseActionExecute(Sender: TObject);
652     procedure TreeSelectBoradReloadExecute(Sender: TObject);
653     procedure TreeSelectThreadReloadExecute(Sender: TObject);
654     procedure TreeSelectURLCopyExecute(Sender: TObject);
655     procedure TreePopupMenuPopup(Sender: TObject);
656     procedure ListToolBarVisibleActionExecute(Sender: TObject);
657     procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
658     procedure BrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch;
659     var Cancel: WordBool);
660     procedure ListSplitterCanResize(Sender: TObject; var NewSize: Integer;
661     var Accept: Boolean);
662     procedure ListSplitterMoved(Sender: TObject);
663     procedure BrowserTabChange(Sender: TObject);
664     procedure BrowserTabMouseDown(Sender: TObject; Button: TMouseButton;
665     Shift: TShiftState; X, Y: Integer);
666     procedure BrowserTabDragOver(Sender, Source: TObject; X, Y: Integer;
667     State: TDragState; var Accept: Boolean);
668     procedure BrowserTabDragDrop(Sender, Source: TObject; X, Y: Integer);
669     procedure BrowserTabMouseMove(Sender: TObject; Shift: TShiftState; X,
670     Y: Integer);
671     procedure BrowserDocumentComplete(Sender: TObject;
672     const pDisp: IDispatch; var URL: OleVariant);
673     procedure SelectReservActionUpdate(Sender: TObject);
674     procedure RoundNamePopupMenuPopup(Sender: TObject);
675     procedure SelectNewRoundNameExecute(Sender: TObject);
676     procedure SelectDeleteRoundExecute(Sender: TObject);
677     procedure SelectReservActionExecute(Sender: TObject);
678     procedure NewBoardActionExecute(Sender: TObject);
679     procedure LoginActionExecute(Sender: TObject);
680     procedure KeySettingActionExecute(Sender: TObject);
681     procedure AllTabCloseActionExecute(Sender: TObject);
682 yoffy 1.51 procedure ArrangeActionExecute(Sender: TObject);
683     procedure NameURLCopyActionExecute(Sender: TObject);
684     procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
685 hi_ 1.1 procedure URLCopyActionUpdate(Sender: TObject);
686 yoffy 1.2 procedure NameURLCopyActionUpdate(Sender: TObject);
687 hi_ 1.1 procedure BrowserTabCloseActionUpdate(Sender: TObject);
688 yoffy 1.51 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
689 hi_ 1.1 procedure AllTabCloseActionUpdate(Sender: TObject);
690     procedure SelectItemNameURLCopyActionUpdate(Sender: TObject);
691     procedure ActiveLogDeleteActionExecute(Sender: TObject);
692     procedure ActiveLogDeleteActionUpdate(Sender: TObject);
693 yoffy 1.51 procedure ListNameBarVisibleActionExecute(Sender: TObject);
694 hi_ 1.1 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
695 yoffy 1.51 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
696     procedure PaneInitActionExecute(Sender: TObject);
697 hi_ 1.1 procedure FormShow(Sender: TObject);
698     procedure BrowserTabToolBarResize(Sender: TObject);
699     procedure BrowserMinActionExecute(Sender: TObject);
700 yoffy 1.51 procedure SelectTextClearActionExecute(Sender: TObject);
701 hi_ 1.1 procedure NameTextClearActionExecute(Sender: TObject);
702 yoffy 1.51 procedure MailTextClearActionExecute(Sender: TObject);
703     procedure LeftmostTabSelectActionExecute(Sender: TObject);
704     procedure LeftTabSelectActionExecute(Sender: TObject);
705 hi_ 1.1 procedure RightTabSelectActionExecute(Sender: TObject);
706     procedure RightmostTabSelectActionExecute(Sender: TObject);
707     procedure LeftmostTabSelectActionUpdate(Sender: TObject);
708     procedure LeftTabSelectActionUpdate(Sender: TObject);
709     procedure RightTabSelectActionUpdate(Sender: TObject);
710     procedure RightmostTabSelectActionUpdate(Sender: TObject);
711     procedure FavoriteMenuClick(Sender: TObject);
712     procedure FavoriteAddActionExecute(Sender: TObject);
713     procedure FavoriteAddActionUpdate(Sender: TObject);
714     procedure BoardFavoriteAddActionExecute(Sender: TObject);
715     procedure BoardFavoriteAddActionUpdate(Sender: TObject);
716 yoffy 1.51 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
717 hi_ 1.1 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
718 yoffy 1.51 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
719 yoffy 1.2 procedure FavoriteArrangeActionExecute(Sender: TObject);
720     procedure MainCoolBarResize(Sender: TObject);
721 hi_ 1.1 procedure MoveToActionExecute(Sender: TObject);
722 yoffy 1.2 procedure AddressToolBarResize(Sender: TObject);
723 hi_ 1.1 procedure AddressComboBoxKeyDown(Sender: TObject; var Key: Word;
724     Shift: TShiftState);
725 yoffy 1.51 procedure AddressBarVisibleActionExecute(Sender: TObject);
726 yoffy 1.2 procedure BrowserEnter(Sender: TObject);
727 hi_ 1.1 procedure FormShortCut(var Msg: TWMKey; var Handled: Boolean);
728 yoffy 1.51 procedure BrowserTabVisibleActionExecute(Sender: TObject);
729     procedure BrowserTabTopActionExecute(Sender: TObject);
730     procedure BrowserTabBottomActionExecute(Sender: TObject);
731     procedure BrowserTabTabStyleActionExecute(Sender: TObject);
732 hi_ 1.1 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
733 yoffy 1.51 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
734 hi_ 1.1 procedure PreviewTimerTimer(Sender: TObject);
735     procedure MessageHideButtonClick(Sender: TObject);
736     procedure MonazillaWebPageActionExecute(Sender: TObject);
737     procedure GikoHelpActionExecute(Sender: TObject);
738     procedure ToolButton18Click(Sender: TObject);
739     procedure KotehanActionExecute(Sender: TObject);
740 yoffy 1.51 procedure LinkBarVisibleActionExecute(Sender: TObject);
741     procedure BBS2chWebPageActionExecute(Sender: TObject);
742     procedure GikoFolderOpenActionExecute(Sender: TObject);
743 yoffy 1.2 procedure MainCoolBarBandInfo(Sender: TObject;
744     var BandInfo: PReBarBandInfoA);
745     procedure MainCoolBarChevronClick(Sender: TObject;
746 yoffy 1.51 RebarChevron: PNMRebarChevron);
747     procedure ListCoolBarBandInfo(Sender: TObject;
748     var BandInfo: PReBarBandInfoA);
749     procedure ListCoolBarChevronClick(Sender: TObject;
750     RebarChevron: PNMRebarChevron);
751     procedure BrowserCoolBarBandInfo(Sender: TObject;
752     var BandInfo: PReBarBandInfoA);
753 yoffy 1.2 procedure BrowserCoolBarChevronClick(Sender: TObject;
754 yoffy 1.51 RebarChevron: PNMRebarChevron);
755     procedure ListViewColumnInfo(Sender: TObject; var Column: PLVColumnA);
756     procedure ThreadEditorActionExecute(Sender: TObject);
757 yoffy 1.2 procedure ThreadEditorActionUpdate(Sender: TObject);
758 yoffy 1.51 procedure ToolBarSettingActionExecute(Sender: TObject);
759     procedure NameCopyActionExecute(Sender: TObject);
760     procedure BoardIEActionExecute(Sender: TObject);
761     procedure SelectItemNameCopyActionExecute(Sender: TObject);
762 yoffy 1.2 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
763 yoffy 1.51 procedure BoardIEActionUpdate(Sender: TObject);
764     procedure FormMouseWheel(Sender: TObject; Shift: TShiftState;
765     WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
766     procedure NameCopyActionUpdate(Sender: TObject);
767     procedure SelectComboBoxChange(Sender: TObject);
768     procedure SelectComboBoxKeyDown(Sender: TObject; var Key: Word;
769     Shift: TShiftState);
770     procedure SelectComboBoxExit(Sender: TObject);
771     procedure NG1Click(Sender: TObject);
772     procedure SelectResActionExecute(Sender: TObject);
773     procedure SelectResActionUpdate(Sender: TObject);
774     procedure FormKeyUp(Sender: TObject; var Key: Word;
775     Shift: TShiftState);
776     procedure AllResActionExecute(Sender: TObject);
777     procedure AllResActionUpdate(Sender: TObject);
778     procedure ReloadClick(Sender: TObject);
779     procedure GoBackClick(Sender: TObject);
780     procedure GoFowardClick(Sender: TObject);
781     procedure SelectComboBoxSplitterMouseMove(Sender: TObject;
782     Shift: TShiftState; X, Y: Integer);
783     procedure SelectComboBoxSplitterMouseDown(Sender: TObject;
784     Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
785     procedure SelectComboBoxSplitterMouseUp(Sender: TObject;
786     Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
787     procedure StatusBarResize(Sender: TObject);
788     procedure IndividualAbon1Click(Sender: TObject);
789     procedure IndividualAbon2Click(Sender: TObject);
790     procedure N42Click(Sender: TObject);
791     procedure SelectComboBoxEnter(Sender: TObject);
792     procedure AntiIndividualAbonClick(Sender: TObject);
793     procedure N51Click(Sender: TObject);
794     procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
795 yoffy 1.100 procedure CabinetFavoriteActionExecute(Sender: TObject);
796     procedure FavoriteTreeViewDragDrop(Sender, Source: TObject; X,
797     Y: Integer);
798 yoffy 1.71 procedure FavoriteTreeViewDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
799 yoffy 1.100 procedure FavoriteTreeViewEdited(Sender: TObject; Node: TTreeNode;
800     var S: String);
801     procedure FavoriteTreeViewKeyDown(Sender: TObject; var Key: Word;
802     Shift: TShiftState);
803     procedure FavoriteTreePopupMenuPopup(Sender: TObject);
804     procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
805     procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
806     procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
807     procedure ToolButton19Click(Sender: TObject);
808     procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
809     procedure FavoriteTreeViewDblClick(Sender: TObject);
810     procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
811     procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
812     procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
813     procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
814     procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
815     procedure LinkToolBarDragDrop(Sender, Source: TObject; X, Y: Integer);
816     procedure BrowserTabMouseUp(Sender: TObject; Button: TMouseButton;
817     Shift: TShiftState; X, Y: Integer);
818     procedure LinkToolBarDragOver(Sender, Source: TObject; X, Y: Integer;
819     State: TDragState; var Accept: Boolean);
820     procedure OnlyAHundredResExecute(Sender: TObject);
821     procedure FavoriteTreeViewEndDrag(Sender, Target: TObject; X,
822     Y: Integer);
823     procedure ListCoolBarContextPopup(Sender: TObject; MousePos: TPoint;
824     var Handled: Boolean);
825     procedure MainCoolBarContextPopup(Sender: TObject; MousePos: TPoint;
826     var Handled: Boolean);
827     procedure BrowserCoolBarContextPopup(Sender: TObject; MousePos: TPoint;
828     var Handled: Boolean);
829 yoffy 1.107 procedure ExportFavoriteFileAccept(Sender: TObject);
830     procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
831 yoffy 1.139 procedure CabinetBBSActionExecute(Sender: TObject);
832 yoffy 1.142 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
833     procedure FavoriteTreeBrowseBoardPopupMenuClick(Sender: TObject);
834 yoffy 1.158 procedure UpBoardActionExecute(Sender: TObject);
835     procedure UpBoardActionUpdate(Sender: TObject);
836 h677 1.174 procedure BrowserTabContextPopup(Sender: TObject; MousePos: TPoint;
837     var Handled: Boolean);
838 h677 1.183 procedure KoreCopyExecute(Sender: TObject);
839 h677 1.187 procedure BrowserTabPopupMenuPopup(Sender: TObject);
840 yoffy 1.216 procedure MenuToolBarResize(Sender: TObject);
841     procedure StdToolBarResize(Sender: TObject);
842     procedure LinkToolBarResize(Sender: TObject);
843     procedure ListNameToolBarResize(Sender: TObject);
844     procedure ListToolBarResize(Sender: TObject);
845     procedure BrowserNameToolBarResize(Sender: TObject);
846     procedure BrowserToolBarResize(Sender: TObject);
847     procedure BrowserTabResize(Sender: TObject);
848 h677 1.318 procedure TreeViewClick(Sender: TObject);
849 yoffy 1.236 procedure TreeViewKeyDown(Sender: TObject; var Key: Word;
850     Shift: TShiftState);
851 yoffy 1.246 procedure FavoriteTreeViewMouseDown(Sender: TObject;
852 yoffy 1.248 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
853 yoffy 1.250 procedure MessagePanelResize(Sender: TObject);
854 yoffy 1.276 procedure OnResized;
855 yoffy 1.252 procedure TreeSelectNameCopyExecute(Sender: TObject);
856 yoffy 1.260 procedure FavoriteTreeViewMouseUp(Sender: TObject;
857     Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
858 h677 1.299 procedure OnlyAHundredResUpdate(Sender: TObject);
859 h677 1.315 procedure SetFocusForBrowserActionExecute(Sender: TObject);
860     procedure SetFocusForBrowserActionUpdate(Sender: TObject);
861     procedure SetFocusForThreadListActionExecute(Sender: TObject);
862     procedure SetFocusForCabinetActionExecute(Sender: TObject);
863 h677 1.319 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
864     procedure BrowserMaxAndFocusActionUpdate(Sender: TObject);
865     procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
866 hi_ 1.1 private
867     { Private 鐃緒申鐃緒申 }
868 h677 1.182 //RoundList : TRoundList;
869 hi_ 1.1 FSortIndex: Integer;
870     FSortOrder: Boolean;
871    
872     FEnabledCloseButton: Boolean;
873     // ThreadCreate: TThreadCreate;
874    
875     FClickNode: TTreeNode;
876     FHttpState: Boolean;
877     FHint: TResPopup;
878     FPreviewBrowser: TPreviewBrowser;
879     FPreviewURL: string;
880    
881     FBrowserSizeHeight: Integer;
882     FBrowserSizeWidth: Integer;
883    
884     // FFavorite: TFavorite;
885     FTabHintIndex: Integer;
886     FListStyle: TViewStyle; //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
887     FItemNoVisible: Boolean; //鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申鐃?
888     FViewType: TGikoViewType; //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃?
889 yoffy 1.123 FActiveList: TObject;
890 h677 1.299 FActiveContent: TBrowserRecord; //
891 yoffy 1.133 FActiveBBS : TBBS;
892 hi_ 1.1 FHistoryList: TList; //鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?
893     FTreeType: TGikoTreeType;
894     FWorkCount: Integer;
895     FNameCookie: string;
896     FMailCookie: string;
897     // FLastRoundTime: TDateTime;
898 h677 1.299 BrowserNullTab: TBrowserRecord;
899 hi_ 1.1 // DoubleClickOccurred: array [TMouseButton] of Boolean;
900     FDownloadTitle: string; //鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申
901     FDownloadMax: Integer; //鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?
902     FEvent: THTMLDocumentEventSink;//鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?
903 h677 1.14
904 h677 1.192 // Fkeynum : Integer; //鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?
905 yoffy 1.29
906 yoffy 1.51 IsDraggingSelectComboBox : Boolean;
907     DraggingSelectComboBoxPosition : TPoint;
908 yoffy 1.29
909 yoffy 1.54 FSearchDialog: TSearchDialog;
910 yoffy 1.49
911 yoffy 1.100 FDropSpaceNode: TTreeNode;
912 yoffy 1.74
913 yoffy 1.107 FDragTime : Cardinal; //鐃緒申鐃緒申鐃?鐃緒申D&D鐃?
914     FDragButton : TToolButton; //鐃緒申鐃緒申鐃?鐃緒申D&D鐃?鐃緒申Drag鐃緒申鐃緒申鐃緒申Button鐃緒申鐃緒申
915     FDragWFirst : Boolean; //WebTab鐃緒申D&D鐃?
916 h677 1.84
917 yoffy 1.143 FListViewBackGroundColor : TColor; //ListView鐃緒申BackGroundColor
918     FUseOddResOddColor : Boolean; //鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申
919     FOddColor : TColor; //鐃緒申鐃緒申鐃?
920 yoffy 1.152
921 yoffy 1.280 FSelectResWord : string; // 鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?
922     FIsIgnoreResize : Boolean; // 鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
923     FIsMinimize : TMinimizeType; // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
924     FOldFormWidth : Integer; // 鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申
925 yoffy 1.258 FToolBarSettingSender : TToolBarSettingSenderType; // 鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?鐃?
926 yoffy 1.280 FMouseDownPos : TPoint; // 鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?
927 h677 1.303 FBrowsers: TList;
928 yoffy 1.123 procedure SetBoardTreeNode( inBBS : TBBS );
929     function SetCategoryListItem(ABBS2ch: TBBS): Integer;
930 hi_ 1.1 function SetBoardListItem(Category: TCategory): Integer;
931     function SetThreadListItem(Board: TBoard): Integer;
932     // function GetRoundName(index: integer): string;
933    
934     procedure DownloadEnd(Sender: TObject; Item: TDownloadItem);
935     procedure DownloadMsg(Sender: TObject; Item: TDownloadItem; Msg: string; Icon: TGikoMessageIcon);
936 q9_ 1.233 procedure WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer; Number: Integer; const AWorkTitle: string);
937 hi_ 1.1 procedure WorkEnd(Sender: TObject; AWorkMode: TWorkMode; Number: Integer);
938     procedure Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer; Number: Integer);
939    
940     procedure SetActiveList(Obj: TObject);
941     procedure ListClick;
942 h677 1.295 procedure ListDoubleClick(Shift: TShiftState);
943 h677 1.299 procedure BrowserMovement(const AName: string); overload;
944     procedure BrowserMovement(const AName: string; BrowserRecord: TBrowserRecord); overload;
945 hi_ 1.1 procedure SelectListItem(List: TList);
946     // procedure SetProgressValue(Number: Integer; Value: Integer; Max: Integer = -1);
947 h677 1.299 procedure DeleteTab(ThreadItem: TThreadItem); overload;
948     procedure DeleteTab(BrowserRecord: TBrowserRecord); overload;
949 hi_ 1.1 function Hook(var Message: TMessage): Boolean;
950     procedure AddRoundNameMenu(MenuItem: TMenuItem);
951 h677 1.188 procedure SetSelectItemRound(RoundFlag: Boolean; RoundName: string); overload;
952 yoffy 1.236 procedure SetSelectItemRound(RoundFlag: Boolean; RoundName: string; ParentName: string); overload;
953 hi_ 1.1 procedure SetSelectRoundName(Sender: TObject);
954     function GetCoolBand(CoolBar: TCoolBar; Control: TWinControl): TCoolBand;
955    
956     procedure SetMenuFont;
957     // procedure CreateFavMenu(Folder: TFavoriteFolder);
958     procedure CreateFavMenu(Node: TTreeNode; MenuItem: TMenuItem);
959 yoffy 1.62 procedure FavoriteClick(Sender: TObject; ActiveTab: Boolean); overload;
960     procedure FavoriteClick(Sender: TObject); overload;
961 yoffy 1.100 procedure FavoriteDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
962 yoffy 1.2 procedure SelectTreeNode(Item: TObject; CallEvent: Boolean);
963 hi_ 1.1 function OnDocumentContextMenu(Sender: TObject): WordBool;
964     // function GetThreadText(sBoard: string; sThread: string; StNum, ToNum: Integer; Title, First: Boolean): string;
965 yoffy 1.123 procedure SetResPopupText(ThreadItem : TThreadItem; StNum, ToNum: Integer; Title, First: Boolean);
966 hi_ 1.1 procedure ShowTextPopup;
967     //procedure ShowTextPopup(HintData: THintData);
968 yoffy 1.2 // procedure SetStdToolBar;
969     // function GetAction(ActionName: string): TContainedAction;
970 hi_ 1.1 procedure SetLinkBar;
971     function GetWidthAllToolButton(ToolBar: TToolBar): Integer;
972 yoffy 1.2 procedure MenuBarChevronMenu;
973     procedure LinkBarChevronMenu;
974     procedure ToolBarChevronMenu(ToolBar: TToolBar);
975 yoffy 1.51 procedure ModifySelectList;
976 yoffy 1.100 procedure FavoriteBrowseFolder( node: TTreeNode );
977     procedure LinkToolButtonDragDrop(Sender, Source: TObject; X, Y: Integer);
978     procedure LinkToolButtonOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
979     procedure LinkToolButtonOnMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
980     procedure LinkToolButtonOnMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
981 yoffy 1.85 procedure LinkToolButtonStartDrag(Sender: TObject; var DragObject: TDragObject);
982 yoffy 1.72 function TreeNodeDataFind(Node: TTreeNode; FindPointer: Pointer): TTreeNode;
983 yoffy 1.100 procedure FavoriteMoveTo( SenderNode, SourceNode: TTreeNode );
984     procedure FavoriteAddTo( SenderNode: TTreeNode; Source: TObject );
985 yoffy 1.72 procedure FavoriteDragDrop( SenderNode: TTreeNode; Source: TObject );
986 yoffy 1.236 //
987 yoffy 1.143 procedure SetListViewBackGroundColor(value: TColor);
988 yoffy 1.123 procedure BBSMenuItemOnClick( Sender : TObject );
989 yoffy 1.236 //
990     procedure KonoresCopy(Number: Integer; ReplaceTag : Boolean);
991 yoffy 1.216 // CoolBar 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
992     procedure SaveCoolBarSettings;
993     // CoolBar 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
994     procedure LoadCoolBarSettings;
995 yoffy 1.276 // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
996     procedure OnMinimize;
997 yoffy 1.248 // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
998     procedure OnMinimized;
999 yoffy 1.216 // CoolBar 鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1000     procedure CoolBarResized(Sender: TObject; CoolBar: TCoolBar);
1001 yoffy 1.236 // TreeView 鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申
1002     procedure TreeClick( Node : TTreeNode );
1003     // TreeView 鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申
1004     procedure TreeDoubleClick( Node : TTreeNode );
1005     // 鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1006     procedure HandleAppMessage(var Msg: TMsg; var Handled: Boolean);
1007     // 鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?
1008     // 鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申 True 鐃緒申鐃緒申鐃緒申
1009 yoffy 1.275 function BrowserKeydown(var Msg: TMsg; Key: Word; State:TShiftState) : Boolean;
1010 yoffy 1.289 // 鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃?鐃? BBS 鐃緒申鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?
1011     procedure SetBBSMenu;
1012 h677 1.315 function WebBrowserClick(Sender: TObject): WordBool;
1013 hi_ 1.1 protected
1014     procedure CreateParams(var Params: TCreateParams); override;
1015 yoffy 1.2 procedure WndProc(var Message: TMessage); override;
1016 hi_ 1.1 procedure WMSetCursor(var Message: TWMSetCursor); message WM_SETCURSOR;
1017     procedure WMSettingChange(var Message: TWMWinIniChange); message WM_SETTINGCHANGE;
1018     procedure WMCopyData(var Message: TWMCopyData); message WM_COPYDATA;
1019 yoffy 1.216
1020 hi_ 1.1 public
1021     { Public 鐃緒申鐃緒申 }
1022     // FDownload: TDownload;
1023     FControlThread: TThreadControl;
1024 yoffy 1.48 procedure MoveToURL(URL: string);
1025     procedure InsertBrowserTab(ThreadItem: TThreadItem; ActiveTab: Boolean = True);
1026 hi_ 1.1 procedure ReloadBBS;
1027     function GetHttpState: Boolean;
1028     procedure SetEnabledCloseButton(Enabled: Boolean);
1029     function GetTreeNode(Data: TObject): TTreeNode;
1030     procedure AppFormDeactivate(Sender: TObject);
1031     // procedure CabinetPanelVisible(PanelVisible: Boolean);
1032     procedure ListViewAllSelect;
1033    
1034     property ListStyle: TViewStyle read FListStyle write FListStyle;
1035     property ItemNoVisible: Boolean read FItemNoVisible write FItemNoVisible;
1036     property ViewType: TGikoViewType read FViewType write FViewType;
1037    
1038     property NameCookie: string read FNameCookie write FNameCookie;
1039     property MailCookie: string read FMailCookie write FMailCookie;
1040    
1041 h677 1.299 procedure SetContent(inThread: TBrowserRecord);
1042 hi_ 1.1 function GetActiveContent: TThreadItem;
1043     function GetActiveList: TObject;
1044    
1045     property ActiveList: TObject read GetActiveList write SetActiveList;
1046     // property LastRoundTime: TDateTime read FLastRoundTime write FLastRoundTime;
1047    
1048     procedure SetListViewType(AViewType: TGikoViewType); overload;
1049     procedure SetListViewType(AViewType: TGikoViewType; SelectText: string; KubetsuChk: Boolean); overload;
1050 q9_ 1.294 procedure DownloadContent(ThreadItem: TThreadItem; ForceDownload: Boolean = False);
1051     procedure DownloadList(Board: TBoard; ForceDownload: Boolean = False);
1052 hi_ 1.1 procedure PlaySound(SoundEventName: string);
1053    
1054 yoffy 1.136 function AddHistory( FavItem: TFavoriteThreadItem ): Boolean;
1055     procedure DeleteHistory( threadItem: TThreadItem );
1056 hi_ 1.1 procedure ClearHistory;
1057 yoffy 1.135 procedure SaveHistory;
1058     procedure LoadHistory;
1059 yoffy 1.123 procedure ShowBBSTree( inBBS : TBBS );
1060 yoffy 1.248 procedure ShowBBSTreeOld( inBBS : TBBS );
1061 hi_ 1.1 procedure ShowHistoryTree;
1062     procedure SetHistoryTreeNode;
1063     // procedure SelectTreeNode(Item: TObject);
1064     procedure AddMessageList(ACaption: string; AObject: TObject; Icon: TGikoMessageIcon);
1065     procedure SetBrowserTabState;
1066     // property Favorite: TFavorite read FFavorite write FFavorite;
1067 yoffy 1.2 procedure SetToolBarPopup;
1068 yoffy 1.100 procedure ShowFavoriteAddDialog( Item : TObject );
1069 h677 1.189 procedure FavoritesURLReplace(oldURLs: TStringList; newURLs: TStringList);
1070 h677 1.226 procedure RoundListURLReplace(oldURLs: TStringList; newURLs: TStringList);
1071 yoffy 1.143 property ListViewBackGroundColor: TColor read FListViewBackGroundColor write SetListViewBackGroundColor;
1072     property UseOddResOddColor : Boolean read FUseOddResOddColor write FUseOddResOddColor;
1073     property OddColor : TColor read FOddColor write FOddColor;
1074 h677 1.109
1075 yoffy 1.209 function FindToolBarButton( bar : TToolBar; action : TAction ) : TToolButton;
1076 yoffy 1.218 procedure OnPlugInMenuItem( Sender : TObject );
1077 yoffy 1.209
1078 hi_ 1.1 published
1079     property EnabledCloseButton: Boolean read FEnabledCloseButton write SetEnabledCloseButton;
1080     end;
1081    
1082     TFavoriteMenuItem = class(TMenuItem)
1083     private
1084     FData : Pointer;
1085     public
1086     property Data: Pointer read FData write FData;
1087     end;
1088    
1089 yoffy 1.123 TBBSMenuItem = class(TMenuItem)
1090     private
1091     FData : Pointer;
1092     public
1093     property Data: Pointer read FData write FData;
1094     end;
1095    
1096 hi_ 1.1 TLinkToolButton = class(TToolButton)
1097     private
1098     FData : Pointer;
1099     public
1100     property Data: Pointer read FData write FData;
1101     end;
1102    
1103 h677 1.299 TBrowserRecord = class( TObject )
1104     private
1105     FBrowser : TWebBrowser;
1106     FEvent: THTMLDocumentEventSink;//鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?
1107     FThread : TThreadItem;
1108     FLastSize : Integer;
1109     FRepaint : Boolean;
1110     FOnlyHundred: Boolean;
1111     public
1112     destructor Destroy; override;
1113     property Browser : TWebBrowser read FBrowser write FBrowser;
1114     property Thread : TThreadItem read FThread write FThread;
1115     property LastSize : Integer read FLastSize write FLastSize;
1116     property Repaint : Boolean read FRepaint write FRepaint;
1117     property OnlyHundred : Boolean read FOnlyHundred write FOnlyHundred;
1118     end;
1119    
1120 hi_ 1.1 var
1121     GikoForm: TGikoForm;
1122    
1123     implementation
1124    
1125     uses
1126     About, Option, Round, Splash, Sort, ListSelect,
1127 h677 1.183 NewBoard, MojuUtils,Clipbrd;
1128 hi_ 1.1
1129     const
1130     CAPTION_NAME: string = '鐃?鐃?鐃?鐃?';
1131     BLANK_HTML: string = 'about:blank';
1132 yoffy 1.51 SELECTCOMBOBOX_NAME: string = ''; // '鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申';
1133     SELECTCOMBOBOX_COLOR: TColor = clWindow;
1134 yoffy 1.120 //D&D鐃緒申鐃?
1135     DandD_THRESHOLD = 5; //D&D鐃緒申鐃緒申鐃?鐃?pixcel)
1136 yoffy 1.2 //鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
1137     ITEM_ICON_2CH1 = 0; //2ch鐃?鐃?鐃?鐃緒申
1138     ITEM_ICON_2CH2 = 1; //2ch鐃?鐃?鐃?鐃緒申
1139     ITEM_ICON_CATEGORY1 = 2; //鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1140     ITEM_ICON_CATEGORY2 = 3; //鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1141 yoffy 1.120 ITEM_ICON_BOARD_NOSUBJECT = 3; //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1142 yoffy 1.2 ITEM_ICON_BOARD1 = 4; //鐃緒申鐃?鐃?鐃?鐃緒申
1143     ITEM_ICON_BOARD2 = 5; //鐃緒申鐃?鐃?鐃?鐃緒申
1144     ITEM_ICON_THREADLOG1 = 6; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?
1145     ITEM_ICON_THREADLOG2 = 7; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?
1146     ITEM_ICON_THREAD1 = 8; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?
1147     ITEM_ICON_THREAD2 = 9; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?
1148     ITEM_ICON_THREADNEW1 = 10; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?
1149     ITEM_ICON_THREADNEW2 = 11; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?
1150     ITEM_ICON_SORT1 = 12; //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申
1151     ITEM_ICON_SORT2 = 13; //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申
1152 yoffy 1.120 ITEM_ICON_BOARD_LOG = 17; //鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1153     ITEM_ICON_BOARD_NEW = 18; //鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1154 yoffy 1.2
1155     //鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
1156 yoffy 1.48 TOOL_ICON_HEIGHT_MAX = 16; //鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1157     TOOL_ICON_HEIGHT_MIN = 17; //鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1158     TOOL_ICON_HEIGHT_NORMAL = 18; //鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1159     TOOL_ICON_WIDTH_MAX = 19; //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1160     TOOL_ICON_WIDTH_MIN = 20; //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1161     TOOL_ICON_WIDTH_NORMAL = 21; //鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1162    
1163 yoffy 1.51 TOOL_ICON_FAV_FOLDER = 30; //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申
1164 yoffy 1.100 TOOL_ICON_FAV_BOARD = 31; //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1165 yoffy 1.51 TOOL_ICON_FAV_THREAD = 32; //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1166 hi_ 1.1
1167     HTML_FILE_NAME = 'temp_preview.html';
1168    
1169 yoffy 1.253 WM_XBUTTONDOWN = $020B;
1170     WM_XBUTTONUP = $020C;
1171     WM_XBUTTONDBLCLK = $020D;
1172     XBUTTON1 = $0001;
1173     XBUTTON2 = $0002;
1174 yoffy 1.278 USER_TREECLICK = WM_USER + 2000;
1175     USER_RESIZED = WM_USER + 2001;
1176     USER_MINIMIZED = WM_USER + 2002;
1177     USER_SETLINKBAR = WM_USER + 2003;
1178 yoffy 1.248
1179 hi_ 1.1 {$R *.DFM}
1180    
1181     procedure TGikoForm.CreateParams(var Params: TCreateParams);
1182     begin
1183     inherited;
1184     if FormStyle in [fsNormal, fsStayOnTop] then begin
1185     if BorderStyle in [bsSingle, bsSizeable] then begin
1186     Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
1187     Params.WndParent := 0;
1188     end;
1189     end;
1190     end;
1191    
1192     procedure TGikoForm.FormCreate(Sender: TObject);
1193     const
1194     TVS_NOTOOLTIPS = $0080;
1195     var
1196     FileName: string;
1197     Style: DWORD;
1198     msg: string;
1199     i: Integer;
1200     wp: TWindowPlacement;
1201 hi_ 1.32 s: string;
1202 h677 1.303 newbrowser: TWebBrowser;
1203 hi_ 1.1 begin
1204     {$IFDEF DEBUG}
1205     AllocConsole;
1206     Writeln('============================================================');
1207     Writeln(' 鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃? 鐃?鐃緒申鐃?鐃?鐃緒申');
1208     Writeln('');
1209     Writeln(' 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?');
1210     Writeln(' 鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申');
1211     Writeln('============================================================');
1212     {$ENDIF}
1213     Application.OnDeactivate := AppFormDeactivate;
1214     Self.OnDeactivate := AppFormDeactivate;
1215     Application.HookMainWindow(Hook);
1216 h677 1.316 Application.OnMessage := HandleAppMessage; //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?by鐃?鐃緒申鐃緒申鐃緒申
1217 hi_ 1.1
1218     FTreeType := gttNone;
1219    
1220 yoffy 1.51 FSearchDialog := nil;
1221 h677 1.299 BrowserNullTab := TBrowserRecord.Create;
1222     BrowserNullTab.Browser := Browser;
1223 h677 1.316 BrowserNullTab.Browser.Navigate(BLANK_HTML);
1224 h677 1.303 FBrowsers := TList.Create;
1225     for i := 0 to 4 do begin
1226     newBrowser := TWebBrowser.Create(nil);
1227     TOleControl(newBrowser).Parent := BrowserPanel;
1228     TOleControl(newBrowser).Align := alClient;
1229     newBrowser.OnDocumentComplete := BrowserDocumentComplete;
1230     newBrowser.OnBeforeNavigate2 := BrowserBeforeNavigate2;
1231     newBrowser.OnEnter := BrowserEnter;
1232     newBrowser.OnNewWindow2 := BrowserNewWindow2;
1233     newBrowser.OnStatusTextChange := BrowserStatusTextChange;
1234     newBrowser.OnTitleChange := BrowserTitleChange;
1235 h677 1.306 newBrowser.Navigate(BLANK_HTML);
1236 h677 1.316 ShowWindow(newBrowser.Handle, SW_HIDE);
1237 h677 1.303 FBrowsers.Add(newBrowser);
1238     end;
1239 h677 1.316 BrowserNullTab.Browser.BringToFront;
1240     ShowWindow(BrowserNullTab.Browser.Handle, SW_SHOW);
1241 h677 1.303
1242 yoffy 1.216 // 鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1243 yoffy 1.248 FIsIgnoreResize := True;
1244 yoffy 1.216
1245 hi_ 1.1 //鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1246     Screen.Cursors[5] := LoadCursor(HInstance, 'GIKOHAND');
1247    
1248    
1249     //鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1250     AddressHistoryDM.ReadHistory(AddressComboBox.Items, GikoSys.Setting.AddressHistoryCount);
1251    
1252 yoffy 1.135 // 鐃?鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?(ReadBoardFile, LoadHistory 鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申)
1253 yoffy 1.107 InitializeBoardPlugIns;
1254 yoffy 1.105
1255 hi_ 1.1 EnabledCloseButton := True;
1256 h677 1.176
1257    
1258     //鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1259     RoundList := TRoundList.Create;
1260     RoundList.LoadRoundBoardFile;
1261    
1262 yoffy 1.210 // 鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申(ReadFavorite 鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申)
1263     GikoSys.ListBoardFile;
1264 h677 1.176
1265     RoundList.LoadRoundThreadFile;
1266    
1267 yoffy 1.236 if RoundList.OldFileRead or ( RoundList.Count[grtItem] > 0 ) then
1268     GikoSys.ListBoardFile;
1269 h677 1.176
1270 yoffy 1.123 // 鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1271 yoffy 1.289 SetBBSMenu;
1272 h677 1.176
1273 yoffy 1.135 // 鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?(LoadHistory 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申)
1274     FHistoryList := TList.Create;
1275    
1276     // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1277     LoadHistory;
1278    
1279 yoffy 1.123 //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1280     // FFavorite := TFavorite.Create(FavoriteTreeView);
1281     FavoriteDM.SetFavTreeView(FavoriteTreeView);
1282     FavoriteDM.ReadFavorite;
1283 hi_ 1.1
1284     //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
1285     ListView.ViewStyle := GikoSys.Setting.ListStyle;
1286    
1287     //鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?
1288     // MainCoolBar.Top := 0;
1289     // MainCoolBar.Left := 0;
1290    
1291     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?
1292     AnimePanel.Top := 0;
1293     AnimePanel.Left := 0;
1294    
1295     //鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1296    
1297     //鐃?鐃緒申鐃?鐃?鐃?鐃?
1298     CabinetPanel.Width := GikoSys.Setting.CabinetWidth;
1299    
1300     //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?
1301     MsgBarVisibleAction.Checked := GikoSys.Setting.MessageBarVisible;
1302     MsgBarVisibleActionExecute(nil);
1303     MessagePanel.Height := GikoSys.Setting.MessegeBarHeight;
1304    
1305     //鐃?鐃?鐃?鐃?鐃?鐃?鐃?
1306     StatusBarVisibleAction.Checked := GikoSys.Setting.StatusBarVisible;
1307     StatusBarVisibleActionExecute(nil);
1308    
1309     //鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申
1310     TreeView.Items.BeginUpdate;
1311 yoffy 1.100 FavoriteTreeView.Items.BeginUpdate;
1312 hi_ 1.1 ListView.Items.BeginUpdate;
1313     try
1314     TreeView.Font.Name := GikoSys.Setting.CabinetFontName;
1315     TreeView.Font.Size := GikoSys.Setting.CabinetFontSize;
1316     TreeView.Font.Color := GikoSys.Setting.CabinetFontColor;
1317     TreeView.Color := GikoSys.Setting.CabinetBackColor;
1318    
1319 yoffy 1.67 FavoriteTreeView.Font.Name := GikoSys.Setting.CabinetFontName;
1320     FavoriteTreeView.Font.Size := GikoSys.Setting.CabinetFontSize;
1321     FavoriteTreeView.Font.Color := GikoSys.Setting.CabinetFontColor;
1322     FavoriteTreeView.Color := GikoSys.Setting.CabinetBackColor;
1323    
1324 hi_ 1.1 ListView.Font.Name := GikoSys.Setting.ListFontName;
1325     ListView.Font.Size := GikoSys.Setting.ListFontSize;
1326     ListView.Font.Color := GikoSys.Setting.ListFontColor;
1327 h677 1.109 //ListView.Color := GikoSys.Setting.ListBackColor;
1328 yoffy 1.236 ListViewBackGroundColor := GikoSys.Setting.ListBackColor;
1329     FUseOddResOddColor := GikoSys.Setting.UseOddColorOddResNum;
1330     FOddColor := GikoSys.Setting.OddColor;
1331 h677 1.109
1332 hi_ 1.1 finally
1333     TreeView.Items.EndUpdate;
1334 yoffy 1.100 FavoriteTreeView.Items.EndUpdate;
1335 hi_ 1.1 ListView.Items.EndUpdate;
1336     end;
1337     //ViewNoButton.Down := GikoSys.Setting.ListViewNo;
1338     ListNumberVisibleAction.Checked := GikoSys.Setting.ListViewNo;
1339    
1340     //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?
1341     BrowserTab.Font.Name := GikoSys.Setting.BrowserTabFontName;
1342     BrowserTab.Font.Size := GikoSys.Setting.BrowserTabFontSize;
1343 yoffy 1.133 FDragWFirst := false;
1344 h677 1.299 SetContent(BrowserNullTab); //鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申
1345 hi_ 1.1 // TreeView.TopItem.Expanded := True; //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申
1346     // TreeView.Selected := TreeView.Items[0]; //鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1347 h677 1.299
1348 hi_ 1.1
1349     //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申
1350     wp.length := sizeof(wp);
1351     wp.rcNormalPosition.Top := GikoSys.Setting.WindowTop;
1352     wp.rcNormalPosition.Left := GikoSys.Setting.WindowLeft;
1353     wp.rcNormalPosition.Bottom := GikoSys.Setting.WindowTop + GikoSys.Setting.WindowHeight;
1354     wp.rcNormalPosition.Right := GikoSys.Setting.WindowLeft + GikoSys.Setting.WindowWidth;
1355     wp.showCmd := SW_HIDE;
1356     SetWindowPlacement(Handle, @wp);
1357    
1358     // SetBounds(GikoSys.Setting.WindowLeft, GikoSys.Setting.WindowTop,
1359     // GikoSys.Setting.WindowWidth, GikoSys.Setting.WindowHeight);
1360     if GikoSys.Setting.WindowMax then
1361 yoffy 1.248 WindowState := wsMaximized;
1362 hi_ 1.1
1363     //鐃?鐃?鐃?鐃?鐃緒申
1364     try
1365     FileName := GikoSys.GetAppDir + 'gikoNavi.avi';
1366     if FileExists(FileName) then
1367     Animate.FileName := FileName;
1368     except
1369     end;
1370    
1371     //鐃?鐃?鐃?鐃?
1372     FNameCookie := '';
1373     FMailCookie := '';
1374    
1375     //鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1376     AllItemAction.Checked := True;
1377 yoffy 1.126 AllResAction.Checked := True;
1378 hi_ 1.1
1379     //TreeView鐃緒申鐃緒申鐃緒申鐃?鐃緒申ToolTip鐃緒申鐃緒申鐃?鐃緒申
1380     Style := GetWindowLong(TreeView.Handle, GWL_STYLE);
1381     Style := Style or TVS_NOTOOLTIPS;
1382     SetWindowLong(TreeView.Handle, GWL_STYLE, Style);
1383    
1384     // 鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1385     TreeView.Align := alClient;
1386 yoffy 1.57 FavoriteTreeView.Align := alClient;
1387 hi_ 1.1 FavoriteTreeView.Visible := False;
1388    
1389     //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1390     // FBrowserSizeFlag := False;
1391     // FBrowserSizeHeight := ViewPanel.Height;
1392    
1393     FBrowserSizeHeight := GikoSys.Setting.ListHeight;
1394     FBrowserSizeWidth := GikoSys.Setting.ListWidth;
1395    
1396     ArrangeAction.Checked := not (GikoSys.Setting.ListOrientation = gloVertical);
1397     ArrangeAction.Execute;
1398    
1399     if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1400     case GikoSys.Setting.ListWidthState of
1401     glsMax: begin
1402     ViewPanel.Width := 1;
1403 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
1404     BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
1405 hi_ 1.1 end;
1406     glsMin: begin
1407     ViewPanel.Width := GikoSys.Setting.ListWidth;
1408 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
1409     BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
1410 hi_ 1.1 end;
1411     else begin
1412     ViewPanel.Width := GikoSys.Setting.ListWidth;
1413 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
1414     BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
1415 hi_ 1.1 end;
1416     end;
1417     end else begin
1418     case GikoSys.Setting.ListHeightState of
1419     glsMax: begin
1420     ViewPanel.Height := 1;
1421 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1422     BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1423 hi_ 1.1 end;
1424     glsMin: begin
1425     ViewPanel.Height := GikoSys.Setting.ListHeight;
1426 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1427     BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1428 hi_ 1.1 end;
1429     else begin
1430     ViewPanel.Height := GikoSys.Setting.ListHeight;
1431 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1432     BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1433 hi_ 1.1 end;
1434     end;
1435     end;
1436    
1437     //鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1438     // ProgressBar.Visible := False;
1439     ProgressBar.Parent := StatusBar;
1440     ProgressBar.Top := 2;
1441     ProgressBar.Left := 0;
1442     ProgressBar.Width := StatusBar.Panels[0].Width;
1443     ProgressBar.Height := StatusBar.Height - 2;
1444     ProgressBar.Position := 0;
1445    
1446     //鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?
1447     FControlThread := TThreadControl.Create(True);
1448     FControlThread.MaxThreadCount := 1;
1449     FControlThread.Resume;
1450     FControlThread.OnDownloadEnd := DownloadEnd;
1451     FControlThread.OnDownloadMsg := DownloadMsg;
1452     FControlThread.OnWork := Work;
1453     FControlThread.OnWorkBegin := WorkBegin;
1454     FControlThread.OnWorkEnd := WorkEnd;
1455     // ProgressPanel.Width := FControlThread.MaxThreadCount * 12;
1456    
1457 yoffy 1.51 // 鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1458     SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1459 yoffy 1.2
1460 hi_ 1.1 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申
1461     SetBrowserTabState;
1462    
1463     BrowserBoardNameLabel.Caption := '';
1464     BrowserNameLabel.Caption := '';
1465     FWorkCount := 0;
1466    
1467     FTabHintIndex := -1;
1468    
1469     //鐃緒申鐃緒申鐃?鐃?鐃?
1470     SetLinkBar;
1471    
1472     //鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?
1473     SetMenuFont;
1474    
1475     //鐃?鐃?鐃緒申鐃?鐃?Wrapable
1476     ListToolBar.Wrapable := GikoSys.Setting.ListToolBarWrapable;
1477     BrowserToolBar.Wrapable := GikoSys.Setting.BrowserToolBarWrapable;
1478    
1479 yoffy 1.236 KeepDefaultToolButton(StdToolBar, TmpToolBar);
1480     KeepDefaultToolButton(ListToolBar, TmpToolBar);
1481     KeepDefaultToolButton(BrowserToolBar, TmpToolBar);
1482 h677 1.234
1483 yoffy 1.236 MakeDefaultINIFile();
1484 yoffy 1.2 //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1485     ReadToolBarSetting(ActionList, StdToolBar);
1486     ReadToolBarSetting(ActionList, ListToolBar);
1487 yoffy 1.51 try
1488     for i := ListToolBar.ControlCount - 1 downto 0 do
1489     begin
1490     if ListToolBar.Controls[ i ].Action = SelectItemAction then
1491     begin
1492     // 鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申
1493     if (i + 1) < ListToolBar.ControlCount then
1494     if ListToolBar.Controls[ i + 1 ] is TToolButton then
1495     if TToolButton( ListToolBar.Controls[ i + 1 ] ).Style = tbsSeparator then
1496     ListToolBar.Controls[ i + 1 ].Visible := False;
1497    
1498     // 鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃緒申
1499     ListToolBar.Controls[ i ].Visible := False;
1500     // 鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申
1501 yoffy 1.239 SelectComboBox.Parent := ListToolBar;
1502 yoffy 1.51 SelectComboBox.Left := ListToolBar.Controls[ i ].Left;
1503     SelectComboBox.Width := GikoSys.Setting.SelectComboBoxWidth;
1504     // 鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申
1505 yoffy 1.239 SelectComboBoxSplitter.Parent := ListToolBar;
1506 yoffy 1.51 SelectComboBoxSplitter.Left := SelectComboBox.Left + SelectComboBox.Width;
1507    
1508     break;
1509     end;
1510     end;
1511     except
1512     end;
1513 yoffy 1.2 ReadToolBarSetting(ActionList, BrowserToolBar);
1514     SetToolBarPopup;
1515 yoffy 1.126 OnlyAHundredRes.Checked := GikoSys.Setting.OnlyAHundredRes;
1516 hi_ 1.1 //鐃?鐃?鐃緒申鐃?鐃?鐃?
1517     AddressComboBox.TabStop := GikoSys.Setting.AddressBarTabStop;
1518    
1519 yoffy 1.2 //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申FormShow鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1520    
1521     //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
1522     if not FileExists(GikoSys.GetBoardFileName) then begin
1523     msg := '鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申' + #13#10#13#10
1524     + '鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申' + #13#10
1525     + '鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?';
1526     MsgBox(SplashWindow.Handle, msg, '鐃?鐃?鐃?鐃?', MB_OK or MB_ICONINFORMATION);
1527     NewBoardAction.Execute;
1528     end;
1529    
1530     //鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1531     GikoSys.LoadKeySetting(ActionList);
1532    
1533     //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1534     // FLastRoundTime := 0;
1535    
1536     //ResHint
1537     FHint := TResPopup.Create(Self);
1538    
1539 yoffy 1.100 // 鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申
1540 h677 1.299 CabinetVisible( False );
1541 yoffy 1.141 if GikoSys.Setting.CabinetVisible then begin
1542     i := CabinetSelectPopupMenu.Items.Count - 1;
1543     if GikoSys.Setting.CabinetIndex = i - 1 then
1544     CabinetHistoryAction.Execute
1545     else if GikoSys.Setting.CabinetIndex = i then
1546     CabinetFavoriteAction.Execute
1547     else begin
1548     if GikoSys.Setting.CabinetIndex < Length( BBSs ) then
1549     ShowBBSTree( BBSs[ GikoSys.Setting.CabinetIndex ] );
1550 yoffy 1.265 // 鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申 2
1551     FIsIgnoreResize := True;
1552 yoffy 1.141 CabinetBBSAction.Execute;
1553     end;
1554     end else begin
1555 yoffy 1.248 ShowBBSTreeOld( BBSs[ 0 ] );
1556     PostMessage( Handle, USER_TREECLICK, 0, 0 );
1557 yoffy 1.141 end;
1558 yoffy 1.67
1559 yoffy 1.265 // 鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申 3
1560 yoffy 1.248 FIsIgnoreResize := True;
1561    
1562 yoffy 1.2 //鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申
1563     if GikoSys.Setting.AutoLogin then
1564     LoginAction.Execute;
1565    
1566     //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?
1567     for i := 1 to ParamCount do begin
1568     MoveToURL(ParamStr(i));
1569     end;
1570     // SetStdToolBar;
1571     // SetLinkBar;
1572 h677 1.22
1573 hi_ 1.32 s := GikoSys.FAbon.NGwordname;
1574     StatusBar.Panels[2].Text := s;
1575     StatusBar.Panels[2].Width := Max(StatusBar.Canvas.TextWidth(s), 100);
1576     StatusBarResize(Sender);
1577 h677 1.187
1578 yoffy 1.236 dummy1.Caption := ItemReservPMenu.Caption;
1579     dummy1.Hint := ItemReservPMenu.Hint;
1580 yoffy 1.216
1581 yoffy 1.236 //Samba24鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?
1582     GikoSys.SambaFileExists();
1583 h677 1.299
1584 yoffy 1.2 end;
1585    
1586 yoffy 1.216 // CoolBar 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1587     procedure TGikoForm.SaveCoolBarSettings;
1588 yoffy 1.2 var
1589 yoffy 1.216 i : Integer;
1590     CoolSet : TCoolSet;
1591 yoffy 1.2 begin
1592    
1593 yoffy 1.248 if IsIconic( Handle ) or FIsIgnoreResize then
1594 yoffy 1.216 Exit;
1595 yoffy 1.2
1596 yoffy 1.216 //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Main)
1597     for i := 0 to MAIN_COOLBAND_COUNT - 1 do begin
1598     CoolSet.FCoolID := MainCoolBar.Bands[i].ID;
1599     CoolSet.FCoolWidth := MainCoolBar.Bands[i].Width;
1600     CoolSet.FCoolBreak := MainCoolBar.Bands[i].Break;
1601     GikoSys.Setting.MainCoolSet[i] := CoolSet;
1602     end;
1603     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Board)
1604     for i := 0 to LIST_COOLBAND_COUNT - 1 do begin
1605     CoolSet.FCoolID := ListCoolBar.Bands[i].ID;
1606     CoolSet.FCoolWidth := ListCoolBar.Bands[i].Width;
1607     CoolSet.FCoolBreak := ListCoolBar.Bands[i].Break;
1608     GikoSys.Setting.ListCoolSet[i] := CoolSet;
1609     end;
1610     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Browser)
1611     for i := 0 to BROWSER_COOLBAND_COUNT - 1 do begin
1612     CoolSet.FCoolID := BrowserCoolBar.Bands[i].ID;
1613     CoolSet.FCoolWidth := BrowserCoolBar.Bands[i].Width;
1614     CoolSet.FCoolBreak := BrowserCoolBar.Bands[i].Break;
1615     GikoSys.Setting.BrowserCoolSet[i] := CoolSet;
1616 yoffy 1.2 end;
1617    
1618 yoffy 1.216 end;
1619 yoffy 1.2
1620 yoffy 1.216 // CoolBar 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1621     procedure TGikoForm.LoadCoolBarSettings;
1622     var
1623     i : Integer;
1624     CoolSet : TCoolSet;
1625     begin
1626 yoffy 1.2
1627 hi_ 1.1 //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Main)
1628     MainCoolBar.Bands.BeginUpdate;
1629     try
1630 yoffy 1.216 // for i := 0 to MainCoolBar.Bands.Count - 1 do begin
1631     for i := MAIN_COOLBAND_COUNT - 1 downto 0 do begin
1632 hi_ 1.1 CoolSet := GikoSys.Setting.MainCoolSet[i];
1633 yoffy 1.263 if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then begin
1634 yoffy 1.265 FIsIgnoreResize := False;
1635 yoffy 1.263 SaveCoolBarSettings;
1636     Exit;
1637     end;
1638 hi_ 1.1 MainCoolBar.Bands.FindItemID(CoolSet.FCoolID).Index := i;
1639     MainCoolBar.Bands[i].Break := CoolSet.FCoolBreak;
1640 yoffy 1.264 MainCoolBar.Bands[i].Width := CoolSet.FCoolWidth;
1641 hi_ 1.1 end;
1642     finally
1643     MainCoolBar.Bands.EndUpdate;
1644     end;
1645    
1646     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Board)
1647     ListCoolBar.Bands.BeginUpdate;
1648     try
1649 yoffy 1.216 // for i := 0 to ListCoolBar.Bands.Count - 1 do begin
1650     for i := LIST_COOLBAND_COUNT - 1 downto 0 do begin
1651 hi_ 1.1 CoolSet := GikoSys.Setting.ListCoolSet[i];
1652 yoffy 1.263 if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then begin
1653 yoffy 1.265 FIsIgnoreResize := False;
1654 yoffy 1.263 SaveCoolBarSettings;
1655     Exit;
1656     end;
1657 hi_ 1.1 ListCoolBar.Bands.FindItemID(CoolSet.FCoolID).Index := i;
1658     ListCoolBar.Bands[i].Break := CoolSet.FCoolBreak;
1659     ListCoolBar.Bands[i].Width := CoolSet.FCoolWidth;
1660     end;
1661     finally
1662     ListCoolBar.Bands.EndUpdate;
1663     end;
1664    
1665     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Browser)
1666     BrowserCoolBar.Bands.BeginUpdate;
1667     try
1668 yoffy 1.216 // for i := 0 to BrowserCoolBar.Bands.Count - 1 do begin
1669     for i := BROWSER_COOLBAND_COUNT - 1 downto 0 do begin
1670 hi_ 1.1 CoolSet := GikoSys.Setting.BrowserCoolSet[i];
1671 yoffy 1.263 if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then begin
1672 yoffy 1.265 FIsIgnoreResize := False;
1673 yoffy 1.263 SaveCoolBarSettings;
1674     Exit;
1675     end;
1676 hi_ 1.1 BrowserCoolBar.Bands.FindItemID(CoolSet.FCoolID).Index := i;
1677     BrowserCoolBar.Bands[i].Break := CoolSet.FCoolBreak;
1678     BrowserCoolBar.Bands[i].Width := CoolSet.FCoolWidth;
1679     end;
1680     finally
1681     BrowserCoolBar.Bands.EndUpdate;
1682     end;
1683    
1684     end;
1685 yoffy 1.216
1686     //
1687     //
1688     //
1689     procedure TGikoForm.FormShow(Sender: TObject);
1690     begin
1691     ShowWindow(Application.Handle, SW_HIDE);
1692    
1693     //FormCreate鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申FormShow鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1694     //鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1695     StdToolBarVisibleAction.Checked := GikoSys.Setting.StdToolBarVisible;
1696     StdToolBarVisibleActionExecute( nil );
1697     AddressBarVisibleAction.Checked := GikoSys.Setting.AddressBarVisible;
1698     AddressBarVisibleActionExecute( nil );
1699     LinkBarVisibleAction.Checked := GikoSys.Setting.LinkBarVisible;
1700     LinkBarVisibleActionExecute( nil );
1701     ListToolBarVisibleAction.Checked := GikoSys.Setting.ListToolBarVisible;
1702     ListToolBarVisibleActionExecute( nil );
1703     ListNameBarVisibleAction.Checked := GikoSys.Setting.ListNameBarVisible;
1704     ListNameBarVisibleActionExecute( nil );
1705     BrowserToolBarVisibleAction.Checked := GikoSys.Setting.BrowserToolBarVisible;
1706     BrowserToolBarVisibleActionExecute( nil );
1707     BrowserNameBarVisibleAction.Checked := GikoSys.Setting.BrowserNameBarVisible;
1708     BrowserNameBarVisibleActionExecute( nil );
1709    
1710     //鐃?鐃緒申鐃?鐃?鐃?鐃?
1711     BrowserTabVisibleAction.Checked := GikoSys.Setting.BrowserTabVisible;
1712     BrowserTabVisibleActionExecute(nil);
1713    
1714     if GikoSys.Setting.BrowserTabPosition = gtpTop then begin
1715     BrowserTabTopAction.Checked := True;
1716     BrowserTabTopActionExecute(nil);
1717     end else begin
1718     BrowserTabBottomAction.Checked := True;
1719     BrowserTabBottomActionExecute(nil);
1720     end;
1721    
1722     if GikoSys.Setting.BrowserTabStyle = gtsTab then begin
1723     BrowserTabTabStyleAction.Checked := True;
1724     BrowserTabTabStyleActionExecute(nil);
1725     end else if GikoSys.Setting.BrowserTabStyle = gtsButton then begin
1726     BrowserTabButtonStyleAction.Checked := True;
1727     BrowserTabButtonStyleActionExecute(nil);
1728     end else begin
1729     BrowserTabFlatStyleAction.Checked := True;
1730     BrowserTabFlatStyleActionExecute(nil);
1731     end;
1732    
1733     // CoolBar 鐃緒申鐃緒申
1734     LoadCoolBarSettings;
1735 yoffy 1.265
1736     FIsIgnoreResize := False;
1737 yoffy 1.239 end;
1738 yoffy 1.216
1739 hi_ 1.1 procedure TGikoForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
1740     begin
1741 h677 1.315 if GikoForm.WindowState <> wsMinimized then
1742     SaveCoolBarSettings;
1743 yoffy 1.236 if ( GikoSys.Setting.ShowDialogForEnd ) and
1744     (MessageDlg('鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?', mtConfirmation,[mbOk, mbCancel], 0) = mrCancel ) then begin
1745     CanClose := false;
1746     Exit;
1747     end else begin
1748     CanClose := True;
1749     end;
1750 h677 1.241 //Application.HookMainWindow(Hook);
1751     Application.UnhookMainWindow(Hook);
1752     Application.Terminate;
1753     end;
1754    
1755     procedure TGikoForm.FormDestroy(Sender: TObject);
1756     var
1757     i: Integer;
1758     // CoolSet: TCoolSet;
1759     wp: TWindowPlacement;
1760     begin
1761 h677 1.181 // Application.OnDeactivate := nil;
1762     // Self.OnDeactivate := nil;
1763 yoffy 1.236 try
1764 h677 1.234 //column鐃緒申
1765     if GetActiveList is TBBS then begin
1766     for i := 0 to ListView.Columns.Count - 1 do
1767     GikoSys.Setting.BBSColumnWidth[i] := ListView.Column[i].Width;
1768     end else if GetActiveList is TCategory then begin
1769     for i := 0 to ListView.Columns.Count - 1 do
1770     GikoSys.Setting.CategoryColumnWidth[i] := ListView.Column[i].Width;
1771     end else if GetActiveList is TBoard then begin
1772     for i := 0 to ListView.Columns.Count - 1 do
1773     GikoSys.Setting.BoardColumnWidth[i] := ListView.Column[i].Width;
1774     end;
1775 yoffy 1.236 except
1776     end;
1777     try
1778 h677 1.234 //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申
1779     wp.length := sizeof(wp);
1780     GetWindowPlacement(Handle, @wp);
1781     GikoSys.Setting.WindowTop := wp.rcNormalPosition.Top;
1782     GikoSys.Setting.WindowLeft := wp.rcNormalPosition.Left;
1783     GikoSys.Setting.WindowHeight := wp.rcNormalPosition.Bottom - wp.rcNormalPosition.Top;
1784     GikoSys.Setting.WindowWidth := wp.rcNormalPosition.Right - wp.rcNormalPosition.Left;
1785     GikoSys.Setting.WindowMax := WindowState = wsMaximized;
1786    
1787     GikoSys.Setting.ListStyle := ListView.ViewStyle;
1788     GikoSys.Setting.CabinetVisible := CabinetVisibleAction.Checked;
1789     GikoSys.Setting.CabinetWidth := CabinetPanel.Width;
1790     GikoSys.Setting.ListHeight := FBrowserSizeHeight;
1791     GikoSys.Setting.ListWidth := FBrowserSizeWidth;
1792     if ArrangeAction.Checked then
1793     GikoSys.Setting.ListOrientation := gloVertical
1794     else
1795     GikoSys.Setting.ListOrientation := gloHorizontal;
1796     GikoSys.Setting.MessegeBarHeight := MessagePanel.Height;
1797 yoffy 1.236 except
1798 yoffy 1.2 end;
1799 yoffy 1.216 // 鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申 CoolBar 鐃緒申鐃緒申
1800     // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1801 yoffy 1.263 {
1802     // 鐃緒申FormDestroy鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?2004/04/09鐃?
1803 yoffy 1.216 // CoolBar 鐃緒申鐃緒申
1804 h677 1.262 if GikoForm.WindowState <> wsMinimized then
1805     SaveCoolBarSettings;
1806 yoffy 1.263 }
1807 yoffy 1.236 try
1808 h677 1.234 GikoSys.Setting.WriteWindowSettingFile;
1809     GikoSys.Setting.WriteNameMailSettingFile;
1810 yoffy 1.236 except
1811     end;
1812 yoffy 1.2
1813     //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1814 hi_ 1.1 try
1815 yoffy 1.236 //FavoriteDM鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1816 yoffy 1.2 FavoriteDM.WriteFavorite;
1817 yoffy 1.236 FavoriteDM.Clear;
1818 hi_ 1.1 except
1819     end;
1820    
1821     try
1822     //鐃?鐃?鐃?鐃緒申鐃?鐃?
1823 h677 1.299 BrowserNullTab.Thread := nil;
1824     BrowserTab.OnChange := nil;
1825     BrowserTab.Tabs.BeginUpdate;
1826     for i := BrowserTab.Tabs.Count - 1 downto 0 do begin
1827     TBrowserRecord(BrowserTab.Tabs.Objects[i]).Free;
1828     end;
1829     FActiveContent := nil;
1830     BrowserTab.Tabs.Clear;
1831     BrowserTab.Tabs.EndUpdate;
1832     BrowserTab.OnChange := BrowserTabChange;
1833     except
1834     end;
1835 h677 1.303
1836     for i := FBrowsers.Count - 1 downto 0 do begin
1837     TWebBrowser(FBrowsers[i]).Free;
1838     end;
1839     FBrowsers.Clear;
1840     FBrowsers.Capacity := 0;
1841     FBrowsers.Free;
1842 h677 1.299 try
1843     if BrowserNullTab <> nil then begin
1844     BrowserNullTab.Browser := nil; {*BrowserNullTab鐃緒申Browser鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?
1845     *鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申Free鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?
1846     *}
1847     BrowserNullTab.Free;
1848 hi_ 1.1 end;
1849     except
1850     end;
1851    
1852 h677 1.224 try
1853 yoffy 1.236 TreeView.Items.BeginUpdate;
1854     for i := TreeView.Items.Count - 1 downto 0 do begin
1855     TreeView.Items[i].Free;
1856     end;
1857     TreeView.Items.Clear;
1858     TreeView.Items.EndUpdate;
1859 h677 1.224 except
1860     end;
1861 h677 1.230
1862 hi_ 1.1 //鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1863     try
1864 yoffy 1.236 //AddressHistoryDM鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?
1865 hi_ 1.1 AddressHistoryDM.WriteHistory(AddressComboBox.Items, GikoSys.Setting.AddressHistoryCount);
1866     except
1867     end;
1868    
1869 h677 1.234 //鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申
1870 hi_ 1.1 try
1871 h677 1.234 SaveHistory;
1872 hi_ 1.1 except
1873     end;
1874 yoffy 1.236 try
1875     try
1876     ClearHistory;
1877     except
1878     end;
1879     finally
1880     FHistoryList.Free;
1881     end;
1882 h677 1.221
1883 h677 1.182 //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申&鐃?鐃緒申
1884     try
1885     RoundList.SaveRoundFile;
1886     except
1887     end;
1888 yoffy 1.236 try
1889 h677 1.234 try
1890 yoffy 1.236 RoundList.Clear;
1891 h677 1.234 except
1892     end;
1893 yoffy 1.236 finally
1894     RoundList.Free;
1895     end;
1896 h677 1.182
1897 yoffy 1.236 try
1898 h677 1.234 try
1899     FControlThread.Terminate;
1900 yoffy 1.236 FControlThread.WaitFor;
1901 h677 1.234 except
1902 h677 1.219 end;
1903 yoffy 1.236 finally
1904     FControlThread.Free;
1905     end;
1906 h677 1.230
1907 yoffy 1.155 // TBBS 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申 TCategory, TBoard, TThreadItem 鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1908     // TBoard, TThreadItem 鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1909     // BoardPluteIns 鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1910 yoffy 1.126 try
1911 h677 1.220 for i := Length( BBSs ) - 1 downto 0 do begin
1912 h677 1.153 if BBSs[ i ] <> nil then
1913     BBSs[ i ].Free;
1914     BBSs[ i ] := nil;
1915     end;
1916     except
1917     end;
1918 yoffy 1.155
1919 h677 1.153 try
1920 h677 1.220 for i := Length( BoardPlugIns ) - 1 downto 0 do begin
1921 yoffy 1.126 if BoardPlugIns[ i ] <> nil then
1922     BoardPlugIns[ i ].Free;
1923     BoardPlugIns[ i ] := nil;
1924     end;
1925     except
1926     end;
1927 yoffy 1.124
1928 h677 1.234 try
1929 yoffy 1.236 if FEvent <> nil then
1930     FEvent.Free;
1931 h677 1.181
1932 yoffy 1.2 //Hint鐃?鐃緒申
1933     if FHint <> nil then begin
1934     FHint.ReleaseHandle;
1935     FHint.Free;
1936     FHint := nil;
1937     end;
1938     //Preview鐃?鐃緒申
1939     if TPreviewBrowser <> nil then begin
1940     FPreviewBrowser.Free;
1941     FPreviewBrowser := nil;
1942     end;
1943     except
1944     end;
1945 h677 1.230
1946 hi_ 1.1 end;
1947    
1948     //鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?
1949     procedure TGikoForm.FormClose(Sender: TObject; var Action: TCloseAction);
1950     begin
1951 h677 1.230 end;
1952 hi_ 1.1 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?
1953     procedure TGikoForm.CabinetPanelHide(Sender: TObject);
1954     begin
1955     CabinetVisibleAction.Execute;
1956     // CabinetPanelVisible(false);
1957     end;
1958    
1959 yoffy 1.289 // 鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃?鐃? BBS 鐃緒申鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?
1960     procedure TGikoForm.SetBBSMenu;
1961 yoffy 1.123 var
1962     i : Integer;
1963 yoffy 1.149 item : TBBSMenuItem;
1964 hi_ 1.1 begin
1965    
1966 yoffy 1.148 // 鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1967     for i := CabinetSelectPopupMenu.Items.Count - 1 downto 0 do begin
1968     try
1969     if CabinetSelectPopupMenu.Items[ i ] is TBBSMenuItem then begin
1970 yoffy 1.155 CabinetSelectPopupMenu.Items[ i ].Free;
1971     CabinetMenu.Items[ i ].Free;
1972 yoffy 1.289 BBSSelectPopupMenu.Items[ i ].Free;
1973 yoffy 1.148 end;
1974     except
1975     end;
1976     end;
1977 yoffy 1.289
1978     // 鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1979 yoffy 1.148 for i := Length( BBSs ) - 1 downto 0 do begin
1980     try
1981     item := TBBSMenuItem.Create( PopupMenu );
1982     item.Caption := BBSs[ i ].Title;
1983     item.Data := BBSs[ i ];
1984     item.OnClick := BBSMenuItemOnClick;
1985     CabinetSelectPopupMenu.Items.Insert( 0, item );
1986     item := TBBSMenuItem.Create( PopupMenu );
1987     item.Caption := BBSs[ i ].Title;
1988     item.Data := BBSs[ i ];
1989     item.OnClick := BBSMenuItemOnClick;
1990     CabinetMenu.Insert( 0, item );
1991 yoffy 1.289 item := TBBSMenuItem.Create( PopupMenu );
1992     item.Caption := BBSs[ i ].Title;
1993     item.Data := BBSs[ i ];
1994     item.OnClick := BBSMenuItemOnClick;
1995     BBSSelectPopupMenu.Items.Insert( 0, Item );
1996 yoffy 1.148 except
1997     end;
1998     end;
1999 yoffy 1.289
2000     end;
2001    
2002     procedure TGikoForm.ReloadBBS;
2003     var
2004     i : Integer;
2005     begin
2006     //鐃?鐃?鐃?鐃緒申鐃?鐃?
2007     NotSelectTabCloseAction.Execute;
2008 h677 1.304 BrowserTabCloseAction.Execute;
2009 yoffy 1.289 //TreeView鐃?鐃緒申鐃?鐃?BBS2ch.Free鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申XP鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃?
2010     TreeView.Items.Clear;
2011    
2012     //BBS鐃?鐃緒申
2013     try
2014     for i := Length( BBSs ) - 1 downto 0 do begin
2015     if BBSs[ i ] <> nil then
2016     BBSs[ i ].Free;
2017     BBSs[ i ] := nil;
2018     end;
2019     except
2020     end;
2021    
2022     ActiveList := nil;
2023    
2024     FTreeType := gttNone;
2025    
2026     GikoSys.ListBoardFile; //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申
2027    
2028     // BBS 鐃緒申鐃?鐃緒申鐃?鐃緒申鐃?鐃?
2029     SetBBSMenu;
2030    
2031 yoffy 1.123 ShowBBSTree( BBSs[ 0 ] );
2032 yoffy 1.143
2033     // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
2034 yoffy 1.146 SaveHistory;
2035 yoffy 1.272 ClearHistory;
2036 yoffy 1.143 LoadHistory;
2037    
2038     //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
2039 yoffy 1.287 FavoriteDM.WriteFavorite;
2040 yoffy 1.272 FavoriteDM.Clear;
2041 yoffy 1.143 FavoriteDM.ReadFavorite;
2042 yoffy 1.279
2043 yoffy 1.143 SetLinkBar;
2044    
2045 hi_ 1.1 end;
2046    
2047     //鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申
2048 yoffy 1.123 procedure TGikoForm.SetBoardTreeNode(
2049     inBBS : TBBS
2050     );
2051 hi_ 1.1 var
2052 yoffy 1.120 i, j, k: integer;
2053 hi_ 1.1 Root: TTreeNode;
2054     CategoryNode: TTreeNode;
2055     BoardNode: TTreeNode;
2056     Category: TCategory;
2057     Board: TBoard;
2058     begin
2059 yoffy 1.112 // 鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申
2060 yoffy 1.133 FActiveBBS := inBBS;
2061 hi_ 1.1 TreeView.Items.BeginUpdate;
2062     TreeView.Items.Clear;
2063     try
2064 yoffy 1.210 if not inBBS.IsBoardFileRead then
2065     GikoSys.ReadBoardFile( inBBS );
2066 yoffy 1.123 try
2067     if SplashWindow <> nil then
2068 yoffy 1.210 SplashWindow.ProgressBar.Max := inBBS.Count;
2069 yoffy 1.123 except
2070     end;
2071    
2072     Root := TreeView.Items.Add( nil, inBBS.Title );
2073     Root.ImageIndex := ITEM_ICON_2CH1;
2074     Root.SelectedIndex := ITEM_ICON_2CH2;
2075     Root.Data := inBBS;
2076     for i := 0 to inBBS.Count - 1 do begin
2077     Category := TCategory(inBBS.Items[i]);
2078     CategoryNode := TreeView.Items.AddChild(Root, Category.Title);
2079     CategoryNode.Data := Category;
2080     CategoryNode.ImageIndex := ITEM_ICON_CATEGORY1;
2081     CategoryNode.SelectedIndex := ITEM_ICON_CATEGORY2;
2082 hi_ 1.1
2083 yoffy 1.123 for j := 0 to Category.Count - 1 do begin
2084     Board := TBoard(Category.Items[j]);
2085     Board.BeginUpdate;
2086     BoardNode := TreeView.Items.AddChild(CategoryNode, Board.Title);
2087     BoardNode.Data := Board;
2088     //if (Board.LastGetTime = 0) or (Board.LastGetTime = ZERO_DATE) then begin
2089     if not Board.IsLogFile then begin
2090     BoardNode.ImageIndex := ITEM_ICON_BOARD_NOSUBJECT;
2091     BoardNode.SelectedIndex := ITEM_ICON_BOARD_NOSUBJECT;
2092     end else begin
2093     BoardNode.ImageIndex := ITEM_ICON_BOARD1;
2094     BoardNode.SelectedIndex := ITEM_ICON_BOARD2;
2095     for k := 0 to Board.Count - 1 do begin
2096     if Board.Items[ k ].IsLogFile then begin
2097     BoardNode.ImageIndex := ITEM_ICON_BOARD_LOG;
2098     BoardNode.SelectedIndex := ITEM_ICON_BOARD_LOG;
2099 yoffy 1.120
2100 yoffy 1.123 Break;
2101 yoffy 1.120 end;
2102     end;
2103 yoffy 1.112 end;
2104 yoffy 1.123 Board.EndUpdate;
2105     end;
2106 hi_ 1.1
2107 yoffy 1.123 CategoryNode.Expanded := Category.NodeExpand;
2108 hi_ 1.1
2109 yoffy 1.123 if SplashWindow <> nil then begin
2110     SplashWindow.ProgressBar.StepIt;
2111     Application.ProcessMessages;
2112 hi_ 1.1 end;
2113     end;
2114     finally
2115     TreeView.Items.EndUpdate;
2116     end;
2117     end;
2118    
2119 yoffy 1.123 function TGikoForm.SetCategoryListItem(ABBS2ch: TBBS): Integer;
2120 hi_ 1.1 const
2121     COLUMN: array[0..0] of string = ('鐃?鐃?鐃?鐃緒申鐃緒申');
2122     var
2123     ListColumn: TListColumn;
2124     i: Integer;
2125     begin
2126     ListView.Items.BeginUpdate;
2127     try
2128     Screen.Cursor := crHourGlass;
2129    
2130     ListView.Columns.Clear;
2131     for i := 0 to Length(COLUMN) - 1 do begin
2132     ListColumn := ListView.Columns.Add;
2133     ListColumn.Caption := COLUMN[i];
2134     ListColumn.Width := GikoSys.Setting.BBSColumnWidth[i];
2135     end;
2136    
2137     ListView.Items.Count := 0;
2138     ListView.Items.Clear;
2139     ListView.Items.Count := ABBS2ch.Count;
2140    
2141     // UpFolderAction.Enabled := False;
2142     // AllItemAction.Enabled := False;
2143     // LogItemAction.Enabled := False;
2144     // NewItemAction.Enabled := False;
2145     // SelectItemAction.Enabled := False;
2146     // ListDownloadToolButton.Enabled := False;
2147     // BoardReservToolButton.Enabled := False;
2148     // ListThreadDownloadToolButton.Enabled := False;
2149    
2150     ListNameLabel.Caption := ABBS2ch.Title;
2151     FolderImage.Picture := nil;
2152     ItemIcon16.GetBitmap(1, FolderImage.Picture.Bitmap);
2153    
2154 yoffy 1.2 FSortIndex := 0;
2155     FSortOrder := False;
2156     ListViewColumnClick(nil, ListView.Column[0]);
2157    
2158 hi_ 1.1 Result := ABBS2ch.Count;
2159     finally
2160     Screen.Cursor := crDefault;
2161     ListView.Items.EndUpdate;
2162     end;
2163     end;
2164    
2165     function TGikoForm.SetBoardListItem(Category: TCategory): Integer;
2166     const
2167     COLUMN: array[0..2] of string = ('鐃緒申鐃緒申', '鐃緒申鐃緒申鐃?鐃緒申', '鐃緒申鐃緒申鐃緒申鐃緒申');
2168     var
2169     ListColumn: TListColumn;
2170     i: Integer;
2171     begin
2172     ListView.Items.BeginUpdate;
2173     try
2174     Screen.Cursor := crHourGlass;
2175    
2176     ListView.Columns.Clear;
2177     for i := 0 to Length(COLUMN) - 1 do begin
2178     ListColumn := ListView.Columns.Add;
2179     ListColumn.Caption := COLUMN[i];
2180     ListColumn.Width := GikoSys.Setting.CategoryColumnWidth[i];
2181     end;
2182    
2183     ListView.Items.Count := 0;
2184     ListView.Items.Clear;
2185     ListView.Items.Count := Category.Count;
2186    
2187     // UpFolderAction.Enabled := True;
2188     // AllItemAction.Enabled := False;
2189     // LogItemAction.Enabled := False;
2190     // NewItemAction.Enabled := False;
2191     // SelectItemAction.Enabled := False;
2192     // ListDownloadToolButton.Enabled := False;
2193     // BoardReservToolButton.Enabled := False;
2194     // ListThreadDownloadToolButton.Enabled := False;
2195    
2196     ListNameLabel.Caption := Category.Title;
2197     FolderImage.Picture := nil;
2198     ItemIcon16.GetBitmap(3, FolderImage.Picture.Bitmap);
2199    
2200 yoffy 1.2 FSortIndex := 0;
2201     FSortOrder := False;
2202     ListViewColumnClick(nil, ListView.Column[0]);
2203    
2204 hi_ 1.1 Result := Category.Count;
2205     finally
2206     Screen.Cursor := crDefault;
2207     ListView.Items.EndUpdate;
2208     end;
2209     end;
2210    
2211     function TGikoForm.SetThreadListItem(Board: TBoard): Integer;
2212     const
2213 h677 1.199 COLUMN: array[0..7] of string = ('鐃?鐃緒申鐃?鐃?鐃緒申', '鐃?鐃?鐃緒申鐃?', '鐃緒申鐃緒申', '鐃?鐃緒申',
2214     '鐃緒申鐃緒申', '鐃緒申鐃緒申鐃?鐃緒申', '鐃緒申鐃緒申鐃緒申鐃緒申', '鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申');
2215     COLUMN_ALIGNMENT: array[0..7] of TAlignment = (taLeftJustify, taRightJustify,
2216 hi_ 1.1 taRightJustify, taRightJustify,
2217     taRightJustify, taLeftJustify,
2218 h677 1.199 taLeftJustify, taLeftJustify);
2219 hi_ 1.1 //No, 鐃?鐃緒申鐃?鐃?鐃緒申, 鐃?鐃?鐃緒申鐃?, 鐃緒申鐃緒申鐃?鐃緒申, 鐃緒申鐃緒申鐃緒申鐃緒申
2220     var
2221     ListColumn: TListColumn;
2222     i: Integer;
2223     begin
2224     ListView.Items.BeginUpdate;
2225     try
2226     Screen.Cursor := crHourGlass;
2227    
2228 yoffy 1.51 // 鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
2229     // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
2230     if ListView.Columns.Count <> (High( COLUMN ) - Low( COLUMN ) + 1) then
2231     begin
2232     ListView.Columns.Clear;
2233     for i := 0 to Length(COLUMN) - 1 do begin
2234     ListColumn := ListView.Columns.Add;
2235     ListColumn.Caption := COLUMN[i];
2236     ListColumn.Width := GikoSys.Setting.BoardColumnWidth[i];
2237     ListColumn.Alignment := COLUMN_ALIGNMENT[i];
2238     end;
2239     end;
2240 hi_ 1.1
2241     ListView.Items.Count := 0;
2242     ListView.Items.Clear;
2243    
2244     case GikoForm.ViewType of
2245     gvtAll: ListView.Items.Count := Board.Count;
2246     gvtLog: ListView.Items.Count := Board.GetLogThreadCount;
2247     gvtNew: ListView.Items.Count := Board