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.251 - (hide annotations) (download) (as text)
Wed Apr 7 01:49:02 2004 UTC (20 years ago) by yoffy
Branch: MAIN
Changes since 1.250: +14 -11 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 yoffy 1.251 procedure FormCreate(Sender: TObject);
530 hi_ 1.1 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 yoffy 1.251 procedure OnResized;
845 hi_ 1.1 private
846     { Private 鐃緒申鐃緒申 }
847 h677 1.182 //RoundList : TRoundList;
848 hi_ 1.1 FSortIndex: Integer;
849     FSortOrder: Boolean;
850    
851     FEnabledCloseButton: Boolean;
852     // ThreadCreate: TThreadCreate;
853    
854     FClickNode: TTreeNode;
855     FHttpState: Boolean;
856     FHint: TResPopup;
857     FPreviewBrowser: TPreviewBrowser;
858     FPreviewURL: string;
859    
860     FBrowserSizeHeight: Integer;
861     FBrowserSizeWidth: Integer;
862    
863     // FFavorite: TFavorite;
864     FBrowserComplete: Boolean;
865     FTabHintIndex: Integer;
866     FListStyle: TViewStyle; //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
867     FItemNoVisible: Boolean; //鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申鐃?
868     FViewType: TGikoViewType; //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃?
869 yoffy 1.123 FActiveList: TObject;
870 hi_ 1.1 FActiveContent: TThreadItem; //
871 yoffy 1.133 FActiveBBS : TBBS;
872 hi_ 1.1 FHistoryList: TList; //鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?
873     FTreeType: TGikoTreeType;
874     FWorkCount: Integer;
875     FNameCookie: string;
876     FMailCookie: string;
877     // FLastRoundTime: TDateTime;
878     BrowserNullTab: TThreadItem;
879     // DoubleClickOccurred: array [TMouseButton] of Boolean;
880     FDownloadTitle: string; //鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申
881     FDownloadMax: Integer; //鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?
882     FEvent: THTMLDocumentEventSink;//鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?
883 h677 1.14
884 h677 1.192 // Fkeynum : Integer; //鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?
885 yoffy 1.29
886 yoffy 1.51 IsDraggingSelectComboBox : Boolean;
887     DraggingSelectComboBoxPosition : TPoint;
888 yoffy 1.29
889 yoffy 1.54 FSearchDialog: TSearchDialog;
890 yoffy 1.49
891 yoffy 1.100 FDropSpaceNode: TTreeNode;
892 yoffy 1.74
893 yoffy 1.107 FDragTime : Cardinal; //鐃緒申鐃緒申鐃?鐃緒申D&D鐃?
894     FDragButton : TToolButton; //鐃緒申鐃緒申鐃?鐃緒申D&D鐃?鐃緒申Drag鐃緒申鐃緒申鐃緒申Button鐃緒申鐃緒申
895     FDragWFirst : Boolean; //WebTab鐃緒申D&D鐃?
896 h677 1.84
897 yoffy 1.143 FListViewBackGroundColor : TColor; //ListView鐃緒申BackGroundColor
898     FUseOddResOddColor : Boolean; //鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申
899     FOddColor : TColor; //鐃緒申鐃緒申鐃?
900 yoffy 1.152
901     FSelectResWord : string; // 鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?
902 yoffy 1.248 FIsIgnoreResize : Boolean; // 鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
903 yoffy 1.216 FOldFormWidth : Integer; // 鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申
904 yoffy 1.123 procedure SetBoardTreeNode( inBBS : TBBS );
905     function SetCategoryListItem(ABBS2ch: TBBS): Integer;
906 hi_ 1.1 function SetBoardListItem(Category: TCategory): Integer;
907     function SetThreadListItem(Board: TBoard): Integer;
908     // function GetRoundName(index: integer): string;
909    
910     procedure DownloadEnd(Sender: TObject; Item: TDownloadItem);
911     procedure DownloadMsg(Sender: TObject; Item: TDownloadItem; Msg: string; Icon: TGikoMessageIcon);
912 q9_ 1.233 procedure WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer; Number: Integer; const AWorkTitle: string);
913 hi_ 1.1 procedure WorkEnd(Sender: TObject; AWorkMode: TWorkMode; Number: Integer);
914     procedure Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer; Number: Integer);
915    
916     procedure SetActiveList(Obj: TObject);
917     procedure ListClick;
918     procedure ListDoubleClick;
919     procedure BrowserMovement(AName: string);
920     procedure SelectListItem(List: TList);
921     // procedure SetProgressValue(Number: Integer; Value: Integer; Max: Integer = -1);
922     procedure DeleteTab(ThreadItem: TThreadItem);
923     function Hook(var Message: TMessage): Boolean;
924     procedure AddRoundNameMenu(MenuItem: TMenuItem);
925 h677 1.188 procedure SetSelectItemRound(RoundFlag: Boolean; RoundName: string); overload;
926 yoffy 1.236 procedure SetSelectItemRound(RoundFlag: Boolean; RoundName: string; ParentName: string); overload;
927 hi_ 1.1 procedure SetSelectRoundName(Sender: TObject);
928     function GetCoolBand(CoolBar: TCoolBar; Control: TWinControl): TCoolBand;
929    
930     procedure SetMenuFont;
931     // procedure CreateFavMenu(Folder: TFavoriteFolder);
932     procedure CreateFavMenu(Node: TTreeNode; MenuItem: TMenuItem);
933 yoffy 1.62 procedure FavoriteClick(Sender: TObject; ActiveTab: Boolean); overload;
934     procedure FavoriteClick(Sender: TObject); overload;
935 yoffy 1.100 procedure FavoriteDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
936 yoffy 1.2 procedure SelectTreeNode(Item: TObject; CallEvent: Boolean);
937 hi_ 1.1 function OnDocumentContextMenu(Sender: TObject): WordBool;
938     // function GetThreadText(sBoard: string; sThread: string; StNum, ToNum: Integer; Title, First: Boolean): string;
939 yoffy 1.123 procedure SetResPopupText(ThreadItem : TThreadItem; StNum, ToNum: Integer; Title, First: Boolean);
940 hi_ 1.1 procedure ShowTextPopup;
941     //procedure ShowTextPopup(HintData: THintData);
942 yoffy 1.2 // procedure SetStdToolBar;
943     // function GetAction(ActionName: string): TContainedAction;
944 hi_ 1.1 procedure SetLinkBar;
945 yoffy 1.236 procedure ClearLinkBar;
946 hi_ 1.1 function GetWidthAllToolButton(ToolBar: TToolBar): Integer;
947 yoffy 1.2 procedure MenuBarChevronMenu;
948     procedure LinkBarChevronMenu;
949     procedure ToolBarChevronMenu(ToolBar: TToolBar);
950 yoffy 1.51 procedure ModifySelectList;
951 yoffy 1.100 procedure FavoriteBrowseFolder( node: TTreeNode );
952     procedure LinkToolButtonDragDrop(Sender, Source: TObject; X, Y: Integer);
953     procedure LinkToolButtonOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
954     procedure LinkToolButtonOnMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
955     procedure LinkToolButtonOnMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
956 yoffy 1.85 procedure LinkToolButtonStartDrag(Sender: TObject; var DragObject: TDragObject);
957 yoffy 1.72 function TreeNodeDataFind(Node: TTreeNode; FindPointer: Pointer): TTreeNode;
958 yoffy 1.100 procedure FavoriteMoveTo( SenderNode, SourceNode: TTreeNode );
959     procedure FavoriteAddTo( SenderNode: TTreeNode; Source: TObject );
960 yoffy 1.72 procedure FavoriteDragDrop( SenderNode: TTreeNode; Source: TObject );
961 yoffy 1.236 //
962 yoffy 1.143 procedure BrowserTabClick(Sender: TObject);
963     procedure SetListViewBackGroundColor(value: TColor);
964 yoffy 1.123 procedure BBSMenuItemOnClick( Sender : TObject );
965 yoffy 1.236 //
966     procedure KonoresCopy(Number: Integer; ReplaceTag : Boolean);
967 yoffy 1.216 // CoolBar 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
968     procedure SaveCoolBarSettings;
969     // CoolBar 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
970     procedure LoadCoolBarSettings;
971 yoffy 1.248 // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
972     procedure OnMinimized;
973 yoffy 1.216 // CoolBar 鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申
974     procedure CoolBarResized(Sender: TObject; CoolBar: TCoolBar);
975 yoffy 1.236 // TreeView 鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申
976     procedure TreeClick( Node : TTreeNode );
977     // TreeView 鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申
978     procedure TreeDoubleClick( Node : TTreeNode );
979     // 鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
980     procedure HandleAppMessage(var Msg: TMsg; var Handled: Boolean);
981     // 鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?
982     // 鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申 True 鐃緒申鐃緒申鐃緒申
983     function BrowserKeydown(Sender: TObject; Key: Word; State:TShiftState) : Boolean;
984 yoffy 1.216
985 hi_ 1.1 protected
986     procedure CreateParams(var Params: TCreateParams); override;
987 yoffy 1.2 procedure WndProc(var Message: TMessage); override;
988 hi_ 1.1 procedure WMSetCursor(var Message: TWMSetCursor); message WM_SETCURSOR;
989     procedure WMSettingChange(var Message: TWMWinIniChange); message WM_SETTINGCHANGE;
990     procedure WMCopyData(var Message: TWMCopyData); message WM_COPYDATA;
991 yoffy 1.216
992 hi_ 1.1 public
993     { Public 鐃緒申鐃緒申 }
994     // FDownload: TDownload;
995     FControlThread: TThreadControl;
996 yoffy 1.48 procedure MoveToURL(URL: string);
997     procedure InsertBrowserTab(ThreadItem: TThreadItem; ActiveTab: Boolean = True);
998 hi_ 1.1 procedure ReloadBBS;
999     function GetHttpState: Boolean;
1000     procedure SetEnabledCloseButton(Enabled: Boolean);
1001     function GetTreeNode(Data: TObject): TTreeNode;
1002     procedure AppFormDeactivate(Sender: TObject);
1003     // procedure CabinetPanelVisible(PanelVisible: Boolean);
1004     procedure ListViewAllSelect;
1005    
1006     property ListStyle: TViewStyle read FListStyle write FListStyle;
1007     property ItemNoVisible: Boolean read FItemNoVisible write FItemNoVisible;
1008     property ViewType: TGikoViewType read FViewType write FViewType;
1009    
1010     property NameCookie: string read FNameCookie write FNameCookie;
1011     property MailCookie: string read FMailCookie write FMailCookie;
1012    
1013     procedure SetContent(ThreadItem: TThreadItem);
1014     function GetActiveContent: TThreadItem;
1015     function GetActiveList: TObject;
1016    
1017     property ActiveList: TObject read GetActiveList write SetActiveList;
1018     // property LastRoundTime: TDateTime read FLastRoundTime write FLastRoundTime;
1019    
1020     procedure SetListViewType(AViewType: TGikoViewType); overload;
1021     procedure SetListViewType(AViewType: TGikoViewType; SelectText: string; KubetsuChk: Boolean); overload;
1022     procedure DownloadContent(ThreadItem: TThreadItem);
1023     procedure DownloadList(Board: TBoard);
1024     procedure PlaySound(SoundEventName: string);
1025    
1026 yoffy 1.136 function AddHistory( FavItem: TFavoriteThreadItem ): Boolean;
1027     procedure DeleteHistory( threadItem: TThreadItem );
1028 hi_ 1.1 procedure ClearHistory;
1029 yoffy 1.135 procedure SaveHistory;
1030     procedure LoadHistory;
1031 yoffy 1.123 procedure ShowBBSTree( inBBS : TBBS );
1032 yoffy 1.248 procedure ShowBBSTreeOld( inBBS : TBBS );
1033 hi_ 1.1 procedure ShowHistoryTree;
1034     procedure SetHistoryTreeNode;
1035     // procedure SelectTreeNode(Item: TObject);
1036     procedure AddMessageList(ACaption: string; AObject: TObject; Icon: TGikoMessageIcon);
1037     procedure SetBrowserTabState;
1038     // property Favorite: TFavorite read FFavorite write FFavorite;
1039 yoffy 1.2 procedure SetToolBarPopup;
1040 yoffy 1.100 procedure ShowFavoriteAddDialog( Item : TObject );
1041 h677 1.189 procedure FavoritesURLReplace(oldURLs: TStringList; newURLs: TStringList);
1042 h677 1.226 procedure RoundListURLReplace(oldURLs: TStringList; newURLs: TStringList);
1043 yoffy 1.143 property ListViewBackGroundColor: TColor read FListViewBackGroundColor write SetListViewBackGroundColor;
1044     property UseOddResOddColor : Boolean read FUseOddResOddColor write FUseOddResOddColor;
1045     property OddColor : TColor read FOddColor write FOddColor;
1046 h677 1.109
1047 yoffy 1.209 function FindToolBarButton( bar : TToolBar; action : TAction ) : TToolButton;
1048 yoffy 1.218 procedure OnPlugInMenuItem( Sender : TObject );
1049 yoffy 1.209
1050 hi_ 1.1 published
1051     property EnabledCloseButton: Boolean read FEnabledCloseButton write SetEnabledCloseButton;
1052     end;
1053    
1054     TFavoriteMenuItem = class(TMenuItem)
1055     private
1056     FData : Pointer;
1057     public
1058     property Data: Pointer read FData write FData;
1059     end;
1060    
1061 yoffy 1.123 TBBSMenuItem = class(TMenuItem)
1062     private
1063     FData : Pointer;
1064     public
1065     property Data: Pointer read FData write FData;
1066     end;
1067    
1068 hi_ 1.1 TLinkToolButton = class(TToolButton)
1069     private
1070     FData : Pointer;
1071     public
1072     property Data: Pointer read FData write FData;
1073     end;
1074    
1075     var
1076     GikoForm: TGikoForm;
1077    
1078     implementation
1079    
1080     uses
1081     About, Option, Round, Splash, Sort, ListSelect,
1082 h677 1.183 NewBoard, MojuUtils,Clipbrd;
1083 hi_ 1.1
1084     const
1085     CAPTION_NAME: string = '鐃?鐃?鐃?鐃?';
1086     BLANK_HTML: string = 'about:blank';
1087 yoffy 1.51 SELECTCOMBOBOX_NAME: string = ''; // '鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申';
1088     SELECTCOMBOBOX_COLOR: TColor = clWindow;
1089 yoffy 1.120 //D&D鐃緒申鐃?
1090     DandD_THRESHOLD = 5; //D&D鐃緒申鐃緒申鐃?鐃?pixcel)
1091 yoffy 1.2 //鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
1092     ITEM_ICON_2CH1 = 0; //2ch鐃?鐃?鐃?鐃緒申
1093     ITEM_ICON_2CH2 = 1; //2ch鐃?鐃?鐃?鐃緒申
1094     ITEM_ICON_CATEGORY1 = 2; //鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1095     ITEM_ICON_CATEGORY2 = 3; //鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1096 yoffy 1.120 ITEM_ICON_BOARD_NOSUBJECT = 3; //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1097 yoffy 1.2 ITEM_ICON_BOARD1 = 4; //鐃緒申鐃?鐃?鐃?鐃緒申
1098     ITEM_ICON_BOARD2 = 5; //鐃緒申鐃?鐃?鐃?鐃緒申
1099     ITEM_ICON_THREADLOG1 = 6; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?
1100     ITEM_ICON_THREADLOG2 = 7; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?
1101     ITEM_ICON_THREAD1 = 8; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?
1102     ITEM_ICON_THREAD2 = 9; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?
1103     ITEM_ICON_THREADNEW1 = 10; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?
1104     ITEM_ICON_THREADNEW2 = 11; //鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?
1105     ITEM_ICON_SORT1 = 12; //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申
1106     ITEM_ICON_SORT2 = 13; //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申
1107 yoffy 1.120 ITEM_ICON_BOARD_LOG = 17; //鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1108     ITEM_ICON_BOARD_NEW = 18; //鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1109 yoffy 1.2
1110     //鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
1111 yoffy 1.48 TOOL_ICON_HEIGHT_MAX = 16; //鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1112     TOOL_ICON_HEIGHT_MIN = 17; //鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1113     TOOL_ICON_HEIGHT_NORMAL = 18; //鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1114     TOOL_ICON_WIDTH_MAX = 19; //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1115     TOOL_ICON_WIDTH_MIN = 20; //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1116     TOOL_ICON_WIDTH_NORMAL = 21; //鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1117    
1118 yoffy 1.51 TOOL_ICON_FAV_FOLDER = 30; //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申
1119 yoffy 1.100 TOOL_ICON_FAV_BOARD = 31; //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1120 yoffy 1.51 TOOL_ICON_FAV_THREAD = 32; //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1121 hi_ 1.1
1122     HTML_FILE_NAME = 'temp_preview.html';
1123    
1124 yoffy 1.248 USER_TREECLICK = WM_USER + 10;
1125     USER_RESIZED = WM_USER + 11;
1126     USER_MINIMIZED = WM_USER + 12;
1127    
1128 hi_ 1.1 {$R *.DFM}
1129    
1130     procedure TGikoForm.CreateParams(var Params: TCreateParams);
1131     begin
1132     inherited;
1133     if FormStyle in [fsNormal, fsStayOnTop] then begin
1134     if BorderStyle in [bsSingle, bsSizeable] then begin
1135     Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
1136     Params.WndParent := 0;
1137     end;
1138     end;
1139     end;
1140    
1141     procedure TGikoForm.FormCreate(Sender: TObject);
1142     const
1143     TVS_NOTOOLTIPS = $0080;
1144     var
1145     FileName: string;
1146     Style: DWORD;
1147     msg: string;
1148     i: Integer;
1149     wp: TWindowPlacement;
1150 hi_ 1.32 s: string;
1151 yoffy 1.123 item : TBBSMenuItem;
1152 hi_ 1.1 begin
1153     {$IFDEF DEBUG}
1154     AllocConsole;
1155     Writeln('============================================================');
1156     Writeln(' 鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃? 鐃?鐃緒申鐃?鐃?鐃緒申');
1157     Writeln('');
1158     Writeln(' 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?');
1159     Writeln(' 鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申');
1160     Writeln('============================================================');
1161     {$ENDIF}
1162     Application.OnDeactivate := AppFormDeactivate;
1163     Self.OnDeactivate := AppFormDeactivate;
1164     Application.HookMainWindow(Hook);
1165 yoffy 1.236 Application.OnMessage := HandleAppMessage;
1166 hi_ 1.1
1167     FTreeType := gttNone;
1168    
1169 yoffy 1.51 FSearchDialog := nil;
1170 yoffy 1.49
1171 yoffy 1.216 // 鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1172 yoffy 1.248 FIsIgnoreResize := True;
1173 yoffy 1.216
1174 hi_ 1.1 //鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申
1175     Screen.Cursors[5] := LoadCursor(HInstance, 'GIKOHAND');
1176    
1177    
1178     //鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1179     AddressHistoryDM.ReadHistory(AddressComboBox.Items, GikoSys.Setting.AddressHistoryCount);
1180    
1181 yoffy 1.135 // 鐃?鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?(ReadBoardFile, LoadHistory 鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申)
1182 yoffy 1.107 InitializeBoardPlugIns;
1183 yoffy 1.105
1184 hi_ 1.1 EnabledCloseButton := True;
1185 h677 1.176
1186    
1187     //鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1188     RoundList := TRoundList.Create;
1189     RoundList.LoadRoundBoardFile;
1190    
1191 yoffy 1.210 // 鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申(ReadFavorite 鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申)
1192     GikoSys.ListBoardFile;
1193 h677 1.176
1194     RoundList.LoadRoundThreadFile;
1195    
1196 yoffy 1.236 if RoundList.OldFileRead or ( RoundList.Count[grtItem] > 0 ) then
1197     GikoSys.ListBoardFile;
1198 h677 1.176
1199 yoffy 1.123 // 鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1200     for i := Length( BBSs ) - 1 downto 0 do begin
1201 yoffy 1.126 try
1202     item := TBBSMenuItem.Create( PopupMenu );
1203     item.Caption := BBSs[ i ].Title;
1204     item.Data := BBSs[ i ];
1205     item.OnClick := BBSMenuItemOnClick;
1206     CabinetSelectPopupMenu.Items.Insert( 0, item );
1207     item := TBBSMenuItem.Create( PopupMenu );
1208     item.Caption := BBSs[ i ].Title;
1209     item.Data := BBSs[ i ];
1210     item.OnClick := BBSMenuItemOnClick;
1211     CabinetMenu.Insert( 0, item );
1212 yoffy 1.209 item := TBBSMenuItem.Create( PopupMenu );
1213     item.Caption := BBSs[ i ].Title;
1214     item.Data := BBSs[ i ];
1215     item.OnClick := BBSMenuItemOnClick;
1216     BBSSelectPopupMenu.Items.Insert( 0, Item );
1217 yoffy 1.126 except
1218     end;
1219 yoffy 1.123 end;
1220    
1221 h677 1.176
1222 yoffy 1.135 // 鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?(LoadHistory 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申)
1223     FHistoryList := TList.Create;
1224    
1225     // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1226     LoadHistory;
1227    
1228 yoffy 1.123 //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1229     // FFavorite := TFavorite.Create(FavoriteTreeView);
1230     FavoriteDM.SetFavTreeView(FavoriteTreeView);
1231     FavoriteDM.ReadFavorite;
1232 hi_ 1.1
1233     //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
1234     ListView.ViewStyle := GikoSys.Setting.ListStyle;
1235    
1236     //鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?
1237     // MainCoolBar.Top := 0;
1238     // MainCoolBar.Left := 0;
1239    
1240     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?
1241     AnimePanel.Top := 0;
1242     AnimePanel.Left := 0;
1243    
1244     //鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1245    
1246     //鐃?鐃緒申鐃?鐃?鐃?鐃?
1247     CabinetPanel.Width := GikoSys.Setting.CabinetWidth;
1248    
1249     //鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?
1250     MsgBarVisibleAction.Checked := GikoSys.Setting.MessageBarVisible;
1251     MsgBarVisibleActionExecute(nil);
1252     MessagePanel.Height := GikoSys.Setting.MessegeBarHeight;
1253    
1254     //鐃?鐃?鐃?鐃?鐃?鐃?鐃?
1255     StatusBarVisibleAction.Checked := GikoSys.Setting.StatusBarVisible;
1256     StatusBarVisibleActionExecute(nil);
1257    
1258     //鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申
1259     TreeView.Items.BeginUpdate;
1260 yoffy 1.100 FavoriteTreeView.Items.BeginUpdate;
1261 hi_ 1.1 ListView.Items.BeginUpdate;
1262     try
1263     TreeView.Font.Name := GikoSys.Setting.CabinetFontName;
1264     TreeView.Font.Size := GikoSys.Setting.CabinetFontSize;
1265     TreeView.Font.Color := GikoSys.Setting.CabinetFontColor;
1266     TreeView.Color := GikoSys.Setting.CabinetBackColor;
1267    
1268 yoffy 1.67 FavoriteTreeView.Font.Name := GikoSys.Setting.CabinetFontName;
1269     FavoriteTreeView.Font.Size := GikoSys.Setting.CabinetFontSize;
1270     FavoriteTreeView.Font.Color := GikoSys.Setting.CabinetFontColor;
1271     FavoriteTreeView.Color := GikoSys.Setting.CabinetBackColor;
1272    
1273 hi_ 1.1 ListView.Font.Name := GikoSys.Setting.ListFontName;
1274     ListView.Font.Size := GikoSys.Setting.ListFontSize;
1275     ListView.Font.Color := GikoSys.Setting.ListFontColor;
1276 h677 1.109 //ListView.Color := GikoSys.Setting.ListBackColor;
1277 yoffy 1.236 ListViewBackGroundColor := GikoSys.Setting.ListBackColor;
1278     FUseOddResOddColor := GikoSys.Setting.UseOddColorOddResNum;
1279     FOddColor := GikoSys.Setting.OddColor;
1280 h677 1.109
1281 hi_ 1.1 finally
1282     TreeView.Items.EndUpdate;
1283 yoffy 1.100 FavoriteTreeView.Items.EndUpdate;
1284 hi_ 1.1 ListView.Items.EndUpdate;
1285     end;
1286     //ViewNoButton.Down := GikoSys.Setting.ListViewNo;
1287     ListNumberVisibleAction.Checked := GikoSys.Setting.ListViewNo;
1288    
1289     //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?
1290     BrowserTab.Font.Name := GikoSys.Setting.BrowserTabFontName;
1291     BrowserTab.Font.Size := GikoSys.Setting.BrowserTabFontSize;
1292 yoffy 1.133 FDragWFirst := false;
1293 hi_ 1.1
1294     // TreeView.TopItem.Expanded := True; //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申
1295     // TreeView.Selected := TreeView.Items[0]; //鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1296     SetContent(nil); //鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申
1297    
1298     //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申
1299     wp.length := sizeof(wp);
1300     wp.rcNormalPosition.Top := GikoSys.Setting.WindowTop;
1301     wp.rcNormalPosition.Left := GikoSys.Setting.WindowLeft;
1302     wp.rcNormalPosition.Bottom := GikoSys.Setting.WindowTop + GikoSys.Setting.WindowHeight;
1303     wp.rcNormalPosition.Right := GikoSys.Setting.WindowLeft + GikoSys.Setting.WindowWidth;
1304     wp.showCmd := SW_HIDE;
1305     SetWindowPlacement(Handle, @wp);
1306    
1307     // SetBounds(GikoSys.Setting.WindowLeft, GikoSys.Setting.WindowTop,
1308     // GikoSys.Setting.WindowWidth, GikoSys.Setting.WindowHeight);
1309     if GikoSys.Setting.WindowMax then
1310 yoffy 1.248 WindowState := wsMaximized;
1311 hi_ 1.1
1312     //鐃?鐃?鐃?鐃?鐃緒申
1313     try
1314     FileName := GikoSys.GetAppDir + 'gikoNavi.avi';
1315     if FileExists(FileName) then
1316     Animate.FileName := FileName;
1317     except
1318     end;
1319    
1320     //鐃?鐃?鐃?鐃?
1321     FNameCookie := '';
1322     FMailCookie := '';
1323    
1324     //鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1325     AllItemAction.Checked := True;
1326 yoffy 1.126 AllResAction.Checked := True;
1327 hi_ 1.1
1328     //TreeView鐃緒申鐃緒申鐃緒申鐃?鐃緒申ToolTip鐃緒申鐃緒申鐃?鐃緒申
1329     Style := GetWindowLong(TreeView.Handle, GWL_STYLE);
1330     Style := Style or TVS_NOTOOLTIPS;
1331     SetWindowLong(TreeView.Handle, GWL_STYLE, Style);
1332    
1333     // 鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1334     TreeView.Align := alClient;
1335 yoffy 1.57 FavoriteTreeView.Align := alClient;
1336 hi_ 1.1 FavoriteTreeView.Visible := False;
1337    
1338     //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1339     // FBrowserSizeFlag := False;
1340     // FBrowserSizeHeight := ViewPanel.Height;
1341    
1342     FBrowserSizeHeight := GikoSys.Setting.ListHeight;
1343     FBrowserSizeWidth := GikoSys.Setting.ListWidth;
1344    
1345     ArrangeAction.Checked := not (GikoSys.Setting.ListOrientation = gloVertical);
1346     ArrangeAction.Execute;
1347    
1348     if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1349     case GikoSys.Setting.ListWidthState of
1350     glsMax: begin
1351     ViewPanel.Width := 1;
1352 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
1353     BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
1354 hi_ 1.1 end;
1355     glsMin: begin
1356     ViewPanel.Width := GikoSys.Setting.ListWidth;
1357 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
1358     BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
1359 hi_ 1.1 end;
1360     else begin
1361     ViewPanel.Width := GikoSys.Setting.ListWidth;
1362 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
1363     BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
1364 hi_ 1.1 end;
1365     end;
1366     end else begin
1367     case GikoSys.Setting.ListHeightState of
1368     glsMax: begin
1369     ViewPanel.Height := 1;
1370 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1371     BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1372 hi_ 1.1 end;
1373     glsMin: begin
1374     ViewPanel.Height := GikoSys.Setting.ListHeight;
1375 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1376     BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1377 hi_ 1.1 end;
1378     else begin
1379     ViewPanel.Height := GikoSys.Setting.ListHeight;
1380 yoffy 1.2 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1381     BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1382 hi_ 1.1 end;
1383     end;
1384     end;
1385    
1386     //鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1387     // ProgressBar.Visible := False;
1388     ProgressBar.Parent := StatusBar;
1389     ProgressBar.Top := 2;
1390     ProgressBar.Left := 0;
1391     ProgressBar.Width := StatusBar.Panels[0].Width;
1392     ProgressBar.Height := StatusBar.Height - 2;
1393     ProgressBar.Position := 0;
1394    
1395     //鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃?
1396     FControlThread := TThreadControl.Create(True);
1397     FControlThread.MaxThreadCount := 1;
1398     FControlThread.Resume;
1399     FControlThread.OnDownloadEnd := DownloadEnd;
1400     FControlThread.OnDownloadMsg := DownloadMsg;
1401     FControlThread.OnWork := Work;
1402     FControlThread.OnWorkBegin := WorkBegin;
1403     FControlThread.OnWorkEnd := WorkEnd;
1404     // ProgressPanel.Width := FControlThread.MaxThreadCount * 12;
1405    
1406 yoffy 1.51 // 鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1407     SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1408 yoffy 1.2
1409 hi_ 1.1 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申
1410     SetBrowserTabState;
1411    
1412     BrowserBoardNameLabel.Caption := '';
1413     BrowserNameLabel.Caption := '';
1414     FWorkCount := 0;
1415    
1416     FTabHintIndex := -1;
1417    
1418     //鐃緒申鐃緒申鐃?鐃?鐃?
1419     SetLinkBar;
1420    
1421     //鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?
1422     SetMenuFont;
1423    
1424     //鐃?鐃?鐃緒申鐃?鐃?Wrapable
1425     ListToolBar.Wrapable := GikoSys.Setting.ListToolBarWrapable;
1426     BrowserToolBar.Wrapable := GikoSys.Setting.BrowserToolBarWrapable;
1427    
1428 yoffy 1.236 KeepDefaultToolButton(StdToolBar, TmpToolBar);
1429     KeepDefaultToolButton(ListToolBar, TmpToolBar);
1430     KeepDefaultToolButton(BrowserToolBar, TmpToolBar);
1431 h677 1.234
1432 yoffy 1.236 MakeDefaultINIFile();
1433 yoffy 1.2 //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1434     ReadToolBarSetting(ActionList, StdToolBar);
1435     ReadToolBarSetting(ActionList, ListToolBar);
1436 yoffy 1.51 try
1437     for i := ListToolBar.ControlCount - 1 downto 0 do
1438     begin
1439     if ListToolBar.Controls[ i ].Action = SelectItemAction then
1440     begin
1441     // 鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申
1442     if (i + 1) < ListToolBar.ControlCount then
1443     if ListToolBar.Controls[ i + 1 ] is TToolButton then
1444     if TToolButton( ListToolBar.Controls[ i + 1 ] ).Style = tbsSeparator then
1445     ListToolBar.Controls[ i + 1 ].Visible := False;
1446    
1447     // 鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃緒申
1448     ListToolBar.Controls[ i ].Visible := False;
1449     // 鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃緒申
1450 yoffy 1.239 SelectComboBox.Parent := ListToolBar;
1451 yoffy 1.51 SelectComboBox.Left := ListToolBar.Controls[ i ].Left;
1452     SelectComboBox.Width := GikoSys.Setting.SelectComboBoxWidth;
1453     // 鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申
1454 yoffy 1.239 SelectComboBoxSplitter.Parent := ListToolBar;
1455 yoffy 1.51 SelectComboBoxSplitter.Left := SelectComboBox.Left + SelectComboBox.Width;
1456    
1457     break;
1458     end;
1459     end;
1460     except
1461     end;
1462 yoffy 1.2 ReadToolBarSetting(ActionList, BrowserToolBar);
1463     SetToolBarPopup;
1464 yoffy 1.126 OnlyAHundredRes.Checked := GikoSys.Setting.OnlyAHundredRes;
1465 hi_ 1.1 //鐃?鐃?鐃緒申鐃?鐃?鐃?
1466     AddressComboBox.TabStop := GikoSys.Setting.AddressBarTabStop;
1467    
1468 yoffy 1.2 //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申FormShow鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1469    
1470     //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申
1471     if not FileExists(GikoSys.GetBoardFileName) then begin
1472     msg := '鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申' + #13#10#13#10
1473     + '鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申' + #13#10
1474     + '鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?';
1475     MsgBox(SplashWindow.Handle, msg, '鐃?鐃?鐃?鐃?', MB_OK or MB_ICONINFORMATION);
1476     NewBoardAction.Execute;
1477     end;
1478    
1479     //鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1480     GikoSys.LoadKeySetting(ActionList);
1481    
1482     //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1483     // FLastRoundTime := 0;
1484    
1485     //ResHint
1486     FHint := TResPopup.Create(Self);
1487    
1488 yoffy 1.100 // 鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申
1489 yoffy 1.140 CabinetVisible( False );
1490 yoffy 1.141 if GikoSys.Setting.CabinetVisible then begin
1491     i := CabinetSelectPopupMenu.Items.Count - 1;
1492     if GikoSys.Setting.CabinetIndex = i - 1 then
1493     CabinetHistoryAction.Execute
1494     else if GikoSys.Setting.CabinetIndex = i then
1495     CabinetFavoriteAction.Execute
1496     else begin
1497     if GikoSys.Setting.CabinetIndex < Length( BBSs ) then
1498     ShowBBSTree( BBSs[ GikoSys.Setting.CabinetIndex ] );
1499     CabinetBBSAction.Execute;
1500     end;
1501     end else begin
1502 yoffy 1.248 ShowBBSTreeOld( BBSs[ 0 ] );
1503     PostMessage( Handle, USER_TREECLICK, 0, 0 );
1504 yoffy 1.141 end;
1505 yoffy 1.67
1506 yoffy 1.248 // 鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申 2
1507     FIsIgnoreResize := True;
1508    
1509 yoffy 1.2 //鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申
1510     if GikoSys.Setting.AutoLogin then
1511     LoginAction.Execute;
1512    
1513     //鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?
1514     for i := 1 to ParamCount do begin
1515     MoveToURL(ParamStr(i));
1516     end;
1517     // SetStdToolBar;
1518     // SetLinkBar;
1519 h677 1.22
1520 hi_ 1.32 s := GikoSys.FAbon.NGwordname;
1521     StatusBar.Panels[2].Text := s;
1522     StatusBar.Panels[2].Width := Max(StatusBar.Canvas.TextWidth(s), 100);
1523     StatusBarResize(Sender);
1524 h677 1.187
1525 yoffy 1.236 dummy1.Caption := ItemReservPMenu.Caption;
1526     dummy1.Hint := ItemReservPMenu.Hint;
1527 yoffy 1.216
1528 yoffy 1.236 //Samba24鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?
1529     GikoSys.SambaFileExists();
1530 yoffy 1.2 end;
1531    
1532 yoffy 1.216 // CoolBar 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1533     procedure TGikoForm.SaveCoolBarSettings;
1534 yoffy 1.2 var
1535 yoffy 1.216 i : Integer;
1536     CoolSet : TCoolSet;
1537 yoffy 1.2 begin
1538    
1539 yoffy 1.248 if IsIconic( Handle ) or FIsIgnoreResize then
1540 yoffy 1.216 Exit;
1541 yoffy 1.2
1542 yoffy 1.216 //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Main)
1543     for i := 0 to MAIN_COOLBAND_COUNT - 1 do begin
1544     CoolSet.FCoolID := MainCoolBar.Bands[i].ID;
1545     CoolSet.FCoolWidth := MainCoolBar.Bands[i].Width;
1546     CoolSet.FCoolBreak := MainCoolBar.Bands[i].Break;
1547     GikoSys.Setting.MainCoolSet[i] := CoolSet;
1548     end;
1549     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Board)
1550     for i := 0 to LIST_COOLBAND_COUNT - 1 do begin
1551     CoolSet.FCoolID := ListCoolBar.Bands[i].ID;
1552     CoolSet.FCoolWidth := ListCoolBar.Bands[i].Width;
1553     CoolSet.FCoolBreak := ListCoolBar.Bands[i].Break;
1554     GikoSys.Setting.ListCoolSet[i] := CoolSet;
1555     end;
1556     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Browser)
1557     for i := 0 to BROWSER_COOLBAND_COUNT - 1 do begin
1558     CoolSet.FCoolID := BrowserCoolBar.Bands[i].ID;
1559     CoolSet.FCoolWidth := BrowserCoolBar.Bands[i].Width;
1560     CoolSet.FCoolBreak := BrowserCoolBar.Bands[i].Break;
1561     GikoSys.Setting.BrowserCoolSet[i] := CoolSet;
1562 yoffy 1.2 end;
1563    
1564 yoffy 1.216 end;
1565 yoffy 1.2
1566 yoffy 1.216 // CoolBar 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1567     procedure TGikoForm.LoadCoolBarSettings;
1568     var
1569     i : Integer;
1570     CoolSet : TCoolSet;
1571     begin
1572 yoffy 1.2
1573 hi_ 1.1 //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Main)
1574     MainCoolBar.Bands.BeginUpdate;
1575     try
1576 yoffy 1.216 // for i := 0 to MainCoolBar.Bands.Count - 1 do begin
1577     for i := MAIN_COOLBAND_COUNT - 1 downto 0 do begin
1578 hi_ 1.1 CoolSet := GikoSys.Setting.MainCoolSet[i];
1579     if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then
1580     Continue;
1581     MainCoolBar.Bands.FindItemID(CoolSet.FCoolID).Index := i;
1582     MainCoolBar.Bands[i].Break := CoolSet.FCoolBreak;
1583     MainCoolBar.Bands[i].Width := CoolSet.FCoolWidth;
1584     end;
1585     finally
1586     MainCoolBar.Bands.EndUpdate;
1587     end;
1588    
1589     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Board)
1590     ListCoolBar.Bands.BeginUpdate;
1591     try
1592 yoffy 1.216 // for i := 0 to ListCoolBar.Bands.Count - 1 do begin
1593     for i := LIST_COOLBAND_COUNT - 1 downto 0 do begin
1594 hi_ 1.1 CoolSet := GikoSys.Setting.ListCoolSet[i];
1595     if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then
1596     Continue;
1597     ListCoolBar.Bands.FindItemID(CoolSet.FCoolID).Index := i;
1598     ListCoolBar.Bands[i].Break := CoolSet.FCoolBreak;
1599     ListCoolBar.Bands[i].Width := CoolSet.FCoolWidth;
1600     end;
1601     finally
1602     ListCoolBar.Bands.EndUpdate;
1603     end;
1604    
1605     //鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申(Browser)
1606     BrowserCoolBar.Bands.BeginUpdate;
1607     try
1608 yoffy 1.216 // for i := 0 to BrowserCoolBar.Bands.Count - 1 do begin
1609     for i := BROWSER_COOLBAND_COUNT - 1 downto 0 do begin
1610 hi_ 1.1 CoolSet := GikoSys.Setting.BrowserCoolSet[i];
1611     if (CoolSet.FCoolID = -1) or (CoolSet.FCoolWidth = -1) then
1612     Continue;
1613     BrowserCoolBar.Bands.FindItemID(CoolSet.FCoolID).Index := i;
1614     BrowserCoolBar.Bands[i].Break := CoolSet.FCoolBreak;
1615     BrowserCoolBar.Bands[i].Width := CoolSet.FCoolWidth;
1616     end;
1617     finally
1618     BrowserCoolBar.Bands.EndUpdate;
1619     end;
1620    
1621     end;
1622 yoffy 1.216
1623     //
1624     //
1625     //
1626     procedure TGikoForm.FormShow(Sender: TObject);
1627     begin
1628     ShowWindow(Application.Handle, SW_HIDE);
1629    
1630     //FormCreate鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申FormShow鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1631     //鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申
1632     StdToolBarVisibleAction.Checked := GikoSys.Setting.StdToolBarVisible;
1633     StdToolBarVisibleActionExecute( nil );
1634     AddressBarVisibleAction.Checked := GikoSys.Setting.AddressBarVisible;
1635     AddressBarVisibleActionExecute( nil );
1636     LinkBarVisibleAction.Checked := GikoSys.Setting.LinkBarVisible;
1637     LinkBarVisibleActionExecute( nil );
1638     ListToolBarVisibleAction.Checked := GikoSys.Setting.ListToolBarVisible;
1639     ListToolBarVisibleActionExecute( nil );
1640     ListNameBarVisibleAction.Checked := GikoSys.Setting.ListNameBarVisible;
1641     ListNameBarVisibleActionExecute( nil );
1642     BrowserToolBarVisibleAction.Checked := GikoSys.Setting.BrowserToolBarVisible;
1643     BrowserToolBarVisibleActionExecute( nil );
1644     BrowserNameBarVisibleAction.Checked := GikoSys.Setting.BrowserNameBarVisible;
1645     BrowserNameBarVisibleActionExecute( nil );
1646    
1647     //鐃?鐃緒申鐃?鐃?鐃?鐃?
1648     BrowserTabVisibleAction.Checked := GikoSys.Setting.BrowserTabVisible;
1649     BrowserTabVisibleActionExecute(nil);
1650    
1651     if GikoSys.Setting.BrowserTabPosition = gtpTop then begin
1652     BrowserTabTopAction.Checked := True;
1653     BrowserTabTopActionExecute(nil);
1654     end else begin
1655     BrowserTabBottomAction.Checked := True;
1656     BrowserTabBottomActionExecute(nil);
1657     end;
1658    
1659     if GikoSys.Setting.BrowserTabStyle = gtsTab then begin
1660     BrowserTabTabStyleAction.Checked := True;
1661     BrowserTabTabStyleActionExecute(nil);
1662     end else if GikoSys.Setting.BrowserTabStyle = gtsButton then begin
1663     BrowserTabButtonStyleAction.Checked := True;
1664     BrowserTabButtonStyleActionExecute(nil);
1665     end else begin
1666     BrowserTabFlatStyleAction.Checked := True;
1667     BrowserTabFlatStyleActionExecute(nil);
1668     end;
1669    
1670     // CoolBar 鐃緒申鐃緒申
1671     LoadCoolBarSettings;
1672 yoffy 1.248
1673     FIsIgnoreResize := False;
1674 yoffy 1.239 end;
1675 yoffy 1.216
1676 hi_ 1.1 procedure TGikoForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
1677     begin
1678 yoffy 1.236 if ( GikoSys.Setting.ShowDialogForEnd ) and
1679     (MessageDlg('鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?', mtConfirmation,[mbOk, mbCancel], 0) = mrCancel ) then begin
1680     CanClose := false;
1681     Exit;
1682     end else begin
1683     CanClose := True;
1684     end;
1685 h677 1.241 //Application.HookMainWindow(Hook);
1686     Application.UnhookMainWindow(Hook);
1687     Application.Terminate;
1688     end;
1689    
1690     procedure TGikoForm.FormDestroy(Sender: TObject);
1691     var
1692     i: Integer;
1693     // CoolSet: TCoolSet;
1694     wp: TWindowPlacement;
1695     begin
1696 h677 1.181 // Application.OnDeactivate := nil;
1697     // Self.OnDeactivate := nil;
1698 yoffy 1.236 try
1699 h677 1.234 //column鐃緒申
1700     if GetActiveList is TBBS then begin
1701     for i := 0 to ListView.Columns.Count - 1 do
1702     GikoSys.Setting.BBSColumnWidth[i] := ListView.Column[i].Width;
1703     end else if GetActiveList is TCategory then begin
1704     for i := 0 to ListView.Columns.Count - 1 do
1705     GikoSys.Setting.CategoryColumnWidth[i] := ListView.Column[i].Width;
1706     end else if GetActiveList is TBoard then begin
1707     for i := 0 to ListView.Columns.Count - 1 do
1708     GikoSys.Setting.BoardColumnWidth[i] := ListView.Column[i].Width;
1709     end;
1710 yoffy 1.236 except
1711     end;
1712     try
1713 h677 1.234 //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申
1714     wp.length := sizeof(wp);
1715     GetWindowPlacement(Handle, @wp);
1716     GikoSys.Setting.WindowTop := wp.rcNormalPosition.Top;
1717     GikoSys.Setting.WindowLeft := wp.rcNormalPosition.Left;
1718     GikoSys.Setting.WindowHeight := wp.rcNormalPosition.Bottom - wp.rcNormalPosition.Top;
1719     GikoSys.Setting.WindowWidth := wp.rcNormalPosition.Right - wp.rcNormalPosition.Left;
1720     GikoSys.Setting.WindowMax := WindowState = wsMaximized;
1721    
1722     GikoSys.Setting.ListStyle := ListView.ViewStyle;
1723     GikoSys.Setting.CabinetVisible := CabinetVisibleAction.Checked;
1724     GikoSys.Setting.CabinetWidth := CabinetPanel.Width;
1725     GikoSys.Setting.ListHeight := FBrowserSizeHeight;
1726     GikoSys.Setting.ListWidth := FBrowserSizeWidth;
1727     if ArrangeAction.Checked then
1728     GikoSys.Setting.ListOrientation := gloVertical
1729     else
1730     GikoSys.Setting.ListOrientation := gloHorizontal;
1731     GikoSys.Setting.MessegeBarHeight := MessagePanel.Height;
1732 yoffy 1.236 except
1733 yoffy 1.2 end;
1734    
1735 yoffy 1.216 // 鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申 CoolBar 鐃緒申鐃緒申
1736     // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1737 h677 1.223 {
1738 yoffy 1.216 // CoolBar 鐃緒申鐃緒申
1739     SaveCoolBarSettings;
1740 yoffy 1.236 }
1741     try
1742 h677 1.234 GikoSys.Setting.WriteWindowSettingFile;
1743     GikoSys.Setting.WriteNameMailSettingFile;
1744 yoffy 1.236 except
1745     end;
1746 yoffy 1.2
1747     //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1748 hi_ 1.1 try
1749 yoffy 1.236 //FavoriteDM鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1750 yoffy 1.2 FavoriteDM.WriteFavorite;
1751 yoffy 1.236 FavoriteDM.Clear;
1752 hi_ 1.1 except
1753     end;
1754    
1755     try
1756     //鐃?鐃?鐃?鐃緒申鐃?鐃?
1757 h677 1.234 //NotSelectTabCloseAction.Execute;
1758     {if BrowserTab.Tabs.Count >= 1 then begin
1759 hi_ 1.1 DeleteTab(TThreadItem(BrowserTab.Tabs.Objects[0]));
1760     end;
1761 h677 1.234 }
1762 hi_ 1.1 except
1763     end;
1764    
1765 h677 1.224 try
1766 yoffy 1.236 TreeView.Items.BeginUpdate;
1767     for i := TreeView.Items.Count - 1 downto 0 do begin
1768     TreeView.Items[i].Free;
1769     end;
1770     TreeView.Items.Clear;
1771     TreeView.Items.EndUpdate;
1772 h677 1.224 except
1773     end;
1774 h677 1.230
1775 hi_ 1.1 //鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1776     try
1777 yoffy 1.236 //AddressHistoryDM鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?
1778 hi_ 1.1 AddressHistoryDM.WriteHistory(AddressComboBox.Items, GikoSys.Setting.AddressHistoryCount);
1779     except
1780     end;
1781    
1782 h677 1.234 //鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申
1783 hi_ 1.1 try
1784 h677 1.234 SaveHistory;
1785 hi_ 1.1 except
1786     end;
1787 yoffy 1.236 try
1788     try
1789     ClearHistory;
1790     except
1791     end;
1792     finally
1793     FHistoryList.Free;
1794     end;
1795 h677 1.221
1796 h677 1.182 //鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申&鐃?鐃緒申
1797     try
1798     RoundList.SaveRoundFile;
1799     except
1800     end;
1801 yoffy 1.236 try
1802 h677 1.234 try
1803 yoffy 1.236 RoundList.Clear;
1804 h677 1.234 except
1805     end;
1806 yoffy 1.236 finally
1807     RoundList.Free;
1808     end;
1809 h677 1.182
1810 yoffy 1.236 try
1811 h677 1.234 try
1812     FControlThread.Terminate;
1813 yoffy 1.236 FControlThread.WaitFor;
1814 h677 1.234 except
1815 h677 1.219 end;
1816 yoffy 1.236 finally
1817     FControlThread.Free;
1818     end;
1819 h677 1.230
1820 yoffy 1.155 // TBBS 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申 TCategory, TBoard, TThreadItem 鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1821     // TBoard, TThreadItem 鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申
1822     // BoardPluteIns 鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1823 yoffy 1.126 try
1824 h677 1.220 for i := Length( BBSs ) - 1 downto 0 do begin
1825 h677 1.153 if BBSs[ i ] <> nil then
1826     BBSs[ i ].Free;
1827     BBSs[ i ] := nil;
1828     end;
1829     except
1830     end;
1831 yoffy 1.155
1832 h677 1.153 try
1833 h677 1.220 for i := Length( BoardPlugIns ) - 1 downto 0 do begin
1834 yoffy 1.126 if BoardPlugIns[ i ] <> nil then
1835     BoardPlugIns[ i ].Free;
1836     BoardPlugIns[ i ] := nil;
1837     end;
1838     except
1839     end;
1840 yoffy 1.124
1841 h677 1.234 try
1842 yoffy 1.236 if FEvent <> nil then
1843     FEvent.Free;
1844 h677 1.181
1845 yoffy 1.2 //Hint鐃?鐃緒申
1846     if FHint <> nil then begin
1847     FHint.ReleaseHandle;
1848     FHint.Free;
1849     FHint := nil;
1850     end;
1851     //Preview鐃?鐃緒申
1852     if TPreviewBrowser <> nil then begin
1853     FPreviewBrowser.Free;
1854     FPreviewBrowser := nil;
1855     end;
1856     except
1857     end;
1858 h677 1.230
1859 hi_ 1.1 end;
1860    
1861     //鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?
1862     procedure TGikoForm.FormClose(Sender: TObject; var Action: TCloseAction);
1863     begin
1864 h677 1.230 end;
1865 hi_ 1.1 //鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃?鐃?
1866     procedure TGikoForm.CabinetPanelHide(Sender: TObject);
1867     begin
1868     CabinetVisibleAction.Execute;
1869     // CabinetPanelVisible(false);
1870     end;
1871    
1872     procedure TGikoForm.ReloadBBS;
1873 yoffy 1.123 var
1874     i : Integer;
1875 yoffy 1.149 item : TBBSMenuItem;
1876 hi_ 1.1 begin
1877     //鐃?鐃?鐃?鐃緒申鐃?鐃?
1878     NotSelectTabCloseAction.Execute;
1879     if BrowserTab.Tabs.Count >= 1 then
1880     DeleteTab(TThreadItem(BrowserTab.Tabs.Objects[0]));
1881     //TreeView鐃?鐃緒申鐃?鐃?BBS2ch.Free鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申XP鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃?鐃緒申鐃?
1882     TreeView.Items.Clear;
1883    
1884     //BBS鐃?鐃緒申
1885 yoffy 1.146 try
1886     for i := Length( BBSs ) - 1 downto 0 do begin
1887     if BBSs[ i ] <> nil then
1888     BBSs[ i ].Free;
1889     BBSs[ i ] := nil;
1890     end;
1891     except
1892 yoffy 1.126 end;
1893 hi_ 1.1
1894 yoffy 1.123 ActiveList := nil;
1895 hi_ 1.1
1896     FTreeType := gttNone;
1897    
1898 yoffy 1.210 GikoSys.ListBoardFile; //鐃?鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申
1899 yoffy 1.148 // 鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1900     for i := CabinetSelectPopupMenu.Items.Count - 1 downto 0 do begin
1901     try
1902     if CabinetSelectPopupMenu.Items[ i ] is TBBSMenuItem then begin
1903 yoffy 1.155 CabinetSelectPopupMenu.Items[ i ].Free;
1904     CabinetMenu.Items[ i ].Free;
1905 yoffy 1.148 end;
1906     except
1907     end;
1908     end;
1909     // 鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申
1910     for i := Length( BBSs ) - 1 downto 0 do begin
1911     try
1912     item := TBBSMenuItem.Create( PopupMenu );
1913     item.Caption := BBSs[ i ].Title;
1914     item.Data := BBSs[ i ];
1915     item.OnClick := BBSMenuItemOnClick;
1916     CabinetSelectPopupMenu.Items.Insert( 0, item );
1917     item := TBBSMenuItem.Create( PopupMenu );
1918     item.Caption := BBSs[ i ].Title;
1919     item.Data := BBSs[ i ];
1920     item.OnClick := BBSMenuItemOnClick;
1921     CabinetMenu.Insert( 0, item );
1922     except
1923     end;
1924     end;
1925 yoffy 1.123 ShowBBSTree( BBSs[ 0 ] );
1926 yoffy 1.143
1927     // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1928 yoffy 1.146 SaveHistory;
1929 h677 1.219 ClearHistory;
1930 yoffy 1.143 LoadHistory;
1931    
1932     //鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
1933 h677 1.231 FavoriteDM.Clear;
1934 yoffy 1.143 FavoriteDM.ReadFavorite;
1935     SetLinkBar;
1936    
1937 hi_ 1.1 end;
1938    
1939     //鐃?鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申
1940 yoffy 1.123 procedure TGikoForm.SetBoardTreeNode(
1941     inBBS : TBBS
1942     );
1943 hi_ 1.1 var
1944 yoffy 1.120 i, j, k: integer;
1945 hi_ 1.1 Root: TTreeNode;
1946     CategoryNode: TTreeNode;
1947     BoardNode: TTreeNode;
1948     Category: TCategory;
1949     Board: TBoard;
1950     begin
1951 yoffy 1.112 // 鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申
1952 yoffy 1.133 FActiveBBS := inBBS;
1953 hi_ 1.1 TreeView.Items.BeginUpdate;
1954     TreeView.Items.Clear;
1955     try
1956 yoffy 1.210 if not inBBS.IsBoardFileRead then
1957     GikoSys.ReadBoardFile( inBBS );
1958 yoffy 1.123 try
1959     if SplashWindow <> nil then
1960 yoffy 1.210 SplashWindow.ProgressBar.Max := inBBS.Count;
1961 yoffy 1.123 except
1962     end;
1963    
1964     Root := TreeView.Items.Add( nil, inBBS.Title );
1965     Root.ImageIndex := ITEM_ICON_2CH1;
1966     Root.SelectedIndex := ITEM_ICON_2CH2;
1967     Root.Data := inBBS;
1968     for i := 0 to inBBS.Count - 1 do begin
1969     Category := TCategory(inBBS.Items[i]);
1970     CategoryNode := TreeView.Items.AddChild(Root, Category.Title);
1971     CategoryNode.Data := Category;
1972     CategoryNode.ImageIndex := ITEM_ICON_CATEGORY1;
1973     CategoryNode.SelectedIndex := ITEM_ICON_CATEGORY2;
1974 hi_ 1.1
1975 yoffy 1.123 for j := 0 to Category.Count - 1 do begin
1976     Board := TBoard(Category.Items[j]);
1977     Board.BeginUpdate;
1978     BoardNode := TreeView.Items.AddChild(CategoryNode, Board.Title);
1979     BoardNode.Data := Board;
1980     //if (Board.LastGetTime = 0) or (Board.LastGetTime = ZERO_DATE) then begin
1981     if not Board.IsLogFile then begin
1982     BoardNode.ImageIndex := ITEM_ICON_BOARD_NOSUBJECT;
1983     BoardNode.SelectedIndex := ITEM_ICON_BOARD_NOSUBJECT;
1984     end else begin
1985     BoardNode.ImageIndex := ITEM_ICON_BOARD1;
1986     BoardNode.SelectedIndex := ITEM_ICON_BOARD2;
1987     for k := 0 to Board.Count - 1 do begin
1988     if Board.Items[ k ].IsLogFile then begin
1989     BoardNode.ImageIndex := ITEM_ICON_BOARD_LOG;
1990     BoardNode.SelectedIndex := ITEM_ICON_BOARD_LOG;
1991 yoffy 1.120
1992 yoffy 1.123 Break;
1993 yoffy 1.120 end;
1994     end;
1995 yoffy 1.112 end;
1996 yoffy 1.123 Board.EndUpdate;
1997     end;
1998 hi_ 1.1
1999 yoffy 1.123 CategoryNode.Expanded := Category.NodeExpand;
2000 hi_ 1.1
2001 yoffy 1.123 if SplashWindow <> nil then begin
2002     SplashWindow.ProgressBar.StepIt;
2003     Application.ProcessMessages;
2004 hi_ 1.1 end;
2005     end;
2006     finally
2007     TreeView.Items.EndUpdate;
2008     end;
2009     end;
2010    
2011 yoffy 1.123 function TGikoForm.SetCategoryListItem(ABBS2ch: TBBS): Integer;
2012 hi_ 1.1 const
2013     COLUMN: array[0..0] of string = ('鐃?鐃?鐃?鐃緒申鐃緒申');
2014     var
2015     ListColumn: TListColumn;
2016     i: Integer;
2017     begin
2018     ListView.Items.BeginUpdate;
2019     try
2020     Screen.Cursor := crHourGlass;
2021    
2022     ListView.Columns.Clear;
2023     for i := 0 to Length(COLUMN) - 1 do begin
2024     ListColumn := ListView.Columns.Add;
2025     ListColumn.Caption := COLUMN[i];
2026     ListColumn.Width := GikoSys.Setting.BBSColumnWidth[i];
2027     end;
2028    
2029     ListView.Items.Count := 0;
2030     ListView.Items.Clear;
2031     ListView.Items.Count := ABBS2ch.Count;
2032    
2033     // UpFolderAction.Enabled := False;
2034     // AllItemAction.Enabled := False;
2035     // LogItemAction.Enabled := False;
2036     // NewItemAction.Enabled := False;
2037     // SelectItemAction.Enabled := False;
2038     // ListDownloadToolButton.Enabled := False;
2039     // BoardReservToolButton.Enabled := False;
2040     // ListThreadDownloadToolButton.Enabled := False;
2041    
2042     ListNameLabel.Caption := ABBS2ch.Title;
2043     FolderImage.Picture := nil;
2044     ItemIcon16.GetBitmap(1, FolderImage.Picture.Bitmap);
2045    
2046 yoffy 1.2 FSortIndex := 0;
2047     FSortOrder := False;
2048     ListViewColumnClick(nil, ListView.Column[0]);
2049    
2050 hi_ 1.1 Result := ABBS2ch.Count;
2051     finally
2052     Screen.Cursor := crDefault;
2053     ListView.Items.EndUpdate;
2054     end;
2055     end;
2056    
2057     function TGikoForm.SetBoardListItem(Category: TCategory): Integer;
2058     const
2059     COLUMN: array[0..2] of string = ('鐃緒申鐃緒申', '鐃緒申鐃緒申鐃?鐃緒申', '鐃緒申鐃緒申鐃緒申鐃緒申');
2060     var
2061     ListColumn: TListColumn;
2062     i: Integer;
2063     begin
2064     ListView.Items.BeginUpdate;
2065     try
2066     Screen.Cursor := crHourGlass;
2067    
2068     ListView.Columns.Clear;
2069     for i := 0 to Length(COLUMN) - 1 do begin
2070     ListColumn := ListView.Columns.Add;
2071     ListColumn.Caption := COLUMN[i];
2072     ListColumn.Width := GikoSys.Setting.CategoryColumnWidth[i];
2073     end;
2074    
2075     ListView.Items.Count := 0;
2076     ListView.Items.Clear;
2077     ListView.Items.Count := Category.Count;
2078    
2079     // UpFolderAction.Enabled := True;
2080     // AllItemAction.Enabled := False;
2081     // LogItemAction.Enabled := False;
2082     // NewItemAction.Enabled := False;
2083     // SelectItemAction.Enabled := False;
2084     // ListDownloadToolButton.Enabled := False;
2085     // BoardReservToolButton.Enabled := False;
2086     // ListThreadDownloadToolButton.Enabled := False;
2087    
2088     ListNameLabel.Caption := Category.Title;
2089     FolderImage.Picture := nil;
2090     ItemIcon16.GetBitmap(3, FolderImage.Picture.Bitmap);
2091    
2092 yoffy 1.2 FSortIndex := 0;
2093     FSortOrder := False;
2094     ListViewColumnClick(nil, ListView.Column[0]);
2095    
2096 hi_ 1.1 Result := Category.Count;
2097     finally
2098     Screen.Cursor := crDefault;
2099     ListView.Items.EndUpdate;
2100     end;
2101     end;
2102    
2103     function TGikoForm.SetThreadListItem(Board: TBoard): Integer;
2104     const
2105 h677 1.199 COLUMN: array[0..7] of string = ('鐃?鐃緒申鐃?鐃?鐃緒申', '鐃?鐃?鐃緒申鐃?', '鐃緒申鐃緒申', '鐃?鐃緒申',
2106     '鐃緒申鐃緒申', '鐃緒申鐃緒申鐃?鐃緒申', '鐃緒申鐃緒申鐃緒申鐃緒申', '鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申');
2107     COLUMN_ALIGNMENT: array[0..7] of TAlignment = (taLeftJustify, taRightJustify,
2108 hi_ 1.1 taRightJustify, taRightJustify,
2109     taRightJustify, taLeftJustify,
2110 h677 1.199 taLeftJustify, taLeftJustify);
2111 hi_ 1.1 //No, 鐃?鐃緒申鐃?鐃?鐃緒申, 鐃?鐃?鐃緒申鐃?, 鐃緒申鐃緒申鐃?鐃緒申, 鐃緒申鐃緒申鐃緒申鐃緒申
2112     var
2113     ListColumn: TListColumn;
2114     i: Integer;
2115     begin
2116     ListView.Items.BeginUpdate;
2117     try
2118     Screen.Cursor := crHourGlass;
2119    
2120 yoffy 1.51 // 鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
2121     // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
2122     if ListView.Columns.Count <> (High( COLUMN ) - Low( COLUMN ) + 1) then
2123     begin
2124     ListView.Columns.Clear;
2125     for i := 0 to Length(COLUMN) - 1 do begin
2126     ListColumn := ListView.Columns.Add;
2127     ListColumn.Caption := COLUMN[i];
2128     ListColumn.Width := GikoSys.Setting.BoardColumnWidth[i];
2129     ListColumn.Alignment := COLUMN_ALIGNMENT[i];
2130     end;
2131     end;
2132 hi_ 1.1
2133     ListView.Items.Count := 0;
2134     ListView.Items.Clear;
2135    
2136     case GikoForm.ViewType of
2137     gvtAll: ListView.Items.Count := Board.Count;
2138     gvtLog: ListView.Items.Count := Board.GetLogThreadCount;
2139     gvtNew: ListView.Items.Count := Board.GetNewThreadCount;
2140     gvtUser: ListView.Items.Count := Board.GetUserThreadCount;
2141     end;
2142    
2143     ListNameLabel.Caption := Board.Title;
2144     FolderImage.Picture := nil;
2145     ItemIcon16.GetBitmap(5, FolderImage.Picture.Bitmap);
2146    
2147 yoffy 1.2 FSortIndex := 0;
2148     FSortOrder := False;
2149     ListViewColumnClick(nil, ListView.Column[0]);
2150 hi_ 1.1
2151     Result := Board.Count;
2152     finally
2153     Screen.Cursor := crDefault;
2154     ListView.Items.EndUpdate;
2155     end;
2156     end;
2157    
2158     procedure TGikoForm.ListViewData(Sender: TObject; Item: TListItem);
2159     var
2160     // FileName: string;
2161     // DateTime: TDateTime;
2162     BoardCnt: Integer;
2163 yoffy 1.123 BBS: TBBS;
2164 hi_ 1.1 Category: TCategory;
2165     Board: TBoard;
2166     ThreadItem: TThreadItem;
2167     RepStr: string;
2168 yoffy 1.236 ActivListObj : TObject;
2169 hi_ 1.1 begin
2170 yoffy 1.236 ActivListObj := ActiveList;
2171 h677 1.170 if ActivListObj is TBBS then begin
2172     BBS := TBBS(ActivListObj);
2173 yoffy 1.114
2174 hi_ 1.1 ListView.StateImages := nil;
2175    
2176     if BBS = nil then Exit;
2177     if BBS.Count <= 0 then Exit;
2178     if Item = nil then Exit;
2179     if Item.Index > BBS.Count then Exit;
2180     if ListView.Items.Count = 0 then Exit;
2181    
2182 h677 1.196 if not (BBS.Items[Item.index] is TCategory) then Exit;
2183     Category := TCategory(BBS.Items[Item.index]);
2184 hi_ 1.1
2185     if Category = nil then Exit;
2186    
2187     if ListNumberVisibleAction.Checked then
2188     Item.Caption := IntToStr(Category.No) + ': ' + Category.Title
2189     else
2190     Item.Caption := Category.Title;
2191    
2192 yoffy 1.2 Item.ImageIndex := ITEM_ICON_CATEGORY1;
2193 hi_ 1.1 Item.Data := Category;
2194 h677 1.170 end else if ActivListObj is TCategory then begin
2195     Category := TCategory(ActivListObj);
2196 hi_ 1.1
2197     ListView.StateImages := nil;
2198    
2199     if Category = nil then Exit;
2200     if Category.Count <= 0 then Exit;
2201     if Item = nil then Exit;
2202     if Item.Index >= Category.Count then Exit;
2203     if ListView.Items.Count = 0 then Exit;
2204    
2205     if not (Category.Items[Item.Index] is TBoard) then Exit;
2206     Board := TBoard(Category.Items[Item.Index]);
2207    
2208     if Board = nil then Exit;
2209    
2210     if ListNumberVisibleAction.Checked then
2211     Item.Caption := IntToStr(Board.No) + ': ' + Board.Title
2212     else
2213     Item.Caption := Board.Title;
2214    
2215     if Item.SubItems.Count <> 2 then begin
2216     Item.SubItems.Clear;
2217     Item.SubItems.Add('');
2218     Item.SubItems.Add('');
2219     end;
2220    
2221 yoffy 1.2 Item.ImageIndex := ITEM_ICON_BOARD1;
2222 hi_ 1.1
2223     if Board.Round then
2224 yoffy 1.51 Item.SubItems[0] := Board.RoundName // '鐃?鐃緒申'
2225 hi_ 1.1 else
2226     Item.SubItems[0] := '';
2227    
2228     if Board.RoundDate = ZERO_DATE then begin
2229     Item.SubItems[1] := '';
2230     end else
2231     Item.SubItems[1] := FormatDateTime('yyyy/mm/dd hh:mm:ss', Board.RoundDate);
2232     Item.Data := Board;
2233 h677 1.170 end else if ActivListObj is TBoard then begin
2234     Board := TBoard(ActivListObj);
2235 hi_ 1.1
2236     if GikoSys.Setting.ListIconVisible then
2237     ListView.StateImages := StateIconImageList
2238     else
2239     ListView.StateImages := nil;
2240    
2241     case GikoForm.ViewType of
2242     gvtAll: BoardCnt := Board.Count;
2243     gvtLog: BoardCnt := Board.GetLogThreadCount;
2244     gvtNew: BoardCnt := Board.GetNewThreadCount;
2245     gvtUser: BoardCnt := Board.GetUserThreadCount;
2246 yoffy 1.2 else
2247     BoardCnt := 0;
2248 hi_ 1.1 end;
2249    
2250     // if Board = nil then Exit;
2251     if BoardCnt <= 0 then Exit;
2252     if Item = nil then Exit;
2253     if Item.Index > BoardCnt then Exit;
2254     if ListView.Items.Count = 0 then Exit;
2255    
2256     // if not (Board.Items[Item.Index] is TThreadItem) then Exit;
2257    
2258     ThreadItem := nil;
2259     case GikoForm.ViewType of
2260     gvtAll: ThreadItem := TThreadItem(Board.Items[Item.Index]);
2261     gvtLog: ThreadItem := Board.GetLogThread(Item.Index);
2262     gvtNew: ThreadItem := Board.GetNewThread