OSDN Git Service

782eaa4fe8d61af3aad20cb8570a5ef9897d5352
[gikonavigoeson/gikonavi.git] / GikoDataModule.pas
1 unit GikoDataModule;
2
3 interface
4
5 uses
6   SysUtils, Classes, ExtActns, StdActns, ActnList, ImgList, Controls,
7   ComCtrls;
8
9 type
10   TGikoDM = class(TDataModule)
11     GikoFormActionList: TActionList;
12     OnlyAHundredResAction: TAction;
13     OnlyKokoResAction: TAction;
14     LoginAction: TAction;
15     NewBoardAction: TAction;
16     LogDeleteAction: TAction;
17     KidokuAction: TAction;
18     StdToolBarVisibleAction: TAction;
19     AddressBarVisibleAction: TAction;
20     LinkBarVisibleAction: TAction;
21     ListToolBarVisibleAction: TAction;
22     SearchAction: TAction;
23     GikoNaviWebPageAction: TAction;
24     MonazillaWebPageAction: TAction;
25     BBS2chWebPageAction: TAction;
26     GikoFolderOpenAction: TAction;
27     AboutAction: TAction;
28     SelectTextClearAction: TAction;
29     NameTextClearAction: TAction;
30     MailTextClearAction: TAction;
31     ExitAction: TAction;
32     ListNameBarVisibleAction: TAction;
33     BrowserToolBarVisibleAction: TAction;
34     BrowserNameBarVisibleAction: TAction;
35     MsgBarVisibleAction: TAction;
36     MsgBarCloseAction: TAction;
37     StatusBarVisibleAction: TAction;
38     CabinetBBSAction: TAction;
39     CabinetHistoryAction: TAction;
40     OnlyNewResAction: TAction;
41     CabinetFavoriteAction: TAction;
42     CabinetVisibleAction: TAction;
43     ListNumberVisibleAction: TAction;
44     UpFolderAction: TAction;
45     CabinetCloseAction: TAction;
46     IconStyle: TAction;
47     LargeIconAction: TAction;
48     SmallIconAction: TAction;
49     ListIconAction: TAction;
50     DetailIconAction: TAction;
51     MidokuAction: TAction;
52     AllSelectAction: TAction;
53     AllItemAction: TAction;
54     LogItemAction: TAction;
55     NewItemAction: TAction;
56     ThreadRangeAction: TAction;
57     SelectItemAction: TAction;
58     StopAction: TAction;
59     OptionAction: TAction;
60     RoundAction: TAction;
61     BrowserMaxAction: TAction;
62     BrowserMinAction: TAction;
63     ScrollTopAction: TAction;
64     ScrollLastAction: TAction;
65     ScrollNewAction: TAction;
66     ScrollKokoAction: TAction;
67     EditorAction: TAction;
68     IEAction: TAction;
69     ShowThreadAction: TAction;
70     ShowBoardAction: TAction;
71     URLCopyAction: TAction;
72     NameCopyAction: TAction;
73     NameURLCopyAction: TAction;
74     ItemReloadAction: TAction;
75     ThreadEditorAction: TAction;
76     BoardIEAction: TAction;
77     SelectItemURLCopyAction: TAction;
78     SelectItemNameCopyAction: TAction;
79     SelectItemNameURLCopyAction: TAction;
80     SelectListReloadAction: TAction;
81     SelectThreadReloadAction: TAction;
82     BrowserTabCloseAction: TAction;
83     NotSelectTabCloseAction: TAction;
84     AllTabCloseAction: TAction;
85     KokomadeAction: TAction;
86     ZenbuAction: TAction;
87     KokoResAction: TAction;
88     TreeSelectBoradReload: TAction;
89     TreeSelectThreadReload: TAction;
90     TreeSelectURLCopy: TAction;
91     SelectReservAction: TAction;
92     SelectNewRoundName: TAction;
93     SelectDeleteRound: TAction;
94     KeySettingAction: TAction;
95     ArrangeAction: TAction;
96     ActiveLogDeleteAction: TAction;
97     TreeSelectNameURLCopy: TAction;
98     PaneInitAction: TAction;
99     LeftmostTabSelectAction: TAction;
100     LeftTabSelectAction: TAction;
101     RightTabSelectAction: TAction;
102     RightmostTabSelectAction: TAction;
103     FavoriteAddAction: TAction;
104     BoardFavoriteAddAction: TAction;
105     ThreadFavoriteAddAction: TAction;
106     TreeSelectFavoriteAddAction: TAction;
107     FavoriteArrangeAction: TAction;
108     MoveToAction: TAction;
109     BrowserTabVisibleAction: TAction;
110     BrowserTabTopAction: TAction;
111     BrowserTabBottomAction: TAction;
112     BrowserTabTabStyleAction: TAction;
113     BrowserTabButtonStyleAction: TAction;
114     BrowserTabFlatStyleAction: TAction;
115     GikoHelpAction: TAction;
116     KotehanAction: TAction;
117     ToolBarSettingAction: TAction;
118     SelectResAction: TAction;
119     AllResAction: TAction;
120     EditNGAction: TAction;
121     ReloadAction: TAction;
122     GoFowardAction: TAction;
123     GoBackAction: TAction;
124     TreeSelectSearchBoardName: TAction;
125     FavoriteTreeViewRenameAction: TAction;
126     FavoriteTreeViewNewFolderAction: TAction;
127     FavoriteTreeViewDeleteAction: TAction;
128     FavoriteTreeViewBrowseFolderAction: TAction;
129     FavoriteTreeViewReloadAction: TAction;
130     FavoriteTreeViewURLCopyAction: TAction;
131     FavoriteTreeViewNameCopyAction: TAction;
132     FavoriteTreeViewNameURLCopyAction: TAction;
133     FavoriteTreeViewLogDeleteAction: TAction;
134     ResRangeAction: TAction;
135     ExportFavoriteFile: TFileSaveAs;
136     FavoriteTreeViewBrowseBoardAction: TAction;
137     FavoriteTreeViewBrowseThreadAction: TAction;
138     UpBoardAction: TAction;
139     KoreCopy: TAction;
140     TreeSelectNameCopy: TAction;
141     SetFocusForBrowserAction: TAction;
142     SetFocusForThreadListAction: TAction;
143     SetFocusForCabinetAction: TAction;
144     FileRun1: TFileRun;
145     ThreadlistMaxAndFocusAction: TAction;
146     BrowserMaxAndFocusAction: TAction;
147     SelectItemSaveForHTML: TAction;
148     SelectItemSaveForDat: TAction;
149     FileSaveAs1: TFileSaveAs;
150     LogFolderOpenAction: TAction;
151     TabsSaveAction: TAction;
152     TabsOpenAction: TAction;
153     BrowsBoradHeadAction: TAction;
154     TabAutoSaveAction: TAction;
155     TabAutoLoadAction: TAction;
156     JumpToNumOfResAction: TAction;
157     FavoriteTreeViewCollapseAction: TAction;
158     RightTabCloseAction: TAction;
159     LeftTabCloseAction: TAction;
160     SameIDResAnchorAction: TAction;
161     IndividualAbon1Action: TAction;
162     IndividualAbon0Action: TAction;
163     AntiIndividualAbonAction: TAction;
164     AntiIndividualAbonDlgAction: TAction;
165     IndividualAbonID1Action: TAction;
166     IndividualAbonID0Action: TAction;
167     MuteAction: TAction;
168     SortActiveColumnAction: TAction;
169     SortNextColumnAction: TAction;
170     SortPrevColumnAction: TAction;
171     BeLogInOutAction: TAction;
172     UnSelectedListViewAction: TAction;
173     WikiFAQWebPageAction: TAction;
174     ToobarImageList: TImageList;
175     procedure EditNGActionExecute(Sender: TObject);
176     procedure ReloadActionExecute(Sender: TObject);
177     procedure GoFowardActionExecute(Sender: TObject);
178     procedure GoBackActionExecute(Sender: TObject);
179     procedure MoveToActionExecute(Sender: TObject);
180     procedure FavoriteAddActionExecute(Sender: TObject);
181     procedure FavoriteArrangeActionExecute(Sender: TObject);
182     procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
183     procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
184     procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
185     procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
186     procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
187     procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
188     procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
189     procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
190     procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
191     procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
192     procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
193     procedure OnlyAHundredResActionExecute(Sender: TObject);
194     procedure OnlyKokoResActionExecute(Sender: TObject);
195     procedure OnlyNewResActionExecute(Sender: TObject);
196     procedure BrowserMaxActionExecute(Sender: TObject);
197     procedure BrowserMinActionExecute(Sender: TObject);
198     procedure ScrollTopActionExecute(Sender: TObject);
199     procedure ScrollLastActionExecute(Sender: TObject);
200     procedure ScrollNewActionExecute(Sender: TObject);
201     procedure ScrollKokoActionExecute(Sender: TObject);
202     procedure ScrollKokoActionUpdate(Sender: TObject);
203     procedure EditorActionExecute(Sender: TObject);
204     procedure IEActionExecute(Sender: TObject);
205     procedure ShowThreadActionExecute(Sender: TObject);
206     procedure ShowBoardActionExecute(Sender: TObject);
207     procedure URLCopyActionExecute(Sender: TObject);
208     procedure NameCopyActionExecute(Sender: TObject);
209     procedure NameURLCopyActionExecute(Sender: TObject);
210     procedure ItemReloadActionExecute(Sender: TObject);
211     procedure BrowserTabCloseActionExecute(Sender: TObject);
212     procedure BrowserTabCloseActionUpdate(Sender: TObject);
213     procedure NotSelectTabCloseActionExecute(Sender: TObject);
214     procedure NotSelectTabCloseActionUpdate(Sender: TObject);
215     procedure AllTabCloseActionExecute(Sender: TObject);
216     procedure ActiveLogDeleteActionExecute(Sender: TObject);
217     procedure LeftmostTabSelectActionExecute(Sender: TObject);
218     procedure LeftmostTabSelectActionUpdate(Sender: TObject);
219     procedure LeftTabSelectActionExecute(Sender: TObject);
220     procedure RightTabSelectActionExecute(Sender: TObject);
221     procedure RightTabSelectActionUpdate(Sender: TObject);
222     procedure RightmostTabSelectActionExecute(Sender: TObject);
223     procedure ThreadFavoriteAddActionExecute(Sender: TObject);
224     procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
225     procedure SelectResActionExecute(Sender: TObject);
226     procedure AllResActionExecute(Sender: TObject);
227     procedure ResRangeActionExecute(Sender: TObject);
228     procedure UpBoardActionExecute(Sender: TObject);
229     procedure JumpToNumOfResActionExecute(Sender: TObject);
230     procedure RightTabCloseActionExecute(Sender: TObject);
231     procedure RightTabCloseActionUpdate(Sender: TObject);
232     procedure LeftTabCloseActionExecute(Sender: TObject);
233   private
234         { Private \90é\8c¾ }
235   public
236         { Public \90é\8c¾ }
237   published
238         { Published \90é\8c¾ }
239         //TAction\82ÅGetActiveContent\82ªnil\88È\8aO\82Å\97L\8cø\82É\82È\82é
240         procedure DependActiveCntentActionUpdate(Sender: TObject);
241         //TAction\82ÅGetActiveContent\82ªnil\88È\8aO\82©\82Â\83\8d\83O\82ð\8e\9d\82Á\82Ä\82¢\82é\82Æ\97L\8cø\82É\82È\82é
242         procedure DependActiveCntentLogActionUpdate(Sender: TObject);
243         //TAction\82ÅActiveList\82ªTBoard\82Å\97L\8cø\82É\82È\82é
244         procedure DependActiveListTBoardActionUpdate(Sender: TObject);
245   end;
246
247 var
248   GikoDM: TGikoDM;
249
250 implementation
251
252 uses
253         Windows, Math, Messages, Dialogs, Clipbrd, 
254         Giko, GikoSystem, GikoUtil, BoardGroup,
255         FavoriteArrange, Favorite, Setting, MojuUtils,
256         Editor, ListSelect;
257
258
259 const
260         CAPTION_NAME: string = '\83M\83R\83i\83r';
261         USER_SETLINKBAR                                 = WM_USER + 2003;
262         //\83c\81[\83\8b\83o\81[\83A\83C\83R\83\93
263         TOOL_ICON_HEIGHT_MAX            = 16;           //\8d\82\82³\8dÅ\91å\83A\83C\83R\83\93
264         TOOL_ICON_HEIGHT_MIN            = 17;           //\8d\82\82³\8dÅ\8f¬\83A\83C\83R\83\93
265         TOOL_ICON_HEIGHT_NORMAL = 18;           //\8d\82\82³\95W\8f\80\83A\83C\83R\83\93
266         TOOL_ICON_WIDTH_MAX             = 19;           //\95\9d\8dÅ\91å\83A\83C\83R\83\93
267         TOOL_ICON_WIDTH_MIN             = 20;           //\95\9d\8dÅ\8f¬\83A\83C\83R\83\93
268         TOOL_ICON_WIDTH_NORMAL  = 21;           //\95\9d\95W\8f\80\83A\83C\83R\83\93
269
270         TOOL_ICON_FAV_FOLDER            = 30;           //\82¨\8bC\82É\93ü\82è\83t\83H\83\8b\83_\83A\83C\83R\83\93
271         TOOL_ICON_FAV_BOARD                     = 31;           //\82¨\8bC\82É\93ü\82è\94Â\83A\83C\83R\83\93
272         TOOL_ICON_FAV_THREAD            = 32;           //\82¨\8bC\82É\93ü\82è\83X\83\8c\83A\83C\83R\83\93
273
274 {$R *.dfm}
275 // *************************************************************************
276 // TAction\82ÅGetActiveContent\82ªnil\88È\8aO\82Å\97L\8cø\82É\82È\82é
277 // *************************************************************************
278 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
279 begin
280         TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
281 end;
282 // *************************************************************************
283 // TAction\82ÅGetActiveContent\82ªnil\88È\8aO\82©\82Â\83\8d\83O\82ð\8e\9d\82Á\82Ä\82¢\82é
284 // *************************************************************************
285 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
286 begin
287         TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
288                                                                         and (GikoForm.GetActiveContent.IsLogFile);
289 end;
290 // *************************************************************************
291 // TAction\82ÅActiveList\82ªTBoard\82Å\97L\8cø\82É\82È\82é
292 // *************************************************************************
293 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
294 begin
295         TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
296 end;
297 // *************************************************************************
298 // NG\83\8f\81[\83h\95Ò\8fW
299 // *************************************************************************
300 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
301 begin
302         //\83e\83L\83X\83g\82É\8aÖ\98A\95t\82¯\82ç\82ê\82½\83A\83v\83\8a\82ÅNG\83\8f\81[\83h\83t\83@\83C\83\8b\82ð\83I\81[\83v\83\93
303         GikoSys.FAbon.EditNGwords;
304 end;
305 // *************************************************************************
306 // NG\83\8f\81[\83h\93Ç\82Ý\8d\9e\82Ý\81i\8dÄ\93Ç\82Ý\8d\9e\82Ý\81j
307 // *************************************************************************
308 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
309 begin
310         //\83\8a\83\8d\81[\83h\82ð\8eÀ\8ds\81@\8e¸\94s\82µ\82½\82ç\83\81\83b\83Z\81[\83W\8fo\97Í
311         if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
312                 MsgBox(GikoForm.Handle, 'NG\83\8f\81[\83h\83t\83@\83C\83\8b\82Ì\8dÄ\93Ç\82Ý\8d\9e\82Ý\82É\8e¸\94s\82µ\82Ü\82µ\82½', '\83G\83\89\81[', MB_OK or MB_ICONEXCLAMATION);
313         end else begin
314                 //\91S\82Ä\82Ì\83^\83u\82É\8dÄ\95`\89æ\82ð\90Ý\92è
315                 GikoForm.RepaintAllTabsBrowser();
316         end;
317 end;
318 // *************************************************************************
319 // NG\83\8f\81[\83h\93Ç\82Ý\8d\9e\82Ý\81i\88ê\82Â\8cã\82ë\81j
320 // *************************************************************************
321 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
322 var
323         s: string;
324 begin
325         //\88ê\82Â\8cã\82ë\82Ì\93Ç\82Ý\8d\9e\82Ý\81@\8e¸\94s\82µ\82½\82ç\83\81\83b\83Z\81[\83W\8fo\97Í
326         if GikoSys.FAbon.GoBack =false then begin
327                 MsgBox(GikoForm.Handle, '\88ê\82Â\8cã\82ë\82ÌNG\83\8f\81[\83h\83t\83@\83C\83\8b\82Ì\93Ç\82Ý\8d\9e\82Ý\82É\8e¸\94s\82µ\82Ü\82µ\82½', '\83G\83\89\81[', MB_OK or MB_ICONEXCLAMATION);
328         end else begin
329                 //\83X\83e\81[\83^\83X\82É\95\\8e¦\82³\82ê\82éNG\83\8f\81[\83h\83t\83@\83C\83\8b\96¼\82ð\8dX\90V
330                 s := GikoSys.FAbon.NGwordname;
331                 GikoForm.StatusBar.Panels.Items[2].Text := s;
332                 //\83X\83e\81[\83^\83X\82Ì\95\\8e¦\83T\83C\83Y\82Ì\83\8a\83T\83C\83Y
333                 GikoForm.StatusBar.Panels[2].Width := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
334                 GikoForm.StatusBarResize(Sender);
335                 //\91S\82Ä\82Ì\83^\83u\82É\8dÄ\95`\89æ\82ð\90Ý\92è
336                 GikoForm.RepaintAllTabsBrowser();
337         end;
338 end;
339 // *************************************************************************
340 // NG\83\8f\81[\83h\93Ç\82Ý\8d\9e\82Ý\81i\88ê\82Â\91O\81j
341 // *************************************************************************
342 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
343 var
344         s: string;
345 begin
346         //\88ê\82Â\8cã\82ë\82Ì\93Ç\82Ý\8d\9e\82Ý\81@\8e¸\94s\82µ\82½\82ç\83\81\83b\83Z\81[\83W\8fo\97Í
347         if GikoSys.FAbon.GoForward =false then begin
348                 MsgBox(GikoForm.Handle, '\88ê\82Â\91O\82ÌNG\83\8f\81[\83h\83t\83@\83C\83\8b\82Ì\93Ç\82Ý\8d\9e\82Ý\82É\8e¸\94s\82µ\82Ü\82µ\82½', '\83G\83\89\81[', MB_OK or MB_ICONEXCLAMATION);
349         end else begin
350         //\83X\83e\81[\83^\83X\82É\95\\8e¦\82³\82ê\82éNG\83\8f\81[\83h\83t\83@\83C\83\8b\96¼\82ð\8dX\90V
351                 s := GikoSys.FAbon.NGwordname;
352                 GikoForm.StatusBar.Panels.Items[2].Text := s;
353         //\83X\83e\81[\83^\83X\82Ì\95\\8e¦\83T\83C\83Y\82Ì\83\8a\83T\83C\83Y
354                 GikoForm.StatusBar.Panels[2].Width := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
355                 GikoForm.StatusBarResize(Sender);
356         //\91S\82Ä\82Ì\83^\83u\82É\8dÄ\95`\89æ\82ð\90Ý\92è
357                 GikoForm.RepaintAllTabsBrowser();
358         end;
359 end;
360 // *************************************************************************
361 // \83A\83h\83\8c\83X\83o\81[\82É\95\\8e¦\82µ\82Ä\82¢\82é\83A\83h\83\8c\83X\82Ö\88Ú\93®\82·\82é
362 // *************************************************************************
363 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
364 var
365         URL: string;
366         idx: Integer;
367 begin
368         //\83A\83h\83\8c\83X\83R\83\93\83{\83{\83b\83N\83X\82©\82çURL\82ð\8eæ\93¾
369         URL := Trim(GikoForm.AddressComboBox.Text);
370         //URL\82É\88Ú\93®
371         GikoForm.MoveToURL(URL);
372         //\88È\89º\81A\97\9a\97ð\82Ì\8f\88\97\9d
373         idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
374         if idx = -1 then begin
375                 GikoForm.AddressComboBox.Items.Insert(0, URL);
376                 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
377                         GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
378         end else begin
379                 GikoForm.AddressComboBox.Items.Delete(idx);
380                 GikoForm.AddressComboBox.Items.Insert(0, URL);
381         end;
382 end;
383 // *************************************************************************
384 // \82¨\8bC\82É\93ü\82è\82Ì\92Ç\89Á\83_\83C\83A\83\8d\83O\82ð\8aJ\82­
385 // *************************************************************************
386 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
387 begin
388         GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
389 end;
390 // *************************************************************************
391 // \82¨\8bC\82É\93ü\82è\82Ì\90®\97\9d\83_\83C\83A\83\8d\83O\82ð\8aJ\82­
392 // *************************************************************************
393 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
394 var
395         Dlg: TFavoriteArrangeDialog;
396 begin
397         Dlg := TFavoriteArrangeDialog.Create(Self);
398         try
399                 Dlg.ShowModal;
400         finally
401                 Dlg.Release;
402         end;
403         //\83\8a\83\93\83N\83o\81[\82É\8dX\90V\82ð\93`\82¦\82é
404         PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
405 end;
406 // *************************************************************************
407 // \83c\83\8a\81[\82ð\91S\82Ä\95Â\82\82é
408 // *************************************************************************
409 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
410 var
411         node    : TTreeNode;
412 begin
413         node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
414         try
415                 //\83m\81[\83h\82ª\91±\82­\8cÀ\82è\81@\83m\81[\83h\82ð\8fk\8f¬\82³\82¹\82é
416                 while node <> nil do begin
417                         if node.HasChildren then
418                                 node.Expanded := False;
419                         node := node.GetNext;
420                 end;
421         except
422         end;
423 end;
424 // *************************************************************************
425 // \82¨\8bC\82É\93ü\82è\82Ì\96¼\91O\82ð\95Ò\8fW\82·\82é
426 // *************************************************************************
427 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
428 var
429         node : TTreeNode;
430 begin
431
432         if GikoForm.ClickNode = nil then
433                 Exit;
434         if GikoForm.ClickNode.IsFirstNode then
435                 Exit;
436         if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
437                 Exit;
438         GikoForm.FavoriteTreeView.ReadOnly := False;
439         if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
440                 node := GikoForm.ClickNode.Parent;
441                 while node <> nil do begin
442                         node.Expanded   := True;
443                         node                                    := node.Parent;
444                 end;
445                 GikoForm.ClickNode.EditText;
446         end else begin
447                 GikoForm.ClickNode.Text := InputBox( '\96¼\91O\82Ì\95Ï\8dX', '\82¨\8bC\82É\93ü\82è\82Ì\90V\82µ\82¢\96¼\91O\82ð\93ü\97Í\82µ\82Ä\82­\82¾\82³\82¢', GikoForm.ClickNode.Text );
448         end;
449
450         GikoForm.SetLinkBar;
451 end;
452 // *************************************************************************
453 // \90V\82µ\82­\82¨\8bC\82É\93ü\82è\82É\83t\83H\83\8b\83_\82ð\8dì\90¬\82·\82é
454 // *************************************************************************
455 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
456 var
457         NewFavFolder: TFavoriteFolder;
458         Node: TTreeNode;
459 begin
460
461         if GikoForm.ClickNode = nil then
462                 Exit;
463
464         try
465                 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
466                         GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
467                         GikoForm.ClickNode := GikoForm.ClickNode.Parent;
468                 end;
469
470                 NewFavFolder := TFavoriteFolder.Create;
471                 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '\90V\82µ\82¢\83t\83H\83\8b\83_', NewFavFolder);
472                 Node.ImageIndex := 14;
473                 Node.SelectedIndex := 14;
474         //                      FClickNode.Selected.Expanded := True;
475                 GikoForm.FavoriteTreeView.Selected := Node;
476                 GikoForm.ClickNode := Node;
477                 FavoriteTreeViewRenameAction.Execute;
478         finally
479         end;
480
481 end;
482 // *************************************************************************
483 // \82±\82Ì\82¨\8bC\82É\93ü\82è\82ð\8dí\8f\9c\82·\82é
484 // *************************************************************************
485 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
486 const
487         DEL_LINK_MSG = '\81g\83\8a\83\93\83N\81h\82Í\83\8a\83\93\83N\83o\81[\97p\83t\83H\83\8b\83_\82Å\82·\81B\8dí\8f\9c\82µ\82Ä\82æ\82ë\82µ\82¢\82Å\82·\82©\81H';
488         DEL_MSG = '\81g^0\81h\82ð\8dí\8f\9c\82µ\82Ü\82·\81B\82æ\82ë\82µ\82¢\82Å\82·\82©\81H';
489         DEL_TITLE = '\8dí\8f\9c\8am\94F';
490 begin
491
492         if GikoForm.ClickNode = nil then
493                 Exit;
494         if GikoForm.ClickNode.IsFirstNode then
495                 Exit;
496         if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
497                 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
498                         if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
499                                 Exit;
500                 end else begin
501                         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
502                                 Exit;
503                 end;
504         end;
505
506         GikoForm.ClickNode.Delete;
507
508         GikoForm.SetLinkBar;
509
510 end;
511 // *************************************************************************
512 // \82±\82Ì\83t\83H\83\8b\83_\82É\93ü\82Á\82Ä\82¢\82é\82¨\8bC\82É\93ü\82è\82ð\91S\82Ä\8aJ\82­
513 // *************************************************************************
514 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
515   Sender: TObject);
516 begin
517         GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
518 end;
519 // *************************************************************************
520 // \91I\91ð\82³\82ê\82Ä\82¢\82é\82¨\8bC\82É\93ü\82è\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é
521 // *************************************************************************
522 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
523 var
524         ThreadItem: TThreadItem;
525         FavThread: TFavoriteThreadItem;
526         Board: TBoard;
527         FavBoard: TFavoriteBoardItem;
528         shiftDown: Boolean;
529 begin
530
531         if GikoForm.ClickNode = nil then Exit;
532
533         shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
534
535         if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
536                 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
537                 ThreadItem := FavThread.Item;
538                 if ThreadItem <> nil then
539                         GikoForm.DownloadContent(ThreadItem, shiftDown);
540         end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
541                 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
542                 Board := FavBoard.Item;
543                 GikoForm.DownloadList(Board, shiftDown);
544         end;
545
546 end;
547 // *************************************************************************
548 // \91I\91ð\82³\82ê\82Ä\82¢\82é\83X\83\8c\83b\83h\82ÌURL\82ð\83R\83s\81[\82·\82é
549 // *************************************************************************
550 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
551 var
552         FavThread       : TFavoriteThreadItem;
553         FavBoard        : TFavoriteBoardItem;
554         s                                       : string;
555 begin
556
557         if GikoForm.ClickNode = nil then Exit;
558
559         if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
560
561                 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
562                 s := FavThread.URL + #13#10;
563                 if s <> '' then
564                         Clipboard.AsText := s;
565
566         end else if (TObject(GikoForm.ClickNode.Data) is TFavoriteBoardItem) then begin
567
568                 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
569                 s := FavBoard.URL + #13#10;
570                 if s <> '' then
571                         Clipboard.AsText := s;
572
573         end;
574 end;
575 // *************************************************************************
576 // \91I\91ð\82³\82ê\82Ä\82¢\82é\94Â\82Ì\96¼\91O\82ð\83R\83s\81[\82·\82é
577 // *************************************************************************
578 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
579 var
580         ThreadItem: TThreadItem;
581         FavThread: TFavoriteThreadItem;
582         Board: TBoard;
583         FavBoard: TFavoriteBoardItem;
584         s: string;
585 begin
586
587         if GikoForm.ClickNode = nil then Exit;
588
589         if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
590
591                 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
592                 ThreadItem := FavThread.Item;
593
594                 try
595                         s := ThreadItem.Title + #13#10;
596                         if s <> '' then
597                                 Clipboard.AsText := s;
598                 finally
599                 end;
600
601         end else if (TObject(GikoForm.ClickNode.Data) is TFavoriteBoardItem) then begin
602
603                 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
604                 Board := FavBoard.Item;
605                 if Board <> nil then
606                         if not Board.IsThreadDatRead then
607                                 GikoSys.ReadSubjectFile(Board);
608
609                 try
610                         s := Board.Title + #13#10;
611                         if s <> '' then
612                                 Clipboard.AsText := s;
613                 finally
614                 end;
615
616         end;
617
618 end;
619 // *************************************************************************
620 // \91I\91ð\82³\82ê\82Ä\82¢\82é\83X\83\8c\83b\83h\82Ì\96¼\91O\82ÆURL\82ð\83R\83s\81[\82·\82é
621 // *************************************************************************
622 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
623   Sender: TObject);
624 var
625         ThreadItem: TThreadItem;
626         FavThread: TFavoriteThreadItem;
627         Board: TBoard;
628         FavBoard: TFavoriteBoardItem;
629         s: string;
630 begin
631
632         if GikoForm.ClickNode = nil then Exit;
633
634         if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
635
636                 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
637                 ThreadItem := FavThread.Item;
638
639                 try
640                         s := ThreadItem.Title + #13#10 + ThreadItem.URL + #13#10;
641                         if s <> '' then
642                                 Clipboard.AsText := s;
643                 finally
644                 end;
645
646         end else if (TObject(GikoForm.ClickNode.Data) is TFavoriteBoardItem) then begin
647
648                 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
649                 Board := FavBoard.Item;
650                 if Board <> nil then
651                         if not Board.IsThreadDatRead then
652                                 GikoSys.ReadSubjectFile(Board);
653
654                 try
655                         s := Board.Title + #13#10 + Board.URL + #13#10;
656                         if s <> '' then
657                                 Clipboard.AsText := s;
658                 finally
659                 end;
660
661         end;
662
663 end;
664 // *************************************************************************
665 // \91I\91ð\82³\82ê\82Ä\82¢\82é\83X\83\8c\83b\83h\82ð\8dí\8f\9c\82·\82é
666 // *************************************************************************
667 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
668 const
669         DEL_MSG = '\81g^0\81h\82Ì\83\8d\83O\82ð\8dí\8f\9c\82µ\82Ü\82·\81B\82æ\82ë\82µ\82¢\82Å\82·\82©\81H';
670         DEL_TITLE = '\8dí\8f\9c\8am\94F';
671 var
672         ThreadItem: TThreadItem;
673         FavThread: TFavoriteThreadItem;
674 begin
675
676         if GikoForm.ClickNode = nil then Exit;
677         if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
678
679         FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
680         ThreadItem := FavThread.Item;
681
682         try
683                 if GikoSys.Setting.DeleteMsg then begin
684                         if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
685                                 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
686                                         Exit;
687                 end;
688
689                 GikoForm.DeleteHistory(ThreadItem);
690                 GikoForm.DeleteTab(ThreadItem);
691                 ThreadItem.DeleteLogFile;
692
693                 GikoForm.ListView.Refresh;
694         finally
695         end;
696
697 end;
698 // *************************************************************************
699 // \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82ð\83u\83\89\83E\83U\82Å\95\\8e¦\82·\82é
700 // *************************************************************************
701 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
702   Sender: TObject);
703 var
704         threadItem      : TThreadItem;
705 begin
706
707         if GikoForm.ClickNode = nil then Exit;
708
709         if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
710
711                 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
712                 if threadItem = nil then
713                         Exit;
714                 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
715
716         end;
717 end;
718 // *************************************************************************
719 // \8dÅ\90V100\83\8c\83X\82Ì\82Ý\95\\8e¦
720 // *************************************************************************
721 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
722 var
723         FilterList : TStringList;
724 begin
725         if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
726                 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
727
728         GikoForm.ResRangeMenuSelect     := 100;
729         OnlyAHundredResAction.Checked   := True;
730
731         if GikoSys.ResRange <> 100 then begin
732                 GikoSys.ResRange        := 100;
733
734                 // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
735                 FilterList := TStringList.Create;
736                 try
737                         GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
738                         GikoSys.FSelectResFilter.Reverse := False;
739                 finally
740                         FilterList.Free;
741                 end;
742
743                 GikoForm.SelectResWord := '';
744                 GikoForm.RepaintAllTabsBrowser();
745         end;
746 end;
747 // *************************************************************************
748 // \96¢\93Ç\83\8c\83X\82Ì\82Ý\95\\8e¦
749 // *************************************************************************
750 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
751 var
752         FilterList : TStringList;
753 begin
754         if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
755                 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
756
757         GikoForm.ResRangeMenuSelect     := Ord( grrKoko );
758         OnlyKokoResAction.Checked       := True;
759
760         if GikoSys.ResRange <> Ord( grrKoko ) then begin
761                 GikoSys.ResRange                                        := Ord( grrKoko );
762
763                 // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
764                 FilterList := TStringList.Create;
765                 try
766                         GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
767                         GikoSys.FSelectResFilter.Reverse := False;
768                 finally
769                         FilterList.Free;
770                 end;
771
772                 GikoForm.SelectResWord := '';
773                 GikoForm.RepaintAllTabsBrowser();
774         end;
775 end;
776 // *************************************************************************
777 // \90V\92\85\83\8c\83X\82Ì\82Ý\95\\8e¦
778 // *************************************************************************
779 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
780 var
781         FilterList : TStringList;
782 begin
783         if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
784                 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
785
786         GikoForm.ResRangeMenuSelect     := Ord( grrNew );
787         OnlyNewResAction.Checked        := True;
788
789         if GikoSys.ResRange <> Ord( grrNew ) then begin
790                 GikoSys.ResRange                                        := Ord( grrNew );
791
792                 // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
793                 FilterList := TStringList.Create;
794                 try
795                         GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
796                         GikoSys.FSelectResFilter.Reverse := False;
797                 finally
798                         FilterList.Free;
799                 end;
800
801                 GikoForm.SelectResWord := '';
802                 GikoForm.RepaintAllTabsBrowser();
803         end;
804 end;
805 // *************************************************************************
806 // \83X\83\8c\83b\83h\95\\8e¦\83G\83\8a\83A\82ð\91å\82«\82­\95\\8e¦\82·\82é
807 // *************************************************************************
808 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
809 begin
810         if GikoSys.Setting.ListOrientation = gloHorizontal then begin
811                 case GikoSys.Setting.ListWidthState of
812                         glsMax: begin
813                                 //\92Ê\8fí\95\\8e¦\82É\82·\82é
814                                 if GikoForm.ActiveContent <> nil then
815                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
816                                 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
817                                 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
818                                 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
819                                 GikoSys.Setting.ListWidthState := glsNormal;
820                                 if GikoForm.ActiveContent <> nil then
821                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
822                         end;
823                         glsMin, glsNormal: begin
824                                 //\8dÅ\91å\95\\8e¦\82É\82·\82é
825                                 if GikoForm.ActiveContent <> nil then
826                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
827                                 if GikoSys.Setting.ListWidthState = glsNormal then
828                                         GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
829                                 if GikoForm.ActiveContent <> nil then
830                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
831                                 GikoForm.ViewPanel.Width := 1;
832                                 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
833                                 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
834                                 GikoSys.Setting.ListWidthState := glsMax;
835                         end;
836                 end;
837         end else begin
838                 case GikoSys.Setting.ListHeightState of
839                         glsMax: begin
840                                 //\92Ê\8fí\95\\8e¦\82É\82·\82é
841                                 if GikoForm.ActiveContent <> nil then
842                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
843                                 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
844                                 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
845                                 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
846                                 GikoSys.Setting.ListHeightState := glsNormal;
847                                 if GikoForm.ActiveContent <> nil then
848                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
849                         end;
850                         glsMin, glsNormal: begin
851                                 //\8dÅ\91å\95\\8e¦\82É\82·\82é
852                                 if GikoForm.ActiveContent <> nil then
853                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
854                                 if GikoSys.Setting.ListHeightState = glsNormal then
855                                         GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
856                                 if GikoForm.ActiveContent <> nil then
857                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
858                                 GikoForm.ViewPanel.Height := 1;
859                                 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
860                                 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
861                                 GikoSys.Setting.ListHeightState := glsMax;
862                         end;
863                 end;
864         end;
865 end;
866 // *************************************************************************
867 // \83X\83\8c\83b\83h\95\\8e¦\83G\83\8a\83A\82ð\8f¬\82³\82­\95\\8e¦\82·\82é
868 // *************************************************************************
869 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
870 begin
871         if GikoSys.Setting.ListOrientation = gloHorizontal then begin
872                 case GikoSys.Setting.ListWidthState of
873                         glsMax, glsNormal: begin
874                                 //\8dÅ\8f¬\95\\8e¦\82É\82·\82é
875                                 if GikoForm.ActiveContent <> nil then
876                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
877                                 if GikoSys.Setting.ListWidthState = glsNormal then
878                                         GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
879                                 if GikoForm.ActiveContent <> nil then
880                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
881                                 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
882                                 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
883                                 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
884                                 GikoSys.Setting.ListWidthState := glsMin;
885                         end;
886                         glsMin: begin
887                                 //\92Ê\8fí\95\\8e¦\82É\82·\82é
888                                 if GikoForm.ActiveContent <> nil then
889                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
890                                 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
891                                 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
892                                 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
893                                 GikoSys.Setting.ListWidthState := glsNormal;
894                                 if GikoForm.ActiveContent <> nil then
895                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
896                         end;
897                 end;
898         end else begin
899                 case GikoSys.Setting.ListHeightState of
900                         glsMax, glsNormal: begin
901                                 //\8dÅ\8f¬\95\\8e¦\82É\82·\82é
902                                 if GikoForm.ActiveContent <> nil then
903                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
904                                 if GikoSys.Setting.ListHeightState = glsNormal then
905                                         GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
906                                 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
907                                 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
908                                 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
909                                 GikoSys.Setting.ListHeightState := glsMin;
910                                 if GikoForm.ActiveContent <> nil then
911                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
912                         end;
913                         glsMin: begin
914                                 //\92Ê\8fí\95\\8e¦\82É\82·\82é
915                                 if GikoForm.ActiveContent <> nil then
916                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 0, 0);  //\95`\89æ\92â\8e~
917                                 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
918                                 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
919                                 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
920                                 GikoSys.Setting.ListHeightState := glsNormal;
921                                 if GikoForm.ActiveContent <> nil then
922                                         SendMessage(GikoForm.ActiveContent.Browser.Handle, WM_SETREDRAW, 1, 0);  //\95`\89æ
923                         end;
924                 end;
925         end;
926 end;
927 // *************************************************************************
928 // \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82Ì\90æ\93ª\82Ö\88Ú\93®\82·\82é
929 // *************************************************************************
930 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
931 begin
932         GikoForm.BrowserMovement('top');
933 end;
934 // *************************************************************************
935 // \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82Ì\8dÅ\8cã\82Ö\88Ú\93®\82·\82é
936 // *************************************************************************
937 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
938 begin
939         GikoForm.BrowserMovement('bottom');
940 end;
941 // *************************************************************************
942 // \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82Ì\90V\92\85\82Ö\88Ú\93®\82·\82é
943 // *************************************************************************
944 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
945 begin
946         GikoForm.BrowserMovement('new');
947 end;
948 // *************************************************************************
949 // \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82Ì\83R\83R\82Ü\82Å\93Ç\82ñ\82¾\82Ö\88Ú\93®\82·\82é
950 // *************************************************************************
951 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
952 begin
953         GikoForm.BrowserMovement('koko');
954 end;
955 // *************************************************************************
956 // \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82Ì\83R\83R\82Ü\82Å\93Ç\82ñ\82¾\82Ö\88Ú\93®\82·\82é\82ÌUpdate\83C\83x\83\93\83g
957 // *************************************************************************
958 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
959 begin
960         ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
961                                                                 and (GikoForm.GetActiveContent.IsLogFile)
962                                                                 and (GikoForm.GetActiveContent.Kokomade <> -1);
963 end;
964 // *************************************************************************
965 // \83\8c\83X\8f\91\82«\8d\9e\82Ý\83E\83B\83\93\83h\83E\82ð\95\\8e¦\82·\82é
966 // *************************************************************************
967 procedure TGikoDM.EditorActionExecute(Sender: TObject);
968 var
969         Editor: TEditorForm;
970         Item: TThreadItem;
971 begin
972         Item := GikoForm.GetActiveContent;
973         if Item = nil then Exit;
974         Editor := TEditorForm.Create(GikoForm.GetMainForm);
975         Editor.SetThreadItem(Item);
976         GikoSys.LoadEditorKeySetting(Editor.ActionList);
977         Editor.Show;
978         Editor.BodyEdit.SetFocus;
979 end;
980 // *************************************************************************
981 // \83X\83\8c\82ð\83u\83\89\83E\83U\82Å\95\\8e¦\82·\82é
982 // *************************************************************************
983 procedure TGikoDM.IEActionExecute(Sender: TObject);
984 begin
985         ShowThreadAction.Execute;
986 end;
987 // *************************************************************************
988 // \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82ð\83u\83\89\83E\83U\82Å\95\\8e¦\82·\82é
989 // *************************************************************************
990 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
991 var
992         ThreadItem: TThreadItem;
993 begin
994         ThreadItem := GikoForm.GetActiveContent;
995         if ThreadItem = nil then Exit;
996         GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
997 end;
998 // *************************************************************************
999 // \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82Ì\94Â\82ð\83u\83\89\83E\83U\82Å\95\\8e¦\82·\82é
1000 // *************************************************************************
1001 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1002 var
1003         ThreadItem: TThreadItem;
1004 begin
1005         ThreadItem := GikoForm.GetActiveContent;
1006         if ThreadItem = nil then Exit;
1007         GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1008 end;
1009 // *************************************************************************
1010 // \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\82ÌURL\82ð\83R\83s\81[\82·\82é
1011 // *************************************************************************
1012 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1013 var
1014         s: string;
1015 begin
1016         s := '';
1017         if TObject(GikoForm.GetActiveContent) is TBoard then
1018                 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1019         else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1020                 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1021         if s <> '' then
1022                 Clipboard.AsText := s;
1023 end;
1024 // *************************************************************************
1025 // \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\96¼\82ð\83R\83s\81[\82·\82é
1026 // *************************************************************************
1027 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1028 var
1029         s: string;
1030 begin
1031         s := '';
1032         if TObject(GikoForm.GetActiveContent) is TBoard then
1033                 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1034         else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1035                 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1036         if s <> '' then
1037                 Clipboard.AsText := s;
1038 end;
1039 // *************************************************************************
1040 // \8c»\8dÝ\95\\8e¦\82µ\82Ä\82¢\82é\83X\83\8c\83b\83h\96¼\82ÆURL\82ð\83R\83s\81[\82·\82é
1041 // *************************************************************************
1042 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1043 var
1044         s: string;
1045 begin
1046         s := '';
1047         if TObject(GikoForm.GetActiveContent) is TBoard then
1048                 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1049         else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1050                 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1051         if s <> '' then
1052                 Clipboard.AsText := s;
1053 end;
1054 // *************************************************************************
1055 // \95\\8e¦\82³\82ê\82Ä\82¢\82é\83X\83\8c\83b\83h\82ð\83_\83E\83\93\83\8d\81[\83h\82·\82é
1056 // *************************************************************************
1057 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1058 var
1059         ThreadItem: TThreadItem;
1060         shiftDown: Boolean;
1061 begin
1062         ThreadItem := GikoForm.GetActiveContent;
1063         shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1064         if ThreadItem <> nil then
1065                 GikoForm.DownloadContent(ThreadItem, shiftDown);
1066 end;
1067 // *************************************************************************
1068 // \8c»\8dÝ\8aJ\82¢\82Ä\82¢\82é\83^\83u\82ð\95Â\82\82é
1069 // *************************************************************************
1070 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1071 var
1072         idx: Integer;
1073 begin
1074         idx := GikoForm.BrowserTab.TabIndex;
1075         if idx <> -1 then begin
1076                 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1077                         GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1078                 end;
1079         end;
1080 end;
1081 // *************************************************************************
1082 // \83^\83u\82ª\82P\82Â\88È\8fã\82 \82ê\82ª\97L\8cø\82É\82·\82éUpdate\83C\83x\83\93\83g
1083 // *************************************************************************
1084 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1085 begin
1086         TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1087 end;
1088 // *************************************************************************
1089 // \8c»\8dÝ\8aJ\82¢\82Ä\82¢\82é\83^\83u\88È\8aO\82ð\95Â\82\82é
1090 // *************************************************************************
1091 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1092 var
1093         i: Integer;
1094         idx: Integer;
1095 begin
1096         idx := GikoForm.BrowserTab.TabIndex;
1097         if idx = -1 then Exit;
1098         GikoForm.BrowserTab.Tabs.BeginUpdate;
1099         for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1100                 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1101                 GikoForm.BrowserTab.Tabs.Delete(i);
1102         end;
1103         if idx > 0 then begin
1104                 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1105                         TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1106                         GikoForm.BrowserTab.Tabs.Delete(i);
1107                 end;
1108         end;
1109         GikoForm.BrowserTab.Tabs.EndUpdate;
1110 end;
1111 // *************************************************************************
1112 // \83^\83u\82ª\82Q\82Â\88È\8fã\82 \82ê\82ª\97L\8cø\82É\82·\82éUpdate\83C\83x\83\93\83g
1113 // *************************************************************************
1114 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1115 begin
1116         TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1117 end;
1118 // *************************************************************************
1119 // \91S\82Ä\82Ì\83^\83u\82ð\95Â\82\82é
1120 // *************************************************************************
1121 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1122 var
1123         i: Integer;
1124 begin
1125         if GikoSys.Setting.ShowDialogForAllTabClose then
1126                 if(MessageDlg('\91S\82Ä\82Ì\83^\83u\82ð\95Â\82\82Ä\82æ\82ë\82µ\82¢\82Å\82·\82©\81H', mtConfirmation,[mbOk, mbCancel], 0) = mrCancel ) then
1127                         Exit;
1128
1129         GikoForm.ActiveContent := nil;
1130         GikoForm.BrowserNullTab.Thread := nil;
1131         GikoForm.BrowserTab.OnChange := nil;
1132         GikoForm.BrowserTab.Tabs.BeginUpdate;
1133         for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1134                 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1135         end;
1136         GikoForm.BrowserTab.Tabs.Clear;
1137         GikoForm.BrowserTab.Tabs.EndUpdate;
1138         GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1139         GikoForm.SetContent(GikoForm.BrowserNullTab);
1140         GikoForm.Caption := CAPTION_NAME ;
1141 end;
1142 // *************************************************************************
1143 // \8c»\8dÝ\8aJ\82¢\82Ä\82¢\82é\83^\83u\82Ì\83X\83\8c\83b\83h\82ð\8dí\8f\9c\82·\82é
1144 // *************************************************************************
1145 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1146 const
1147         DEL_MSG = '\81g^0\81h\82Ì\83\8d\83O\82ð\8dí\8f\9c\82µ\82Ü\82·\81B\82æ\82ë\82µ\82¢\82Å\82·\82©\81H';
1148         DEL_TITLE = '\8dí\8f\9c\8am\94F';
1149 var
1150         idx: Integer;
1151         ThreadItem: TThreadItem;
1152 begin
1153         idx := GikoForm.BrowserTab.TabIndex;
1154         if idx <> -1 then begin
1155                 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1156                         ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1157                         if GikoSys.Setting.DeleteMsg then
1158                                 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1159                                         if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1160                                                 Exit;
1161                         GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1162                         ThreadItem.DeleteLogFile;
1163                         if ThreadItem.ParentBoard = GikoForm.ActiveList then
1164                                 GikoForm.ListView.Refresh;
1165                 end;
1166         end;
1167 end;
1168 // *************************************************************************
1169 // \88ê\94Ô\8d\82Ì\83^\83u\82ð\91I\91ð\82·\82é
1170 // *************************************************************************
1171 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1172 begin
1173         if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1174                 GikoForm.BrowserTab.TabIndex := 0;
1175                 GikoForm.BrowserTab.OnChange(nil);
1176         end;
1177 end;
1178 // *************************************************************************
1179 // \83^\83u\82Ì\90\94\82ª\82P\88È\8fã\82Å\81A\83^\83u\82Ì\83C\83\93\83f\83b\83N\83X\82ª\82O\88È\8aO\82Å\97L\8cø\82É\82È\82éUpdate\83C\83x\83\93\83g
1180 // *************************************************************************
1181 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1182 begin
1183         TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1184                                                                 and (GikoForm.BrowserTab.TabIndex <> 0);
1185 end;
1186 // *************************************************************************
1187 // \8d\82Ì\83^\83u\82ð\91I\91ð\82·\82é
1188 // *************************************************************************
1189 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1190 begin
1191         if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1192                 if GikoForm.BrowserTab.TabIndex = -1 then begin
1193                         GikoForm.BrowserTab.TabIndex := 0;
1194                         GikoForm.BrowserTab.OnChange(nil);
1195                 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1196                         GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1197                         GikoForm.BrowserTab.OnChange(nil);
1198                 end;
1199         end;
1200 end;
1201 // *************************************************************************
1202 // \89E\82Ì\83^\83u\82ð\91I\91ð\82·\82é
1203 // *************************************************************************
1204 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1205 begin
1206         if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1207                 if GikoForm.BrowserTab.TabIndex = -1 then begin
1208                         GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1209                         GikoForm.BrowserTab.OnChange(nil);
1210                 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1211                         GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1212                         GikoForm.BrowserTab.OnChange(nil);
1213                 end;
1214         end;
1215 end;
1216 // *************************************************************************
1217 // \83^\83u\82Ì\90\94\82ª\82P\88È\8fã\82Å\81A\83^\83u\82ª\89E\92[\88È\8aO\82Å\97L\8cø\82É\82È\82éUpdate\83C\83x\83\93\83g
1218 // *************************************************************************
1219 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1220 begin
1221         TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1222                                                                 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1223 end;
1224 // *************************************************************************
1225 // \88ê\94Ô\89E\82Ì\83^\83u\82ð\91I\91ð\82·\82é
1226 // *************************************************************************
1227 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1228 begin
1229         if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1230                 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1231                 GikoForm.BrowserTab.OnChange(nil);
1232         end;
1233 end;
1234 // *************************************************************************
1235 // \91I\91ð\82³\82ê\82Ä\82¢\82é\83X\83\8c\83b\83h\82ð\82¨\8bC\82É\93ü\82è\82É\92Ç\89Á
1236 // *************************************************************************
1237 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1238 begin
1239         if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1240                 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1241 end;
1242 // *************************************************************************
1243 // \83X\83\8c\83b\83h\88ê\97\97\82Å\81A\83X\83\8c\82ª\82P\82Â\88È\8fã\91I\91ð\82³\82ê\82Ä\82¢\82é\97L\8cø\82É\82È\82éUpdate\83C\83x\83\93\83g
1244 // *************************************************************************
1245 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1246 begin
1247         TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1248                                                                         and (GikoForm.ListView.SelCount > 0);
1249 end;
1250 // *************************************************************************
1251 // \83\8c\83X\82Ì\93à\97e\82ð\8di\82è\8d\9e\82Þ
1252 // *************************************************************************
1253 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1254 var
1255         Dlg: TListSelectDialog;
1256         FilterList : TStringList;
1257         idx : Integer;
1258 begin
1259         Dlg := TListSelectDialog.Create(Self);
1260         try
1261                 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1262                 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1263                 Dlg.ShowModal;
1264                 if Dlg.ModalResult = mrOK then begin
1265                         SelectResAction.Checked := True;
1266                         if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1267                                 // \8bó\93ü\97Í\82Å OK \82Í\8di\82è\8d\9e\82Ý\89ð\8f\9c\82Æ\93¯\88Ó\8b`
1268                                 ResRangeAction.Execute;
1269                         end else begin
1270                                 GikoSys.ResRange := Ord( grrSelect );
1271
1272                                 // \8dÅ\8cã\82É\90Ý\92è\82µ\82½\82à\82Ì\82ð\8ao\82¦\82Ä\82¨\82­
1273                                 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1274
1275                                 // \8c\9f\8dõ\97\9a\97ð\82Ì\8dX\90V
1276                                 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1277                                 if idx <> -1 then
1278                                         GikoSys.Setting.SelectTextList.Delete(idx);
1279                                 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1280                                 while Dlg.SelectComboBox.Items.Count > 100 do begin
1281                                         Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1282                                 end;
1283
1284                                 try
1285                                         if GikoForm.SelectComboBoxPanel.Visible then
1286                                                 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1287                                 except
1288                                 end;
1289
1290                                 // \83t\83B\83\8b\83^\82Ì\90Ý\92è
1291                                 FilterList := TStringList.Create;
1292                                 try
1293                                         GikoSys.FSelectResFilter.Reverse := True;
1294                                         FilterList.Delimiter := ' '; //\8bæ\90Ø\82è\8eq\82ð\94¼\8ap\83X\83y\81[\83X\82É\90Ý\92è
1295                                         FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1296
1297                                         GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1298                                 finally
1299                                         FilterList.Free;
1300                                 end;
1301                                 GikoForm.RepaintAllTabsBrowser();
1302                         end;
1303                 end else begin
1304                         // \83L\83\83\83\93\83Z\83\8b
1305                         if GikoSys.ResRange <> Ord( grrSelect ) then
1306                                 ResRangeAction.Execute;
1307                 end;
1308         finally
1309                 Dlg.Release;
1310         end;
1311
1312 end;
1313 // *************************************************************************
1314 // \91S\82Ä\82Ì\83\8c\83X\82ð\95\\8e¦\82·\82é
1315 // *************************************************************************
1316 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1317 var
1318         FilterList : TStringList;
1319 begin
1320         if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1321                 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1322
1323         GikoForm.ResRangeMenuSelect     := Ord( grrAll );
1324         AllResAction.Checked            := True;
1325
1326         if GikoSys.ResRange <> Ord( grrAll ) then begin
1327                 GikoSys.ResRange := Ord( grrAll );
1328
1329                 // \83t\83B\83\8b\83^\95\8e\9a\97ñ\82ð\8bó\82É\82·\82é
1330                 FilterList := TStringList.Create;
1331                 try
1332                         GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1333                         GikoSys.FSelectResFilter.Reverse := False;
1334                 finally
1335                         FilterList.Free;
1336                 end;
1337
1338                 GikoForm.SelectResWord := '';
1339
1340                 GikoForm.RepaintAllTabsBrowser();
1341         end;
1342 end;
1343 // *************************************************************************
1344 // \83\8c\83X\82Ì\95\\8e¦\94Í\88Í\82ð\90Ý\92è
1345 // *************************************************************************
1346 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1347 begin
1348         case GikoForm.ResRangeMenuSelect of
1349         Ord( grrAll ):  AllResAction.Execute;
1350         Ord( grrKoko ): OnlyKokoResAction.Execute;
1351         Ord( grrNew ):  OnlyNewResAction.Execute;
1352         100:                    OnlyAHundredResAction.Execute;
1353         end;
1354
1355 end;
1356 // *************************************************************************
1357 // \82±\82Ì\83X\83\8c\83b\83h\82ð\8aÜ\82Þ\83X\83\8c\83b\83h\88ê\97\97\82ð\95\\8e¦
1358 // *************************************************************************
1359 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1360 begin
1361         GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1362 end;
1363 // *************************************************************************
1364 // \8ew\92è\82µ\82½\94Ô\8d\86\82Ì\83\8c\83X\82É\94ò\82Ô
1365 // *************************************************************************
1366 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1367 var
1368         str: string;
1369         res: integer;
1370 begin
1371         str := '1';
1372         if( InputQuery('\8ew\92è\82µ\82½\94Ô\8d\86\82Ì\83\8c\83X\82É\94ò\82Ô', '\94Ô\8d\86\82ð\93ü\97Í\82µ\82Ä\82­\82¾\82³\82¢', str) ) then begin
1373                 str := ZenToHan(str);
1374                 res := StrToIntDef(str, -1);
1375                 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1376                         GikoForm.BrowserMovement(IntToStr(res), GikoForm.ActiveContent);
1377                         SetFocusForBrowserAction.Execute;
1378                 end else if res > GikoForm.GetActiveContent.Count then begin
1379                         GikoForm.BrowserMovement(IntToStr(GikoForm.GetActiveContent.Count), GikoForm.ActiveContent);
1380                         SetFocusForBrowserAction.Execute;
1381                 end;
1382         end;
1383 end;
1384 // *************************************************************************
1385 // \83A\83N\83e\83B\83u\82È\83^\83u\82æ\82è\89E\82ð\95Â\82\82é
1386 // *************************************************************************
1387 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1388 var
1389         i: Integer;
1390         idx: Integer;
1391 begin
1392         idx := GikoForm.BrowserTab.TabIndex;
1393         if idx = -1 then Exit;
1394         GikoForm.BrowserTab.Tabs.BeginUpdate;
1395         for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1396                 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1397                 GikoForm.BrowserTab.Tabs.Delete(i);
1398         end;
1399         GikoForm.BrowserTab.Tabs.EndUpdate;
1400 end;
1401 // *************************************************************************
1402 // \83^\83u\82Ì\90\94\82ª\82Q\88È\8fã\82Å\97L\8cø\82ÈUpdate\83C\83x\83\93\83g
1403 // *************************************************************************
1404 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1405 begin
1406         TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1407 end;
1408 // *************************************************************************
1409 // \83A\83N\83e\83B\83u\82È\83^\83u\82æ\82è\8d\82ð\95Â\82\82é
1410 // *************************************************************************
1411 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1412 var
1413         i: Integer;
1414         idx: Integer;
1415 begin
1416         idx := GikoForm.BrowserTab.TabIndex;
1417         if idx = -1 then Exit;
1418         GikoForm.BrowserTab.Tabs.BeginUpdate;
1419         if idx > 0 then begin
1420                 for i := idx - 1 downto 0 do begin
1421                         TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1422                         GikoForm.BrowserTab.Tabs.Delete(i);
1423                 end;
1424         end;
1425         GikoForm.BrowserTab.Tabs.EndUpdate;
1426 end;
1427 ////////////////////////////////\83X\83\8c\83b\83h\82Ü\82Å\82¨\82µ\82Ü\82¢/////////////////////
1428 end.
1429