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.345 - (hide annotations) (download) (as text)
Tue Jun 22 15:41:32 2004 UTC (19 years, 10 months ago) by h677
Branch: MAIN
Changes since 1.344: +135 -51 lines
File MIME type: text/x-pascal
選択している板のLogフォルダをexploreで開く機能を実装。
選択Itemの保存のエラーメッセージをだすようにした

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