Develop and Download Open Source Software

Browse CVS Repository

Annotation of /gikonavigoeson/gikonavi/GikoDataModule.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.72 - (hide annotations) (download) (as text)
Sun Feb 15 03:42:29 2009 UTC (15 years, 2 months ago) by h677
Branch: MAIN
CVS Tags: v1_60_0_781, v1_60_0_782, v1_60_0_783
Changes since 1.71: +2 -2 lines
File MIME type: text/x-pascal
最新100レス表示の表示数を拡張

1 h677 1.1 unit GikoDataModule;
2    
3     interface
4    
5     uses
6 h677 1.2 SysUtils, Classes, ExtActns, StdActns, ActnList, ImgList, Controls,
7 h677 1.6 {$IF Defined(DELPRO) }
8     SHDocVw,
9     MSHTML,
10     {$ELSE}
11     SHDocVw_TLB,
12     MSHTML_TLB,
13     {$IFEND}
14 h677 1.32 ComCtrls, BrowserRecord, Graphics, Messages, Setting, Dialogs,
15 h677 1.58 ActiveX, GikoSystem, MoveHistoryItem, HistoryList;
16 h677 1.17
17     const
18     CAPTION_NAME: string = '???潟????';
19     USER_SETLINKBAR = WM_USER + 2003;
20    
21     ITEM_ICON_SORT1 = 12; //!< ?純?若???≪?ゃ?潟??/span>
22     ITEM_ICON_SORT2 = 13; //!< ?純?若???≪?ゃ?潟??/span>
23    
24     //???若?????若?≪?ゃ?潟??/span>
25     TOOL_ICON_HEIGHT_MAX = 16; //!< 蕭?????紊с?≪?ゃ?潟??/span>
26     TOOL_ICON_HEIGHT_MIN = 17; //!< 蕭?????絨?≪?ゃ?潟??/span>
27     TOOL_ICON_HEIGHT_NORMAL = 18; //!< 蕭???罔?羣??≪?ゃ?潟??/span>
28     TOOL_ICON_WIDTH_MAX = 19; //!< 綛???紊с?≪?ゃ?潟??/span>
29     TOOL_ICON_WIDTH_MIN = 20; //!< 綛???絨?≪?ゃ?潟??/span>
30     TOOL_ICON_WIDTH_NORMAL = 21; //!< 綛?罔?羣??≪?ゃ?潟??/span>
31    
32     TOOL_ICON_FAV_FOLDER = 30; //!< ??羂????ャ???????????≪?ゃ?潟??/span>
33     TOOL_ICON_FAV_BOARD = 31; //!< ??羂????ャ???帥?≪?ゃ?潟??/span>
34     TOOL_ICON_FAV_THREAD = 32; //!< ??羂????ャ???鴻???≪?ゃ?潟??/span>
35    
36 h677 1.38 //! HTTP
37     PROTOCOL_HTTP : string = 'http://';
38 h677 1.17 //! ???潟?????泣?ゃ????RL
39 h677 1.38 URL_GIKONAVI: string = 'gikonavi.sourceforge.jp/';
40 h677 1.17 //! Monazilla?泣?ゃ????RL
41 h677 1.38 URL_MONAZILLA: string = 'www.monazilla.org/';
42 h677 1.17 //! 2?<??????????RL
43 h677 1.38 URL_2ch: string = 'www.2ch.net/';
44 h677 1.17 //! ???潟????Wiki??RL
45 h677 1.38 URL_Wiki: string = 'gikowiki.dyndns.info/index.php?FAQ';
46 h677 1.17
47     SELECTCOMBOBOX_NAME: string = ''; // '?鴻??????腟?莨惹?膣?#39;;
48     SELECTCOMBOBOX_COLOR: TColor = clWindow;
49 h677 1.1
50 h677 1.11
51 h677 1.1 type
52 h677 1.58
53 h677 1.1 TGikoDM = class(TDataModule)
54 h677 1.6 GikoFormActionList: TActionList;
55     OnlyAHundredResAction: TAction;
56     OnlyKokoResAction: TAction;
57     LoginAction: TAction;
58     NewBoardAction: TAction;
59     LogDeleteAction: TAction;
60     KidokuAction: TAction;
61     StdToolBarVisibleAction: TAction;
62     AddressBarVisibleAction: TAction;
63     LinkBarVisibleAction: TAction;
64 h677 1.4 ListToolBarVisibleAction: TAction;
65 h677 1.6 SearchAction: TAction;
66     GikoNaviWebPageAction: TAction;
67     MonazillaWebPageAction: TAction;
68     BBS2chWebPageAction: TAction;
69     GikoFolderOpenAction: TAction;
70     AboutAction: TAction;
71     SelectTextClearAction: TAction;
72     NameTextClearAction: TAction;
73     MailTextClearAction: TAction;
74     ExitAction: TAction;
75     ListNameBarVisibleAction: TAction;
76     BrowserToolBarVisibleAction: TAction;
77     BrowserNameBarVisibleAction: TAction;
78     MsgBarVisibleAction: TAction;
79     MsgBarCloseAction: TAction;
80     StatusBarVisibleAction: TAction;
81     CabinetBBSAction: TAction;
82     CabinetHistoryAction: TAction;
83     OnlyNewResAction: TAction;
84 h677 1.4 CabinetFavoriteAction: TAction;
85 h677 1.6 CabinetVisibleAction: TAction;
86     ListNumberVisibleAction: TAction;
87     UpFolderAction: TAction;
88     CabinetCloseAction: TAction;
89     IconStyle: TAction;
90     LargeIconAction: TAction;
91     SmallIconAction: TAction;
92     ListIconAction: TAction;
93     DetailIconAction: TAction;
94     MidokuAction: TAction;
95     AllSelectAction: TAction;
96     AllItemAction: TAction;
97     LogItemAction: TAction;
98     NewItemAction: TAction;
99     ThreadRangeAction: TAction;
100     SelectItemAction: TAction;
101     StopAction: TAction;
102     OptionAction: TAction;
103     RoundAction: TAction;
104 h677 1.4 BrowserMaxAction: TAction;
105 h677 1.6 BrowserMinAction: TAction;
106     ScrollTopAction: TAction;
107     ScrollLastAction: TAction;
108     ScrollNewAction: TAction;
109     ScrollKokoAction: TAction;
110     EditorAction: TAction;
111     IEAction: TAction;
112     ShowThreadAction: TAction;
113     ShowBoardAction: TAction;
114     URLCopyAction: TAction;
115     NameCopyAction: TAction;
116     NameURLCopyAction: TAction;
117     ItemReloadAction: TAction;
118     ThreadEditorAction: TAction;
119     BoardIEAction: TAction;
120     SelectItemURLCopyAction: TAction;
121     SelectItemNameCopyAction: TAction;
122     SelectItemNameURLCopyAction: TAction;
123     SelectListReloadAction: TAction;
124 h677 1.4 SelectThreadReloadAction: TAction;
125 h677 1.6 BrowserTabCloseAction: TAction;
126     NotSelectTabCloseAction: TAction;
127     AllTabCloseAction: TAction;
128     KokomadeAction: TAction;
129     ZenbuAction: TAction;
130     KokoResAction: TAction;
131     TreeSelectBoradReload: TAction;
132     TreeSelectThreadReload: TAction;
133     TreeSelectURLCopy: TAction;
134     SelectReservAction: TAction;
135     SelectNewRoundName: TAction;
136     SelectDeleteRound: TAction;
137     KeySettingAction: TAction;
138     ArrangeAction: TAction;
139     ActiveLogDeleteAction: TAction;
140     TreeSelectNameURLCopy: TAction;
141     PaneInitAction: TAction;
142     LeftmostTabSelectAction: TAction;
143     LeftTabSelectAction: TAction;
144 h677 1.4 RightTabSelectAction: TAction;
145 h677 1.6 RightmostTabSelectAction: TAction;
146     FavoriteAddAction: TAction;
147     BoardFavoriteAddAction: TAction;
148     ThreadFavoriteAddAction: TAction;
149     TreeSelectFavoriteAddAction: TAction;
150     FavoriteArrangeAction: TAction;
151     MoveToAction: TAction;
152     BrowserTabVisibleAction: TAction;
153     BrowserTabTopAction: TAction;
154     BrowserTabBottomAction: TAction;
155     BrowserTabTabStyleAction: TAction;
156     BrowserTabButtonStyleAction: TAction;
157     BrowserTabFlatStyleAction: TAction;
158     GikoHelpAction: TAction;
159     KotehanAction: TAction;
160     ToolBarSettingAction: TAction;
161     SelectResAction: TAction;
162     AllResAction: TAction;
163     EditNGAction: TAction;
164 h677 1.4 ReloadAction: TAction;
165 h677 1.6 GoFowardAction: TAction;
166     GoBackAction: TAction;
167     TreeSelectSearchBoardName: TAction;
168     FavoriteTreeViewRenameAction: TAction;
169     FavoriteTreeViewNewFolderAction: TAction;
170     FavoriteTreeViewDeleteAction: TAction;
171     FavoriteTreeViewBrowseFolderAction: TAction;
172     FavoriteTreeViewReloadAction: TAction;
173     FavoriteTreeViewURLCopyAction: TAction;
174     FavoriteTreeViewNameCopyAction: TAction;
175     FavoriteTreeViewNameURLCopyAction: TAction;
176     FavoriteTreeViewLogDeleteAction: TAction;
177     ResRangeAction: TAction;
178     ExportFavoriteFile: TFileSaveAs;
179     FavoriteTreeViewBrowseBoardAction: TAction;
180     FavoriteTreeViewBrowseThreadAction: TAction;
181     UpBoardAction: TAction;
182     KoreCopy: TAction;
183     TreeSelectNameCopy: TAction;
184 h677 1.4 SetFocusForBrowserAction: TAction;
185 h677 1.6 SetFocusForThreadListAction: TAction;
186     SetFocusForCabinetAction: TAction;
187     FileRun1: TFileRun;
188     ThreadlistMaxAndFocusAction: TAction;
189     BrowserMaxAndFocusAction: TAction;
190     SelectItemSaveForHTML: TAction;
191     SelectItemSaveForDat: TAction;
192     LogFolderOpenAction: TAction;
193     TabsSaveAction: TAction;
194     TabsOpenAction: TAction;
195     BrowsBoradHeadAction: TAction;
196     JumpToNumOfResAction: TAction;
197     FavoriteTreeViewCollapseAction: TAction;
198     RightTabCloseAction: TAction;
199     LeftTabCloseAction: TAction;
200     SameIDResAnchorAction: TAction;
201 h677 1.4 IndividualAbon1Action: TAction;
202 h677 1.6 IndividualAbon0Action: TAction;
203     AntiIndividualAbonAction: TAction;
204     AntiIndividualAbonDlgAction: TAction;
205     IndividualAbonID1Action: TAction;
206     IndividualAbonID0Action: TAction;
207     MuteAction: TAction;
208     SortActiveColumnAction: TAction;
209     SortNextColumnAction: TAction;
210     SortPrevColumnAction: TAction;
211     BeLogInOutAction: TAction;
212     UnSelectedListViewAction: TAction;
213     WikiFAQWebPageAction: TAction;
214     ToobarImageList: TImageList;
215 h677 1.19 SaveDialog: TSaveDialog;
216 h677 1.25 ThreadSizeCalcForFileAction: TAction;
217 h677 1.31 SetInputAssistAction: TAction;
218 h677 1.32 OpenFindDialogAction: TAction;
219 h677 1.35 ArchiveItemAction: TAction;
220     LiveItemAction: TAction;
221 h677 1.36 FavoriteTreeViewItemNameCopyAction: TAction;
222 h677 1.41 CloseAllEditorAction: TAction;
223 h677 1.43 PrevMoveHistory: TAction;
224     NextMoveHistory: TAction;
225 h677 1.44 ClickActiveElementAction: TAction;
226     VKDownAction: TAction;
227     VKUpAction: TAction;
228     VKRightAction: TAction;
229     VKLeftAction: TAction;
230 h677 1.45 StoredTaskTrayAction: TAction;
231 h677 1.47 AllImageLinkToClipbordAction: TAction;
232     NewImageLinkToClipBoardAction: TAction;
233 h677 1.49 SetForcusForAddresBarAction: TAction;
234 h677 1.51 NewBoardSearchAction: TAction;
235 h677 1.52 NGWordEditFormAction: TAction;
236 h677 1.57 ScrollPageDownAction: TAction;
237     ScrollPageUpAction: TAction;
238     AllLinkToClipboardAction: TAction;
239     NewLinkToClipboardAction: TAction;
240 h677 1.61 AddIDtoNGWord0Action: TAction;
241     AddIDtoNGWord1Action: TAction;
242 h677 1.66 ExtractSameIDAction: TAction;
243 h677 1.67 ShowTabListAction: TAction;
244 h677 1.69 DereferenceResAction: TAction;
245 h677 1.70 UpdateGikonaviAction: TAction;
246 h677 1.6 procedure EditNGActionExecute(Sender: TObject);
247     procedure ReloadActionExecute(Sender: TObject);
248     procedure GoFowardActionExecute(Sender: TObject);
249     procedure GoBackActionExecute(Sender: TObject);
250     procedure MoveToActionExecute(Sender: TObject);
251     procedure FavoriteAddActionExecute(Sender: TObject);
252 h677 1.4 procedure FavoriteArrangeActionExecute(Sender: TObject);
253 h677 1.6 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
254     procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
255     procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
256     procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
257     procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
258     procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
259     procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
260     procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
261     procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
262     procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
263     procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
264     procedure OnlyAHundredResActionExecute(Sender: TObject);
265     procedure OnlyKokoResActionExecute(Sender: TObject);
266     procedure OnlyNewResActionExecute(Sender: TObject);
267     procedure BrowserMaxActionExecute(Sender: TObject);
268     procedure BrowserMinActionExecute(Sender: TObject);
269     procedure ScrollTopActionExecute(Sender: TObject);
270     procedure ScrollLastActionExecute(Sender: TObject);
271     procedure ScrollNewActionExecute(Sender: TObject);
272 h677 1.4 procedure ScrollKokoActionExecute(Sender: TObject);
273 h677 1.6 procedure ScrollKokoActionUpdate(Sender: TObject);
274     procedure EditorActionExecute(Sender: TObject);
275     procedure IEActionExecute(Sender: TObject);
276     procedure ShowThreadActionExecute(Sender: TObject);
277     procedure ShowBoardActionExecute(Sender: TObject);
278     procedure URLCopyActionExecute(Sender: TObject);
279     procedure NameCopyActionExecute(Sender: TObject);
280     procedure NameURLCopyActionExecute(Sender: TObject);
281     procedure ItemReloadActionExecute(Sender: TObject);
282     procedure BrowserTabCloseActionExecute(Sender: TObject);
283     procedure BrowserTabCloseActionUpdate(Sender: TObject);
284     procedure NotSelectTabCloseActionExecute(Sender: TObject);
285     procedure NotSelectTabCloseActionUpdate(Sender: TObject);
286     procedure AllTabCloseActionExecute(Sender: TObject);
287     procedure ActiveLogDeleteActionExecute(Sender: TObject);
288     procedure LeftmostTabSelectActionExecute(Sender: TObject);
289     procedure LeftmostTabSelectActionUpdate(Sender: TObject);
290     procedure LeftTabSelectActionExecute(Sender: TObject);
291     procedure RightTabSelectActionExecute(Sender: TObject);
292 h677 1.4 procedure RightTabSelectActionUpdate(Sender: TObject);
293 h677 1.6 procedure RightmostTabSelectActionExecute(Sender: TObject);
294     procedure ThreadFavoriteAddActionExecute(Sender: TObject);
295     procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
296     procedure SelectResActionExecute(Sender: TObject);
297     procedure AllResActionExecute(Sender: TObject);
298     procedure ResRangeActionExecute(Sender: TObject);
299     procedure UpBoardActionExecute(Sender: TObject);
300     procedure JumpToNumOfResActionExecute(Sender: TObject);
301     procedure RightTabCloseActionExecute(Sender: TObject);
302     procedure RightTabCloseActionUpdate(Sender: TObject);
303     procedure LeftTabCloseActionExecute(Sender: TObject);
304     procedure DataModuleCreate(Sender: TObject);
305     procedure SearchActionExecute(Sender: TObject);
306     procedure OptionActionExecute(Sender: TObject);
307     procedure RoundActionExecute(Sender: TObject);
308     procedure KeySettingActionExecute(Sender: TObject);
309     procedure KotehanActionExecute(Sender: TObject);
310     procedure ToolBarSettingActionExecute(Sender: TObject);
311     procedure MuteActionExecute(Sender: TObject);
312     procedure TreeSelectBoradReloadExecute(Sender: TObject);
313     procedure TreeSelectThreadReloadExecute(Sender: TObject);
314     procedure TreeSelectURLCopyExecute(Sender: TObject);
315     procedure TreeSelectNameURLCopyExecute(Sender: TObject);
316     procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
317     procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
318     procedure TreeSelectNameCopyExecute(Sender: TObject);
319     procedure LoginActionExecute(Sender: TObject);
320     procedure NewBoardActionExecute(Sender: TObject);
321     procedure LogDeleteActionExecute(Sender: TObject);
322     procedure LogDeleteActionUpdate(Sender: TObject);
323     procedure SelectTextClearActionExecute(Sender: TObject);
324     procedure NameTextClearActionExecute(Sender: TObject);
325     procedure MailTextClearActionExecute(Sender: TObject);
326     procedure ExitActionExecute(Sender: TObject);
327     procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
328     procedure ExportFavoriteFileAccept(Sender: TObject);
329     procedure SelectItemSaveForHTMLExecute(Sender: TObject);
330     procedure SelectItemSaveForDatExecute(Sender: TObject);
331     procedure TabsSaveActionExecute(Sender: TObject);
332     procedure TabsOpenActionExecute(Sender: TObject);
333     procedure BeLogInOutActionExecute(Sender: TObject);
334     procedure BeLogInOutActionUpdate(Sender: TObject);
335     procedure KokomadeActionExecute(Sender: TObject);
336     procedure ZenbuActionExecute(Sender: TObject);
337     procedure KokoResActionExecute(Sender: TObject);
338     procedure KoreCopyExecute(Sender: TObject);
339     procedure SameIDResAnchorActionExecute(Sender: TObject);
340     procedure IndividualAbon1ActionExecute(Sender: TObject);
341     procedure IndividualAbon0ActionExecute(Sender: TObject);
342     procedure AntiIndividualAbonActionExecute(Sender: TObject);
343     procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
344     procedure IndividualAbonID1ActionExecute(Sender: TObject);
345     procedure IndividualAbonID0ActionExecute(Sender: TObject);
346     procedure GikoNaviWebPageActionExecute(Sender: TObject);
347 h677 1.7 procedure MonazillaWebPageActionExecute(Sender: TObject);
348     procedure BBS2chWebPageActionExecute(Sender: TObject);
349     procedure GikoFolderOpenActionExecute(Sender: TObject);
350     procedure AboutActionExecute(Sender: TObject);
351     procedure GikoHelpActionExecute(Sender: TObject);
352     procedure WikiFAQWebPageActionExecute(Sender: TObject);
353     procedure ListNumberVisibleActionExecute(Sender: TObject);
354     procedure UpFolderActionExecute(Sender: TObject);
355     procedure UpFolderActionUpdate(Sender: TObject);
356     procedure IconStyleExecute(Sender: TObject);
357     procedure AllItemActionExecute(Sender: TObject);
358     procedure LogItemActionExecute(Sender: TObject);
359     procedure NewItemActionExecute(Sender: TObject);
360     procedure ThreadRangeActionExecute(Sender: TObject);
361     procedure SelectItemActionExecute(Sender: TObject);
362     procedure ThreadEditorActionExecute(Sender: TObject);
363     procedure BoardIEActionExecute(Sender: TObject);
364     procedure SelectItemURLCopyActionExecute(Sender: TObject);
365     procedure SelectItemURLCopyActionUpdate(Sender: TObject);
366     procedure SelectItemNameCopyActionExecute(Sender: TObject);
367     procedure SelectItemNameCopyActionUpdate(Sender: TObject);
368     procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
369     procedure SelectListReloadActionExecute(Sender: TObject);
370     procedure SelectListReloadActionUpdate(Sender: TObject);
371     procedure SelectThreadReloadActionExecute(Sender: TObject);
372     procedure SelectThreadReloadActionUpdate(Sender: TObject);
373     procedure SelectReservActionExecute(Sender: TObject);
374     procedure SelectReservActionUpdate(Sender: TObject);
375     procedure SelectNewRoundNameExecute(Sender: TObject);
376     procedure SelectDeleteRoundExecute(Sender: TObject);
377     procedure BoardFavoriteAddActionExecute(Sender: TObject);
378     procedure BoardFavoriteAddActionUpdate(Sender: TObject);
379     procedure LogFolderOpenActionExecute(Sender: TObject);
380     procedure LogFolderOpenActionUpdate(Sender: TObject);
381     procedure BrowsBoradHeadActionExecute(Sender: TObject);
382     procedure SortActiveColumnActionExecute(Sender: TObject);
383 h677 1.11 procedure SortNextColumnActionExecute(Sender: TObject);
384     procedure SortPrevColumnActionExecute(Sender: TObject);
385     procedure StdToolBarVisibleActionExecute(Sender: TObject);
386     procedure AddressBarVisibleActionExecute(Sender: TObject);
387     procedure LinkBarVisibleActionExecute(Sender: TObject);
388     procedure ListToolBarVisibleActionExecute(Sender: TObject);
389     procedure ListNameBarVisibleActionExecute(Sender: TObject);
390     procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
391     procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
392     procedure MsgBarVisibleActionExecute(Sender: TObject);
393     procedure MsgBarCloseActionExecute(Sender: TObject);
394     procedure StatusBarVisibleActionExecute(Sender: TObject);
395     procedure CabinetBBSActionExecute(Sender: TObject);
396     procedure CabinetHistoryActionExecute(Sender: TObject);
397     procedure CabinetFavoriteActionExecute(Sender: TObject);
398     procedure CabinetVisibleActionExecute(Sender: TObject);
399     procedure CabinetCloseActionExecute(Sender: TObject);
400     procedure LargeIconActionExecute(Sender: TObject);
401     procedure SmallIconActionExecute(Sender: TObject);
402     procedure ListIconActionExecute(Sender: TObject);
403     procedure DetailIconActionExecute(Sender: TObject);
404     procedure StopActionExecute(Sender: TObject);
405     procedure ArrangeActionExecute(Sender: TObject);
406     procedure PaneInitActionExecute(Sender: TObject);
407     procedure BrowserTabVisibleActionExecute(Sender: TObject);
408     procedure BrowserTabTopActionExecute(Sender: TObject);
409     procedure BrowserTabBottomActionExecute(Sender: TObject);
410     procedure BrowserTabTabStyleActionExecute(Sender: TObject);
411     procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
412     procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
413     procedure SetFocusForBrowserActionExecute(Sender: TObject);
414     procedure SetFocusForBrowserActionUpdate(Sender: TObject);
415     procedure SetFocusForThreadListActionExecute(Sender: TObject);
416     procedure SetFocusForCabinetActionExecute(Sender: TObject);
417     procedure SetFocusForCabinetActionUpdate(Sender: TObject);
418     procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
419     procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
420     procedure UnSelectedListViewActionExecute(Sender: TObject);
421     procedure KidokuActionExecute(Sender: TObject);
422     procedure MidokuActionExecute(Sender: TObject);
423     procedure AllSelectActionExecute(Sender: TObject);
424     procedure AllSelectActionUpdate(Sender: TObject);
425 h677 1.25 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
426 h677 1.31 procedure SetInputAssistActionExecute(Sender: TObject);
427 h677 1.32 procedure OpenFindDialogActionExecute(Sender: TObject);
428 h677 1.35 procedure ArchiveItemActionExecute(Sender: TObject);
429     procedure LiveItemActionExecute(Sender: TObject);
430 h677 1.36 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
431 h677 1.41 procedure CloseAllEditorActionExecute(Sender: TObject);
432     procedure CloseAllEditorActionUpdate(Sender: TObject);
433 h677 1.43 procedure PrevMoveHistoryUpdate(Sender: TObject);
434     procedure PrevMoveHistoryExecute(Sender: TObject);
435     procedure NextMoveHistoryUpdate(Sender: TObject);
436     procedure NextMoveHistoryExecute(Sender: TObject);
437 h677 1.44 procedure ClickActiveElementActionExecute(Sender: TObject);
438     procedure VKDownActionExecute(Sender: TObject);
439     procedure VKUpActionExecute(Sender: TObject);
440     procedure VKRightActionExecute(Sender: TObject);
441     procedure VKLeftActionExecute(Sender: TObject);
442 h677 1.45 procedure StoredTaskTrayActionExecute(Sender: TObject);
443 h677 1.46 procedure LeftTabSelectActionUpdate(Sender: TObject);
444     procedure RightmostTabSelectActionUpdate(Sender: TObject);
445 h677 1.47 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
446     procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
447 h677 1.49 procedure SetForcusForAddresBarActionExecute(Sender: TObject);
448 h677 1.51 procedure NewBoardSearchActionExecute(Sender: TObject);
449 h677 1.57 procedure ScrollPageDownActionExecute(Sender: TObject);
450     procedure ScrollPageUpActionExecute(Sender: TObject);
451     procedure AllLinkToClipboardActionExecute(Sender: TObject);
452     procedure NewLinkToClipboardActionExecute(Sender: TObject);
453 h677 1.61 procedure AddIDtoNGWord0ActionExecute(Sender: TObject);
454     procedure AddIDtoNGWord1ActionExecute(Sender: TObject);
455 h677 1.66 procedure ExtractSameIDActionExecute(Sender: TObject);
456 h677 1.67 procedure ShowTabListActionExecute(Sender: TObject);
457 h677 1.69 procedure DereferenceResActionExecute(Sender: TObject);
458 h677 1.70 procedure UpdateGikonaviActionExecute(Sender: TObject);
459 h677 1.1 private
460     { Private 絎h? }
461 h677 1.17 procedure ClearResFilter;
462     procedure SetResRange(range: Integer);
463 h677 1.18 procedure SetThreadAreaHorNormal;
464     procedure SetThreadAreaHorizontal(gls : TGikoListState);
465     procedure SetThreadAreaVerNormal;
466     procedure SetThreadAreaVertical(gls : TGikoListState);
467     procedure SetThreadReadProperty(read: Boolean);
468 h677 1.19 procedure SelectThreadSaveToFile(dat: Boolean);
469 h677 1.24 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
470 h677 1.25 procedure RecalcThreadSize(limit : Integer);
471 h677 1.35 procedure ClearSelectComboBox;
472 h677 1.41 procedure ClearMailAllEditor();
473     procedure ClearNameTextAllEditor();
474 h677 1.43 procedure MoveURLWithHistory(URL : String);
475     procedure BackToHistory(item: TMoveHistoryItem);
476 h677 1.47 function GetActiveThreadLinks : IHTMLElementCollection;
477 h677 1.57 procedure GetLinkURLs(links : IHTMLElementCollection;
478     URLs : TStringList; const Start: Integer; Exts : TStringList);
479 h677 1.1 public
480     { Public 絎h? }
481 h677 1.23 procedure RepaintStatusBar;
482 h677 1.41 function EditorFormExists(): boolean;
483 h677 1.42 procedure GetTabURLs(AStringList: TStringList);
484     procedure OpenURLs(AStringList: TStringList);
485 h677 1.1 published
486     { Published 絎h? }
487 yoffy 1.9 //! TAction??etActiveContent??nil篁ュ??ф???鴻??????
488 h677 1.1 procedure DependActiveCntentActionUpdate(Sender: TObject);
489 yoffy 1.9 //! TAction??etActiveContent??nil篁ュ????ゃ???違?????c???????????鴻??????
490 h677 1.2 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
491 h677 1.68 //! TAction??ctiveList??TBoard(???号????ф???鴻??????
492     procedure DependActiveListTBoardActionUpdate(Sender: TObject);
493 yoffy 1.9 //! TAction??ctiveList??TBoard?ф???鴻??????
494 h677 1.68 procedure DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
495 h677 1.1 end;
496    
497     var
498     GikoDM: TGikoDM;
499    
500 h677 1.11
501 h677 1.1 implementation
502    
503     uses
504 h677 1.19 Windows, Math, Clipbrd,
505 h677 1.58 Giko, GikoUtil, BoardGroup,
506 h677 1.18 FavoriteArrange, Favorite, MojuUtils,
507 h677 1.4 Editor, ListSelect, Search, Option, Round,
508     KeySetting, Gesture, Kotehan, ToolBarSetting,
509 h677 1.6 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
510 h677 1.17 GikoBayesian, About, ShellAPI,
511 h677 1.8 RoundName, RoundData, Menus, ListViewUtils,
512 h677 1.40 ThreadControl, GikoMessage, InputAssist,
513 h677 1.70 DefaultFileManager, Forms, NewBoardURL, UpdateCheck;
514 h677 1.1
515 h677 1.38 const
516     MSG_ERROR : string = '??????#39;;
517 h677 1.41
518 h677 1.1 {$R *.dfm}
519     // *************************************************************************
520 yoffy 1.9 //! TAction??etActiveContent??nil篁ュ??ф???鴻??????
521 h677 1.2 // *************************************************************************
522     procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
523     begin
524     TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
525     end;
526     // *************************************************************************
527 yoffy 1.9 //! TAction??etActiveContent??nil篁ュ????ゃ???違?????c??????
528 h677 1.2 // *************************************************************************
529     procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
530     begin
531     TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
532     and (GikoForm.GetActiveContent.IsLogFile);
533     end;
534     // *************************************************************************
535 h677 1.68 //! TAction??ctiveList??TBoard(???号????ф???鴻??????
536     // *************************************************************************
537     procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
538     begin
539     TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard) and
540     (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
541     end;
542     // *************************************************************************
543 yoffy 1.9 //! TAction??ctiveList??TBoard?ф???鴻??????
544 h677 1.2 // *************************************************************************
545 h677 1.68 procedure TGikoDM.DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
546 h677 1.2 begin
547     TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
548     end;
549     // *************************************************************************
550 yoffy 1.9 //! NG???若??膩???
551 h677 1.1 // *************************************************************************
552     procedure TGikoDM.EditNGActionExecute(Sender: TObject);
553     begin
554     //?????鴻?????∫?d??????????≪??????G???若?????<?ゃ???????若????/span>
555     GikoSys.FAbon.EditNGwords;
556     end;
557     // *************************************************************************
558 yoffy 1.9 //! NG???若??茯??粋昭?随???茯??粋昭?随?
559 h677 1.1 // *************************************************************************
560     procedure TGikoDM.ReloadActionExecute(Sender: TObject);
561     begin
562     //?????若????絎?茵???紊掩?????????<???祉?若?後?阪??
563     if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
564 h677 1.38 MsgBox(GikoForm.Handle, 'NG???若?????<?ゃ??????茯??粋昭?帥??け?????障????',
565     MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
566 h677 1.1 end else begin
567     //???????帥????????祉??荐??
568     GikoForm.RepaintAllTabsBrowser();
569     end;
570     end;
571     // *************************************************************************
572 yoffy 1.9 //! NG???若??茯??粋昭?随?筝??ゅ???鐚?
573 h677 1.1 // *************************************************************************
574     procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
575     begin
576     //筝??ゅ???????粋昭?帥??紊掩?????????<???祉?若?後?阪??
577     if GikoSys.FAbon.GoBack =false then begin
578 h677 1.38 MsgBox(GikoForm.Handle, '筝??ゅ?????G???若?????<?ゃ??????粋昭?帥??け?????障????',
579     MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
580 h677 1.1 end else begin
581     //?鴻???若?帥?鴻??;腓冴??????NG???若?????<?ゃ???????贋??/span>
582 h677 1.16 RepaintStatusBar;
583 h677 1.1 //???????帥????????祉??荐??
584     GikoForm.RepaintAllTabsBrowser();
585     end;
586     end;
587     // *************************************************************************
588 yoffy 1.9 //! NG???若??茯??粋昭?随?筝??ゅ??鐚?
589 h677 1.1 // *************************************************************************
590     procedure TGikoDM.GoBackActionExecute(Sender: TObject);
591     begin
592     //筝??ゅ???????粋昭?帥??紊掩?????????<???祉?若?後?阪??
593     if GikoSys.FAbon.GoForward =false then begin
594 h677 1.38 MsgBox(GikoForm.Handle, '筝??ゅ????G???若?????<?ゃ??????粋昭?帥??け?????障????',
595     MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
596 h677 1.1 end else begin
597 h677 1.16 //?鴻???若?帥?鴻??;腓冴??????NG???若?????<?ゃ???????贋??/span>
598     RepaintStatusBar;
599     //???????帥????????祉??荐??
600 h677 1.1 GikoForm.RepaintAllTabsBrowser();
601     end;
602     end;
603     // *************************************************************************
604 h677 1.16 //! NG???若????紊??眼????緇????鴻???若?帥?鴻???若???贋?医????
605     // *************************************************************************
606     procedure TGikoDM.RepaintStatusBar;
607     var
608     s : String;
609     begin
610     //?鴻???若?帥?鴻??;腓冴??????NG???若?????<?ゃ???????贋??/span>
611     s := GikoSys.FAbon.NGwordname;
612 h677 1.23 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
613 h677 1.16 //?鴻???若?帥?鴻??;腓冴?泣?ゃ?冴?????泣?ゃ??/span>
614 h677 1.23 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
615     := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
616 h677 1.16 GikoForm.StatusBarResize(nil);
617     end;
618     // *************************************************************************
619 yoffy 1.9 //! ?≪?????鴻???若??;腓冴?????????≪?????鴻?悟Щ??????
620 h677 1.1 // *************************************************************************
621     procedure TGikoDM.MoveToActionExecute(Sender: TObject);
622     begin
623     //?≪?????鴻?潟?潟?????????鴻????URL????緇?
624     //URL??Щ??
625 h677 1.43 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
626 h677 1.1 end;
627     // *************************************************************************
628 yoffy 1.9 //! ??羂????ャ????申?????ゃ?≪???違??????span>
629 h677 1.1 // *************************************************************************
630     procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
631     begin
632     GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
633     end;
634     // *************************************************************************
635 yoffy 1.9 //! ??羂????ャ?????雁?????ゃ?≪???違??????span>
636 h677 1.1 // *************************************************************************
637     procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
638     var
639     Dlg: TFavoriteArrangeDialog;
640     begin
641 h677 1.12 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
642 h677 1.1 try
643     Dlg.ShowModal;
644     finally
645     Dlg.Release;
646     end;
647     //???潟?????若???贋?違??篌?????
648     PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
649     end;
650     // *************************************************************************
651 yoffy 1.9 //! ?????若????????????
652 h677 1.1 // *************************************************************************
653     procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
654     var
655     node : TTreeNode;
656     begin
657     node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
658     try
659     //???若????膓???????????若????膰????????
660     while node <> nil do begin
661     if node.HasChildren then
662     node.Expanded := False;
663     node := node.GetNext;
664     end;
665     except
666     end;
667     end;
668 h677 1.2 // *************************************************************************
669 yoffy 1.9 //! ??羂????ャ??????????膩???????
670 h677 1.2 // *************************************************************************
671     procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
672     var
673     node : TTreeNode;
674     begin
675    
676     if GikoForm.ClickNode = nil then
677     Exit;
678     if GikoForm.ClickNode.IsFirstNode then
679     Exit;
680     if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
681     Exit;
682     GikoForm.FavoriteTreeView.ReadOnly := False;
683     if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
684     node := GikoForm.ClickNode.Parent;
685     while node <> nil do begin
686     node.Expanded := True;
687     node := node.Parent;
688     end;
689     GikoForm.ClickNode.EditText;
690     end else begin
691     GikoForm.ClickNode.Text := InputBox( '?????????#39;, '??羂????ャ?????違???????????ュ?????????????', GikoForm.ClickNode.Text );
692     end;
693 h677 1.22 //?贋?違????????????????
694     FavoriteDM.Modified := true;
695 h677 1.2 GikoForm.SetLinkBar;
696     end;
697     // *************************************************************************
698 yoffy 1.9 //! ?違?????羂????ャ??????????????篏???????
699 h677 1.2 // *************************************************************************
700     procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
701     var
702     NewFavFolder: TFavoriteFolder;
703     Node: TTreeNode;
704     begin
705    
706     if GikoForm.ClickNode = nil then
707     Exit;
708    
709     try
710     if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
711     GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
712     GikoForm.ClickNode := GikoForm.ClickNode.Parent;
713     end;
714    
715     NewFavFolder := TFavoriteFolder.Create;
716     Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '?違????????????', NewFavFolder);
717     Node.ImageIndex := 14;
718     Node.SelectedIndex := 14;
719     // FClickNode.Selected.Expanded := True;
720     GikoForm.FavoriteTreeView.Selected := Node;
721     GikoForm.ClickNode := Node;
722 h677 1.22 //?贋?違????????????????
723     FavoriteDM.Modified := true;
724 h677 1.2 FavoriteTreeViewRenameAction.Execute;
725     finally
726     end;
727    
728     end;
729     // *************************************************************************
730 yoffy 1.9 //! ??????羂????ャ???????ゃ????
731 h677 1.2 // *************************************************************************
732     procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
733     const
734     DEL_LINK_MSG = '?????潟?????????潟?????主???????????с???????ゃ?????????????с????鐚?';
735     DEL_MSG = '??^0???????ゃ???障?????????????с????鐚?';
736     DEL_TITLE = '???ょ∈茯?';
737     begin
738    
739     if GikoForm.ClickNode = nil then
740     Exit;
741     if GikoForm.ClickNode.IsFirstNode then
742     Exit;
743     if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
744     if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
745     if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
746     Exit;
747     end else begin
748     if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', GikoForm.ClickNode.Text, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
749     Exit;
750     end;
751     end;
752    
753     GikoForm.ClickNode.Delete;
754 h677 1.22 //?贋?違????????????????
755     FavoriteDM.Modified := true;
756 h677 1.2
757     GikoForm.SetLinkBar;
758    
759     end;
760     // *************************************************************************
761 yoffy 1.9 //! ???????????????ャ?c????????羂????ャ????????????span>
762 h677 1.2 // *************************************************************************
763     procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
764     Sender: TObject);
765     begin
766     GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
767     end;
768     // *************************************************************************
769 yoffy 1.9 //! ?御??????????????羂????ャ?????????潟???若??????
770 h677 1.2 // *************************************************************************
771     procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
772     var
773     FavThread: TFavoriteThreadItem;
774     FavBoard: TFavoriteBoardItem;
775     shiftDown: Boolean;
776     begin
777 h677 1.29 if (GikoForm.ClickNode = nil) then Exit;
778 h677 1.2
779     shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
780    
781 h677 1.29 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
782     FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
783     if FavThread.Item <> nil then
784     GikoForm.DownloadContent(FavThread.Item, shiftDown);
785     end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
786     FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
787     GikoForm.DownloadList(FavBoard.Item, shiftDown);
788 h677 1.2 end;
789    
790     end;
791     // *************************************************************************
792 h677 1.36 //! ?御??????????????羂????ャ????RL???潟???若????
793 h677 1.2 // *************************************************************************
794     procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
795     begin
796    
797     if GikoForm.ClickNode = nil then Exit;
798    
799 h677 1.16 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
800     Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
801 h677 1.2 end;
802     end;
803     // *************************************************************************
804 h677 1.36 //! ?御??????????????羂????ャ???????????潟???若????
805 h677 1.2 // *************************************************************************
806     procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
807     begin
808    
809     if GikoForm.ClickNode = nil then Exit;
810    
811 h677 1.16 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
812     Clipboard.AsText :=
813     TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
814 h677 1.36 end else begin
815     Clipboard.AsText :=
816     GikoForm.ClickNode.Text + #13#10;
817    
818 h677 1.2 end;
819     end;
820     // *************************************************************************
821 h677 1.36 //! ?御??????????????羂????ャ??????????RL???潟???若????
822 h677 1.2 // *************************************************************************
823     procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
824     Sender: TObject);
825     var
826 h677 1.16 favItem : TFavoriteItem;
827 h677 1.2 begin
828    
829     if GikoForm.ClickNode = nil then Exit;
830    
831 h677 1.16 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
832     favItem := TFavoriteItem(GikoForm.ClickNode.Data);
833     Clipboard.AsText := favItem.GetItemTitle + #13#10 +
834     favItem.URL + #13#10;
835 h677 1.2 end;
836    
837     end;
838     // *************************************************************************
839 h677 1.36 //! ?御??????????????羂????ャ???鴻???????????ゃ????
840 h677 1.2 // *************************************************************************
841     procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
842     const
843     DEL_MSG = '??^0???????違?????ゃ???障?????????????с????鐚?';
844     DEL_TITLE = '???ょ∈茯?';
845     var
846     ThreadItem: TThreadItem;
847     FavThread: TFavoriteThreadItem;
848     begin
849    
850     if GikoForm.ClickNode = nil then Exit;
851     if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
852    
853     FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
854     ThreadItem := FavThread.Item;
855    
856     try
857     if GikoSys.Setting.DeleteMsg then begin
858     if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
859     if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', GikoForm.ClickNode.Text, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
860     Exit;
861     end;
862    
863     GikoForm.DeleteHistory(ThreadItem);
864     GikoForm.DeleteTab(ThreadItem);
865     ThreadItem.DeleteLogFile;
866    
867     GikoForm.ListView.Refresh;
868     finally
869     end;
870    
871     end;
872     // *************************************************************************
873 yoffy 1.9 //! ?上??;腓冴?????????鴻???????????????吟?ц;腓冴????
874 h677 1.2 // *************************************************************************
875     procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
876     Sender: TObject);
877     var
878     threadItem : TThreadItem;
879     begin
880    
881     if GikoForm.ClickNode = nil then Exit;
882    
883     if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
884    
885     threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
886     if threadItem = nil then
887     Exit;
888     GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
889    
890     end;
891     end;
892 h677 1.17 //! ???鴻???莨若?帥???c???帥?若??腥冴??????
893     procedure TGikoDM.ClearResFilter;
894     var
895     FilterList : TStringList;
896     begin
897     // ???c???炊??絖?????腥冴??????
898     FilterList := TStringList.Create;
899     try
900     GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
901     GikoSys.FSelectResFilter.Reverse := False;
902     finally
903     FilterList.Free;
904     end;
905     GikoForm.SelectResWord := '';
906     end;
907     // *************************************************************************
908     //! ???鴻??;腓榊??蚊??荐??????
909     // *************************************************************************
910     procedure TGikoDM.SetResRange(range: Integer);
911     begin
912     if GikoSys.ResRange <> range then begin
913     GikoSys.ResRange := range;
914     // ???c???炊??絖?????腥冴??????
915     ClearResFilter;
916     GikoForm.RepaintAllTabsBrowser();
917     end;
918     end;
919 h677 1.3 // *************************************************************************
920 yoffy 1.9 //! ????00???鴻???粋;腓?/span>
921 h677 1.3 // *************************************************************************
922     procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
923     begin
924     if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
925     and (GikoForm.ActiveContent.Browser.Busy) then Exit;
926    
927     GikoForm.ResRangeMenuSelect := 100;
928     OnlyAHundredResAction.Checked := True;
929 h677 1.72 //??茵?ず膀??蚊??荐????????荐???ゃ???????c???????
930     SetResRange(GikoSys.Setting.ResRangeExCount);
931 h677 1.3 end;
932     // *************************************************************************
933 yoffy 1.9 //! ??????鴻???粋;腓?/span>
934 h677 1.3 // *************************************************************************
935     procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
936     begin
937     if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
938     and (GikoForm.ActiveContent.Browser.Busy) then Exit;
939    
940     GikoForm.ResRangeMenuSelect := Ord( grrKoko );
941     OnlyKokoResAction.Checked := True;
942    
943 h677 1.17 //??茵?ず膀??蚊??荐??????
944     SetResRange(Ord( grrKoko ));
945 h677 1.3 end;
946     // *************************************************************************
947 yoffy 1.9 //! ?亥?????鴻???粋;腓?/span>
948 h677 1.3 // *************************************************************************
949     procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
950     begin
951     if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
952     and (GikoForm.ActiveContent.Browser.Busy) then Exit;
953    
954     GikoForm.ResRangeMenuSelect := Ord( grrNew );
955     OnlyNewResAction.Checked := True;
956    
957 h677 1.17 //??茵?ず膀??蚊??荐??????
958     SetResRange(Ord( grrNew ));
959 h677 1.3 end;
960     // *************************************************************************
961 h677 1.18 //! ?鴻??????茵?ず?????∫??絽梧;腓冴?????? 羈?ListOrientation = gloHorizontal??
962     // *************************************************************************
963     procedure TGikoDM.SetThreadAreaHorNormal;
964     begin
965     //??絽梧;腓冴??????
966     GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
967     BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
968     BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
969     GikoSys.Setting.ListWidthState := glsNormal;
970     end;
971     // *************************************************************************
972     //! ?鴻??????茵?ず?????∽??紊???絨頫?ず?????? 羈?ListOrientation = gloHorizontal??
973     // *************************************************************************
974     procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
975     begin
976     if GikoSys.Setting.ListWidthState = glsNormal then
977     GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
978     //??紊ц;腓?/span>
979     if (gls = glsMax) then begin
980     GikoForm.ViewPanel.Width := 1;
981     BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
982     BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
983     GikoSys.Setting.ListWidthState := glsMax;
984     end else if (gls = glsMin) then begin
985     GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
986     BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
987     BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
988     GikoSys.Setting.ListWidthState := glsMin;
989     end;
990     end;
991     // *************************************************************************
992     //! ?鴻??????茵?ず?????∫??絽梧;腓冴?????? 羈?ListOrientation = gloVertical
993     // *************************************************************************
994     procedure TGikoDM.SetThreadAreaVerNormal;
995     begin
996     //??絽梧;腓冴??????
997     GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
998     BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
999     BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1000     GikoSys.Setting.ListHeightState := glsNormal;
1001     end;
1002     // *************************************************************************
1003     //! ?鴻??????茵?ず?????∽??紊???絨頫?ず?????? 羈?ListOrientation = gloVertical
1004     // *************************************************************************
1005     procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
1006     begin
1007     if GikoSys.Setting.ListHeightState = glsNormal then
1008     GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
1009     if (gls = glsMin) then begin
1010     GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
1011     BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1012     BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1013     GikoSys.Setting.ListHeightState := glsMin;
1014     end else if (gls = glsMax) then begin
1015     GikoForm.ViewPanel.Height := 1;
1016     BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1017     BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1018     GikoSys.Setting.ListHeightState := glsMax;
1019     end;
1020     end;
1021     // *************************************************************************
1022 yoffy 1.9 //! ?鴻??????茵?ず?????≪??紊с???頫?ず????
1023 h677 1.3 // *************************************************************************
1024     procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
1025     begin
1026     if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1027     case GikoSys.Setting.ListWidthState of
1028     glsMax: begin
1029     //??絽梧;腓冴??????
1030 h677 1.18 SetThreadAreaHorNormal;
1031 h677 1.3 end;
1032     glsMin, glsNormal: begin
1033     //??紊ц;腓冴??????
1034 h677 1.18 SetThreadAreaHorizontal(glsMax);
1035 h677 1.3 end;
1036     end;
1037     end else begin
1038     case GikoSys.Setting.ListHeightState of
1039     glsMax: begin
1040     //??絽梧;腓冴??????
1041 h677 1.18 SetThreadAreaVerNormal;
1042 h677 1.3 end;
1043     glsMin, glsNormal: begin
1044     //??紊ц;腓冴??????
1045 h677 1.18 SetThreadAreaVertical(glsMax);
1046 h677 1.3 end;
1047     end;
1048     end;
1049     end;
1050     // *************************************************************************
1051 yoffy 1.9 //! ?鴻??????茵?ず?????≪??絨???頫?ず????
1052 h677 1.3 // *************************************************************************
1053     procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1054     begin
1055     if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1056     case GikoSys.Setting.ListWidthState of
1057     glsMax, glsNormal: begin
1058     //??絨頫?ず??????
1059 h677 1.18 SetThreadAreaHorizontal(glsMin);
1060 h677 1.3 end;
1061     glsMin: begin
1062     //??絽梧;腓冴??????
1063 h677 1.18 SetThreadAreaHorNormal;
1064 h677 1.3 end;
1065     end;
1066     end else begin
1067     case GikoSys.Setting.ListHeightState of
1068     glsMax, glsNormal: begin
1069     //??絨頫?ず??????
1070 h677 1.18 SetThreadAreaVertical(glsMin);
1071 h677 1.3 end;
1072     glsMin: begin
1073     //??絽梧;腓冴??????
1074 h677 1.18 SetThreadAreaVerNormal;
1075 h677 1.3 end;
1076     end;
1077     end;
1078     end;
1079     // *************************************************************************
1080 yoffy 1.9 //! ?上??;腓冴?????????鴻?????????????悟Щ??????
1081 h677 1.3 // *************************************************************************
1082     procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1083     begin
1084     GikoForm.BrowserMovement('top');
1085     end;
1086     // *************************************************************************
1087 yoffy 1.9 //! ?上??;腓冴?????????鴻??????????緇??悟Щ??????
1088 h677 1.3 // *************************************************************************
1089     procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1090     begin
1091     GikoForm.BrowserMovement('bottom');
1092     end;
1093     // *************************************************************************
1094 yoffy 1.9 //! ?上??;腓冴?????????鴻?????????亥???悟Щ??????
1095 h677 1.3 // *************************************************************************
1096     procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1097     begin
1098     GikoForm.BrowserMovement('new');
1099     end;
1100     // *************************************************************************
1101 yoffy 1.9 //! ?上??;腓冴?????????鴻?????????潟?潟?障?ц??????悟Щ??????
1102 h677 1.3 // *************************************************************************
1103     procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1104     begin
1105     GikoForm.BrowserMovement('koko');
1106     end;
1107     // *************************************************************************
1108 yoffy 1.9 //! ?上??;腓冴?????????鴻?????????潟?潟?障?ц??????悟Щ????????pdate?ゃ???潟??
1109 h677 1.3 // *************************************************************************
1110     procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1111     begin
1112     ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1113     and (GikoForm.GetActiveContent.IsLogFile)
1114     and (GikoForm.GetActiveContent.Kokomade <> -1);
1115     end;
1116     // *************************************************************************
1117 yoffy 1.9 //! ???号?吾??莨若?帥???c?潟??????茵?ず????
1118 h677 1.3 // *************************************************************************
1119     procedure TGikoDM.EditorActionExecute(Sender: TObject);
1120     var
1121     Editor: TEditorForm;
1122     Item: TThreadItem;
1123     begin
1124     Item := GikoForm.GetActiveContent;
1125     if Item = nil then Exit;
1126     Editor := TEditorForm.Create(GikoForm.GetMainForm);
1127     Editor.SetThreadItem(Item);
1128     Editor.Show;
1129     Editor.BodyEdit.SetFocus;
1130     end;
1131     // *************************************************************************
1132 yoffy 1.9 //! ?鴻???????????吟?ц;腓冴????
1133 h677 1.3 // *************************************************************************
1134     procedure TGikoDM.IEActionExecute(Sender: TObject);
1135     begin
1136     ShowThreadAction.Execute;
1137     end;
1138     // *************************************************************************
1139 yoffy 1.9 //! ?上??;腓冴?????????鴻???????????????吟?ц;腓冴????
1140 h677 1.3 // *************************************************************************
1141     procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1142     var
1143     ThreadItem: TThreadItem;
1144     begin
1145     ThreadItem := GikoForm.GetActiveContent;
1146     if ThreadItem = nil then Exit;
1147     GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1148     end;
1149     // *************************************************************************
1150 yoffy 1.9 //! ?上??;腓冴?????????鴻?????????帥?????????吟?ц;腓冴????
1151 h677 1.3 // *************************************************************************
1152     procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1153     var
1154     ThreadItem: TThreadItem;
1155     begin
1156     ThreadItem := GikoForm.GetActiveContent;
1157     if ThreadItem = nil then Exit;
1158     GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1159     end;
1160     // *************************************************************************
1161 yoffy 1.9 //! ?上??;腓冴?????????鴻????????RL???潟???若????
1162 h677 1.3 // *************************************************************************
1163     procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1164     var
1165     s: string;
1166     begin
1167     s := '';
1168     if TObject(GikoForm.GetActiveContent) is TBoard then
1169     s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1170     else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1171     s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1172     if s <> '' then
1173     Clipboard.AsText := s;
1174     end;
1175     // *************************************************************************
1176 yoffy 1.9 //! ?上??;腓冴?????????鴻???????????潟???若????
1177 h677 1.3 // *************************************************************************
1178     procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1179     var
1180     s: string;
1181     begin
1182     s := '';
1183     if TObject(GikoForm.GetActiveContent) is TBoard then
1184     s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1185     else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1186     s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1187     if s <> '' then
1188     Clipboard.AsText := s;
1189     end;
1190     // *************************************************************************
1191 yoffy 1.9 //! ?上??;腓冴?????????鴻??????????RL???潟???若????
1192 h677 1.3 // *************************************************************************
1193     procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1194     var
1195     s: string;
1196     begin
1197     s := '';
1198     if TObject(GikoForm.GetActiveContent) is TBoard then
1199     s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1200     else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1201     s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1202     if s <> '' then
1203     Clipboard.AsText := s;
1204     end;
1205     // *************************************************************************
1206 yoffy 1.9 //! 茵?ず???????????鴻?????????????潟???若??????
1207 h677 1.3 // *************************************************************************
1208     procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1209     var
1210     ThreadItem: TThreadItem;
1211     shiftDown: Boolean;
1212     begin
1213     ThreadItem := GikoForm.GetActiveContent;
1214     shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1215     if ThreadItem <> nil then
1216     GikoForm.DownloadContent(ThreadItem, shiftDown);
1217     end;
1218     // *************************************************************************
1219 yoffy 1.9 //! ?上?????????????帥??????????
1220 h677 1.3 // *************************************************************************
1221     procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1222     var
1223     idx: Integer;
1224     begin
1225     idx := GikoForm.BrowserTab.TabIndex;
1226     if idx <> -1 then begin
1227     if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1228     GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1229     end;
1230     end;
1231     end;
1232     // *************************************************************************
1233 yoffy 1.9 //! ?帥????鐚??や札筝??????????鴻??????Update?ゃ???潟??
1234 h677 1.3 // *************************************************************************
1235     procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1236     begin
1237     TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1238     end;
1239     // *************************************************************************
1240 yoffy 1.9 //! ?上?????????????帥??篁ュ?????????
1241 h677 1.3 // *************************************************************************
1242     procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1243     var
1244     i: Integer;
1245     idx: Integer;
1246     begin
1247     idx := GikoForm.BrowserTab.TabIndex;
1248     if idx = -1 then Exit;
1249     GikoForm.BrowserTab.Tabs.BeginUpdate;
1250     for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1251     TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1252     GikoForm.BrowserTab.Tabs.Delete(i);
1253     end;
1254     if idx > 0 then begin
1255     for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1256     TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1257     GikoForm.BrowserTab.Tabs.Delete(i);
1258     end;
1259     end;
1260     GikoForm.BrowserTab.Tabs.EndUpdate;
1261     end;
1262     // *************************************************************************
1263 yoffy 1.9 //! ?帥????鐚??や札筝??????????鴻??????Update?ゃ???潟??
1264 h677 1.3 // *************************************************************************
1265     procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1266     begin
1267     TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1268     end;
1269     // *************************************************************************
1270 yoffy 1.9 //! ???????帥??????????
1271 h677 1.3 // *************************************************************************
1272     procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1273     var
1274     i: Integer;
1275     begin
1276     if GikoSys.Setting.ShowDialogForAllTabClose then
1277     if(MessageDlg('???????帥???????????????????с????鐚?', mtConfirmation,[mbOk, mbCancel], 0) = mrCancel ) then
1278     Exit;
1279    
1280     GikoForm.ActiveContent := nil;
1281     GikoForm.BrowserNullTab.Thread := nil;
1282     GikoForm.BrowserTab.OnChange := nil;
1283     GikoForm.BrowserTab.Tabs.BeginUpdate;
1284     for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1285     TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1286     end;
1287     GikoForm.BrowserTab.Tabs.Clear;
1288     GikoForm.BrowserTab.Tabs.EndUpdate;
1289     GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1290     GikoForm.SetContent(GikoForm.BrowserNullTab);
1291     GikoForm.Caption := CAPTION_NAME ;
1292     end;
1293     // *************************************************************************
1294 yoffy 1.9 //! ?上?????????????帥?????鴻???????????ゃ????
1295 h677 1.3 // *************************************************************************
1296     procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1297     const
1298     DEL_MSG = '??^0???????違?????ゃ???障?????????????с????鐚?';
1299     DEL_TITLE = '???ょ∈茯?';
1300     var
1301     idx: Integer;
1302     ThreadItem: TThreadItem;
1303     begin
1304     idx := GikoForm.BrowserTab.TabIndex;
1305     if idx <> -1 then begin
1306     if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1307     ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1308     if GikoSys.Setting.DeleteMsg then
1309     if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1310     if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1311     Exit;
1312     GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1313 h677 1.37 GikoForm.DeleteHistory(ThreadItem);
1314 h677 1.3 ThreadItem.DeleteLogFile;
1315     if ThreadItem.ParentBoard = GikoForm.ActiveList then
1316     GikoForm.ListView.Refresh;
1317     end;
1318     end;
1319     end;
1320     // *************************************************************************
1321 yoffy 1.9 //! 筝???窪???帥?????御??????
1322 h677 1.3 // *************************************************************************
1323     procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1324     begin
1325     if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1326     GikoForm.BrowserTab.TabIndex := 0;
1327     GikoForm.BrowserTab.OnChange(nil);
1328     end;
1329     end;
1330     // *************************************************************************
1331 h677 1.46 //! 綏????帥?????御????????pdate?ゃ???潟??
1332     // *************************************************************************
1333     procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1334     begin
1335     if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1336     LeftmostTabSelectActionUpdate(Sender);
1337     end else begin
1338     TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1339     end;
1340     end;
1341    
1342     // *************************************************************************
1343 yoffy 1.9 //! ?帥?????違??鐚?篁ヤ??с???帥?????ゃ?潟???????鴻??鐚?篁ュ??ф???鴻??????Update?ゃ???潟??
1344 h677 1.3 // *************************************************************************
1345     procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1346     begin
1347     TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1348     and (GikoForm.BrowserTab.TabIndex <> 0);
1349     end;
1350     // *************************************************************************
1351 yoffy 1.9 //! 綏????帥?????御??????
1352 h677 1.3 // *************************************************************************
1353     procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1354     begin
1355     if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1356     if GikoForm.BrowserTab.TabIndex = -1 then begin
1357     GikoForm.BrowserTab.TabIndex := 0;
1358     GikoForm.BrowserTab.OnChange(nil);
1359     end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1360     GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1361     GikoForm.BrowserTab.OnChange(nil);
1362 h677 1.46 end else begin
1363     if (GikoSys.Setting.LoopBrowserTabs) and
1364     (GikoForm.BrowserTab.TabIndex = 0) then begin
1365     GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1366     GikoForm.BrowserTab.OnChange(nil);
1367     end;
1368     end;
1369 h677 1.3 end;
1370     end;
1371     // *************************************************************************
1372 yoffy 1.9 //! ?潟???帥?????御??????
1373 h677 1.3 // *************************************************************************
1374     procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1375     begin
1376     if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1377     if GikoForm.BrowserTab.TabIndex = -1 then begin
1378     GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1379     GikoForm.BrowserTab.OnChange(nil);
1380     end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1381     GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1382     GikoForm.BrowserTab.OnChange(nil);
1383 h677 1.46 end else begin
1384     if (GikoSys.Setting.LoopBrowserTabs) and
1385     (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1386     GikoForm.BrowserTab.TabIndex := 0;
1387     GikoForm.BrowserTab.OnChange(nil);
1388     end;
1389     end;
1390 h677 1.3 end;
1391     end;
1392     // *************************************************************************
1393 h677 1.46 //! ?潟???帥?????御??????Update?ゃ???潟??
1394 h677 1.3 // *************************************************************************
1395     procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1396     begin
1397 h677 1.46 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1398     RightmostTabSelectActionUpdate(Sender);
1399     end else begin
1400     TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1401     end;
1402 h677 1.3 end;
1403 h677 1.46
1404 h677 1.3 // *************************************************************************
1405 yoffy 1.9 //! 筝???劻???帥?????御??????
1406 h677 1.3 // *************************************************************************
1407     procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1408     begin
1409     if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1410     GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1411     GikoForm.BrowserTab.OnChange(nil);
1412     end;
1413     end;
1414     // *************************************************************************
1415 h677 1.46 //! 筝???劻???帥?????御????????pdate?ゃ???潟??
1416     // *************************************************************************
1417     procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1418     begin
1419     TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1420     and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1421    
1422     end;
1423     // *************************************************************************
1424 yoffy 1.9 //! ?御?????????????鴻??????????羂????ャ????申??
1425 h677 1.3 // *************************************************************************
1426     procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1427     begin
1428     if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1429     GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1430     end;
1431     // *************************************************************************
1432 yoffy 1.9 //! ?鴻??????筝?荀с?с???鴻????鐚??や札筝??御???????????????鴻??????Update?ゃ???潟??
1433 h677 1.3 // *************************************************************************
1434     procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1435     begin
1436     TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1437     and (GikoForm.ListView.SelCount > 0);
1438     end;
1439     // *************************************************************************
1440 yoffy 1.9 //! ???鴻????絎鴻??腟???莨若??
1441 h677 1.3 // *************************************************************************
1442     procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1443     var
1444     Dlg: TListSelectDialog;
1445     FilterList : TStringList;
1446     idx : Integer;
1447     begin
1448 h677 1.12 Dlg := TListSelectDialog.Create(GikoForm);
1449 h677 1.3 try
1450     Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1451     Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1452     Dlg.ShowModal;
1453     if Dlg.ModalResult = mrOK then begin
1454     SelectResAction.Checked := True;
1455     if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1456     // 腥阪?ュ??? OK ?????莨若?粋В?ゃ?????靸?/span>
1457     ResRangeAction.Execute;
1458     end else begin
1459     GikoSys.ResRange := Ord( grrSelect );
1460    
1461     // ??緇???┃絎???????????荀?????????span>
1462     GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1463    
1464     // 罎?膣√吋罩眼???贋??/span>
1465     idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1466     if idx <> -1 then
1467     GikoSys.Setting.SelectTextList.Delete(idx);
1468     GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1469     while Dlg.SelectComboBox.Items.Count > 100 do begin
1470     Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1471     end;
1472    
1473     try
1474     if GikoForm.SelectComboBoxPanel.Visible then
1475     GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1476     except
1477     end;
1478    
1479     // ???c???帥??┃絎?
1480     FilterList := TStringList.Create;
1481     try
1482     GikoSys.FSelectResFilter.Reverse := True;
1483     FilterList.Delimiter := ' '; //?阪????絖?????茹??鴻???若?鴻??┃絎?
1484     FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1485    
1486     GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1487     finally
1488     FilterList.Free;
1489     end;
1490     GikoForm.RepaintAllTabsBrowser();
1491     end;
1492     end else begin
1493     // ???c?潟?祉??/span>
1494     if GikoSys.ResRange <> Ord( grrSelect ) then
1495     ResRangeAction.Execute;
1496     end;
1497     finally
1498     Dlg.Release;
1499     end;
1500    
1501     end;
1502     // *************************************************************************
1503 yoffy 1.9 //! ?????????鴻??茵?ず????
1504 h677 1.3 // *************************************************************************
1505     procedure TGikoDM.AllResActionExecute(Sender: TObject);
1506     begin
1507     if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1508     and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1509    
1510     GikoForm.ResRangeMenuSelect := Ord( grrAll );
1511     AllResAction.Checked := True;
1512    
1513 h677 1.17 //??茵?ず膀??蚊??荐??????
1514     SetResRange(Ord( grrAll ));
1515 h677 1.3 end;
1516     // *************************************************************************
1517 yoffy 1.9 //! ???鴻??;腓榊??蚊??荐??
1518 h677 1.3 // *************************************************************************
1519     procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1520     begin
1521     case GikoForm.ResRangeMenuSelect of
1522     Ord( grrAll ): AllResAction.Execute;
1523     Ord( grrKoko ): OnlyKokoResAction.Execute;
1524     Ord( grrNew ): OnlyNewResAction.Execute;
1525     100: OnlyAHundredResAction.Execute;
1526     end;
1527    
1528     end;
1529     // *************************************************************************
1530 yoffy 1.9 //! ?????鴻?????????????鴻??????筝?荀с??茵?ず
1531 h677 1.3 // *************************************************************************
1532     procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1533     begin
1534     GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1535     end;
1536     // *************************************************************************
1537 yoffy 1.9 //! ??絎???????垩?????鴻?????/span>
1538 h677 1.3 // *************************************************************************
1539     procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1540     var
1541     str: string;
1542     res: integer;
1543     begin
1544     str := '1';
1545     if( InputQuery('??絎???????垩?????鴻?????#39;, '??垩???ュ?????????????', str) ) then begin
1546     str := ZenToHan(str);
1547     res := StrToIntDef(str, -1);
1548     if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1549 h677 1.15 GikoForm.ActiveContent.Move(IntToStr(res));
1550 h677 1.3 SetFocusForBrowserAction.Execute;
1551     end else if res > GikoForm.GetActiveContent.Count then begin
1552 h677 1.15 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1553 h677 1.3 SetFocusForBrowserAction.Execute;
1554     end;
1555     end;
1556     end;
1557     // *************************************************************************
1558 yoffy 1.9 //! ?≪?????c?????帥???????潟????????
1559 h677 1.3 // *************************************************************************
1560     procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1561     var
1562     i: Integer;
1563     idx: Integer;
1564     begin
1565     idx := GikoForm.BrowserTab.TabIndex;
1566     if idx = -1 then Exit;
1567     GikoForm.BrowserTab.Tabs.BeginUpdate;
1568     for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1569     TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1570     GikoForm.BrowserTab.Tabs.Delete(i);
1571     end;
1572     GikoForm.BrowserTab.Tabs.EndUpdate;
1573     end;
1574     // *************************************************************************
1575 yoffy 1.9 //! ?帥?????違??鐚?篁ヤ??ф???鴻??pdate?ゃ???潟??
1576 h677 1.3 // *************************************************************************
1577     procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1578     begin
1579     TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1580     end;
1581     // *************************************************************************
1582 yoffy 1.9 //! ?≪?????c?????帥??????綏?????????
1583 h677 1.3 // *************************************************************************
1584     procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1585     var
1586     i: Integer;
1587     idx: Integer;
1588     begin
1589     idx := GikoForm.BrowserTab.TabIndex;
1590     if idx = -1 then Exit;
1591     GikoForm.BrowserTab.Tabs.BeginUpdate;
1592     if idx > 0 then begin
1593     for i := idx - 1 downto 0 do begin
1594     TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1595     GikoForm.BrowserTab.Tabs.Delete(i);
1596     end;
1597     end;
1598     GikoForm.BrowserTab.Tabs.EndUpdate;
1599     end;
1600     ////////////////////////////////?鴻???????障?с?????障??/////////////////////
1601 h677 1.4 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1602     begin
1603 h677 1.40 // GikoDM?????????????????????綽?荀??????????<?ゃ????????????????鐚?鐚?
1604     // ????????????絵??????????鐚?
1605     //????莎桁???????????????<?ゃ??┃絎?
1606     TDefaultFileManager.CopyDefaultFiles(
1607     GikoSys.GetAppDir + 'defaultFiles.ini');
1608 h677 1.4 end;
1609     // *************************************************************************
1610 yoffy 1.9 //! ???井?膣≪???ゃ?≪???違??茵?ず????
1611 h677 1.4 // *************************************************************************
1612     procedure TGikoDM.SearchActionExecute(Sender: TObject);
1613     var
1614     chk: TObject;
1615     begin
1616    
1617     if GikoForm.SearchDialog = nil then begin
1618     if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1619     chk := GikoForm.GetActiveList
1620     else
1621     chk := nil;
1622    
1623 h677 1.12 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1624 h677 1.4 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1625     end;
1626    
1627     try
1628     GikoForm.SearchDialog.Show;
1629     except
1630     end;
1631     end;
1632     // *************************************************************************
1633 yoffy 1.9 //! ?????激?с?潟???ゃ?≪???違??茵?ず????
1634 h677 1.4 // *************************************************************************
1635     procedure TGikoDM.OptionActionExecute(Sender: TObject);
1636     var
1637     Dlg: TOptionDialog;
1638     begin
1639 h677 1.12 Dlg := TOptionDialog.Create(GikoForm);
1640 h677 1.4 try
1641     Dlg.ShowModal;
1642     finally
1643     Dlg.Release;
1644     end;
1645     end;
1646     // *************************************************************************
1647 yoffy 1.9 //! 綏≦?????ゃ?≪???違??茵?ず????
1648 h677 1.4 // *************************************************************************
1649     procedure TGikoDM.RoundActionExecute(Sender: TObject);
1650     var
1651     Dlg: TRoundDialog;
1652     begin
1653 h677 1.12 Dlg := TRoundDialog.Create(GikoForm);
1654 h677 1.4 try
1655     Dlg.ShowModal;
1656     finally
1657     Dlg.Release;
1658     end;
1659     end;
1660     // *************************************************************************
1661 yoffy 1.9 //! ???取┃絎????ゃ?≪???違??????span>
1662 h677 1.4 // *************************************************************************
1663     procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1664     var
1665     Dlg: TKeySettingForm;
1666     begin
1667 h677 1.12 Dlg := TKeySettingForm.Create(GikoForm);
1668 h677 1.4 try
1669     if Dlg.ShowModal = mrOk then begin
1670 h677 1.20 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1671 h677 1.30 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1672 h677 1.4 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1673     end;
1674    
1675     finally
1676     Dlg.Release;
1677     MouseGesture.UnHook;
1678     MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1679     MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1680     MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1681     if GikoSys.Setting.GestureEnabled then begin
1682     GikoSys.Setting.Gestures.ClearGesture;
1683     GikoSys.Setting.Gestures.LoadGesture(
1684     GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1685     MouseGesture.SetHook( GikoForm.Handle );
1686     end;
1687     end;
1688     end;
1689     // *************************************************************************
1690 yoffy 1.9 //! ???取┃絎????ゃ?≪???違??????span>
1691 h677 1.4 // *************************************************************************
1692     procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1693     var
1694     Dlg: TKotehanDialog;
1695     begin
1696 h677 1.12 Dlg := TKotehanDialog.Create(GikoForm);
1697 h677 1.4 try
1698     Dlg.ShowModal;
1699     finally
1700     Dlg.Release;
1701     end;
1702     end;
1703     // *************************************************************************
1704 yoffy 1.9 //! ???若?????取┃絎????ゃ?≪???違??????span>
1705 h677 1.4 // *************************************************************************
1706     procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1707     var
1708     Dlg: TToolBarSettingDialog;
1709     i: Integer;
1710     begin
1711     Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1712     try
1713     Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1714     Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1715     Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1716     case GikoForm.ToolBarSettingSender of
1717     tssMain: Dlg.ToolBarIndex := 0;
1718     tssList: Dlg.ToolBarIndex := 1;
1719     tssBrowser: Dlg.ToolBarIndex := 2;
1720     end;
1721     if Dlg.ShowModal = mrOK then begin
1722     GikoForm.SetToolBarPopup;
1723    
1724     //?????????荐??????????????????????????c?????????
1725     for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1726     GikoForm.MainCoolBar.Bands[i].MinWidth :=
1727     GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1728     GikoForm.MainCoolBar.Bands[i].MinWidth :=
1729     GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1730     end;
1731     for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1732     GikoForm.ListCoolBar.Bands[i].MinWidth :=
1733     GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1734     GikoForm.ListCoolBar.Bands[i].MinWidth :=
1735     GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1736     end;
1737     for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1738     GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1739     GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1740     GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1741     GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1742     end;
1743    
1744     SaveToolBarSetting(GikoForm.StdToolBar);
1745     SaveToolBarSetting(GikoForm.ListToolBar);
1746     //ListToolBar??????????????????腟?莨若??omboBox????臀?/span>
1747 h677 1.13 GikoForm.SetSelectComboBox;
1748 h677 1.4 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1749     SaveToolBarSetting(GikoForm.BrowserToolBar);
1750     end;
1751     finally
1752     Dlg.Release;
1753     GikoForm.ToolBarSettingSender := tssNone;
1754     end;
1755     end;
1756     // *************************************************************************
1757 yoffy 1.9 //! ???ャ?若??
1758 h677 1.4 // *************************************************************************
1759     procedure TGikoDM.MuteActionExecute(Sender: TObject);
1760     begin
1761     GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1762     end;
1763     ////////////////////////////////???若???障?с?????障??/////////////////////
1764     // *************************************************************************
1765 yoffy 1.9 //! ?鴻??????筝?荀с???????潟???若??????
1766 h677 1.4 // *************************************************************************
1767     procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1768     var
1769     Board: TBoard;
1770     TmpTreeNode: TTreeNode;
1771     begin
1772     TmpTreeNode := GikoForm.ClickNode;
1773     GikoForm.TreeView.Selected := GikoForm.ClickNode;
1774     Board := nil;
1775    
1776     if TObject(TmpTreeNode.Data) is TBoard then
1777     Board := TBoard(TmpTreeNode.Data)
1778     else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1779     Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1780    
1781     if Board <> nil then
1782     GikoForm.DownloadList(Board);
1783     end;
1784     // *************************************************************************
1785 yoffy 1.9 //! ?御?????????鴻?????????????潟???若??????
1786 h677 1.4 // *************************************************************************
1787     procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1788     var
1789     ThreadItem: TThreadItem;
1790     TmpTreeNode: TTreeNode;
1791     begin
1792     TmpTreeNode := GikoForm.ClickNode;
1793     GikoForm.TreeView.Selected := GikoForm.ClickNode;
1794     ThreadItem := nil;
1795    
1796     if TObject(TmpTreeNode.Data) is TThreadItem then
1797     ThreadItem := TThreadItem(TmpTreeNode.Data)
1798     else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1799     ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1800    
1801     if ThreadItem <> nil then
1802     GikoForm.DownloadContent(ThreadItem);
1803     end;
1804     // *************************************************************************
1805 yoffy 1.9 //! ?御?????????帥??RL???潟???若????
1806 h677 1.4 // *************************************************************************
1807     procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1808     var
1809     TmpTreeNode: TTreeNode;
1810     s: string;
1811     begin
1812     TmpTreeNode := GikoForm.ClickNode;
1813     GikoForm.TreeView.Selected := GikoForm.ClickNode;
1814     if TObject(TmpTreeNode.Data) is TBoard then begin
1815     s := TBoard(TmpTreeNode.Data).URL + #13#10;
1816     end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1817     s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1818     end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1819     s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1820     end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1821     s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1822     end;
1823     Clipboard.AsText := s;
1824     end;
1825     // *************************************************************************
1826 yoffy 1.9 //! ?御?????????帥????????RL???潟???若????
1827 h677 1.4 // *************************************************************************
1828     procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1829     var
1830     TmpTreeNode: TTreeNode;
1831     s: string;
1832     begin
1833     TmpTreeNode := GikoForm.ClickNode;
1834     GikoForm.TreeView.Selected := GikoForm.ClickNode;
1835     if TObject(TmpTreeNode.Data) is TBoard then begin
1836     s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1837     end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1838     s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1839     end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1840     s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1841     end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1842     s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1843     end;
1844     Clipboard.AsText := s;
1845     end;
1846     // *************************************************************************
1847 yoffy 1.9 //! ??羂????ャ????申??????
1848 h677 1.4 // *************************************************************************
1849     procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1850     begin
1851     GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1852     end;
1853     // *************************************************************************
1854 yoffy 1.9 //! ?水??罎?膣?/span>
1855 h677 1.4 // *************************************************************************
1856     procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1857     var
1858     s : String;
1859     msg : String;
1860     CurItem : TTreeNode;
1861     next : boolean;
1862     begin
1863     if InputQuery('?水??罎?膣?#39;,'?水?????ュ??',s) then begin
1864     next := true;
1865     while next do begin
1866     if GikoForm.TreeView.Selected = nil then
1867     CurItem := GikoForm.TreeView.Items.GetFirstNode
1868     else begin
1869     CurItem := GikoForm.TreeView.Selected.GetNext;
1870     if CurItem = nil then
1871     CurItem := GikoForm.TreeView.Items.GetFirstNode;
1872     end;
1873     while CurItem <> nil do begin
1874     if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1875     break;
1876     end;
1877     CurItem := CurItem.GetNext;
1878     end;
1879     try
1880     if CurItem = nil then begin
1881     msg := '???????祉???障????鐚?';
1882     if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1883     CurItem := GikoForm.TreeView.Items.GetFirstNode;
1884     end else begin
1885     Exit;
1886     end;
1887     GikoForm.TreeView.Select(CurItem);
1888     GikoForm.TreeView.SetFocus;
1889     end else begin
1890     GikoForm.TreeView.Select(CurItem);
1891     GikoForm.TreeView.SetFocus;
1892     msg := '罨<??????障????鐚?';
1893     if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1894     next := true;
1895     end else begin
1896     next := false;
1897     end;
1898     end;
1899    
1900     except
1901     Exit;
1902     end;
1903     end;
1904     end;
1905     end;
1906     // *************************************************************************
1907 yoffy 1.9 //! ?御?????????帥?????????潟???若????
1908 h677 1.4 // *************************************************************************
1909     procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1910     var
1911     s: string;
1912     begin
1913     GikoForm.TreeView.Selected := GikoForm.ClickNode;
1914     s := GikoForm.ClickNode.Text;
1915     Clipboard.AsText := s;
1916     end;
1917     ////////////////////////////////?????若???????≪?????障?с?????障??/////////////////////
1918 h677 1.5 // *************************************************************************
1919 yoffy 1.9 //! ???違?ゃ?鰹????違?≪??????????
1920 h677 1.5 // *************************************************************************
1921     procedure TGikoDM.LoginActionExecute(Sender: TObject);
1922     var
1923     TmpCursor: TCursor;
1924     msg : String;
1925     begin
1926     if GikoSys.Dolib.Connected then begin
1927     //???違?≪????
1928     GikoSys.Dolib.Disconnect;
1929     LoginAction.Checked := False;
1930 h677 1.21 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1931 h677 1.5 LoginAction.Caption := '???違?ゃ??&L)';
1932     end else begin
1933     TmpCursor := GikoForm.ScreenCursor;
1934     GikoForm.ScreenCursor := crHourGlass;
1935     try
1936     //??絽吾???違?ゃ??/span>
1937     if not GikoSys.Setting.ForcedLogin then begin
1938     GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1939     GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1940     GikoSys.Dolib.Password := GikoSys.Setting.Password;
1941     if GikoSys.Setting.ReadProxy then begin
1942     GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1943     GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1944     end else begin
1945     GikoSys.Dolib.ProxyAddress := '';
1946     GikoSys.Dolib.ProxyPort := 0;
1947     end;
1948     if GikoSys.Dolib.Connect then begin
1949     LoginAction.Checked := True;
1950 h677 1.21 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1951 h677 1.5 LoginAction.Caption := '???違?≪????(&L)';
1952     //LoginToolButton.Style := tbsCheck;
1953     end else begin
1954     // MsgBox(Handle, '???違?ゃ?喝?堺?ャ?障?????с????', '??????#39;, MB_OK or MB_ICONSTOP);
1955     GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1956     GikoForm.PlaySound('Error');
1957     LoginAction.Checked := False;
1958     //LoginToolButton.Down := False;
1959     ///LoginToolButton.Style := tbsButton;
1960     end;
1961     end else begin
1962     msg := '綣桁?吟???違?ゃ?潟?≪?若???с????泣?若????┝???吾?????号?с?????с???????障??????' + #13#10
1963     + '?処??泣?若?????翫???????????????鴻???若?????障???????醇?с???????障????' + #13#10
1964     + '?????≪?若???с???違?ゃ?潟??荅??帥?障????鐚?' + #13#10;
1965     if MsgBox(GikoForm.Handle, msg, '茘???', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1966     GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1967     GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1968     GikoSys.Dolib.Password := GikoSys.Setting.Password;
1969     if GikoSys.Setting.ReadProxy then begin
1970     GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1971     GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1972     end else begin
1973     GikoSys.Dolib.ProxyAddress := '';
1974     GikoSys.Dolib.ProxyPort := 0;
1975     end;
1976     //SSL??絎括??七?吟???違?ゃ??/span>
1977     GikoSys.Dolib.ForcedConnect;
1978     if GikoSys.Dolib.Connect then begin
1979     LoginAction.Checked := True;
1980 h677 1.21 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1981 h677 1.5 LoginAction.Caption := '???違?≪????(&L)';
1982     //LoginToolButton.Style := tbsCheck;
1983     end else begin
1984     // MsgBox(Handle, '???違?ゃ?喝?堺?ャ?障?????с????', '??????#39;, MB_OK or MB_ICONSTOP);
1985     GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1986     GikoForm.PlaySound('Error');
1987     LoginAction.Checked := False;
1988     //LoginToolButton.Down := False;
1989     //LoginToolButton.Style := tbsButton;
1990     end;
1991     end else begin
1992     LoginAction.Checked := False;
1993     //LoginToolButton.Down := False;
1994     //LoginToolButton.Style := tbsButton;
1995     end;
1996     end;
1997     finally
1998     GikoForm.ScreenCursor := TmpCursor;
1999     end;
2000     end;
2001     end;
2002     // *************************************************************************
2003 yoffy 1.9 //! ???若???贋?違???ゃ?≪???違??茵?ず????
2004 h677 1.5 // *************************************************************************
2005     procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
2006     var
2007     Dlg: TNewBoardDialog;
2008     Msg: string;
2009     begin
2010 h677 1.41 if (EditorFormExists) then begin
2011 h677 1.5 Msg := '???鴻?????c?帥???????????????????';
2012 h677 1.38 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
2013 h677 1.5 Exit;
2014     end;
2015 h677 1.12 Dlg := TNewBoardDialog.Create(GikoForm);
2016 h677 1.5 try
2017     Dlg.ShowModal;
2018     finally
2019     Dlg.Release;
2020     end;
2021     end;
2022     // *************************************************************************
2023 yoffy 1.9 //! ?御?????????????鴻???????????ゃ????
2024 h677 1.5 // *************************************************************************
2025     procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
2026     const
2027     DEL_MSG = '??^0???????違?????ゃ???障?????????????с????鐚?';
2028     DEL_SAME_MSG = '?????? ^0 ?????鴻???????????違?????ゃ???障?????????????с????鐚?';
2029     DEL_TITLE = '???ょ∈茯?';
2030     var
2031     ThreadItem: TThreadItem;
2032     TmpListItem: TListItem;
2033     List: TList;
2034     i: Integer;
2035     begin
2036     List := TList.Create;
2037     try
2038     TmpListItem := GikoForm.ListView.Selected;
2039     while TmpListItem <> nil do begin
2040     if TObject(TmpListItem.Data) is TThreadItem then begin
2041     ThreadItem := TThreadItem(TmpListItem.Data);
2042     if ThreadItem.IsLogFile then
2043     List.Add(ThreadItem);
2044     end;
2045     TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2046     end;
2047    
2048     if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2049     if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2050     if List.Count = 1 then begin
2051     if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', TThreadItem( List[ 0 ] ).Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2052     Exit;
2053     end else begin
2054     if MsgBox(GikoForm.Handle, StringReplace( DEL_SAME_MSG, '^0', IntToStr( List.Count ), [rfReplaceAll] ), DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> IDYES then
2055     Exit;
2056     end;
2057     end;
2058     end;
2059    
2060     for i := 0 to List.Count - 1 do begin
2061     ThreadItem := TThreadItem(List[i]);
2062     GikoForm.DeleteHistory(ThreadItem);
2063     GikoForm.DeleteTab(ThreadItem);
2064     ThreadItem.DeleteLogFile;
2065     end;
2066 h677 1.63 GikoForm.TreeView.Refresh; // UnRead ??;腓冴???贋??/span>
2067 h677 1.5 GikoForm.ListView.Refresh;
2068     finally
2069     List.Free;
2070     end;
2071     end;
2072     // *************************************************************************
2073 yoffy 1.9 //! ActiveList??TBoard?с?鴻???荀с?э??や札筝??御???????????????鴻??????Action?у?演??
2074 h677 1.5 // *************************************************************************
2075     procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2076     begin
2077     TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2078     and (GikoForm.ListView.SelCount > 0);
2079     end;
2080     // *************************************************************************
2081 yoffy 1.9 //! 腟?莨若?水吋罩眼??羔??祉????
2082 h677 1.5 // *************************************************************************
2083     procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2084     const
2085     DEL_MSG = '腟?莨若?水??吋罩眼?????ゃ???障?????????????с????鐚?';
2086     DEL_TITLE = '???ょ∈茯?';
2087     begin
2088     if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2089     if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2090     Exit;
2091     GikoSys.Setting.SelectTextList.Clear;
2092     GikoForm.SelectComboBox.Items.Clear;
2093     GikoForm.SelectComboBox.Text := '';
2094     GikoForm.SetListViewType( gvtAll );
2095     end;
2096     // *************************************************************************
2097 yoffy 1.9 //! ???鴻?????c?帥??????絮ユ???羔??祉????
2098 h677 1.5 // *************************************************************************
2099     procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2100     const
2101     DEL_MSG = '???鴻?????c?水??????吋罩眼?????ゃ???障?????????????с????鐚?';
2102     DEL_TITLE = '???ょ∈茯?';
2103     begin
2104     if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2105     if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2106     Exit;
2107     GikoSys.Setting.NameList.Clear;
2108 h677 1.41 ClearNameTextAllEditor
2109 h677 1.5 end;
2110     // *************************************************************************
2111 yoffy 1.9 //! ???鴻?????c?帥???<?若??吋罩眼??羔??祉????
2112 h677 1.5 // *************************************************************************
2113     procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2114     const
2115     DEL_MSG = '???鴻?????c?帥?<?若????吋罩眼?????ゃ???障?????????????с????鐚?';
2116     DEL_TITLE = '???ょ∈茯?';
2117     begin
2118     if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2119     if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2120     Exit;
2121     GikoSys.Setting.MailList.Clear;
2122 h677 1.41 ClearMailAllEditor;
2123 h677 1.5 end;
2124     // *************************************************************************
2125 yoffy 1.9 //! ???潟??????腟?篋?????
2126 h677 1.5 // *************************************************************************
2127     procedure TGikoDM.ExitActionExecute(Sender: TObject);
2128     begin
2129     GikoForm.Close;
2130     end;
2131     // *************************************************************************
2132 yoffy 1.9 //! ??羂????ャ?????????鴻???若????絎?茵???????
2133 h677 1.5 // *************************************************************************
2134     procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2135     begin
2136     ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2137     end;
2138     // *************************************************************************
2139 yoffy 1.9 //! ??羂????ャ?????????鴻???若????絎?茵?????
2140 h677 1.5 // *************************************************************************
2141     procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2142     begin
2143     if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2144     ShowMessage('???<?ゃ?????阪?????障????');
2145     end else begin
2146     ShowMessage('???<?ゃ?????阪????け?????障????');
2147     end;
2148     end;
2149     // *************************************************************************
2150 h677 1.19 //! ?御???鴻???????????<?ゃ?????絖?????
2151 h677 1.5 // *************************************************************************
2152 h677 1.19 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2153 h677 1.5 var
2154     List: TList;
2155     i: Integer;
2156     html: TStringList;
2157     title: string;
2158     begin
2159     List := TList.Create;
2160     try
2161     GikoForm.ScreenCursor := crHourGlass;
2162     GikoForm.SelectListItem(List);
2163     if ((GikoSys.Setting.ListOrientation = gloVertical) and
2164     (GikoSys.Setting.ListHeightState = glsMax)) or
2165     ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2166     (GikoSys.Setting.ListWidthState = glsMax)) then
2167     ShowMessage('?鴻??????筝?荀с??茵?ず???????????')
2168     else if(List.Count = 0) then
2169     ShowMessage('?鴻?????????御?????????????')
2170     else begin
2171 h677 1.19 if dat then begin
2172     SaveDialog.Title := '?御???鴻????????dat???障?鞘?絖?';
2173     SaveDialog.Filter := 'DAT???<?ゃ??*.dat)|*.dat';
2174     end else begin
2175     SaveDialog.Title := '?御???鴻????????HTML???????絖?';
2176     SaveDialog.Filter := 'HTML???<?ゃ??*.html)|*.html';
2177     end;
2178 h677 1.5 for i := 0 to List.Count - 1 do begin
2179     if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2180 h677 1.19 if dat then begin
2181     SaveDialog.FileName := TThreadItem(List[i]).FileName;
2182     end else begin
2183     SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2184     end;
2185     if SaveDialog.Execute then begin
2186     if dat then begin
2187     CopyFile(PChar(TThreadItem(List[i]).FilePath),
2188     PChar(SaveDialog.FileName), true);
2189     end else begin
2190     html := TStringList.Create;
2191     title := TThreadItem(List[i]).Title;
2192     try
2193     HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2194     html.SaveToFile(SaveDialog.FileName);
2195     THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2196     finally
2197     html.Free;
2198     end;
2199 h677 1.5 end;
2200     end;
2201     end;
2202     end;
2203     end;
2204     finally
2205     GikoForm.ScreenCursor := crDefault;
2206     List.Free;
2207     end;
2208     end;
2209     // *************************************************************************
2210 h677 1.19 //! ?御???鴻????????HTML???????絖?
2211     // *************************************************************************
2212     procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2213     begin
2214     SelectThreadSaveToFile(false);
2215     end;
2216     // *************************************************************************
2217 yoffy 1.9 //! ?御???鴻????????DAT綵√????障?鞘?絖?
2218 h677 1.5 // *************************************************************************
2219     procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2220     begin
2221 h677 1.19 SelectThreadSaveToFile(true);
2222 h677 1.5 end;
2223     // *************************************************************************
2224 yoffy 1.9 //! ?帥??????????篆?絖?
2225 h677 1.5 // *************************************************************************
2226     procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2227 h677 1.42 const
2228     Filename = 'tab.sav';
2229     bFilename = '~tab.sav';
2230     var
2231     SaveStringList: TStringList;
2232 h677 1.5 begin
2233 h677 1.42 SaveStringList := TStringList.Create;
2234     try
2235     GetTabURLs(SaveStringList);
2236     try
2237     if FileExists( GikoSys.GetAppDir + Filename) then begin
2238     CopyFile(PChar(GikoSys.GetAppDir + Filename),
2239     PChar(GikoSys.GetAppDir + bFilename), False);
2240     end;
2241     except
2242     end;
2243     SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2244     finally
2245     SaveStringList.Free;
2246     end;
2247 h677 1.5 end;
2248     // *************************************************************************
2249 h677 1.42 //! ???????吟?帥????┃絎????????????鴻????????RL??緇?
2250 h677 1.5 // *************************************************************************
2251 h677 1.42 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2252     var
2253     rec : TBrowserRecord;
2254     i : Integer;
2255 h677 1.5 begin
2256 h677 1.42 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2257     try
2258     rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2259     if( rec <> nil) and (rec.Thread <> nil) then
2260