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.27 - (hide annotations) (download) (as text)
Thu Dec 22 15:41:18 2005 UTC (18 years, 3 months ago) by h677
Branch: MAIN
CVS Tags: v1_51_0_634
Changes since 1.26: +1 -1 lines
File MIME type: text/x-pascal
DAT落ちスレの容量再計算のメッセージで単位Bを追加

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