6 SysUtils, Classes, ExtActns, StdActns, ActnList, ImgList, Controls,
14 ComCtrls, BrowserRecord, Graphics, Messages, Setting, Dialogs,
15 ActiveX, MoveHistoryItem, HistoryList;
18 CAPTION_NAME: string = '
\83M
\83R
\83i
\83r';
19 USER_SETLINKBAR = WM_USER + 2003;
21 ITEM_ICON_SORT1 = 12; //!<
\83\
\81[
\83g
\83A
\83C
\83R
\83\93
22 ITEM_ICON_SORT2 = 13; //!<
\83\
\81[
\83g
\83A
\83C
\83R
\83\93
24 //
\83c
\81[
\83\8b\83o
\81[
\83A
\83C
\83R
\83\93
25 TOOL_ICON_HEIGHT_MAX = 16; //!<
\8d\82\82³
\8dÅ
\91å
\83A
\83C
\83R
\83\93
26 TOOL_ICON_HEIGHT_MIN = 17; //!<
\8d\82\82³
\8dÅ
\8f¬
\83A
\83C
\83R
\83\93
27 TOOL_ICON_HEIGHT_NORMAL = 18; //!<
\8d\82\82³
\95W
\8f\80\83A
\83C
\83R
\83\93
28 TOOL_ICON_WIDTH_MAX = 19; //!<
\95\9d\8dÅ
\91å
\83A
\83C
\83R
\83\93
29 TOOL_ICON_WIDTH_MIN = 20; //!<
\95\9d\8dÅ
\8f¬
\83A
\83C
\83R
\83\93
30 TOOL_ICON_WIDTH_NORMAL = 21; //!<
\95\9d\95W
\8f\80\83A
\83C
\83R
\83\93
32 TOOL_ICON_FAV_FOLDER = 30; //!<
\82¨
\8bC
\82É
\93ü
\82è
\83t
\83H
\83\8b\83_
\83A
\83C
\83R
\83\93
33 TOOL_ICON_FAV_BOARD = 31; //!<
\82¨
\8bC
\82É
\93ü
\82è
\94Â
\83A
\83C
\83R
\83\93
34 TOOL_ICON_FAV_THREAD = 32; //!<
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83A
\83C
\83R
\83\93
37 PROTOCOL_HTTP : string = 'http://';
38 //!
\83M
\83R
\83i
\83r
\83T
\83C
\83g
\82ÌURL
39 URL_GIKONAVI: string = 'gikonavi.sourceforge.jp/';
40 //! Monazilla
\83T
\83C
\83g
\82ÌURL
41 URL_MONAZILLA: string = 'www.monazilla.org/';
42 //! 2
\82¿
\82á
\82ñ
\82Ë
\82é
\82ÌURL
43 URL_2ch: string = 'www.2ch.net/';
44 //!
\83M
\83R
\83i
\83rWiki
\82ÌURL
45 URL_Wiki: string = 'gikowiki.dyndns.info/index.php?FAQ';
47 SELECTCOMBOBOX_NAME: string = ''; // '
\83X
\83\8c\83b
\83h
\8di
\8d\9e\8c\9f\8dõ';
48 SELECTCOMBOBOX_COLOR: TColor = clWindow;
52 TGikoDM = class(TDataModule)
53 GikoFormActionList: TActionList;
54 OnlyAHundredResAction: TAction;
55 OnlyKokoResAction: TAction;
57 NewBoardAction: TAction;
58 LogDeleteAction: TAction;
59 KidokuAction: TAction;
60 StdToolBarVisibleAction: TAction;
61 AddressBarVisibleAction: TAction;
62 LinkBarVisibleAction: TAction;
63 ListToolBarVisibleAction: TAction;
64 SearchAction: TAction;
65 GikoNaviWebPageAction: TAction;
66 MonazillaWebPageAction: TAction;
67 BBS2chWebPageAction: TAction;
68 GikoFolderOpenAction: TAction;
70 SelectTextClearAction: TAction;
71 NameTextClearAction: TAction;
72 MailTextClearAction: TAction;
74 ListNameBarVisibleAction: TAction;
75 BrowserToolBarVisibleAction: TAction;
76 BrowserNameBarVisibleAction: TAction;
77 MsgBarVisibleAction: TAction;
78 MsgBarCloseAction: TAction;
79 StatusBarVisibleAction: TAction;
80 CabinetBBSAction: TAction;
81 CabinetHistoryAction: TAction;
82 OnlyNewResAction: TAction;
83 CabinetFavoriteAction: TAction;
84 CabinetVisibleAction: TAction;
85 ListNumberVisibleAction: TAction;
86 UpFolderAction: TAction;
87 CabinetCloseAction: TAction;
89 LargeIconAction: TAction;
90 SmallIconAction: TAction;
91 ListIconAction: TAction;
92 DetailIconAction: TAction;
93 MidokuAction: TAction;
94 AllSelectAction: TAction;
95 AllItemAction: TAction;
96 LogItemAction: TAction;
97 NewItemAction: TAction;
98 ThreadRangeAction: TAction;
99 SelectItemAction: TAction;
101 OptionAction: TAction;
102 RoundAction: TAction;
103 BrowserMaxAction: TAction;
104 BrowserMinAction: TAction;
105 ScrollTopAction: TAction;
106 ScrollLastAction: TAction;
107 ScrollNewAction: TAction;
108 ScrollKokoAction: TAction;
109 EditorAction: TAction;
111 ShowThreadAction: TAction;
112 ShowBoardAction: TAction;
113 URLCopyAction: TAction;
114 NameCopyAction: TAction;
115 NameURLCopyAction: TAction;
116 ItemReloadAction: TAction;
117 ThreadEditorAction: TAction;
118 BoardIEAction: TAction;
119 SelectItemURLCopyAction: TAction;
120 SelectItemNameCopyAction: TAction;
121 SelectItemNameURLCopyAction: TAction;
122 SelectListReloadAction: TAction;
123 SelectThreadReloadAction: TAction;
124 BrowserTabCloseAction: TAction;
125 NotSelectTabCloseAction: TAction;
126 AllTabCloseAction: TAction;
127 KokomadeAction: TAction;
128 ZenbuAction: TAction;
129 KokoResAction: TAction;
130 TreeSelectBoradReload: TAction;
131 TreeSelectThreadReload: TAction;
132 TreeSelectURLCopy: TAction;
133 SelectReservAction: TAction;
134 SelectNewRoundName: TAction;
135 SelectDeleteRound: TAction;
136 KeySettingAction: TAction;
137 ArrangeAction: TAction;
138 ActiveLogDeleteAction: TAction;
139 TreeSelectNameURLCopy: TAction;
140 PaneInitAction: TAction;
141 LeftmostTabSelectAction: TAction;
142 LeftTabSelectAction: TAction;
143 RightTabSelectAction: TAction;
144 RightmostTabSelectAction: TAction;
145 FavoriteAddAction: TAction;
146 BoardFavoriteAddAction: TAction;
147 ThreadFavoriteAddAction: TAction;
148 TreeSelectFavoriteAddAction: TAction;
149 FavoriteArrangeAction: TAction;
150 MoveToAction: TAction;
151 BrowserTabVisibleAction: TAction;
152 BrowserTabTopAction: TAction;
153 BrowserTabBottomAction: TAction;
154 BrowserTabTabStyleAction: TAction;
155 BrowserTabButtonStyleAction: TAction;
156 BrowserTabFlatStyleAction: TAction;
157 GikoHelpAction: TAction;
158 KotehanAction: TAction;
159 ToolBarSettingAction: TAction;
160 SelectResAction: TAction;
161 AllResAction: TAction;
162 EditNGAction: TAction;
163 ReloadAction: TAction;
164 GoFowardAction: TAction;
165 GoBackAction: TAction;
166 TreeSelectSearchBoardName: TAction;
167 FavoriteTreeViewRenameAction: TAction;
168 FavoriteTreeViewNewFolderAction: TAction;
169 FavoriteTreeViewDeleteAction: TAction;
170 FavoriteTreeViewBrowseFolderAction: TAction;
171 FavoriteTreeViewReloadAction: TAction;
172 FavoriteTreeViewURLCopyAction: TAction;
173 FavoriteTreeViewNameCopyAction: TAction;
174 FavoriteTreeViewNameURLCopyAction: TAction;
175 FavoriteTreeViewLogDeleteAction: TAction;
176 ResRangeAction: TAction;
177 ExportFavoriteFile: TFileSaveAs;
178 FavoriteTreeViewBrowseBoardAction: TAction;
179 FavoriteTreeViewBrowseThreadAction: TAction;
180 UpBoardAction: TAction;
182 TreeSelectNameCopy: TAction;
183 SetFocusForBrowserAction: TAction;
184 SetFocusForThreadListAction: TAction;
185 SetFocusForCabinetAction: TAction;
187 ThreadlistMaxAndFocusAction: TAction;
188 BrowserMaxAndFocusAction: TAction;
189 SelectItemSaveForHTML: TAction;
190 SelectItemSaveForDat: TAction;
191 LogFolderOpenAction: TAction;
192 TabsSaveAction: TAction;
193 TabsOpenAction: TAction;
194 BrowsBoradHeadAction: TAction;
195 JumpToNumOfResAction: TAction;
196 FavoriteTreeViewCollapseAction: TAction;
197 RightTabCloseAction: TAction;
198 LeftTabCloseAction: TAction;
199 SameIDResAnchorAction: TAction;
200 IndividualAbon1Action: TAction;
201 IndividualAbon0Action: TAction;
202 AntiIndividualAbonAction: TAction;
203 AntiIndividualAbonDlgAction: TAction;
204 IndividualAbonID1Action: TAction;
205 IndividualAbonID0Action: TAction;
207 SortActiveColumnAction: TAction;
208 SortNextColumnAction: TAction;
209 SortPrevColumnAction: TAction;
210 BeLogInOutAction: TAction;
211 UnSelectedListViewAction: TAction;
212 WikiFAQWebPageAction: TAction;
213 ToobarImageList: TImageList;
214 SaveDialog: TSaveDialog;
215 ThreadSizeCalcForFileAction: TAction;
216 SetInputAssistAction: TAction;
217 OpenFindDialogAction: TAction;
218 ArchiveItemAction: TAction;
219 LiveItemAction: TAction;
220 FavoriteTreeViewItemNameCopyAction: TAction;
221 CloseAllEditorAction: TAction;
222 PrevMoveHistory: TAction;
223 NextMoveHistory: TAction;
224 ClickActiveElementAction: TAction;
225 VKDownAction: TAction;
227 VKRightAction: TAction;
228 VKLeftAction: TAction;
229 StoredTaskTrayAction: TAction;
230 AllImageLinkToClipbordAction: TAction;
231 NewImageLinkToClipBoardAction: TAction;
232 SetForcusForAddresBarAction: TAction;
233 NewBoardSearchAction: TAction;
234 NGWordEditFormAction: TAction;
235 procedure EditNGActionExecute(Sender: TObject);
236 procedure ReloadActionExecute(Sender: TObject);
237 procedure GoFowardActionExecute(Sender: TObject);
238 procedure GoBackActionExecute(Sender: TObject);
239 procedure MoveToActionExecute(Sender: TObject);
240 procedure FavoriteAddActionExecute(Sender: TObject);
241 procedure FavoriteArrangeActionExecute(Sender: TObject);
242 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
243 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
244 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
245 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
246 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
247 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
248 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
249 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
250 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
251 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
252 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
253 procedure OnlyAHundredResActionExecute(Sender: TObject);
254 procedure OnlyKokoResActionExecute(Sender: TObject);
255 procedure OnlyNewResActionExecute(Sender: TObject);
256 procedure BrowserMaxActionExecute(Sender: TObject);
257 procedure BrowserMinActionExecute(Sender: TObject);
258 procedure ScrollTopActionExecute(Sender: TObject);
259 procedure ScrollLastActionExecute(Sender: TObject);
260 procedure ScrollNewActionExecute(Sender: TObject);
261 procedure ScrollKokoActionExecute(Sender: TObject);
262 procedure ScrollKokoActionUpdate(Sender: TObject);
263 procedure EditorActionExecute(Sender: TObject);
264 procedure IEActionExecute(Sender: TObject);
265 procedure ShowThreadActionExecute(Sender: TObject);
266 procedure ShowBoardActionExecute(Sender: TObject);
267 procedure URLCopyActionExecute(Sender: TObject);
268 procedure NameCopyActionExecute(Sender: TObject);
269 procedure NameURLCopyActionExecute(Sender: TObject);
270 procedure ItemReloadActionExecute(Sender: TObject);
271 procedure BrowserTabCloseActionExecute(Sender: TObject);
272 procedure BrowserTabCloseActionUpdate(Sender: TObject);
273 procedure NotSelectTabCloseActionExecute(Sender: TObject);
274 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
275 procedure AllTabCloseActionExecute(Sender: TObject);
276 procedure ActiveLogDeleteActionExecute(Sender: TObject);
277 procedure LeftmostTabSelectActionExecute(Sender: TObject);
278 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
279 procedure LeftTabSelectActionExecute(Sender: TObject);
280 procedure RightTabSelectActionExecute(Sender: TObject);
281 procedure RightTabSelectActionUpdate(Sender: TObject);
282 procedure RightmostTabSelectActionExecute(Sender: TObject);
283 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
284 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
285 procedure SelectResActionExecute(Sender: TObject);
286 procedure AllResActionExecute(Sender: TObject);
287 procedure ResRangeActionExecute(Sender: TObject);
288 procedure UpBoardActionExecute(Sender: TObject);
289 procedure JumpToNumOfResActionExecute(Sender: TObject);
290 procedure RightTabCloseActionExecute(Sender: TObject);
291 procedure RightTabCloseActionUpdate(Sender: TObject);
292 procedure LeftTabCloseActionExecute(Sender: TObject);
293 procedure DataModuleCreate(Sender: TObject);
294 procedure SearchActionExecute(Sender: TObject);
295 procedure OptionActionExecute(Sender: TObject);
296 procedure RoundActionExecute(Sender: TObject);
297 procedure KeySettingActionExecute(Sender: TObject);
298 procedure KotehanActionExecute(Sender: TObject);
299 procedure ToolBarSettingActionExecute(Sender: TObject);
300 procedure MuteActionExecute(Sender: TObject);
301 procedure TreeSelectBoradReloadExecute(Sender: TObject);
302 procedure TreeSelectThreadReloadExecute(Sender: TObject);
303 procedure TreeSelectURLCopyExecute(Sender: TObject);
304 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
305 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
306 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
307 procedure TreeSelectNameCopyExecute(Sender: TObject);
308 procedure LoginActionExecute(Sender: TObject);
309 procedure NewBoardActionExecute(Sender: TObject);
310 procedure LogDeleteActionExecute(Sender: TObject);
311 procedure LogDeleteActionUpdate(Sender: TObject);
312 procedure SelectTextClearActionExecute(Sender: TObject);
313 procedure NameTextClearActionExecute(Sender: TObject);
314 procedure MailTextClearActionExecute(Sender: TObject);
315 procedure ExitActionExecute(Sender: TObject);
316 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
317 procedure ExportFavoriteFileAccept(Sender: TObject);
318 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
319 procedure SelectItemSaveForDatExecute(Sender: TObject);
320 procedure TabsSaveActionExecute(Sender: TObject);
321 procedure TabsOpenActionExecute(Sender: TObject);
322 procedure BeLogInOutActionExecute(Sender: TObject);
323 procedure BeLogInOutActionUpdate(Sender: TObject);
324 procedure KokomadeActionExecute(Sender: TObject);
325 procedure ZenbuActionExecute(Sender: TObject);
326 procedure KokoResActionExecute(Sender: TObject);
327 procedure KoreCopyExecute(Sender: TObject);
328 procedure SameIDResAnchorActionExecute(Sender: TObject);
329 procedure IndividualAbon1ActionExecute(Sender: TObject);
330 procedure IndividualAbon0ActionExecute(Sender: TObject);
331 procedure AntiIndividualAbonActionExecute(Sender: TObject);
332 procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
333 procedure IndividualAbonID1ActionExecute(Sender: TObject);
334 procedure IndividualAbonID0ActionExecute(Sender: TObject);
335 procedure GikoNaviWebPageActionExecute(Sender: TObject);
336 procedure MonazillaWebPageActionExecute(Sender: TObject);
337 procedure BBS2chWebPageActionExecute(Sender: TObject);
338 procedure GikoFolderOpenActionExecute(Sender: TObject);
339 procedure AboutActionExecute(Sender: TObject);
340 procedure GikoHelpActionExecute(Sender: TObject);
341 procedure WikiFAQWebPageActionExecute(Sender: TObject);
342 procedure ListNumberVisibleActionExecute(Sender: TObject);
343 procedure UpFolderActionExecute(Sender: TObject);
344 procedure UpFolderActionUpdate(Sender: TObject);
345 procedure IconStyleExecute(Sender: TObject);
346 procedure AllItemActionExecute(Sender: TObject);
347 procedure LogItemActionExecute(Sender: TObject);
348 procedure NewItemActionExecute(Sender: TObject);
349 procedure ThreadRangeActionExecute(Sender: TObject);
350 procedure SelectItemActionExecute(Sender: TObject);
351 procedure ThreadEditorActionExecute(Sender: TObject);
352 procedure BoardIEActionExecute(Sender: TObject);
353 procedure SelectItemURLCopyActionExecute(Sender: TObject);
354 procedure SelectItemURLCopyActionUpdate(Sender: TObject);
355 procedure SelectItemNameCopyActionExecute(Sender: TObject);
356 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
357 procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
358 procedure SelectListReloadActionExecute(Sender: TObject);
359 procedure SelectListReloadActionUpdate(Sender: TObject);
360 procedure SelectThreadReloadActionExecute(Sender: TObject);
361 procedure SelectThreadReloadActionUpdate(Sender: TObject);
362 procedure SelectReservActionExecute(Sender: TObject);
363 procedure SelectReservActionUpdate(Sender: TObject);
364 procedure SelectNewRoundNameExecute(Sender: TObject);
365 procedure SelectDeleteRoundExecute(Sender: TObject);
366 procedure BoardFavoriteAddActionExecute(Sender: TObject);
367 procedure BoardFavoriteAddActionUpdate(Sender: TObject);
368 procedure LogFolderOpenActionExecute(Sender: TObject);
369 procedure LogFolderOpenActionUpdate(Sender: TObject);
370 procedure BrowsBoradHeadActionExecute(Sender: TObject);
371 procedure SortActiveColumnActionExecute(Sender: TObject);
372 procedure SortNextColumnActionExecute(Sender: TObject);
373 procedure SortPrevColumnActionExecute(Sender: TObject);
374 procedure StdToolBarVisibleActionExecute(Sender: TObject);
375 procedure AddressBarVisibleActionExecute(Sender: TObject);
376 procedure LinkBarVisibleActionExecute(Sender: TObject);
377 procedure ListToolBarVisibleActionExecute(Sender: TObject);
378 procedure ListNameBarVisibleActionExecute(Sender: TObject);
379 procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
380 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
381 procedure MsgBarVisibleActionExecute(Sender: TObject);
382 procedure MsgBarCloseActionExecute(Sender: TObject);
383 procedure StatusBarVisibleActionExecute(Sender: TObject);
384 procedure CabinetBBSActionExecute(Sender: TObject);
385 procedure CabinetHistoryActionExecute(Sender: TObject);
386 procedure CabinetFavoriteActionExecute(Sender: TObject);
387 procedure CabinetVisibleActionExecute(Sender: TObject);
388 procedure CabinetCloseActionExecute(Sender: TObject);
389 procedure LargeIconActionExecute(Sender: TObject);
390 procedure SmallIconActionExecute(Sender: TObject);
391 procedure ListIconActionExecute(Sender: TObject);
392 procedure DetailIconActionExecute(Sender: TObject);
393 procedure StopActionExecute(Sender: TObject);
394 procedure ArrangeActionExecute(Sender: TObject);
395 procedure PaneInitActionExecute(Sender: TObject);
396 procedure BrowserTabVisibleActionExecute(Sender: TObject);
397 procedure BrowserTabTopActionExecute(Sender: TObject);
398 procedure BrowserTabBottomActionExecute(Sender: TObject);
399 procedure BrowserTabTabStyleActionExecute(Sender: TObject);
400 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
401 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
402 procedure SetFocusForBrowserActionExecute(Sender: TObject);
403 procedure SetFocusForBrowserActionUpdate(Sender: TObject);
404 procedure SetFocusForThreadListActionExecute(Sender: TObject);
405 procedure SetFocusForCabinetActionExecute(Sender: TObject);
406 procedure SetFocusForCabinetActionUpdate(Sender: TObject);
407 procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
408 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
409 procedure UnSelectedListViewActionExecute(Sender: TObject);
410 procedure KidokuActionExecute(Sender: TObject);
411 procedure MidokuActionExecute(Sender: TObject);
412 procedure AllSelectActionExecute(Sender: TObject);
413 procedure AllSelectActionUpdate(Sender: TObject);
414 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
415 procedure SetInputAssistActionExecute(Sender: TObject);
416 procedure OpenFindDialogActionExecute(Sender: TObject);
417 procedure ArchiveItemActionExecute(Sender: TObject);
418 procedure LiveItemActionExecute(Sender: TObject);
419 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
420 procedure CloseAllEditorActionExecute(Sender: TObject);
421 procedure CloseAllEditorActionUpdate(Sender: TObject);
422 procedure PrevMoveHistoryUpdate(Sender: TObject);
423 procedure PrevMoveHistoryExecute(Sender: TObject);
424 procedure NextMoveHistoryUpdate(Sender: TObject);
425 procedure NextMoveHistoryExecute(Sender: TObject);
426 procedure ClickActiveElementActionExecute(Sender: TObject);
427 procedure VKDownActionExecute(Sender: TObject);
428 procedure VKUpActionExecute(Sender: TObject);
429 procedure VKRightActionExecute(Sender: TObject);
430 procedure VKLeftActionExecute(Sender: TObject);
431 procedure StoredTaskTrayActionExecute(Sender: TObject);
432 procedure LeftTabSelectActionUpdate(Sender: TObject);
433 procedure RightmostTabSelectActionUpdate(Sender: TObject);
434 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
435 procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
436 procedure SetForcusForAddresBarActionExecute(Sender: TObject);
437 procedure NewBoardSearchActionExecute(Sender: TObject);
440 procedure ClearResFilter;
441 procedure SetResRange(range: Integer);
442 procedure SetThreadAreaHorNormal;
443 procedure SetThreadAreaHorizontal(gls : TGikoListState);
444 procedure SetThreadAreaVerNormal;
445 procedure SetThreadAreaVertical(gls : TGikoListState);
446 procedure SetThreadReadProperty(read: Boolean);
447 procedure SelectThreadSaveToFile(dat: Boolean);
448 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
449 procedure RecalcThreadSize(limit : Integer);
450 procedure ClearSelectComboBox;
451 procedure ClearMailAllEditor();
452 procedure ClearNameTextAllEditor();
453 procedure MoveURLWithHistory(URL : String);
454 procedure BackToHistory(item: TMoveHistoryItem);
455 function GetActiveThreadLinks : IHTMLElementCollection;
456 procedure GetImageLinkURLs(links : IHTMLElementCollection;
457 URLs : TStringList; const Start: Integer);
460 procedure RepaintStatusBar;
461 function EditorFormExists(): boolean;
462 procedure GetTabURLs(AStringList: TStringList);
463 procedure OpenURLs(AStringList: TStringList);
465 { Published
\90é
\8c¾ }
466 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
467 procedure DependActiveCntentActionUpdate(Sender: TObject);
468 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
\82Æ
\97L
\8cø
\82É
\82È
\82é
469 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
470 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
471 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
481 Windows, Math, Clipbrd,
482 Giko, GikoSystem, GikoUtil, BoardGroup,
483 FavoriteArrange, Favorite, MojuUtils,
484 Editor, ListSelect, Search, Option, Round,
485 KeySetting, Gesture, Kotehan, ToolBarSetting,
486 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
487 GikoBayesian, About, ShellAPI,
488 RoundName, RoundData, Menus, ListViewUtils,
489 ThreadControl, GikoMessage, InputAssist,
490 DefaultFileManager, Forms, NewBoardURL;
493 MSG_ERROR : string = '
\83G
\83\89\81[';
496 // *************************************************************************
497 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
498 // *************************************************************************
499 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
501 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
503 // *************************************************************************
504 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
505 // *************************************************************************
506 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
508 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
509 and (GikoForm.GetActiveContent.IsLogFile);
511 // *************************************************************************
512 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
513 // *************************************************************************
514 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
516 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
518 // *************************************************************************
519 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
520 // *************************************************************************
521 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
523 //
\83e
\83L
\83X
\83g
\82É
\8aÖ
\98A
\95t
\82¯
\82ç
\82ê
\82½
\83A
\83v
\83\8a\82ÅNG
\83\8f\81[
\83h
\83t
\83@
\83C
\83\8b\82ð
\83I
\81[
\83v
\83\93
524 GikoSys.FAbon.EditNGwords;
526 // *************************************************************************
527 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
528 // *************************************************************************
529 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
531 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
532 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
533 MsgBox(GikoForm.Handle, 'NG
\83\8f\81[
\83h
\83t
\83@
\83C
\83\8b\82Ì
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½',
534 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
536 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
537 GikoForm.RepaintAllTabsBrowser();
540 // *************************************************************************
541 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
542 // *************************************************************************
543 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
545 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
546 if GikoSys.FAbon.GoBack =false then begin
547 MsgBox(GikoForm.Handle, '
\88ê
\82Â
\8cã
\82ë
\82ÌNG
\83\8f\81[
\83h
\83t
\83@
\83C
\83\8b\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½',
548 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
550 //
\83X
\83e
\81[
\83^
\83X
\82É
\95\
\8e¦
\82³
\82ê
\82éNG
\83\8f\81[
\83h
\83t
\83@
\83C
\83\8b\96¼
\82ð
\8dX
\90V
552 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
553 GikoForm.RepaintAllTabsBrowser();
556 // *************************************************************************
557 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
558 // *************************************************************************
559 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
561 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
562 if GikoSys.FAbon.GoForward =false then begin
563 MsgBox(GikoForm.Handle, '
\88ê
\82Â
\91O
\82ÌNG
\83\8f\81[
\83h
\83t
\83@
\83C
\83\8b\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½',
564 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
566 //
\83X
\83e
\81[
\83^
\83X
\82É
\95\
\8e¦
\82³
\82ê
\82éNG
\83\8f\81[
\83h
\83t
\83@
\83C
\83\8b\96¼
\82ð
\8dX
\90V
568 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
569 GikoForm.RepaintAllTabsBrowser();
572 // *************************************************************************
573 //! NG
\83\8f\81[
\83h
\82ð
\95Ï
\8dX
\82µ
\82½
\8cã
\82Ì
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\8dX
\90V
\8f\88\97\9d
574 // *************************************************************************
575 procedure TGikoDM.RepaintStatusBar;
579 //
\83X
\83e
\81[
\83^
\83X
\82É
\95\
\8e¦
\82³
\82ê
\82éNG
\83\8f\81[
\83h
\83t
\83@
\83C
\83\8b\96¼
\82ð
\8dX
\90V
580 s := GikoSys.FAbon.NGwordname;
581 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
582 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
583 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
584 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
585 GikoForm.StatusBarResize(nil);
587 // *************************************************************************
588 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
589 // *************************************************************************
590 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
592 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
594 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
596 // *************************************************************************
597 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
598 // *************************************************************************
599 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
601 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
603 // *************************************************************************
604 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
605 // *************************************************************************
606 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
608 Dlg: TFavoriteArrangeDialog;
610 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
616 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
617 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
619 // *************************************************************************
620 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
621 // *************************************************************************
622 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
626 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
628 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
629 while node <> nil do begin
630 if node.HasChildren then
631 node.Expanded := False;
632 node := node.GetNext;
637 // *************************************************************************
638 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
639 // *************************************************************************
640 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
645 if GikoForm.ClickNode = nil then
647 if GikoForm.ClickNode.IsFirstNode then
649 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
651 GikoForm.FavoriteTreeView.ReadOnly := False;
652 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
653 node := GikoForm.ClickNode.Parent;
654 while node <> nil do begin
655 node.Expanded := True;
658 GikoForm.ClickNode.EditText;
660 GikoForm.ClickNode.Text := InputBox( '
\96¼
\91O
\82Ì
\95Ï
\8dX', '
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90V
\82µ
\82¢
\96¼
\91O
\82ð
\93ü
\97Í
\82µ
\82Ä
\82
\82¾
\82³
\82¢', GikoForm.ClickNode.Text );
662 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
663 FavoriteDM.Modified := true;
666 // *************************************************************************
667 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
668 // *************************************************************************
669 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
671 NewFavFolder: TFavoriteFolder;
675 if GikoForm.ClickNode = nil then
679 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
680 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
681 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
684 NewFavFolder := TFavoriteFolder.Create;
685 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
686 Node.ImageIndex := 14;
687 Node.SelectedIndex := 14;
688 // FClickNode.Selected.Expanded := True;
689 GikoForm.FavoriteTreeView.Selected := Node;
690 GikoForm.ClickNode := Node;
691 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
692 FavoriteDM.Modified := true;
693 FavoriteTreeViewRenameAction.Execute;
698 // *************************************************************************
699 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
700 // *************************************************************************
701 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
703 DEL_LINK_MSG = '
\81g
\83\8a\83\93\83N
\81h
\82Í
\83\8a\83\93\83N
\83o
\81[
\97p
\83t
\83H
\83\8b\83_
\82Å
\82·
\81B
\8dí
\8f\9c\82µ
\82Ä
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
704 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
705 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
708 if GikoForm.ClickNode = nil then
710 if GikoForm.ClickNode.IsFirstNode then
712 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
713 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
714 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
717 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
722 GikoForm.ClickNode.Delete;
723 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
724 FavoriteDM.Modified := true;
729 // *************************************************************************
730 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
731 // *************************************************************************
732 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
735 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
737 // *************************************************************************
738 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
739 // *************************************************************************
740 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
742 FavThread: TFavoriteThreadItem;
743 FavBoard: TFavoriteBoardItem;
746 if (GikoForm.ClickNode = nil) then Exit;
748 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
750 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
751 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
752 if FavThread.Item <> nil then
753 GikoForm.DownloadContent(FavThread.Item, shiftDown);
754 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
755 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
756 GikoForm.DownloadList(FavBoard.Item, shiftDown);
760 // *************************************************************************
761 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
762 // *************************************************************************
763 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
766 if GikoForm.ClickNode = nil then Exit;
768 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
769 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
772 // *************************************************************************
773 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
774 // *************************************************************************
775 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
778 if GikoForm.ClickNode = nil then Exit;
780 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
782 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
785 GikoForm.ClickNode.Text + #13#10;
789 // *************************************************************************
790 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
791 // *************************************************************************
792 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
795 favItem : TFavoriteItem;
798 if GikoForm.ClickNode = nil then Exit;
800 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
801 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
802 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
803 favItem.URL + #13#10;
807 // *************************************************************************
808 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
809 // *************************************************************************
810 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
812 DEL_MSG = '
\81g^0
\81h
\82Ì
\83\8d\83O
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
813 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
815 ThreadItem: TThreadItem;
816 FavThread: TFavoriteThreadItem;
819 if GikoForm.ClickNode = nil then Exit;
820 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
822 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
823 ThreadItem := FavThread.Item;
826 if GikoSys.Setting.DeleteMsg then begin
827 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
828 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
832 GikoForm.DeleteHistory(ThreadItem);
833 GikoForm.DeleteTab(ThreadItem);
834 ThreadItem.DeleteLogFile;
836 GikoForm.ListView.Refresh;
841 // *************************************************************************
842 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
843 // *************************************************************************
844 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
847 threadItem : TThreadItem;
850 if GikoForm.ClickNode = nil then Exit;
852 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
854 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
855 if threadItem = nil then
857 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
861 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
862 procedure TGikoDM.ClearResFilter;
864 FilterList : TStringList;
866 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
867 FilterList := TStringList.Create;
869 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
870 GikoSys.FSelectResFilter.Reverse := False;
874 GikoForm.SelectResWord := '';
876 // *************************************************************************
877 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
878 // *************************************************************************
879 procedure TGikoDM.SetResRange(range: Integer);
881 if GikoSys.ResRange <> range then begin
882 GikoSys.ResRange := range;
883 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
885 GikoForm.RepaintAllTabsBrowser();
888 // *************************************************************************
889 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
890 // *************************************************************************
891 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
893 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
894 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
896 GikoForm.ResRangeMenuSelect := 100;
897 OnlyAHundredResAction.Checked := True;
898 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
901 // *************************************************************************
902 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
903 // *************************************************************************
904 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
906 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
907 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
909 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
910 OnlyKokoResAction.Checked := True;
912 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
913 SetResRange(Ord( grrKoko ));
915 // *************************************************************************
916 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
917 // *************************************************************************
918 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
920 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
921 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
923 GikoForm.ResRangeMenuSelect := Ord( grrNew );
924 OnlyNewResAction.Checked := True;
926 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
927 SetResRange(Ord( grrNew ));
929 // *************************************************************************
930 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
931 // *************************************************************************
932 procedure TGikoDM.SetThreadAreaHorNormal;
934 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
935 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
936 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
937 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
938 GikoSys.Setting.ListWidthState := glsNormal;
940 // *************************************************************************
941 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
942 // *************************************************************************
943 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
945 if GikoSys.Setting.ListWidthState = glsNormal then
946 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
948 if (gls = glsMax) then begin
949 GikoForm.ViewPanel.Width := 1;
950 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
951 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
952 GikoSys.Setting.ListWidthState := glsMax;
953 end else if (gls = glsMin) then begin
954 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
955 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
956 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
957 GikoSys.Setting.ListWidthState := glsMin;
960 // *************************************************************************
961 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
962 // *************************************************************************
963 procedure TGikoDM.SetThreadAreaVerNormal;
965 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
966 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
967 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
968 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
969 GikoSys.Setting.ListHeightState := glsNormal;
971 // *************************************************************************
972 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
973 // *************************************************************************
974 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
976 if GikoSys.Setting.ListHeightState = glsNormal then
977 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
978 if (gls = glsMin) then begin
979 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
980 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
981 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
982 GikoSys.Setting.ListHeightState := glsMin;
983 end else if (gls = glsMax) then begin
984 GikoForm.ViewPanel.Height := 1;
985 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
986 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
987 GikoSys.Setting.ListHeightState := glsMax;
990 // *************************************************************************
991 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
992 // *************************************************************************
993 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
995 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
996 case GikoSys.Setting.ListWidthState of
998 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
999 SetThreadAreaHorNormal;
1001 glsMin, glsNormal: begin
1002 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1003 SetThreadAreaHorizontal(glsMax);
1007 case GikoSys.Setting.ListHeightState of
1009 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1010 SetThreadAreaVerNormal;
1012 glsMin, glsNormal: begin
1013 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1014 SetThreadAreaVertical(glsMax);
1019 // *************************************************************************
1020 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1021 // *************************************************************************
1022 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1024 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1025 case GikoSys.Setting.ListWidthState of
1026 glsMax, glsNormal: begin
1027 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1028 SetThreadAreaHorizontal(glsMin);
1031 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1032 SetThreadAreaHorNormal;
1036 case GikoSys.Setting.ListHeightState of
1037 glsMax, glsNormal: begin
1038 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1039 SetThreadAreaVertical(glsMin);
1042 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1043 SetThreadAreaVerNormal;
1048 // *************************************************************************
1049 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1050 // *************************************************************************
1051 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1053 GikoForm.BrowserMovement('top');
1055 // *************************************************************************
1056 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1057 // *************************************************************************
1058 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1060 GikoForm.BrowserMovement('bottom');
1062 // *************************************************************************
1063 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1064 // *************************************************************************
1065 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1067 GikoForm.BrowserMovement('new');
1069 // *************************************************************************
1070 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
\82Ö
\88Ú
\93®
\82·
\82é
1071 // *************************************************************************
1072 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1074 GikoForm.BrowserMovement('koko');
1076 // *************************************************************************
1077 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
\82Ö
\88Ú
\93®
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1078 // *************************************************************************
1079 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1081 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1082 and (GikoForm.GetActiveContent.IsLogFile)
1083 and (GikoForm.GetActiveContent.Kokomade <> -1);
1085 // *************************************************************************
1086 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1087 // *************************************************************************
1088 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1090 Editor: TEditorForm;
1093 Item := GikoForm.GetActiveContent;
1094 if Item = nil then Exit;
1095 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1096 Editor.SetThreadItem(Item);
1098 Editor.BodyEdit.SetFocus;
1100 // *************************************************************************
1101 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1102 // *************************************************************************
1103 procedure TGikoDM.IEActionExecute(Sender: TObject);
1105 ShowThreadAction.Execute;
1107 // *************************************************************************
1108 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1109 // *************************************************************************
1110 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1112 ThreadItem: TThreadItem;
1114 ThreadItem := GikoForm.GetActiveContent;
1115 if ThreadItem = nil then Exit;
1116 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1118 // *************************************************************************
1119 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1120 // *************************************************************************
1121 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1123 ThreadItem: TThreadItem;
1125 ThreadItem := GikoForm.GetActiveContent;
1126 if ThreadItem = nil then Exit;
1127 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1129 // *************************************************************************
1130 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1131 // *************************************************************************
1132 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1137 if TObject(GikoForm.GetActiveContent) is TBoard then
1138 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1139 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1140 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1142 Clipboard.AsText := s;
1144 // *************************************************************************
1145 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1146 // *************************************************************************
1147 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1152 if TObject(GikoForm.GetActiveContent) is TBoard then
1153 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1154 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1155 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1157 Clipboard.AsText := s;
1159 // *************************************************************************
1160 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1161 // *************************************************************************
1162 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1167 if TObject(GikoForm.GetActiveContent) is TBoard then
1168 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1169 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1170 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1172 Clipboard.AsText := s;
1174 // *************************************************************************
1175 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1176 // *************************************************************************
1177 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1179 ThreadItem: TThreadItem;
1182 ThreadItem := GikoForm.GetActiveContent;
1183 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1184 if ThreadItem <> nil then
1185 GikoForm.DownloadContent(ThreadItem, shiftDown);
1187 // *************************************************************************
1188 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1189 // *************************************************************************
1190 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1194 idx := GikoForm.BrowserTab.TabIndex;
1195 if idx <> -1 then begin
1196 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1197 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1201 // *************************************************************************
1202 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1203 // *************************************************************************
1204 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1206 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1208 // *************************************************************************
1209 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1210 // *************************************************************************
1211 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1216 idx := GikoForm.BrowserTab.TabIndex;
1217 if idx = -1 then Exit;
1218 GikoForm.BrowserTab.Tabs.BeginUpdate;
1219 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1220 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1221 GikoForm.BrowserTab.Tabs.Delete(i);
1223 if idx > 0 then begin
1224 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1225 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1226 GikoForm.BrowserTab.Tabs.Delete(i);
1229 GikoForm.BrowserTab.Tabs.EndUpdate;
1231 // *************************************************************************
1232 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1233 // *************************************************************************
1234 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1236 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1238 // *************************************************************************
1239 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1240 // *************************************************************************
1241 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1245 if GikoSys.Setting.ShowDialogForAllTabClose then
1246 if(MessageDlg('
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82Ä
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H', mtConfirmation,[mbOk, mbCancel], 0) = mrCancel ) then
1249 GikoForm.ActiveContent := nil;
1250 GikoForm.BrowserNullTab.Thread := nil;
1251 GikoForm.BrowserTab.OnChange := nil;
1252 GikoForm.BrowserTab.Tabs.BeginUpdate;
1253 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1254 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1256 GikoForm.BrowserTab.Tabs.Clear;
1257 GikoForm.BrowserTab.Tabs.EndUpdate;
1258 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1259 GikoForm.SetContent(GikoForm.BrowserNullTab);
1260 GikoForm.Caption := CAPTION_NAME ;
1262 // *************************************************************************
1263 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1264 // *************************************************************************
1265 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1267 DEL_MSG = '
\81g^0
\81h
\82Ì
\83\8d\83O
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
1268 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1271 ThreadItem: TThreadItem;
1273 idx := GikoForm.BrowserTab.TabIndex;
1274 if idx <> -1 then begin
1275 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1276 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1277 if GikoSys.Setting.DeleteMsg then
1278 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1279 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1281 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1282 GikoForm.DeleteHistory(ThreadItem);
1283 ThreadItem.DeleteLogFile;
1284 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1285 GikoForm.ListView.Refresh;
1289 // *************************************************************************
1290 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1291 // *************************************************************************
1292 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1294 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1295 GikoForm.BrowserTab.TabIndex := 0;
1296 GikoForm.BrowserTab.OnChange(nil);
1299 // *************************************************************************
1300 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1301 // *************************************************************************
1302 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1304 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1305 LeftmostTabSelectActionUpdate(Sender);
1307 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1311 // *************************************************************************
1312 //!
\83^
\83u
\82Ì
\90\94\82ª
\82P
\88È
\8fã
\82Å
\81A
\83^
\83u
\82Ì
\83C
\83\93\83f
\83b
\83N
\83X
\82ª
\82O
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82éUpdate
\83C
\83x
\83\93\83g
1313 // *************************************************************************
1314 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1316 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1317 and (GikoForm.BrowserTab.TabIndex <> 0);
1319 // *************************************************************************
1320 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1321 // *************************************************************************
1322 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1324 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1325 if GikoForm.BrowserTab.TabIndex = -1 then begin
1326 GikoForm.BrowserTab.TabIndex := 0;
1327 GikoForm.BrowserTab.OnChange(nil);
1328 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1329 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1330 GikoForm.BrowserTab.OnChange(nil);
1332 if (GikoSys.Setting.LoopBrowserTabs) and
1333 (GikoForm.BrowserTab.TabIndex = 0) then begin
1334 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1335 GikoForm.BrowserTab.OnChange(nil);
1340 // *************************************************************************
1341 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1342 // *************************************************************************
1343 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1345 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1346 if GikoForm.BrowserTab.TabIndex = -1 then begin
1347 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1348 GikoForm.BrowserTab.OnChange(nil);
1349 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1350 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1351 GikoForm.BrowserTab.OnChange(nil);
1353 if (GikoSys.Setting.LoopBrowserTabs) and
1354 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1355 GikoForm.BrowserTab.TabIndex := 0;
1356 GikoForm.BrowserTab.OnChange(nil);
1361 // *************************************************************************
1362 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1363 // *************************************************************************
1364 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1366 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1367 RightmostTabSelectActionUpdate(Sender);
1369 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1373 // *************************************************************************
1374 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1375 // *************************************************************************
1376 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1378 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1379 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1380 GikoForm.BrowserTab.OnChange(nil);
1383 // *************************************************************************
1384 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1385 // *************************************************************************
1386 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1388 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1389 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1392 // *************************************************************************
1393 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1394 // *************************************************************************
1395 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1397 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1398 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1400 // *************************************************************************
1401 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Å
\81A
\83X
\83\8c\82ª
\82P
\82Â
\88È
\8fã
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\97L
\8cø
\82É
\82È
\82éUpdate
\83C
\83x
\83\93\83g
1402 // *************************************************************************
1403 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1405 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1406 and (GikoForm.ListView.SelCount > 0);
1408 // *************************************************************************
1409 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1410 // *************************************************************************
1411 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1413 Dlg: TListSelectDialog;
1414 FilterList : TStringList;
1417 Dlg := TListSelectDialog.Create(GikoForm);
1419 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1420 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1422 if Dlg.ModalResult = mrOK then begin
1423 SelectResAction.Checked := True;
1424 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1425 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1426 ResRangeAction.Execute;
1428 GikoSys.ResRange := Ord( grrSelect );
1430 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1431 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1433 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1434 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1436 GikoSys.Setting.SelectTextList.Delete(idx);
1437 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1438 while Dlg.SelectComboBox.Items.Count > 100 do begin
1439 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1443 if GikoForm.SelectComboBoxPanel.Visible then
1444 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1448 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1449 FilterList := TStringList.Create;
1451 GikoSys.FSelectResFilter.Reverse := True;
1452 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1453 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1455 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1459 GikoForm.RepaintAllTabsBrowser();
1462 //
\83L
\83\83\83\93\83Z
\83\8b
1463 if GikoSys.ResRange <> Ord( grrSelect ) then
1464 ResRangeAction.Execute;
1471 // *************************************************************************
1472 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1473 // *************************************************************************
1474 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1476 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1477 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1479 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1480 AllResAction.Checked := True;
1482 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1483 SetResRange(Ord( grrAll ));
1485 // *************************************************************************
1486 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1487 // *************************************************************************
1488 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1490 case GikoForm.ResRangeMenuSelect of
1491 Ord( grrAll ): AllResAction.Execute;
1492 Ord( grrKoko ): OnlyKokoResAction.Execute;
1493 Ord( grrNew ): OnlyNewResAction.Execute;
1494 100: OnlyAHundredResAction.Execute;
1498 // *************************************************************************
1499 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1500 // *************************************************************************
1501 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1503 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1505 // *************************************************************************
1506 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1507 // *************************************************************************
1508 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1514 if( InputQuery('
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô', '
\94Ô
\8d\86\82ð
\93ü
\97Í
\82µ
\82Ä
\82
\82¾
\82³
\82¢', str) ) then begin
1515 str := ZenToHan(str);
1516 res := StrToIntDef(str, -1);
1517 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1518 GikoForm.ActiveContent.Move(IntToStr(res));
1519 SetFocusForBrowserAction.Execute;
1520 end else if res > GikoForm.GetActiveContent.Count then begin
1521 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1522 SetFocusForBrowserAction.Execute;
1526 // *************************************************************************
1527 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1528 // *************************************************************************
1529 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1534 idx := GikoForm.BrowserTab.TabIndex;
1535 if idx = -1 then Exit;
1536 GikoForm.BrowserTab.Tabs.BeginUpdate;
1537 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1538 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1539 GikoForm.BrowserTab.Tabs.Delete(i);
1541 GikoForm.BrowserTab.Tabs.EndUpdate;
1543 // *************************************************************************
1544 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1545 // *************************************************************************
1546 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1548 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1550 // *************************************************************************
1551 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1552 // *************************************************************************
1553 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1558 idx := GikoForm.BrowserTab.TabIndex;
1559 if idx = -1 then Exit;
1560 GikoForm.BrowserTab.Tabs.BeginUpdate;
1561 if idx > 0 then begin
1562 for i := idx - 1 downto 0 do begin
1563 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1564 GikoForm.BrowserTab.Tabs.Delete(i);
1567 GikoForm.BrowserTab.Tabs.EndUpdate;
1569 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1570 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1572 // GikoDM
\82æ
\82è
\82à
\91\81\82
\8f\89\8aú
\89»
\82³
\82ê
\82é
\95K
\97v
\82ª
\82 \82é
\83t
\83@
\83C
\83\8b\82ª
\82¢
\82é
\82Æ
\82±
\82¯
\82é
\81I
\81I
1573 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1574 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1575 TDefaultFileManager.CopyDefaultFiles(
1576 GikoSys.GetAppDir + 'defaultFiles.ini');
1578 // *************************************************************************
1579 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1580 // *************************************************************************
1581 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1586 if GikoForm.SearchDialog = nil then begin
1587 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1588 chk := GikoForm.GetActiveList
1592 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1593 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1597 GikoForm.SearchDialog.Show;
1601 // *************************************************************************
1602 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1603 // *************************************************************************
1604 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1608 Dlg := TOptionDialog.Create(GikoForm);
1615 // *************************************************************************
1616 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1617 // *************************************************************************
1618 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1622 Dlg := TRoundDialog.Create(GikoForm);
1629 // *************************************************************************
1630 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1631 // *************************************************************************
1632 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1634 Dlg: TKeySettingForm;
1636 Dlg := TKeySettingForm.Create(GikoForm);
1638 if Dlg.ShowModal = mrOk then begin
1639 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1640 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1641 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1646 MouseGesture.UnHook;
1647 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1648 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1649 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1650 if GikoSys.Setting.GestureEnabled then begin
1651 GikoSys.Setting.Gestures.ClearGesture;
1652 GikoSys.Setting.Gestures.LoadGesture(
1653 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1654 MouseGesture.SetHook( GikoForm.Handle );
1658 // *************************************************************************
1659 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1660 // *************************************************************************
1661 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1663 Dlg: TKotehanDialog;
1665 Dlg := TKotehanDialog.Create(GikoForm);
1672 // *************************************************************************
1673 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1674 // *************************************************************************
1675 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1677 Dlg: TToolBarSettingDialog;
1680 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1682 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1683 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1684 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1685 case GikoForm.ToolBarSettingSender of
1686 tssMain: Dlg.ToolBarIndex := 0;
1687 tssList: Dlg.ToolBarIndex := 1;
1688 tssBrowser: Dlg.ToolBarIndex := 2;
1690 if Dlg.ShowModal = mrOK then begin
1691 GikoForm.SetToolBarPopup;
1693 //
\8dÅ
\93K
\95\9d\82ð
\8dÄ
\90Ý
\92è
\82·
\82é
\82½
\82ß
\82É
\93K
\93\96\82È
\83v
\83\8d\83p
\83e
\83B
\82ð
\82¢
\82¶
\82
\82é
1694 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1695 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1696 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1697 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1698 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1700 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1701 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1702 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1703 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1704 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1706 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1707 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1708 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1709 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1710 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1713 SaveToolBarSetting(GikoForm.StdToolBar);
1714 SaveToolBarSetting(GikoForm.ListToolBar);
1715 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1716 GikoForm.SetSelectComboBox;
1717 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1718 SaveToolBarSetting(GikoForm.BrowserToolBar);
1722 GikoForm.ToolBarSettingSender := tssNone;
1725 // *************************************************************************
1726 //!
\83~
\83\85\81[
\83g
1727 // *************************************************************************
1728 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1730 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1732 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1733 // *************************************************************************
1734 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1735 // *************************************************************************
1736 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1739 TmpTreeNode: TTreeNode;
1741 TmpTreeNode := GikoForm.ClickNode;
1742 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1745 if TObject(TmpTreeNode.Data) is TBoard then
1746 Board := TBoard(TmpTreeNode.Data)
1747 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1748 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1750 if Board <> nil then
1751 GikoForm.DownloadList(Board);
1753 // *************************************************************************
1754 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1755 // *************************************************************************
1756 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1758 ThreadItem: TThreadItem;
1759 TmpTreeNode: TTreeNode;
1761 TmpTreeNode := GikoForm.ClickNode;
1762 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1765 if TObject(TmpTreeNode.Data) is TThreadItem then
1766 ThreadItem := TThreadItem(TmpTreeNode.Data)
1767 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1768 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1770 if ThreadItem <> nil then
1771 GikoForm.DownloadContent(ThreadItem);
1773 // *************************************************************************
1774 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1775 // *************************************************************************
1776 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1778 TmpTreeNode: TTreeNode;
1781 TmpTreeNode := GikoForm.ClickNode;
1782 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1783 if TObject(TmpTreeNode.Data) is TBoard then begin
1784 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1785 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1786 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1787 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1788 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1789 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1790 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1792 Clipboard.AsText := s;
1794 // *************************************************************************
1795 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1796 // *************************************************************************
1797 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1799 TmpTreeNode: TTreeNode;
1802 TmpTreeNode := GikoForm.ClickNode;
1803 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1804 if TObject(TmpTreeNode.Data) is TBoard then begin
1805 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1806 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1807 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1808 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1809 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1810 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1811 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1813 Clipboard.AsText := s;
1815 // *************************************************************************
1816 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1817 // *************************************************************************
1818 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1820 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1822 // *************************************************************************
1823 //!
\94Â
\96¼
\8c\9f\8dõ
1824 // *************************************************************************
1825 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1829 CurItem : TTreeNode;
1832 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1835 if GikoForm.TreeView.Selected = nil then
1836 CurItem := GikoForm.TreeView.Items.GetFirstNode
1838 CurItem := GikoForm.TreeView.Selected.GetNext;
1839 if CurItem = nil then
1840 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1842 while CurItem <> nil do begin
1843 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1846 CurItem := CurItem.GetNext;
1849 if CurItem = nil then begin
1850 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1851 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1852 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1856 GikoForm.TreeView.Select(CurItem);
1857 GikoForm.TreeView.SetFocus;
1859 GikoForm.TreeView.Select(CurItem);
1860 GikoForm.TreeView.SetFocus;
1861 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1862 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1875 // *************************************************************************
1876 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1877 // *************************************************************************
1878 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1882 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1883 s := GikoForm.ClickNode.Text;
1884 Clipboard.AsText := s;
1886 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1887 // *************************************************************************
1888 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1889 // *************************************************************************
1890 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1895 if GikoSys.Dolib.Connected then begin
1896 //
\83\8d\83O
\83A
\83E
\83g
1897 GikoSys.Dolib.Disconnect;
1898 LoginAction.Checked := False;
1899 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1900 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1902 TmpCursor := GikoForm.ScreenCursor;
1903 GikoForm.ScreenCursor := crHourGlass;
1905 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1906 if not GikoSys.Setting.ForcedLogin then begin
1907 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1908 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1909 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1910 if GikoSys.Setting.ReadProxy then begin
1911 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1912 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1914 GikoSys.Dolib.ProxyAddress := '';
1915 GikoSys.Dolib.ProxyPort := 0;
1917 if GikoSys.Dolib.Connect then begin
1918 LoginAction.Checked := True;
1919 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1920 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1921 //LoginToolButton.Style := tbsCheck;
1923 // MsgBox(Handle, '
\83\8d\83O
\83C
\83\93\8fo
\97\88\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½', '
\83G
\83\89\81[', MB_OK or MB_ICONSTOP);
1924 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1925 GikoForm.PlaySound('Error');
1926 LoginAction.Checked := False;
1927 //LoginToolButton.Down := False;
1928 ///LoginToolButton.Style := tbsButton;
1931 msg := '
\8b
\90§
\83\8d\83O
\83C
\83\93\83\82\81[
\83h
\82Å
\82Í
\81C
\83T
\81[
\83o
\82Ì
\8fØ
\96¾
\8f\91\82Ì
\97L
\8cø
\90«
\82ð
\83`
\83F
\83b
\83N
\82µ
\82Ü
\82¹
\82ñ
\81B' + #13#10
1932 + '
\8bU
\91\95\83T
\81[
\83o
\82Ì
\8fê
\8d\87\81A
\82 \82È
\82½
\82Ì
\83p
\83X
\83\8f\81[
\83h
\93\90\82Ü
\82ê
\82é
\89Â
\94\
\90«
\82ª
\82 \82è
\82Ü
\82·
\81B' + #13#10
1933 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1934 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1935 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1936 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1937 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1938 if GikoSys.Setting.ReadProxy then begin
1939 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1940 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1942 GikoSys.Dolib.ProxyAddress := '';
1943 GikoSys.Dolib.ProxyPort := 0;
1945 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1946 GikoSys.Dolib.ForcedConnect;
1947 if GikoSys.Dolib.Connect then begin
1948 LoginAction.Checked := True;
1949 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1950 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1951 //LoginToolButton.Style := tbsCheck;
1953 // MsgBox(Handle, '
\83\8d\83O
\83C
\83\93\8fo
\97\88\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½', '
\83G
\83\89\81[', MB_OK or MB_ICONSTOP);
1954 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1955 GikoForm.PlaySound('Error');
1956 LoginAction.Checked := False;
1957 //LoginToolButton.Down := False;
1958 //LoginToolButton.Style := tbsButton;
1961 LoginAction.Checked := False;
1962 //LoginToolButton.Down := False;
1963 //LoginToolButton.Style := tbsButton;
1967 GikoForm.ScreenCursor := TmpCursor;
1971 // *************************************************************************
1972 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1973 // *************************************************************************
1974 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
1976 Dlg: TNewBoardDialog;
1979 if (EditorFormExists) then begin
1980 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
1981 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
1984 Dlg := TNewBoardDialog.Create(GikoForm);
1991 // *************************************************************************
1992 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1993 // *************************************************************************
1994 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
1996 DEL_MSG = '
\81g^0
\81h
\82Ì
\83\8d\83O
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
1997 DEL_SAME_MSG = '
\82±
\82ê
\82ç ^0
\8cÂ
\82Ì
\83X
\83\8c\83b
\83h
\82Ì
\83\8d\83O
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
1998 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2000 ThreadItem: TThreadItem;
2001 TmpListItem: TListItem;
2005 List := TList.Create;
2007 TmpListItem := GikoForm.ListView.Selected;
2008 while TmpListItem <> nil do begin
2009 if TObject(TmpListItem.Data) is TThreadItem then begin
2010 ThreadItem := TThreadItem(TmpListItem.Data);
2011 if ThreadItem.IsLogFile then
2012 List.Add(ThreadItem);
2014 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2017 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2018 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2019 if List.Count = 1 then begin
2020 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
2023 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
2029 for i := 0 to List.Count - 1 do begin
2030 ThreadItem := TThreadItem(List[i]);
2031 GikoForm.DeleteHistory(ThreadItem);
2032 GikoForm.DeleteTab(ThreadItem);
2033 ThreadItem.DeleteLogFile;
2035 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2037 GikoForm.ListView.Refresh;
2042 // *************************************************************************
2043 //! ActiveList
\82ªTBoard
\82Å
\83X
\83\8c\88ê
\97\97\82Å
\82P
\82Â
\88È
\8fã
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\82Æ
\97L
\8cø
\82É
\82È
\82éAction
\82Å
\8b¤
\92Ê
2044 // *************************************************************************
2045 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2047 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2048 and (GikoForm.ListView.SelCount > 0);
2050 // *************************************************************************
2051 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2052 // *************************************************************************
2053 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2055 DEL_MSG = '
\8di
\8d\9e\82Ý
\91S
\97\9a\97ð
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
2056 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2058 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2059 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2061 GikoSys.Setting.SelectTextList.Clear;
2062 GikoForm.SelectComboBox.Items.Clear;
2063 GikoForm.SelectComboBox.Text := '';
2064 GikoForm.SetListViewType( gvtAll );
2066 // *************************************************************************
2067 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2068 // *************************************************************************
2069 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2071 DEL_MSG = '
\83\8c\83X
\83G
\83f
\83B
\83^
\96¼
\91O
\91S
\97\9a\97ð
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
2072 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2074 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2075 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2077 GikoSys.Setting.NameList.Clear;
2078 ClearNameTextAllEditor
2080 // *************************************************************************
2081 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2082 // *************************************************************************
2083 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2085 DEL_MSG = '
\83\8c\83X
\83G
\83f
\83B
\83^
\83\81\81[
\83\8b\91S
\97\9a\97ð
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
2086 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2088 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2089 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2091 GikoSys.Setting.MailList.Clear;
2094 // *************************************************************************
2095 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2096 // *************************************************************************
2097 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2101 // *************************************************************************
2102 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2103 // *************************************************************************
2104 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2106 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2108 // *************************************************************************
2109 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2110 // *************************************************************************
2111 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2113 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2114 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2116 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2119 // *************************************************************************
2120 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2121 // *************************************************************************
2122 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2129 List := TList.Create;
2131 GikoForm.ScreenCursor := crHourGlass;
2132 GikoForm.SelectListItem(List);
2133 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2134 (GikoSys.Setting.ListHeightState = glsMax)) or
2135 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2136 (GikoSys.Setting.ListWidthState = glsMax)) then
2137 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2138 else if(List.Count = 0) then
2139 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2142 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2143 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2145 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2146 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2148 for i := 0 to List.Count - 1 do begin
2149 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2151 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2153 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2155 if SaveDialog.Execute then begin
2157 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2158 PChar(SaveDialog.FileName), true);
2160 html := TStringList.Create;
2161 title := TThreadItem(List[i]).Title;
2163 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2164 html.SaveToFile(SaveDialog.FileName);
2165 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2175 GikoForm.ScreenCursor := crDefault;
2179 // *************************************************************************
2180 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2181 // *************************************************************************
2182 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2184 SelectThreadSaveToFile(false);
2186 // *************************************************************************
2187 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2188 // *************************************************************************
2189 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2191 SelectThreadSaveToFile(true);
2193 // *************************************************************************
2194 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2195 // *************************************************************************
2196 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2198 Filename = 'tab.sav';
2199 bFilename = '~tab.sav';
2201 SaveStringList: TStringList;
2203 SaveStringList := TStringList.Create;
2205 GetTabURLs(SaveStringList);
2207 if FileExists( GikoSys.GetAppDir + Filename) then begin
2208 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2209 PChar(GikoSys.GetAppDir + bFilename), False);
2213 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2215 SaveStringList.Free;
2218 // *************************************************************************
2219 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2220 // *************************************************************************
2221 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2223 rec : TBrowserRecord;
2226 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2228 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2229 if( rec <> nil) and (rec.Thread <> nil) then
2230 AStringList.Add( rec.Thread.URL );
2235 // *************************************************************************
2236 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2237 // *************************************************************************
2238 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2240 GikoTab : TGikoTabAppend;
2244 if (AStringList <> nil) then begin
2245 GikoTab := GikoSys.Setting.BrowserTabAppend;
2247 bound := AStringList.Count - 1;
2248 if bound > -1 then begin
2249 GikoSys.Setting.BrowserTabAppend := gtpLast;
2250 for i := 0 to bound do begin
2251 item := BBSsFindThreadFromURL( AStringList[ i ] );
2253 GikoForm.InsertBrowserTab( item, false );
2255 //
\8dÅ
\8f\89\82Ì
\82P
\96\87\82É
\90Ý
\92è
\83A
\83h
\83\8c\83X
\82Ì
\90Ý
\92è
\82Ì
\82½
\82ß
\82Ì
\83J
\83\89\8cÄ
\82Ñ
2256 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
2257 GikoForm.BrowserTab.OnChange(nil);
2261 GikoSys.Setting.BrowserTabAppend := GikoTab;
2265 // *************************************************************************
2266 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2267 // *************************************************************************
2268 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2270 TABFILE = 'tab.sav';
2275 URLs := TStringList.Create();
2277 fileName := ExtractFilePath(Application.ExeName) + TABFILE;
2278 if FileExists(fileName) then begin
2280 URLs.LoadFromFile(fileName);
2281 if (URLs.Count = 0) then begin
2282 //
\8bó
\82Ì
\83t
\83@
\83C
\83\8b\82Ì
\8fê
\8d\87\81C
\83o
\83b
\83N
\83A
\83b
\83v
\82ð
\8dí
\8f\9c\82µ
\82È
\82¢
\82½
\82ß
\82É
\8dí
\8f\9c
2283 SysUtils.DeleteFile(fileName);
2288 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2295 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2296 (TabsOpenAction.Tag <> 1) then begin
2297 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2300 // *************************************************************************
2301 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2302 // *************************************************************************
2303 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2305 GikoSys.Setting.BeLogin := not GikoSys.Setting.BeLogin;
2307 // *************************************************************************
2308 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
2309 // *************************************************************************
2310 procedure TGikoDM.BeLogInOutActionUpdate(Sender: TObject);
2312 if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
2313 if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
2314 else BeLogInOutAction.Checked := false;
2315 BeLogInOutAction.Enabled := true
2317 BeLogInOutAction.Enabled := false;
2319 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2320 // *************************************************************************
2321 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2322 // *************************************************************************
2323 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2326 ThreadItem: TThreadItem;
2328 No := GikoForm.KokoPopupMenu.Tag;
2329 if No = 0 then Exit;
2330 ThreadItem := GikoForm.GetActiveContent;
2331 if ThreadItem = nil then Exit;
2332 ThreadItem.Kokomade := No;
2333 GikoForm.ActiveContent.Thread.ScrollTop :=
2334 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2335 GikoForm.ActiveContent.Repaint := true;
2336 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2337 //INFO 2005/11/19
\88ê
\92U
\89B
\95Á
\81A
\95K
\97v
\82È
\82çGikoForm
\82Ì
\95û
\82É
\83\81\83\
\83b
\83h
\82ð
\92Ç
\89Á
\82·
\82é
2338 //Application.ProcessMessages;
2340 // *************************************************************************
2341 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2342 // *************************************************************************
2343 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2345 ThreadItem: TThreadItem;
2347 ThreadItem := GikoForm.GetActiveContent;
2348 if ThreadItem = nil then Exit;
2349 ThreadItem.Kokomade := -1;
2350 GikoForm.ActiveContent.Thread.ScrollTop :=
2351 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2352 GikoForm.ActiveContent.Repaint := true;
2353 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2354 //INFO 2005/11/19
\88ê
\92U
\89B
\95Á
\81A
\95K
\97v
\82È
\82çGikoForm
\82Ì
\95û
\82É
\83\81\83\
\83b
\83h
\82ð
\92Ç
\89Á
\82·
\82é
2355 //Application.ProcessMessages;
2357 // *************************************************************************
2358 //!
\83R
\83R
\82É
\83\8c\83X
2359 // *************************************************************************
2360 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2362 Editor: TEditorForm;
2366 Number := GikoForm.KokoPopupMenu.Tag;
2367 if Number = 0 then Exit;
2368 Item := GikoForm.GetActiveContent;
2369 if Item = nil then Exit;
2371 Editor := TEditorForm.Create(GikoForm);
2372 Editor.SetThreadItem(Item);
2373 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2375 Editor.BodyEdit.SetFocus;
2377 // *************************************************************************
2378 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2379 // *************************************************************************
2380 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2382 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2384 // *************************************************************************
2385 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2386 // *************************************************************************
2387 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2389 ThreadItem : TThreadItem;
2390 No, count, rc : Integer;
2394 No := GikoForm.KokoPopupMenu.Tag;
2395 if No = 0 then Exit;
2396 ThreadItem := GikoForm.GetActiveContent;
2397 if ThreadItem = nil then Exit;
2398 count := GikoSys.GetSameIDResCount(No, GikoForm.ActiveContent.Thread);
2400 if count > 20 then begin
2401 rc := GikoUtil.MsgBox(GikoForm.Handle,
2402 '20
\8cÂ
\88È
\8fã
\82 \82è
\82Ü
\82·
\82ª
\81A
\82·
\82×
\82Ä
\95\
\8e¦
\82µ
\82Ü
\82·
\82©
\81H',
2403 'ID
\83|
\83b
\83v
\83A
\83b
\83v
\8cx
\8d\90',
2404 MB_YESNO or MB_ICONQUESTION);
2405 limited := rc <> ID_YES;
2407 body := GikoSys.GetSameIDResAnchor(No, ThreadItem, limited);
2408 GikoForm.ActiveContent.IDAnchorPopup(body);
2410 // *************************************************************************
2411 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2412 // *************************************************************************
2413 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2415 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2417 // *************************************************************************
2418 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2419 // *************************************************************************
2420 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2422 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2424 // *************************************************************************
2425 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2426 // *************************************************************************
2427 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2429 IndividualForm :TIndividualAbonForm;
2430 ThreadItem : TThreadItem;
2432 ReadList : TStringList;
2433 wordCount : TWordCount;
2435 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2437 ThreadItem := GikoForm.GetActiveContent;
2438 ThreadItem.ScrollTop :=
2439 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2440 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2441 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2442 ReadList := TStringList.Create;
2443 wordCount := TWordCount.Create;
2445 {$IFDEF SPAM_FILTER_ENABLED}
2446 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2447 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2448 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2449 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2450 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2452 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2453 GikoForm.ActiveContent.Repaint := true;
2454 GikoForm.InsertBrowserTab( ThreadItem, True );
2461 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2462 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2466 IndividualForm.Release;
2469 // *************************************************************************
2470 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c\83\8c\83X
\94Ô
\8d\86\8ew
\92è
\81i
\83_
\83C
\83A
\83\8d\83O
\95\
\8e¦
\81j
2471 // *************************************************************************
2472 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2474 IndividualForm :TIndividualAbonForm;
2475 ThreadItem : TThreadItem;
2477 ReadList : TStringList;
2478 wordCount : TWordCount;
2479 {$IFDEF SPAM_FILTER_ENABLED}
2483 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2485 ThreadItem := GikoForm.GetActiveContent;
2486 ThreadItem.ScrollTop :=
2487 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2488 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2489 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2490 if (IndividualForm.ShowModal = mrOK) then begin
2491 ReadList := TStringList.Create;
2492 wordCount := TWordCount.Create;
2494 {$IFDEF SPAM_FILTER_ENABLED}
2495 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2496 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2497 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2498 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2499 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2500 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2503 if IndividualForm.FRepaint then begin
2504 GikoForm.ActiveContent.Repaint := true;
2505 GikoForm.InsertBrowserTab( ThreadItem, True );
2513 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2514 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2518 IndividualForm.Release;
2521 // *************************************************************************
2522 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2523 // *************************************************************************
2524 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2526 GikoForm.IndividualAbonID(1);
2528 // *************************************************************************
2529 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2530 // *************************************************************************
2531 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2533 GikoForm.IndividualAbonID(0);
2535 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2536 // *************************************************************************
2537 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2538 // *************************************************************************
2539 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2541 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2543 // *************************************************************************
2544 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2545 // *************************************************************************
2546 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2548 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2550 // *************************************************************************
2551 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2552 // *************************************************************************
2553 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2555 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2557 // *************************************************************************
2558 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2559 // *************************************************************************
2560 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2562 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2564 // *************************************************************************
2565 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2566 // *************************************************************************
2567 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2571 Dlg := TAboutDialog.Create(GikoForm);
2578 // *************************************************************************
2579 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2580 // *************************************************************************
2581 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2585 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2586 if not FileExists(FileName) then begin
2589 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2590 '
\83w
\83\8b\83v
\83t
\83@
\83C
\83\8b\82ð
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82É
\92u
\82¢
\82Ä
\82
\82¾
\82³
\82¢' + #13#10 +
2591 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2596 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2598 // *************************************************************************
2599 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2600 // *************************************************************************
2601 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2603 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2605 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2606 // *************************************************************************
2607 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2608 // *************************************************************************
2609 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2611 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2612 GikoForm.ListView.Refresh;
2614 // *************************************************************************
2615 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2616 // *************************************************************************
2617 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2619 if GikoForm.GetActiveList is TBoard then begin
2620 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2621 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2622 end else if GikoForm.GetActiveList is TCategory then begin
2623 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2626 // *************************************************************************
2627 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2628 // *************************************************************************
2629 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2631 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS);
2633 // *************************************************************************
2634 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2635 // *************************************************************************
2636 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2638 case GikoForm.ListView.ViewStyle of
2639 vsIcon: SmallIconAction.Execute;
2640 vsSmallIcon: ListIconAction.Execute;
2641 vsList: DetailIconAction.Execute;
2642 vsReport: LargeIconAction.Execute;
2645 // *************************************************************************
2646 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2647 // *************************************************************************
2648 procedure TGikoDM.ClearSelectComboBox;
2650 if GikoForm.SelectComboBoxPanel.Visible then begin
2651 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2652 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2653 GikoForm.ListView.SetFocus;
2656 // *************************************************************************
2657 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2658 // *************************************************************************
2659 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2662 if GikoForm.ViewType <> gvtAll then
2663 GikoForm.SetListViewType(gvtAll);
2664 GikoSys.Setting.ThreadRange := gtrAll;
2665 AllItemAction.Checked := True;
2666 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2667 GikoForm.ModifySelectList;
2668 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2669 ClearSelectComboBox;
2673 // *************************************************************************
2674 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2675 // *************************************************************************
2676 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2679 if GikoForm.ViewType <> gvtLog then
2680 GikoForm.SetListViewType(gvtLog);
2681 GikoSys.Setting.ThreadRange := gtrLog;
2682 LogItemAction.Checked := True;
2683 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2684 GikoForm.ModifySelectList;
2685 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2686 ClearSelectComboBox;
2690 // *************************************************************************
2691 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2692 // *************************************************************************
2693 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2697 if GikoForm.ViewType <> gvtNew then
2698 GikoForm.SetListViewType(gvtNew);
2699 GikoSys.Setting.ThreadRange := gtrNew;
2700 NewItemAction.Checked := True;
2701 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2702 GikoForm.ModifySelectList;
2703 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2704 ClearSelectComboBox;
2708 // *************************************************************************
2709 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2710 // *************************************************************************
2711 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2714 if GikoForm.ViewType <> gvtArch then
2715 GikoForm.SetListViewType(gvtArch);
2716 GikoSys.Setting.ThreadRange := gtrArch;
2717 ArchiveItemAction.Checked := True;
2718 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2719 GikoForm.ModifySelectList;
2720 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2721 ClearSelectComboBox;
2725 // *************************************************************************
2726 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2727 // *************************************************************************
2728 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2731 if GikoForm.ViewType <> gvtLive then
2732 GikoForm.SetListViewType(gvtLive);
2733 GikoSys.Setting.ThreadRange := gtrLive;
2734 LiveItemAction.Checked := True;
2735 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2736 GikoForm.ModifySelectList;
2737 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2738 ClearSelectComboBox;
2743 // *************************************************************************
2744 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2745 // *************************************************************************
2746 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2748 case GikoSys.Setting.ThreadRange of
2749 gtrAll: AllItemAction.Execute;
2750 gtrLog: LogItemAction.Execute;
2751 gtrNew: NewItemAction.Execute;
2752 gtrArch: ArchiveItemAction.Execute;
2753 gtrLive: LiveItemAction.Execute;
2756 // *************************************************************************
2757 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2758 // *************************************************************************
2759 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2762 Dlg: TListSelectDialog;
2765 if GikoForm.SelectComboBoxPanel.Visible then begin
2766 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2767 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2768 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2769 if GikoSys.Setting.ListWidthState = glsMax then
2770 BrowserMinAction.Execute;
2772 if GikoSys.Setting.ListHeightState = glsMax then
2773 BrowserMinAction.Execute;
2775 GikoForm.SelectComboBox.SetFocus;
2782 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2783 GikoForm.SelectComboBox.Text := '';
2784 GikoForm.SelectComboBox.Color := clWindow;
2787 AllItemAction.Checked := False;
2788 LogItemAction.Checked := False;
2789 NewItemAction.Checked := False;
2790 //SelectItemAction.Checked := True;
2791 GikoForm.ModifySelectList;
2792 Dlg := TListSelectDialog.Create(GikoForm);
2794 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2795 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2797 if Dlg.ModalResult = mrCancel then begin
2798 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2799 AllItemAction.Checked := True;
2800 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2801 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2804 if GikoForm.GetActiveList is TBoard then
2805 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2807 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2809 GikoSys.Setting.SelectTextList.Delete(idx);
2810 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2811 while Dlg.SelectComboBox.Items.Count > 100 do begin
2812 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2815 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2816 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2817 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2819 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2820 GikoForm.SelectComboBox.Color := clWindow;
2822 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2828 // *************************************************************************
2829 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2830 // *************************************************************************
2831 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2833 Editor: TEditorForm;
2835 if not (GikoForm.GetActiveList is TBoard) then
2837 Editor := TEditorForm.Create(GikoForm);
2838 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2840 Editor.BodyEdit.SetFocus;
2842 // *************************************************************************
2843 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2844 // *************************************************************************
2845 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2849 if GikoForm.GetActiveList is TBoard then begin
2850 URL := TBoard(GikoForm.GetActiveList).URL;
2851 GikoSys.OpenBrowser(URL, gbtAuto);
2854 // *************************************************************************
2855 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2856 // *************************************************************************
2857 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2864 List := TList.Create;
2866 GikoForm.SelectListItem(List);
2867 for i := 0 to List.Count - 1 do begin
2868 if TObject(List[i]) is TBoard then
2869 s := s + TBoard(List[i]).URL + #13#10
2870 else if TObject(List[i]) is TThreadItem then
2871 s := s + TThreadItem(List[i]).URL + #13#10;
2874 Clipboard.AsText := s;
2879 // *************************************************************************
2880 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2881 // *************************************************************************
2882 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2884 if ((GikoForm.GetActiveList is TBoard) or
2885 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2886 TAction(Sender).Enabled := True
2888 TAction(Sender).Enabled := False;
2890 // *************************************************************************
2891 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2892 // *************************************************************************
2893 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2900 List := TList.Create;
2902 GikoForm.SelectListItem(List);
2903 for i := 0 to List.Count - 1 do begin
2904 if TObject(List[i]) is TCategory then
2905 s := s + TCategory(List[i]).Title + #13#10
2906 else if TObject(List[i]) is TBoard then
2907 s := s + TBoard(List[i]).Title + #13#10
2908 else if TObject(List[i]) is TThreadItem then
2909 s := s + TThreadItem(List[i]).Title + #13#10;
2912 Clipboard.AsText := s;
2917 // *************************************************************************
2918 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2919 // *************************************************************************
2920 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2922 if ((GikoForm.GetActiveList is TBBS) or
2923 (GikoForm.GetActiveList is TBoard) or
2924 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2925 TAction(Sender).Enabled := True
2927 TAction(Sender).Enabled := False;
2929 // *************************************************************************
2930 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2931 // *************************************************************************
2932 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2939 List := TList.Create;
2941 GikoForm.SelectListItem(List);
2942 for i := 0 to List.Count - 1 do begin
2943 if TObject(List[i]) is TBoard then
2944 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2945 else if TObject(List[i]) is TThreadItem then
2946 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
2949 Clipboard.AsText := s;
2954 // *************************************************************************
2955 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
2956 // *************************************************************************
2957 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
2964 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2965 GikoForm.ActiveListColumnSave;
2966 if GikoForm.GetActiveList is TCategory then begin
2967 List := TList.Create;
2969 GikoForm.SelectListItem(List);
2970 if List.Count > 5 then begin
2971 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
2972 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
2973 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
2976 for i := 0 to List.Count - 1 do begin
2977 if TObject(List[i]) is TBoard then
2978 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
2983 end else if GikoForm.GetActiveList is TBoard then begin
2984 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
2987 // *************************************************************************
2988 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2989 // *************************************************************************
2990 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
2992 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
2993 TAction(Sender).Enabled := True
2994 else if GikoForm.GetActiveList is TBoard then
2995 TAction(Sender).Enabled := True
2997 TAction(Sender).Enabled := False;
2999 // *************************************************************************
3000 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3001 // *************************************************************************
3002 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3009 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3010 List := TList.Create;
3012 GikoForm.SelectListItem(List);
3013 if List.Count > 10 then begin
3014 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3015 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3016 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3019 for i := 0 to List.Count - 1 do begin
3020 if TObject(List[i]) is TThreadItem then
3021 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3027 // *************************************************************************
3028 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3029 // *************************************************************************
3030 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3032 TAction(Sender).Enabled :=
3033 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3035 // *************************************************************************
3036 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3037 // *************************************************************************
3038 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3040 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3041 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3043 // *************************************************************************
3044 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3045 // *************************************************************************
3046 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3051 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3052 List := TList.Create;
3054 GikoForm.SelectListItem(List);
3055 for i := 0 to List.Count - 1 do begin
3056 if TObject(List[i]) is TThreadItem then begin
3057 if TThreadItem(List[i]).IsLogFile then begin
3058 SelectReservAction.Enabled := True;
3063 SelectReservAction.Enabled := False;
3067 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3068 SelectReservAction.Enabled := True
3070 SelectReservAction.Enabled := False;
3072 // *************************************************************************
3073 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3074 // *************************************************************************
3075 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3078 Dlg: TRoundNameDialog;
3082 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3083 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3086 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3087 cnt := RoundList.Count[grtBoard];
3088 cnt := cnt + RoundList.Count[grtItem];
3089 if cnt > 500 then begin
3090 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3094 Dlg := TRoundNameDialog.Create(GikoForm);
3097 if Dlg.ModalResult <> mrCancel then begin
3098 s := Trim(Dlg.RoundNameEdit.Text);
3099 if (Sender is TMenuItem) then begin
3100 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3101 end else if (Sender is TAction) then begin
3102 if (GikoForm.ListView.Selected <> nil) then begin
3103 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3104 GikoForm.SetSelectItemRound(True, s,
3105 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3106 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3107 GikoForm.SetSelectItemRound(True, s,
3108 TBoard(GikoForm.ListView.Selected.Data).Title);
3112 GikoForm.ListView.Refresh;
3118 // *************************************************************************
3119 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3120 // *************************************************************************
3121 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3125 if (Sender is TMenuItem) then begin
3127 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3130 end else if (Sender is TAction) then begin
3132 if GikoForm.ListView.Selected <> nil then begin
3133 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3134 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3135 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3136 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3138 GikoForm.SetSelectItemRound(False, '', s);
3144 GikoForm.ListView.Refresh;
3146 // *************************************************************************
3147 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3148 // *************************************************************************
3149 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3151 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3152 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3154 // *************************************************************************
3155 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3156 // *************************************************************************
3157 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3159 BoardFavoriteAddAction.Enabled :=
3160 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3162 // *************************************************************************
3163 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3164 // *************************************************************************
3165 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3169 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3170 (GikoSys.Setting.ListHeightState = glsMax)) or
3171 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3172 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3173 if(GikoForm.GetActiveContent <> nil) then begin
3174 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3176 end else if GikoForm.GetActiveList is TCategory then begin
3177 List := TList.Create;
3179 GikoForm.SelectListItem(List);
3180 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3184 end else if GikoForm.GetActiveList is TBoard then begin
3185 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3189 // *************************************************************************
3190 //! ActiveList
\82ªTBoard
\82©TCategory
\82Å
\83X
\83\8c\88ê
\97\97\82Å
\82P
\82Â
\88È
\8fã
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\82Æ
\97L
\8cø
\82É
\82È
\82éActionde
\8b¤
\92Ê
3191 // *************************************************************************
3192 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3194 if ((GikoForm.GetActiveList is TBoard) or (GikoForm.GetActiveList is TCategory))
3195 and (GikoForm.ListView.SelCount > 0) then
3196 TAction(Sender).Enabled := True
3198 TAction(Sender).Enabled := False;
3200 // *************************************************************************
3201 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3202 // *************************************************************************
3203 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3205 RefURL, URL : string;
3209 if GikoForm.GetActiveList is TCategory then begin
3210 List := TList.Create;
3212 GikoForm.SelectListItem(List);
3213 RefURL := TBoard(List[0]).URL;
3217 end else if GikoForm.GetActiveList is TBoard then begin
3218 RefURL := TBoard(GikoForm.GetActiveList).URL
3220 if RefURL <> '' then begin
3221 if RefURL[Length(RefURL)] <> '/' then
3222 URL := RefURL + '/' + 'head.txt'
3224 URL := RefURL + 'head.txt';
3226 GikoForm.MoveToURL(URL);
3228 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3232 // *************************************************************************
3233 //!
\83X
\83\8c\88ê
\97\97\82Ì
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\93à
\97e
\82É
\82µ
\82½
\82ª
\82Á
\82Ä
\81A
\83\
\81[
\83g
\83J
\83\89\83\80\82Ì
\88Ê
\92u
\82Æ
\95û
\8cü
\82ð
\8eæ
\93¾
\82·
\82é
3234 // *************************************************************************
3235 function TGikoDM.GetSortProperties(List: TObject;
3236 var vSortOrder: Boolean): Boolean;
3239 if (List <> nil) then begin
3240 if (List is TBBS) then begin
3241 vSortOrder := GikoSys.Setting.BBSSortOrder;
3242 end else if (List is TCategory) then begin
3243 vSortOrder := GikoSys.Setting.CategorySortOrder;
3244 end else if (List is TBoard) then begin
3245 vSortOrder := GikoSys.Setting.BoardSortOrder;
3253 // *************************************************************************
3254 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3255 // *************************************************************************
3256 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3261 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3262 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3263 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3264 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3266 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3267 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3274 // *************************************************************************
3275 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3276 // *************************************************************************
3277 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3281 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3282 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3283 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3285 if id > GikoForm.ListView.Columns.Count - 1 then
3287 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3288 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3294 // *************************************************************************
3295 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3296 // *************************************************************************
3297 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3301 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3302 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3303 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3306 id := GikoForm.ListView.Columns.Count - 1;
3307 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3308 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3314 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3315 // *************************************************************************
3316 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3317 // *************************************************************************
3318 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3320 CoolBand: TCoolBand;
3322 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3323 if CoolBand = nil then
3325 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3326 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3327 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3329 // *************************************************************************
3330 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3331 // *************************************************************************
3332 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3334 CoolBand: TCoolBand;
3336 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3337 if CoolBand = nil then
3339 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3340 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3341 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3343 // *************************************************************************
3344 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3345 // *************************************************************************
3346 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3348 CoolBand: TCoolBand;
3350 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3351 if CoolBand = nil then
3353 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3354 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3355 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3357 // *************************************************************************
3358 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3359 // *************************************************************************
3360 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3362 CoolBand: TCoolBand;
3364 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3365 if CoolBand = nil then
3367 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3368 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3370 // *************************************************************************
3371 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3372 // *************************************************************************
3373 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3375 CoolBand: TCoolBand;
3377 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3378 if CoolBand = nil then
3380 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3381 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3383 // *************************************************************************
3384 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3385 // *************************************************************************
3386 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3388 CoolBand: TCoolBand;
3390 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3391 if CoolBand = nil then
3393 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3394 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3396 // *************************************************************************
3397 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3398 // *************************************************************************
3399 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3401 CoolBand: TCoolBand;
3403 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3404 if CoolBand = nil then
3406 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3407 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3409 // *************************************************************************
3410 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3411 // *************************************************************************
3412 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3414 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3415 GikoForm.MessagePanel.Top :=
3416 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3417 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3418 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3419 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3421 // *************************************************************************
3422 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3423 // *************************************************************************
3424 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3426 MsgBarVisibleAction.Execute;
3428 // *************************************************************************
3429 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3430 // *************************************************************************
3431 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3433 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3434 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3436 // *************************************************************************
3437 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3438 // *************************************************************************
3439 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3442 if GikoForm.CabinetPanel.Visible then begin
3443 if GikoForm.TreeType = gtt2ch then begin
3444 GikoForm.CabinetVisible( False );
3446 CabinetBBSAction.Checked := False;
3448 CabinetBBSAction.Checked := True;
3451 GikoForm.CabinetVisible( True );
3452 CabinetBBSAction.Checked := True;
3455 if GikoForm.ActiveBBS = nil then
3456 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3458 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3461 // *************************************************************************
3462 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3463 // *************************************************************************
3464 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3466 GikoForm.ShowHistoryTree;
3468 // *************************************************************************
3469 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3470 // *************************************************************************
3471 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3477 if GikoForm.CabinetPanel.Visible then begin
3478 if GikoForm.TreeType = gttFavorite then begin
3479 GikoForm.CabinetVisible( False );
3480 CabinetFavoriteAction.Checked := False;
3482 CabinetFavoriteAction.Checked := True;
3485 GikoForm.CabinetVisible( True );
3486 CabinetFavoriteAction.Checked := True;
3489 // BBS...BBS, History, Favorite
3490 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3492 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3493 for i := 0 to b do begin
3494 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3495 if item is TBBSMenuItem then begin
3496 item.Checked := False;
3497 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3498 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3502 //
\83L
\83\83\83r
\83l
\83b
\83g
\83c
\81[
\83\8b\83o
\81[
\8by
\82Ñ
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\90Ø
\91Ö
3503 GikoForm.HistoryToolBar.Hide;
3504 GikoForm.FavoriteToolBar.Show;
3505 GikoForm.TreeView.Visible := False;
3506 GikoForm.FavoriteTreeView.Visible := True;
3508 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3509 GikoForm.TreeType := gttFavorite;
3511 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3512 CabinetBBSAction.Checked := False;
3513 CabinetHistoryAction.Checked := False;
3515 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3516 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3519 // *************************************************************************
3520 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3521 // *************************************************************************
3522 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3524 case GikoForm.TreeType of
3525 gttHistory: CabinetHistoryAction.Execute;
3526 gttFavorite: CabinetFavoriteAction.Execute;
3528 CabinetBBSAction.Execute;
3531 // *************************************************************************
3532 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3533 // *************************************************************************
3534 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3536 //INFO 2005/11/19
\82±
\82Ì
\83A
\83N
\83V
\83\87\83\93\82É
\82Í
\89½
\82à
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82È
\82©
\82Á
\82½
\81@
\82à
\82¶
\82ã
3538 // *************************************************************************
3539 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3540 // *************************************************************************
3541 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3543 GikoForm.ListView.ViewStyle := vsIcon;
3544 LargeIconAction.Checked := True;
3546 // *************************************************************************
3547 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3548 // *************************************************************************
3549 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3551 GikoForm.ListView.ViewStyle := vsSmallIcon;
3552 SmallIconAction.Checked := True;
3554 // *************************************************************************
3555 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3556 // *************************************************************************
3557 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3559 GikoForm.ListView.ViewStyle := vsList;
3560 ListIconAction.Checked := True;
3562 // *************************************************************************
3563 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3564 // *************************************************************************
3565 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3567 GikoForm.ListView.ViewStyle := vsReport;
3568 DetailIconAction.Checked := True;
3570 // *************************************************************************
3571 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3572 // *************************************************************************
3573 procedure TGikoDM.StopActionExecute(Sender: TObject);
3575 GikoForm.FControlThread.DownloadAbort;
3576 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3578 GikoForm.Animate.Active := False;
3581 GikoForm.ScreenCursor := crDefault;
3583 // *************************************************************************
3584 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3585 // *************************************************************************
3586 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3588 if ArrangeAction.Checked then begin
3590 GikoForm.ViewPanel.Align := alNone;
3591 GikoForm.ListSplitter.Align := alNone;
3592 GikoForm.ThreadPanel.Align := alNone;
3594 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3595 GikoForm.ViewPanel.Align := alLeft;
3597 GikoForm.ListSplitter.Width := 5;
3598 GikoForm.ListSplitter.Align := alLeft;
3600 GikoForm.ViewPanel.Left := -10;
3602 GikoForm.ThreadPanel.Align := alClient;
3604 GikoSys.Setting.ListOrientation := gloHorizontal;
3605 case GikoSys.Setting.ListWidthState of
3607 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3608 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3609 GikoForm.ViewPanel.Width := 1;
3612 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3613 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3616 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3617 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3618 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3623 GikoForm.ViewPanel.Align := alNone;
3624 GikoForm.ListSplitter.Align := alNone;
3625 GikoForm.ThreadPanel.Align := alNone;
3627 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3628 GikoForm.ViewPanel.Align := alTop;
3630 GikoForm.ListSplitter.Height := 5;
3631 GikoForm.ListSplitter.Align := alTop;
3633 GikoForm.ViewPanel.Top := -10;
3635 GikoForm.ThreadPanel.Align := alClient;
3636 GikoSys.Setting.ListOrientation := gloVertical;
3637 case GikoSys.Setting.ListHeightState of
3639 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3640 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3641 GikoForm.ViewPanel.Height := 1;
3644 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3645 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3648 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3649 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3650 GikoForm.ViewPanel.Height :=
3651 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3656 // *************************************************************************
3657 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3658 // *************************************************************************
3659 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3661 GikoForm.CabinetPanel.Width := 150;
3662 GikoForm.MessagePanel.Height := 40;
3664 GikoForm.BrowserSizeWidth := 200;
3665 GikoForm.BrowserSizeHeight := 200;
3666 if ArrangeAction.Checked then begin
3667 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3669 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3671 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3672 if GikoSys.Setting.ListHeightState = glsMax then begin
3673 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3674 GikoSys.Setting.ListHeightState := glsNormal;
3677 if GikoSys.Setting.ListWidthState = glsMax then begin
3678 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3679 GikoSys.Setting.ListWidthState := glsNormal;
3683 // *************************************************************************
3684 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3685 // *************************************************************************
3686 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3688 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3689 GikoForm.SetBrowserTabState;
3691 // *************************************************************************
3692 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3693 // *************************************************************************
3694 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3696 BrowserTabBottomAction.Checked := False;
3697 BrowserTabTopAction.Checked := True;
3698 GikoSys.Setting.BrowserTabPosition := gtpTop;
3699 GikoForm.SetBrowserTabState;
3701 // *************************************************************************
3702 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3703 // *************************************************************************
3704 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3706 BrowserTabTopAction.Checked := False;
3707 BrowserTabBottomAction.Checked := True;
3708 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3709 GikoForm.SetBrowserTabState;
3711 // *************************************************************************
3712 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3713 // *************************************************************************
3714 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3716 BrowserTabButtonStyleAction.Checked := False;
3717 BrowserTabFlatStyleAction.Checked := False;
3718 BrowserTabTabStyleAction.Checked := True;
3719 GikoSys.Setting.BrowserTabStyle := gtsTab;
3720 GikoForm.SetBrowserTabState;
3722 // *************************************************************************
3723 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83{
\83^
\83\93\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3724 // *************************************************************************
3725 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3727 BrowserTabTabStyleAction.Checked := False;
3728 BrowserTabFlatStyleAction.Checked := False;
3729 BrowserTabButtonStyleAction.Checked := True;
3730 GikoSys.Setting.BrowserTabStyle := gtsButton;
3731 GikoForm.SetBrowserTabState;
3733 // *************************************************************************
3734 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83t
\83\89\83b
\83g
\83{
\83^
\83\93\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3735 // *************************************************************************
3736 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3738 BrowserTabFlatStyleAction.Checked := True;
3739 BrowserTabTabStyleAction.Checked := False;
3740 BrowserTabButtonStyleAction.Checked := False;
3741 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3742 GikoForm.SetBrowserTabState;
3744 // *************************************************************************
3745 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3746 // *************************************************************************
3747 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3749 GikoForm.ActiveContent.Browser.SetFocus;
3751 // *************************************************************************
3752 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3753 // *************************************************************************
3754 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3756 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3757 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3758 TAction(Sender).Enabled := true
3760 TAction(Sender).Enabled := false;
3762 // *************************************************************************
3763 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3764 // *************************************************************************
3765 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3767 if GikoForm.ActiveContent <> nil then
3768 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3769 GikoForm.ListView.SetFocus;
3771 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3772 GikoForm.ListView.Items.Item[0].Selected := true; //
\91I
\91ð
\83A
\83C
\83e
\83\80\82ª
\96³
\82¢
\82Æ
\82«
\82Í
\90æ
\93ª
\82Ì
\82ð
\91I
\91ð
\82·
\82é
3774 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3775 if (GikoForm.ListView.ItemFocused <> nil) then begin
3776 GikoForm.ListView.ItemFocused.MakeVisible(False);
3779 // *************************************************************************
3780 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3781 // *************************************************************************
3782 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3784 if GikoForm.ActiveContent <> nil then
3785 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3786 if GikoForm.TreeView.Visible then begin
3787 GikoForm.TreeView.SetFocus;
3788 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3789 GikoForm.TreeView.Items.Item[0].Selected := true;
3790 end else if GikoForm.FavoriteTreeView.Visible then begin
3791 GikoForm.FavoriteTreeView.SetFocus;
3792 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3793 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3796 // *************************************************************************
3797 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3798 // *************************************************************************
3799 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3801 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3803 // *************************************************************************
3804 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3805 // *************************************************************************
3806 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3808 BrowserMinAction.Execute;
3809 SetFocusForThreadListAction.Execute;
3811 // *************************************************************************
3812 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3813 // *************************************************************************
3814 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3816 BrowserMaxAction.Execute;
3817 SetFocusForBrowserAction.Execute;
3819 // *************************************************************************
3820 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3821 // *************************************************************************
3822 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3824 if GikoForm.ListView.Selected <> nil then begin
3825 GikoForm.ListView.Selected.Focused := True;
3826 GikoForm.ListView.Selected := nil;
3829 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3830 // *************************************************************************
3831 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3832 // *************************************************************************
3833 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3835 SetThreadReadProperty(true);
3837 // *************************************************************************
3838 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3839 // *************************************************************************
3840 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3842 SetThreadReadProperty(false);
3844 // *************************************************************************
3845 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¢
\93Ç
\81E
\8aù
\93Ç
\82ð
\90Ý
\92è
\82·
\82é true :
\8aù
\93Ç false :
\96¢
\93Ç
3846 // *************************************************************************
3847 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3852 List := TList.Create;
3854 GikoForm.SelectListItem(List);
3855 for i := 0 to List.Count - 1 do begin
3856 if TObject(List[i]) is TThreadItem then begin
3857 if (TThreadItem(List[i]).IsLogFile) then begin
3858 TThreadItem(List[i]).UnRead := not read;
3862 if GikoForm.TreeView.Visible then
3863 GikoForm.TreeView.Refresh;
3864 if GikoForm.ListView.Visible then
3865 GikoForm.ListView.Refresh;
3870 // *************************************************************************
3871 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3872 // *************************************************************************
3873 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3875 GikoForm.ListViewAllSelect;
3877 // *************************************************************************
3878 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3879 // *************************************************************************
3880 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3882 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3884 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3885 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3886 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3888 RECALC_MES : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ
\82µ
\82Ü
\82·
\81B'#13#10 +
3889 '
\82±
\82Ì
\91\80\8dì
\92\86\81A
\83M
\83R
\83i
\83r
\82Ì
\91¼
\82Ì
\91\80\8dì
\82ð
\82·
\82é
\82Æ
\83f
\81[
\83^
\82ª
\94j
\89ó
\82³
\82ê
\82é
\8b°
\82ê
\82ª
\82 \82è
\82Ü
\82·
\81B' +
3890 '
\82Ü
\82½
\82±
\82Ì
\91\80\8dì
\82Í
\81A
\94ñ
\8fí
\82É
\8e\9e\8aÔ
\82ª
\82©
\82©
\82é
\8fê
\8d\87\82ª
\82 \82è
\82Ü
\82·
\82ª
\81A
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
3891 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3894 limitSize : Integer;
3897 {
\82Ü
\82¸
\81A
\8e\9e\8aÔ
\82ª
\82©
\82©
\82é
\82±
\82Æ
\82ð
\8cx
\8d\90\82·
\82é
\83\81\83b
\83Z
\81[
\83W
\82ð
\8fo
\97Í
3898 \8dÄ
\8cv
\8eZ
\82·
\82é
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82Ìè
\87\92l
\81i
\83f
\83t
\83H
\83\8b\83g1024B)
\82ð
\8am
\94F
3899 \83v
\83\89\83O
\83C
\83\93\82ð
\97\98\97p
\82µ
\82È
\82¢
\82Æ
\82±
\82ë
\82Å
\91S
\82Ä
\82Ì
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82ð
\8c\9f\8dõ
3900 è
\87\92l
\88È
\89º
\82Ì
\83T
\83C
\83Y
\82Ì
\8fê
\8d\87\81ADAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Æ
\94ä
\8ar
\81A
\82¸
\82ê
\82Ä
\82¢
\82ê
\82Î
\81A
3901 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3903 if MsgBox(GikoForm.Handle, RECALC_MES,
3904 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3905 //è
\87\92l
\82Ì
\8am
\94F
3906 limitSize := LIMIT_SIZE;
3907 limitStr := IntToStr(limitSize);
3908 if InputQuery('è
\87\92l
\93ü
\97Í', '
\8ew
\92è
\82µ
\82½
\90\94\92l B
\88È
\89º
\82Ì
\97e
\97Ê
\82Ì
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\8dÄ
\8cv
\8eZ
\82µ
\82Ü
\82·', limitStr) then begin
3909 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3910 if (limitSize < 0) then begin
3911 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3912 ThreadSizeCalcForFileActionExecute(nil);
3914 RecalcThreadSize(limitSize);
3919 //! limit
\82æ
\82è
\82à
\83T
\83C
\83Y
\82Ì
\8f¬
\82³
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ðDAT
\83t
\83@
\83C
\83\8b\82©
\82ç
\8cv
\8eZ
3920 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3922 i, j, tmpSize : Integer;
3925 Thread: TThreadItem;
3928 //
\8dÄ
\8cv
\8eZ
\83X
\83^
\81[
\83g
\81@
\83v
\83\89\83O
\83C
\83\93\82ð
\97\98\97p
\82µ
\82È
\82¢
\82Æ
\82±
\82ë
\82ð
\91S
\95\94\8c©
\82é
\81I
3929 GikoForm.ScreenCursor := crHourGlass;
3931 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3932 for i := 0 to BoardGroups[0].Count - 1 do begin
3933 Obj := BoardGroups[0].Objects[i];
3934 if (Obj <> nil) then begin
3935 Board := TBoard(Obj);
3936 if not Board.IsThreadDatRead then begin
3937 GikoSys.ReadSubjectFile(Board);
3939 for j := 0 to Board.Count - 1 do begin
3940 Thread := Board.Items[j];
3941 if (Thread <> nil) and (Thread.IsLogFile)
3942 and (Thread.Size <= limit) then begin
3943 dat := TStringList.Create;
3945 tmpSize := Thread.Size;
3947 dat.LoadFromFile(Thread.GetThreadFileName);
3948 tmpSize := Length(dat.Text);
3949 tmpSize := tmpSize - dat.Count;
3952 Thread.Size := tmpSize;
3959 GikoForm.ProgressBar.StepBy(1);
3962 GikoForm.ScreenCursor := crDefault;
3964 GikoForm.ProgressBar.Position := 0;
3965 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
3967 // *************************************************************************
3968 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
3969 // *************************************************************************
3970 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
3972 form : TInputAssistForm;
3974 form := TInputAssistForm.Create(GikoForm);
3982 // *************************************************************************
3983 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
3984 // *************************************************************************
3985 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
3987 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
3988 GikoForm.ActiveContent.OpenFindDialog;
3992 // *************************************************************************
3993 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
3994 // *************************************************************************
3995 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
3998 if GikoForm.ClickNode = nil then Exit;
4001 GikoForm.ClickNode.Text + #13#10;
4004 // *************************************************************************
4005 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4006 // *************************************************************************
4007 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4011 if ( EditorFormExists ) then begin
4012 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4013 for i := Screen.CustomFormCount - 1 downto 0 do begin
4014 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4015 TEditorForm(Screen.CustomForms[i]).Close;
4020 // *************************************************************************
4021 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82É
\83\8c\83X
\83G
\83f
\83B
\83^
\82ª
\82¢
\82½
\8fê
\8d\87\81C
\97L
\8cø
\82É
\82È
\82é
4022 // *************************************************************************
4023 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4025 if (Sender is TAction) then begin
4026 TAction(Sender).Enabled := EditorFormExists;
4029 // *************************************************************************
4030 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4031 // *************************************************************************
4032 function TGikoDM.EditorFormExists(): boolean;
4037 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4038 for i := Screen.CustomFormCount - 1 downto 0 do begin
4039 if (Screen.CustomForms[i] is TEditorForm) then begin
4046 // *************************************************************************
4047 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82É
\82¢
\82é
\82·
\82×
\82Ä
\82ÌEditorForm
\82©
\82ç
\96¼
\91O
\82Ì
\97\9a\97ð
\82ð
\8dí
\8f\9c\82·
\82é
4048 // *************************************************************************
4049 procedure TGikoDM.ClearNameTextAllEditor();
4053 for i := 0 to Screen.CustomFormCount - 1 do begin
4054 if (Screen.CustomForms[i] is TEditorForm) then begin
4055 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4059 // *************************************************************************
4060 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82É
\82¢
\82é
\82·
\82×
\82Ä
\82ÌEditorForm
\82©
\82ç
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8dí
\8f\9c\82·
\82é
4061 // *************************************************************************
4062 procedure TGikoDM.ClearMailAllEditor();
4066 for i := 0 to Screen.CustomFormCount - 1 do begin
4067 if TObject(Screen.CustomForms[i]) is TEditorForm then
4068 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4072 // *************************************************************************
4073 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4074 // *************************************************************************
4075 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4077 PrevMoveHistory.Enabled :=
4078 (MoveHisotryManager.HisotryIndex > 0)
4080 // *************************************************************************
4081 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4082 // *************************************************************************
4083 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4085 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4086 BackToHistory(MoveHisotryManager.getPrevItem
4087 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4088 .Objects[GikoForm.BrowserTab.TabIndex])));
4090 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4093 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4094 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4096 browser : TWebBrowser;
4099 if ( item <> nil ) then begin
4100 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4101 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4102 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4103 if (browser <> nil) then begin
4105 doc := Idispatch( olevariant(browser.ControlInterface).Document) as IHTMLDocument2;
4106 doc.Body.ScrollTop := item.ScrollTop;
4112 MoveURLWithHistory(item.ThreadItem.URL);
4116 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4117 procedure TGikoDM.MoveURLWithHistory(URL : String);
4122 GikoForm.MoveToURL(URL);
4123 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4124 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4125 if idx = -1 then begin
4126 GikoForm.AddressComboBox.Items.Insert(0, URL);
4127 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4128 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4130 GikoForm.AddressComboBox.Items.Delete(idx);
4131 GikoForm.AddressComboBox.Items.Insert(0, URL);
4134 // *************************************************************************
4135 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4136 // *************************************************************************
4137 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4139 NextMoveHistory.Enabled :=
4140 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4142 // *************************************************************************
4143 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4144 // *************************************************************************
4145 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4147 BackToHistory(MoveHisotryManager.getNextItem);
4149 // *************************************************************************
4150 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4151 // *************************************************************************
4152 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4154 browser : TWebBrowser;
4155 elem : IHTMLElement;
4157 if (GikoForm.GetActiveContent <> nil) then begin
4158 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4159 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4160 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4161 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4162 if (browser <> nil) then begin
4164 elem := IHTMLDocument2(browser.Document).activeElement;
4173 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4174 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4176 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4177 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4179 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4180 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4182 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4183 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4185 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4186 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4188 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4189 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4191 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4192 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4194 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4195 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4197 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4198 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4200 GikoForm.StoredTaskTray;
4201 StoredTaskTrayAction.Tag := -1;
4205 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4206 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4208 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4210 links : IHTMLElementCollection;
4213 links := GetActiveThreadLinks;
4214 if (links <> nil) then begin
4215 urls := TStringList.Create;
4217 GetImageLinkURLs(links, urls, 0);
4218 Clipboard.SetTextBuf(urls.GetText);
4226 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4227 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4229 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4231 links : IHTMLElementCollection;
4233 ThreadItem : TThreadItem;
4235 ThreadItem := GikoForm.GetActiveContent;
4236 links := GetActiveThreadLinks;
4237 if (ThreadItem <> nil) and (links <> nil) then begin
4238 urls := TStringList.Create;
4240 GetImageLinkURLs(links, urls,
4241 (ThreadItem.Count - ThreadItem.NewResCount + 1) );
4242 Clipboard.SetTextBuf(urls.GetText);
4249 \brief
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\82·
\82×
\82Ä
\82Ì
\83\8a\83\93\83N
\82ð
\8eæ
\93¾
\82·
\82é
\81B
4250 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4252 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4254 browser : TWebBrowser;
4257 if (GikoForm.GetActiveContent <> nil) then begin
4258 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4259 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4260 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4261 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4262 if (browser <> nil) then begin
4264 Result := IHTMLDocument2(browser.Document).links;
4274 \brief
\83C
\83\81\81[
\83W
\82Ö
\82Ì
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4275 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4276 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4277 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4279 procedure TGikoDM.GetImageLinkURLs(links : IHTMLElementCollection;
4280 URLs : TStringList; const Start: Integer);
4283 item : IHTMLElement;
4286 if (links <> nil) then begin
4288 for i := 0 to links.length - 1 do begin
4289 item := links.item(i, 0) as IHTMLElement;
4290 if (item <> nil) then begin
4291 url := item.getAttribute('href', 0);
4292 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4293 if (Pos('menu:', url) > 0) then begin
4294 index := StrToInt64Def(
4295 Copy(url, 5, Length(url)), index + 1
4298 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4299 if (index >= Start) then begin
4300 ext := ExtractFileExt( AnsiLowerCase(url) );
4301 // jpg,jpeg,gif,png
\82ð
\83`
\83F
\83b
\83N
4302 if (ext = '.jpg') or (ext = '.jpeg') or
4303 (ext = '.gif') or (ext = '.png') then begin
4313 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4314 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4316 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4318 if ( GikoForm.AddressToolBar.Visible ) then begin
4319 GikoForm.AddressComboBox.SetFocus;
4323 \brief
\88Ú
\93]
\82µ
\82½
\94Â
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
\83_
\83C
\83A
\83O
\83\89\83\80\82ð
\95\
\8e¦
\82·
\82é
4325 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4327 form : TNewBoardURLForm;
4330 if (EditorFormExists) then begin
4331 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4332 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4335 form := TNewBoardURLForm.Create(Self);