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.5 - (hide annotations) (download) (as text)
Sat Nov 19 02:56:07 2005 UTC (18 years, 5 months ago) by h677
Branch: MAIN
Changes since 1.4: +395 -1 lines
File MIME type: text/x-pascal
・ユ・。・、・?゙、ヌーワソ「

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

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26