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.274 - (hide annotations) (download) (as text)
Sun Apr 11 19:33:04 2004 UTC (20 years ago) by yoffy
Branch: MAIN
Changes since 1.273: +32 -31 lines
File MIME type: text/x-pascal
・過去ログ html の URL に対してポップアップ出来ないバグを修正。

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