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