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.235 - (hide annotations) (download) (as text)
Sun Apr 4 15:55:04 2004 UTC (20 years ago) by h677
Branch: MAIN
Changes since 1.234: +9 -5 lines
File MIME type: text/x-pascal
履歴の挙動がおかしかったので修正

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