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.315 - (hide annotations) (download) (as text)
Mon May 24 17:55:50 2004 UTC (19 years, 10 months ago) by h677
Branch: MAIN
Changes since 1.314: +56 -82 lines
File MIME type: text/x-pascal
Browserのフォーカスとショートカットの問題解消

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