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.239 - (hide annotations) (download) (as text)
Mon Apr 5 09:57:24 2004 UTC (20 years ago) by yoffy
Branch: MAIN
Changes since 1.238: +15 -5 lines
File MIME type: text/x-pascal
・キャビネットが非表示で、かつ、最大化された状態で起動しようとすると
 最大化された扱いのまま表示が最大化されない問題を一時的に回避(要修正)。

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