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