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