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.34 - (hide annotations) (download) (as text)
Sat Feb 18 18:09:47 2006 UTC (18 years, 2 months ago) by h677
Branch: MAIN
CVS Tags: v1_52_0_646, v1_52_0_645
Changes since 1.33: +1 -0 lines
File MIME type: text/x-pascal
レスエディタから入力アシストフォーム経由で入力できるように修正

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