6 SysUtils, Classes, ExtActns, StdActns, ActnList, ImgList, Controls,
14 ComCtrls, BrowserRecord, Graphics, Messages, Setting, Dialogs,
15 ActiveX, GikoSystem, 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 //!
\83M
\83R
\83i
\83r(
\94ð
\93ï
\8f\8a\94Å)
\83T
\83C
\83g
\82ÌURL
41 URL_GIKONAVIGO: string = 'gikonavigoeson.sourceforge.jp/';
42 //! Monazilla
\83T
\83C
\83g
\82ÌURL
43 URL_MONAZILLA: string = 'www.monazilla.org/';
44 //! 2
\82¿
\82á
\82ñ
\82Ë
\82é
\82ÌURL
45 URL_2ch: string = 'www.2ch.net/';
46 //!
\83M
\83R
\83i
\83rWiki
\82ÌURL
47 URL_Wiki: string = 'sourceforge.jp/projects/gikonavi/wiki/FAQ';
48 //!
\83M
\83R
\83i
\83r(
\94ð
\93ï
\8f\8a\94Å)Wiki
\82ÌURL
49 URL_GoWiki: string = 'sourceforge.jp/projects/gikonavigoeson/wiki/FAQ';
51 SELECTCOMBOBOX_NAME: string = ''; // '
\83X
\83\8c\83b
\83h
\8di
\8d\9e\8c\9f\8dõ';
52 SELECTCOMBOBOX_COLOR: TColor = clWindow;
57 TGikoDM = class(TDataModule)
58 GikoFormActionList: TActionList;
59 OnlyAHundredResAction: TAction;
60 OnlyKokoResAction: TAction;
62 NewBoardAction: TAction;
63 LogDeleteAction: TAction;
64 KidokuAction: TAction;
65 StdToolBarVisibleAction: TAction;
66 AddressBarVisibleAction: TAction;
67 LinkBarVisibleAction: TAction;
68 ListToolBarVisibleAction: TAction;
69 SearchAction: TAction;
70 GikoNaviWebPageAction: TAction;
71 MonazillaWebPageAction: TAction;
72 BBS2chWebPageAction: TAction;
73 GikoFolderOpenAction: TAction;
75 SelectTextClearAction: TAction;
76 NameTextClearAction: TAction;
77 MailTextClearAction: TAction;
79 ListNameBarVisibleAction: TAction;
80 BrowserToolBarVisibleAction: TAction;
81 BrowserNameBarVisibleAction: TAction;
82 MsgBarVisibleAction: TAction;
83 MsgBarCloseAction: TAction;
84 StatusBarVisibleAction: TAction;
85 CabinetBBSAction: TAction;
86 CabinetHistoryAction: TAction;
87 OnlyNewResAction: TAction;
88 CabinetFavoriteAction: TAction;
89 CabinetVisibleAction: TAction;
90 ListNumberVisibleAction: TAction;
91 UpFolderAction: TAction;
92 CabinetCloseAction: TAction;
94 LargeIconAction: TAction;
95 SmallIconAction: TAction;
96 ListIconAction: TAction;
97 DetailIconAction: TAction;
98 MidokuAction: TAction;
99 AllSelectAction: TAction;
100 AllItemAction: TAction;
101 LogItemAction: TAction;
102 NewItemAction: TAction;
103 ThreadRangeAction: TAction;
104 SelectItemAction: TAction;
106 OptionAction: TAction;
107 RoundAction: TAction;
108 BrowserMaxAction: TAction;
109 BrowserMinAction: TAction;
110 ScrollTopAction: TAction;
111 ScrollLastAction: TAction;
112 ScrollNewAction: TAction;
113 ScrollKokoAction: TAction;
114 EditorAction: TAction;
116 ShowThreadAction: TAction;
117 ShowBoardAction: TAction;
118 URLCopyAction: TAction;
119 NameCopyAction: TAction;
120 NameURLCopyAction: TAction;
121 ItemReloadAction: TAction;
122 ThreadEditorAction: TAction;
123 BoardIEAction: TAction;
124 SelectItemURLCopyAction: TAction;
125 SelectItemNameCopyAction: TAction;
126 SelectItemNameURLCopyAction: TAction;
127 SelectListReloadAction: TAction;
128 SelectThreadReloadAction: TAction;
129 BrowserTabCloseAction: TAction;
130 NotSelectTabCloseAction: TAction;
131 AllTabCloseAction: TAction;
132 KokomadeAction: TAction;
133 ZenbuAction: TAction;
134 KokoResAction: TAction;
135 TreeSelectBoradReload: TAction;
136 TreeSelectThreadReload: TAction;
137 TreeSelectURLCopy: TAction;
138 SelectReservAction: TAction;
139 SelectNewRoundName: TAction;
140 SelectDeleteRound: TAction;
141 KeySettingAction: TAction;
142 ArrangeAction: TAction;
143 ActiveLogDeleteAction: TAction;
144 TreeSelectNameURLCopy: TAction;
145 PaneInitAction: TAction;
146 LeftmostTabSelectAction: TAction;
147 LeftTabSelectAction: TAction;
148 RightTabSelectAction: TAction;
149 RightmostTabSelectAction: TAction;
150 FavoriteAddAction: TAction;
151 BoardFavoriteAddAction: TAction;
152 ThreadFavoriteAddAction: TAction;
153 TreeSelectFavoriteAddAction: TAction;
154 FavoriteArrangeAction: TAction;
155 MoveToAction: TAction;
156 BrowserTabVisibleAction: TAction;
157 BrowserTabTopAction: TAction;
158 BrowserTabBottomAction: TAction;
159 BrowserTabTabStyleAction: TAction;
160 BrowserTabButtonStyleAction: TAction;
161 BrowserTabFlatStyleAction: TAction;
162 GikoHelpAction: TAction;
163 KotehanAction: TAction;
164 ToolBarSettingAction: TAction;
165 SelectResAction: TAction;
166 AllResAction: TAction;
167 EditNGAction: TAction;
168 ReloadAction: TAction;
169 GoFowardAction: TAction;
170 GoBackAction: TAction;
171 TreeSelectSearchBoardName: TAction;
172 FavoriteTreeViewRenameAction: TAction;
173 FavoriteTreeViewNewFolderAction: TAction;
174 FavoriteTreeViewDeleteAction: TAction;
175 FavoriteTreeViewBrowseFolderAction: TAction;
176 FavoriteTreeViewReloadAction: TAction;
177 FavoriteTreeViewURLCopyAction: TAction;
178 FavoriteTreeViewNameCopyAction: TAction;
179 FavoriteTreeViewNameURLCopyAction: TAction;
180 FavoriteTreeViewLogDeleteAction: TAction;
181 ResRangeAction: TAction;
182 ExportFavoriteFile: TFileSaveAs;
183 FavoriteTreeViewBrowseBoardAction: TAction;
184 FavoriteTreeViewBrowseThreadAction: TAction;
185 UpBoardAction: TAction;
187 TreeSelectNameCopy: TAction;
188 SetFocusForBrowserAction: TAction;
189 SetFocusForThreadListAction: TAction;
190 SetFocusForCabinetAction: TAction;
192 ThreadlistMaxAndFocusAction: TAction;
193 BrowserMaxAndFocusAction: TAction;
194 SelectItemSaveForHTML: TAction;
195 SelectItemSaveForDat: TAction;
196 LogFolderOpenAction: TAction;
197 TabsSaveAction: TAction;
198 TabsOpenAction: TAction;
199 BrowsBoradHeadAction: TAction;
200 JumpToNumOfResAction: TAction;
201 FavoriteTreeViewCollapseAction: TAction;
202 RightTabCloseAction: TAction;
203 LeftTabCloseAction: TAction;
204 SameIDResAnchorAction: TAction;
205 IndividualAbon1Action: TAction;
206 IndividualAbon0Action: TAction;
207 AntiIndividualAbonAction: TAction;
208 AntiIndividualAbonDlgAction: TAction;
209 IndividualAbonID1Action: TAction;
210 IndividualAbonID0Action: TAction;
212 SortActiveColumnAction: TAction;
213 SortNextColumnAction: TAction;
214 SortPrevColumnAction: TAction;
215 BeLogInOutAction: TAction;
216 UnSelectedListViewAction: TAction;
217 WikiFAQWebPageAction: TAction;
218 ToobarImageList: TImageList;
219 SaveDialog: TSaveDialog;
220 ThreadSizeCalcForFileAction: TAction;
221 SetInputAssistAction: TAction;
222 OpenFindDialogAction: TAction;
223 ArchiveItemAction: TAction;
224 LiveItemAction: TAction;
225 FavoriteTreeViewItemNameCopyAction: TAction;
226 CloseAllEditorAction: TAction;
227 PrevMoveHistory: TAction;
228 NextMoveHistory: TAction;
229 ClickActiveElementAction: TAction;
230 VKDownAction: TAction;
232 VKRightAction: TAction;
233 VKLeftAction: TAction;
234 StoredTaskTrayAction: TAction;
235 AllImageLinkToClipbordAction: TAction;
236 NewImageLinkToClipBoardAction: TAction;
237 SetForcusForAddresBarAction: TAction;
238 NewBoardSearchAction: TAction;
239 NGWordEditFormAction: TAction;
240 ScrollPageDownAction: TAction;
241 ScrollPageUpAction: TAction;
242 AllLinkToClipboardAction: TAction;
243 NewLinkToClipboardAction: TAction;
244 AddIDtoNGWord0Action: TAction;
245 AddIDtoNGWord1Action: TAction;
246 ExtractSameIDAction: TAction;
247 ShowTabListAction: TAction;
248 DereferenceResAction: TAction;
249 UpdateGikonaviAction: TAction;
250 konoURLPATHAction: TAction;
251 konoURLQueryAction: TAction;
252 PopupMenuSettingAction: TAction;
253 GikoNaviGoesonWebPageAction: TAction;
254 GoWikiFAQWebPageAction: TAction;
255 procedure EditNGActionExecute(Sender: TObject);
256 procedure ReloadActionExecute(Sender: TObject);
257 procedure GoFowardActionExecute(Sender: TObject);
258 procedure GoBackActionExecute(Sender: TObject);
259 procedure MoveToActionExecute(Sender: TObject);
260 procedure FavoriteAddActionExecute(Sender: TObject);
261 procedure FavoriteArrangeActionExecute(Sender: TObject);
262 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
263 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
264 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
265 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
266 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
267 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
268 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
269 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
270 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
271 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
272 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
273 procedure OnlyAHundredResActionExecute(Sender: TObject);
274 procedure OnlyKokoResActionExecute(Sender: TObject);
275 procedure OnlyNewResActionExecute(Sender: TObject);
276 procedure BrowserMaxActionExecute(Sender: TObject);
277 procedure BrowserMinActionExecute(Sender: TObject);
278 procedure ScrollTopActionExecute(Sender: TObject);
279 procedure ScrollLastActionExecute(Sender: TObject);
280 procedure ScrollNewActionExecute(Sender: TObject);
281 procedure ScrollKokoActionExecute(Sender: TObject);
282 procedure ScrollKokoActionUpdate(Sender: TObject);
283 procedure EditorActionExecute(Sender: TObject);
284 procedure IEActionExecute(Sender: TObject);
285 procedure ShowThreadActionExecute(Sender: TObject);
286 procedure ShowBoardActionExecute(Sender: TObject);
287 procedure URLCopyActionExecute(Sender: TObject);
288 procedure NameCopyActionExecute(Sender: TObject);
289 procedure NameURLCopyActionExecute(Sender: TObject);
290 procedure ItemReloadActionExecute(Sender: TObject);
291 procedure BrowserTabCloseActionExecute(Sender: TObject);
292 procedure BrowserTabCloseActionUpdate(Sender: TObject);
293 procedure NotSelectTabCloseActionExecute(Sender: TObject);
294 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
295 procedure AllTabCloseActionExecute(Sender: TObject);
296 procedure ActiveLogDeleteActionExecute(Sender: TObject);
297 procedure LeftmostTabSelectActionExecute(Sender: TObject);
298 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
299 procedure LeftTabSelectActionExecute(Sender: TObject);
300 procedure RightTabSelectActionExecute(Sender: TObject);
301 procedure RightTabSelectActionUpdate(Sender: TObject);
302 procedure RightmostTabSelectActionExecute(Sender: TObject);
303 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
304 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
305 procedure SelectResActionExecute(Sender: TObject);
306 procedure AllResActionExecute(Sender: TObject);
307 procedure ResRangeActionExecute(Sender: TObject);
308 procedure UpBoardActionExecute(Sender: TObject);
309 procedure JumpToNumOfResActionExecute(Sender: TObject);
310 procedure RightTabCloseActionExecute(Sender: TObject);
311 procedure RightTabCloseActionUpdate(Sender: TObject);
312 procedure LeftTabCloseActionExecute(Sender: TObject);
313 procedure DataModuleCreate(Sender: TObject);
314 procedure SearchActionExecute(Sender: TObject);
315 procedure OptionActionExecute(Sender: TObject);
316 procedure RoundActionExecute(Sender: TObject);
317 procedure KeySettingActionExecute(Sender: TObject);
318 procedure KotehanActionExecute(Sender: TObject);
319 procedure ToolBarSettingActionExecute(Sender: TObject);
320 procedure MuteActionExecute(Sender: TObject);
321 procedure TreeSelectBoradReloadExecute(Sender: TObject);
322 procedure TreeSelectThreadReloadExecute(Sender: TObject);
323 procedure TreeSelectURLCopyExecute(Sender: TObject);
324 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
325 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
326 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
327 procedure TreeSelectNameCopyExecute(Sender: TObject);
328 procedure LoginActionExecute(Sender: TObject);
329 procedure NewBoardActionExecute(Sender: TObject);
330 procedure LogDeleteActionExecute(Sender: TObject);
331 procedure LogDeleteActionUpdate(Sender: TObject);
332 procedure SelectTextClearActionExecute(Sender: TObject);
333 procedure NameTextClearActionExecute(Sender: TObject);
334 procedure MailTextClearActionExecute(Sender: TObject);
335 procedure ExitActionExecute(Sender: TObject);
336 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
337 procedure ExportFavoriteFileAccept(Sender: TObject);
338 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
339 procedure SelectItemSaveForDatExecute(Sender: TObject);
340 procedure TabsSaveActionExecute(Sender: TObject);
341 procedure TabsOpenActionExecute(Sender: TObject);
342 procedure BeLogInOutActionExecute(Sender: TObject);
343 procedure KokomadeActionExecute(Sender: TObject);
344 procedure ZenbuActionExecute(Sender: TObject);
345 procedure KokoResActionExecute(Sender: TObject);
346 procedure KoreCopyExecute(Sender: TObject);
347 procedure SameIDResAnchorActionExecute(Sender: TObject);
348 procedure IndividualAbon1ActionExecute(Sender: TObject);
349 procedure IndividualAbon0ActionExecute(Sender: TObject);
350 procedure AntiIndividualAbonActionExecute(Sender: TObject);
351 procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
352 procedure IndividualAbonID1ActionExecute(Sender: TObject);
353 procedure IndividualAbonID0ActionExecute(Sender: TObject);
354 procedure GikoNaviWebPageActionExecute(Sender: TObject);
355 procedure MonazillaWebPageActionExecute(Sender: TObject);
356 procedure BBS2chWebPageActionExecute(Sender: TObject);
357 procedure GikoFolderOpenActionExecute(Sender: TObject);
358 procedure AboutActionExecute(Sender: TObject);
359 procedure GikoHelpActionExecute(Sender: TObject);
360 procedure WikiFAQWebPageActionExecute(Sender: TObject);
361 procedure ListNumberVisibleActionExecute(Sender: TObject);
362 procedure UpFolderActionExecute(Sender: TObject);
363 procedure UpFolderActionUpdate(Sender: TObject);
364 procedure IconStyleExecute(Sender: TObject);
365 procedure AllItemActionExecute(Sender: TObject);
366 procedure LogItemActionExecute(Sender: TObject);
367 procedure NewItemActionExecute(Sender: TObject);
368 procedure ThreadRangeActionExecute(Sender: TObject);
369 procedure SelectItemActionExecute(Sender: TObject);
370 procedure ThreadEditorActionExecute(Sender: TObject);
371 procedure BoardIEActionExecute(Sender: TObject);
372 procedure SelectItemURLCopyActionExecute(Sender: TObject);
373 procedure SelectItemURLCopyActionUpdate(Sender: TObject);
374 procedure SelectItemNameCopyActionExecute(Sender: TObject);
375 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
376 procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
377 procedure SelectListReloadActionExecute(Sender: TObject);
378 procedure SelectListReloadActionUpdate(Sender: TObject);
379 procedure SelectThreadReloadActionExecute(Sender: TObject);
380 procedure SelectThreadReloadActionUpdate(Sender: TObject);
381 procedure SelectReservActionExecute(Sender: TObject);
382 procedure SelectReservActionUpdate(Sender: TObject);
383 procedure SelectNewRoundNameExecute(Sender: TObject);
384 procedure SelectDeleteRoundExecute(Sender: TObject);
385 procedure BoardFavoriteAddActionExecute(Sender: TObject);
386 procedure BoardFavoriteAddActionUpdate(Sender: TObject);
387 procedure LogFolderOpenActionExecute(Sender: TObject);
388 procedure LogFolderOpenActionUpdate(Sender: TObject);
389 procedure BrowsBoradHeadActionExecute(Sender: TObject);
390 procedure SortActiveColumnActionExecute(Sender: TObject);
391 procedure SortNextColumnActionExecute(Sender: TObject);
392 procedure SortPrevColumnActionExecute(Sender: TObject);
393 procedure StdToolBarVisibleActionExecute(Sender: TObject);
394 procedure AddressBarVisibleActionExecute(Sender: TObject);
395 procedure LinkBarVisibleActionExecute(Sender: TObject);
396 procedure ListToolBarVisibleActionExecute(Sender: TObject);
397 procedure ListNameBarVisibleActionExecute(Sender: TObject);
398 procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
399 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
400 procedure MsgBarVisibleActionExecute(Sender: TObject);
401 procedure MsgBarCloseActionExecute(Sender: TObject);
402 procedure StatusBarVisibleActionExecute(Sender: TObject);
403 procedure CabinetBBSActionExecute(Sender: TObject);
404 procedure CabinetHistoryActionExecute(Sender: TObject);
405 procedure CabinetFavoriteActionExecute(Sender: TObject);
406 procedure CabinetVisibleActionExecute(Sender: TObject);
407 procedure CabinetCloseActionExecute(Sender: TObject);
408 procedure LargeIconActionExecute(Sender: TObject);
409 procedure SmallIconActionExecute(Sender: TObject);
410 procedure ListIconActionExecute(Sender: TObject);
411 procedure DetailIconActionExecute(Sender: TObject);
412 procedure StopActionExecute(Sender: TObject);
413 procedure ArrangeActionExecute(Sender: TObject);
414 procedure PaneInitActionExecute(Sender: TObject);
415 procedure BrowserTabVisibleActionExecute(Sender: TObject);
416 procedure BrowserTabTopActionExecute(Sender: TObject);
417 procedure BrowserTabBottomActionExecute(Sender: TObject);
418 procedure BrowserTabTabStyleActionExecute(Sender: TObject);
419 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
420 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
421 procedure SetFocusForBrowserActionExecute(Sender: TObject);
422 procedure SetFocusForBrowserActionUpdate(Sender: TObject);
423 procedure SetFocusForThreadListActionExecute(Sender: TObject);
424 procedure SetFocusForCabinetActionExecute(Sender: TObject);
425 procedure SetFocusForCabinetActionUpdate(Sender: TObject);
426 procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
427 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
428 procedure UnSelectedListViewActionExecute(Sender: TObject);
429 procedure KidokuActionExecute(Sender: TObject);
430 procedure MidokuActionExecute(Sender: TObject);
431 procedure AllSelectActionExecute(Sender: TObject);
432 procedure AllSelectActionUpdate(Sender: TObject);
433 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
434 procedure SetInputAssistActionExecute(Sender: TObject);
435 procedure OpenFindDialogActionExecute(Sender: TObject);
436 procedure ArchiveItemActionExecute(Sender: TObject);
437 procedure LiveItemActionExecute(Sender: TObject);
438 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
439 procedure CloseAllEditorActionExecute(Sender: TObject);
440 procedure CloseAllEditorActionUpdate(Sender: TObject);
441 procedure PrevMoveHistoryUpdate(Sender: TObject);
442 procedure PrevMoveHistoryExecute(Sender: TObject);
443 procedure NextMoveHistoryUpdate(Sender: TObject);
444 procedure NextMoveHistoryExecute(Sender: TObject);
445 procedure ClickActiveElementActionExecute(Sender: TObject);
446 procedure VKDownActionExecute(Sender: TObject);
447 procedure VKUpActionExecute(Sender: TObject);
448 procedure VKRightActionExecute(Sender: TObject);
449 procedure VKLeftActionExecute(Sender: TObject);
450 procedure StoredTaskTrayActionExecute(Sender: TObject);
451 procedure LeftTabSelectActionUpdate(Sender: TObject);
452 procedure RightmostTabSelectActionUpdate(Sender: TObject);
453 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
454 procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
455 procedure SetForcusForAddresBarActionExecute(Sender: TObject);
456 procedure NewBoardSearchActionExecute(Sender: TObject);
457 procedure ScrollPageDownActionExecute(Sender: TObject);
458 procedure ScrollPageUpActionExecute(Sender: TObject);
459 procedure AllLinkToClipboardActionExecute(Sender: TObject);
460 procedure NewLinkToClipboardActionExecute(Sender: TObject);
461 procedure AddIDtoNGWord0ActionExecute(Sender: TObject);
462 procedure AddIDtoNGWord1ActionExecute(Sender: TObject);
463 procedure ExtractSameIDActionExecute(Sender: TObject);
464 procedure ShowTabListActionExecute(Sender: TObject);
465 procedure DereferenceResActionExecute(Sender: TObject);
466 procedure UpdateGikonaviActionExecute(Sender: TObject);
467 procedure konoURLPATHActionExecute(Sender: TObject);
468 procedure konoURLQueryActionExecute(Sender: TObject);
469 procedure konoURLQueryActionUpdate(Sender: TObject);
470 procedure PopupMenuSettingActionExecute(Sender: TObject);
471 procedure GikoNaviGoesonWebPageActionExecute(Sender: TObject);
472 procedure GoWikiFAQWebPageActionExecute(Sender: TObject);
475 procedure ClearResFilter;
476 procedure SetResRange(range: Integer);
477 procedure SetThreadAreaHorNormal;
478 procedure SetThreadAreaHorizontal(gls : TGikoListState);
479 procedure SetThreadAreaVerNormal;
480 procedure SetThreadAreaVertical(gls : TGikoListState);
481 procedure SetThreadReadProperty(read: Boolean);
482 procedure SelectThreadSaveToFile(dat: Boolean);
483 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
484 procedure RecalcThreadSize(limit : Integer);
485 procedure ClearSelectComboBox;
486 procedure ClearMailAllEditor();
487 procedure ClearNameTextAllEditor();
488 procedure MoveURLWithHistory(URL : String; KeyMask: Boolean = False);
489 procedure BackToHistory(item: TMoveHistoryItem);
490 function GetActiveThreadLinks : IHTMLElementCollection;
491 procedure GetLinkURLs(links : IHTMLElementCollection;
492 URLs : TStringList; const Start: Integer; Exts : TStringList);
495 procedure RepaintStatusBar;
496 function EditorFormExists(): boolean;
497 procedure GetTabURLs(AStringList: TStringList);
498 procedure OpenURLs(AStringList: TStringList);
500 { Published
\90é
\8c¾ }
501 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
502 procedure DependActiveCntentActionUpdate(Sender: TObject);
503 //! 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é
504 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
505 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
506 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
507 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
508 procedure DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
518 Windows, Math, Clipbrd,
519 Giko, GikoUtil, BoardGroup,
520 FavoriteArrange, Favorite, MojuUtils,
521 Editor, ListSelect, Search, Option, Round,
522 KeySetting, Gesture, Kotehan, ToolBarSetting,
523 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
524 GikoBayesian, About, ShellAPI,
525 RoundName, RoundData, Menus, ListViewUtils,
526 ThreadControl, GikoMessage, InputAssist,
527 DefaultFileManager, Forms, NewBoardURL, UpdateCheck,
531 MSG_ERROR : string = '
\83G
\83\89\81[';
534 // *************************************************************************
535 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
536 // *************************************************************************
537 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
539 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
541 // *************************************************************************
542 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
543 // *************************************************************************
544 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
546 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
547 and (GikoForm.GetActiveContent.IsLogFile);
549 // *************************************************************************
550 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
551 // *************************************************************************
552 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
554 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard) and
555 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
557 // *************************************************************************
558 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
559 // *************************************************************************
560 procedure TGikoDM.DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
562 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
564 // *************************************************************************
565 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
566 // *************************************************************************
567 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
569 //
\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
570 GikoSys.FAbon.EditNGwords;
572 // *************************************************************************
573 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
574 // *************************************************************************
575 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
577 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
578 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
579 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½',
580 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
582 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
583 GikoForm.RepaintAllTabsBrowser();
586 // *************************************************************************
587 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
588 // *************************************************************************
589 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
591 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
592 if GikoSys.FAbon.GoBack =false then begin
593 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½',
594 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
596 //
\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
598 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
599 GikoForm.RepaintAllTabsBrowser();
602 // *************************************************************************
603 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
604 // *************************************************************************
605 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
607 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
608 if GikoSys.FAbon.GoForward =false then begin
609 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½',
610 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
612 //
\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
614 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
615 GikoForm.RepaintAllTabsBrowser();
618 // *************************************************************************
619 //! 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
620 // *************************************************************************
621 procedure TGikoDM.RepaintStatusBar;
625 //
\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
626 s := GikoSys.FAbon.NGwordname;
627 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
628 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
629 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
630 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
631 GikoForm.StatusBarResize(nil);
633 // *************************************************************************
634 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
635 // *************************************************************************
636 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
638 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
640 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
642 // *************************************************************************
643 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
644 // *************************************************************************
645 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
647 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
649 // *************************************************************************
650 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
651 // *************************************************************************
652 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
654 Dlg: TFavoriteArrangeDialog;
656 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
662 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
663 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
665 // *************************************************************************
666 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
667 // *************************************************************************
668 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
672 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
674 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
675 while node <> nil do begin
676 if node.HasChildren then
677 node.Expanded := False;
678 node := node.GetNext;
683 // *************************************************************************
684 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
685 // *************************************************************************
686 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
691 if GikoForm.ClickNode = nil then
693 if GikoForm.ClickNode.IsFirstNode then
695 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
697 GikoForm.FavoriteTreeView.ReadOnly := False;
698 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
699 node := GikoForm.ClickNode.Parent;
700 while node <> nil do begin
701 node.Expanded := True;
704 GikoForm.ClickNode.EditText;
706 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 );
708 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
709 FavoriteDM.Modified := true;
712 // *************************************************************************
713 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
714 // *************************************************************************
715 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
717 NewFavFolder: TFavoriteFolder;
721 if GikoForm.ClickNode = nil then
725 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
726 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
727 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
730 NewFavFolder := TFavoriteFolder.Create;
731 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
732 Node.ImageIndex := 14;
733 Node.SelectedIndex := 14;
734 // FClickNode.Selected.Expanded := True;
735 GikoForm.FavoriteTreeView.Selected := Node;
736 GikoForm.ClickNode := Node;
737 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
738 FavoriteDM.Modified := true;
739 FavoriteTreeViewRenameAction.Execute;
744 // *************************************************************************
745 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
746 // *************************************************************************
747 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
749 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';
750 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
751 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
754 if GikoForm.ClickNode = nil then
756 if GikoForm.ClickNode.IsFirstNode then
758 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
759 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
760 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
763 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
768 GikoForm.ClickNode.Delete;
769 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
770 FavoriteDM.Modified := true;
775 // *************************************************************************
776 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
777 // *************************************************************************
778 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
781 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
783 // *************************************************************************
784 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
785 // *************************************************************************
786 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
788 FavThread: TFavoriteThreadItem;
789 FavBoard: TFavoriteBoardItem;
792 if (GikoForm.ClickNode = nil) then Exit;
794 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
796 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
797 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
798 if FavThread.Item <> nil then
799 GikoForm.DownloadContent(FavThread.Item, shiftDown);
800 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
801 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
802 GikoForm.DownloadList(FavBoard.Item, shiftDown);
806 // *************************************************************************
807 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
808 // *************************************************************************
809 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
812 if GikoForm.ClickNode = nil then Exit;
814 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
815 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
818 // *************************************************************************
819 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
820 // *************************************************************************
821 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
824 if GikoForm.ClickNode = nil then Exit;
826 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
828 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
831 GikoForm.ClickNode.Text + #13#10;
835 // *************************************************************************
836 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
837 // *************************************************************************
838 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
841 favItem : TFavoriteItem;
844 if GikoForm.ClickNode = nil then Exit;
846 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
847 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
848 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
849 favItem.URL + #13#10;
853 // *************************************************************************
854 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
855 // *************************************************************************
856 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
858 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';
859 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
861 ThreadItem: TThreadItem;
862 FavThread: TFavoriteThreadItem;
865 if GikoForm.ClickNode = nil then Exit;
866 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
868 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
869 ThreadItem := FavThread.Item;
872 if GikoSys.Setting.DeleteMsg then begin
873 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
874 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
878 GikoForm.DeleteHistory(ThreadItem);
879 GikoForm.DeleteTab(ThreadItem);
880 ThreadItem.DeleteLogFile;
882 GikoForm.ListView.Refresh;
887 // *************************************************************************
888 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
889 // *************************************************************************
890 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
893 threadItem : TThreadItem;
896 if GikoForm.ClickNode = nil then Exit;
898 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
900 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
901 if threadItem = nil then
903 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
907 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
908 procedure TGikoDM.ClearResFilter;
910 FilterList : TStringList;
912 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
913 FilterList := TStringList.Create;
915 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
916 GikoSys.FSelectResFilter.Reverse := False;
920 GikoForm.SelectResWord := '';
922 // *************************************************************************
923 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
924 // *************************************************************************
925 procedure TGikoDM.SetResRange(range: Integer);
927 if GikoSys.ResRange <> range then begin
928 GikoSys.ResRange := range;
929 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
931 GikoForm.RepaintAllTabsBrowser();
934 // *************************************************************************
935 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
936 // *************************************************************************
937 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
939 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
940 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
942 GikoForm.ResRangeMenuSelect := 100;
943 OnlyAHundredResAction.Checked := True;
944 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
\81B
\90Ý
\92è
\92l
\82©
\82ç
\82Æ
\82Á
\82Ä
\82
\82é
\81B
945 SetResRange(GikoSys.Setting.ResRangeExCount);
947 // *************************************************************************
948 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
949 // *************************************************************************
950 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
952 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
953 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
955 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
956 OnlyKokoResAction.Checked := True;
958 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
959 SetResRange(Ord( grrKoko ));
961 // *************************************************************************
962 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
963 // *************************************************************************
964 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
966 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
967 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
969 GikoForm.ResRangeMenuSelect := Ord( grrNew );
970 OnlyNewResAction.Checked := True;
972 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
973 SetResRange(Ord( grrNew ));
975 // *************************************************************************
976 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
977 // *************************************************************************
978 procedure TGikoDM.SetThreadAreaHorNormal;
980 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
981 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
982 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
983 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
984 GikoSys.Setting.ListWidthState := glsNormal;
986 // *************************************************************************
987 //!
\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@
988 // *************************************************************************
989 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
991 if GikoSys.Setting.ListWidthState = glsNormal then
992 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
994 if (gls = glsMax) then begin
995 GikoForm.ViewPanel.Width := 1;
996 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
997 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
998 GikoSys.Setting.ListWidthState := glsMax;
999 end else if (gls = glsMin) then begin
1000 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
1001 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
1002 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
1003 GikoSys.Setting.ListWidthState := glsMin;
1006 // *************************************************************************
1007 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
1008 // *************************************************************************
1009 procedure TGikoDM.SetThreadAreaVerNormal;
1011 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1012 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
1013 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1014 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1015 GikoSys.Setting.ListHeightState := glsNormal;
1017 // *************************************************************************
1018 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
1019 // *************************************************************************
1020 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
1022 if GikoSys.Setting.ListHeightState = glsNormal then
1023 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
1024 if (gls = glsMin) then begin
1025 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
1026 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1027 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1028 GikoSys.Setting.ListHeightState := glsMin;
1029 end else if (gls = glsMax) then begin
1030 GikoForm.ViewPanel.Height := 1;
1031 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1032 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1033 GikoSys.Setting.ListHeightState := glsMax;
1036 // *************************************************************************
1037 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
1038 // *************************************************************************
1039 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
1041 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1042 case GikoSys.Setting.ListWidthState of
1044 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1045 SetThreadAreaHorNormal;
1047 glsMin, glsNormal: begin
1048 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1049 SetThreadAreaHorizontal(glsMax);
1053 case GikoSys.Setting.ListHeightState of
1055 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1056 SetThreadAreaVerNormal;
1058 glsMin, glsNormal: begin
1059 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1060 SetThreadAreaVertical(glsMax);
1065 // *************************************************************************
1066 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1067 // *************************************************************************
1068 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1070 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1071 case GikoSys.Setting.ListWidthState of
1072 glsMax, glsNormal: begin
1073 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1074 SetThreadAreaHorizontal(glsMin);
1077 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1078 SetThreadAreaHorNormal;
1082 case GikoSys.Setting.ListHeightState of
1083 glsMax, glsNormal: begin
1084 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1085 SetThreadAreaVertical(glsMin);
1088 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1089 SetThreadAreaVerNormal;
1094 // *************************************************************************
1095 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1096 // *************************************************************************
1097 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1099 GikoForm.BrowserMovement('top');
1101 // *************************************************************************
1102 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1103 // *************************************************************************
1104 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1106 GikoForm.BrowserMovement('bottom');
1108 // *************************************************************************
1109 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1110 // *************************************************************************
1111 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1113 GikoForm.BrowserMovement('new');
1115 // *************************************************************************
1116 //!
\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é
1117 // *************************************************************************
1118 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1120 GikoForm.BrowserMovement('koko');
1122 // *************************************************************************
1123 //!
\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
1124 // *************************************************************************
1125 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1127 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1128 and (GikoForm.GetActiveContent.IsLogFile)
1129 and (GikoForm.GetActiveContent.Kokomade <> -1);
1131 // *************************************************************************
1132 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1133 // *************************************************************************
1134 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1136 Editor: TEditorForm;
1139 Item := GikoForm.GetActiveContent;
1140 if Item = nil then Exit;
1141 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1142 Editor.SetThreadItem(Item);
1144 Editor.BodyEdit.SetFocus;
1146 // *************************************************************************
1147 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1148 // *************************************************************************
1149 procedure TGikoDM.IEActionExecute(Sender: TObject);
1151 ShowThreadAction.Execute;
1153 // *************************************************************************
1154 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1155 // *************************************************************************
1156 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1158 ThreadItem: TThreadItem;
1160 ThreadItem := GikoForm.GetActiveContent;
1161 if ThreadItem = nil then Exit;
1162 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1164 // *************************************************************************
1165 //!
\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é
1166 // *************************************************************************
1167 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1169 ThreadItem: TThreadItem;
1171 ThreadItem := GikoForm.GetActiveContent;
1172 if ThreadItem = nil then Exit;
1173 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1175 // *************************************************************************
1176 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1177 // *************************************************************************
1178 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1183 if TObject(GikoForm.GetActiveContent) is TBoard then
1184 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1185 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1186 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1188 Clipboard.AsText := s;
1190 // *************************************************************************
1191 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1192 // *************************************************************************
1193 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1198 if TObject(GikoForm.GetActiveContent) is TBoard then
1199 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1200 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1201 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1203 Clipboard.AsText := s;
1205 // *************************************************************************
1206 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1207 // *************************************************************************
1208 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1213 if TObject(GikoForm.GetActiveContent) is TBoard then
1214 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1215 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1216 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1218 Clipboard.AsText := s;
1220 // *************************************************************************
1221 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1222 // *************************************************************************
1223 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1225 ThreadItem: TThreadItem;
1228 ThreadItem := GikoForm.GetActiveContent;
1229 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1230 if ThreadItem <> nil then
1231 GikoForm.DownloadContent(ThreadItem, shiftDown);
1233 // *************************************************************************
1234 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1235 // *************************************************************************
1236 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1240 idx := GikoForm.BrowserTab.TabIndex;
1241 if idx <> -1 then begin
1242 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1243 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1247 // *************************************************************************
1248 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1249 // *************************************************************************
1250 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1252 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1254 // *************************************************************************
1255 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1256 // *************************************************************************
1257 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1262 idx := GikoForm.BrowserTab.TabIndex;
1263 if idx = -1 then Exit;
1264 GikoForm.BrowserTab.Tabs.BeginUpdate;
1265 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1266 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1267 GikoForm.BrowserTab.Tabs.Delete(i);
1269 if idx > 0 then begin
1270 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1271 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1272 GikoForm.BrowserTab.Tabs.Delete(i);
1275 GikoForm.BrowserTab.Tabs.EndUpdate;
1277 // *************************************************************************
1278 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1279 // *************************************************************************
1280 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1282 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1284 // *************************************************************************
1285 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1286 // *************************************************************************
1287 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1291 if GikoSys.Setting.ShowDialogForAllTabClose then
1292 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
1295 GikoForm.ActiveContent := nil;
1296 GikoForm.BrowserNullTab.Thread := nil;
1297 GikoForm.BrowserTab.OnChange := nil;
1298 GikoForm.BrowserTab.Tabs.BeginUpdate;
1299 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1300 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1302 GikoForm.BrowserTab.Tabs.Clear;
1303 GikoForm.BrowserTab.Tabs.EndUpdate;
1304 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1305 GikoForm.SetContent(GikoForm.BrowserNullTab);
1306 GikoForm.Caption := CAPTION_NAME ;
1308 // *************************************************************************
1309 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1310 // *************************************************************************
1311 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1313 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';
1314 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1317 ThreadItem: TThreadItem;
1319 idx := GikoForm.BrowserTab.TabIndex;
1320 if idx <> -1 then begin
1321 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1322 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1323 if GikoSys.Setting.DeleteMsg then
1324 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1325 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1327 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1328 GikoForm.DeleteHistory(ThreadItem);
1329 ThreadItem.DeleteLogFile;
1330 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1331 GikoForm.ListView.Refresh;
1335 // *************************************************************************
1336 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1337 // *************************************************************************
1338 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1340 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1341 GikoForm.BrowserTab.TabIndex := 0;
1342 GikoForm.BrowserTab.OnChange(nil);
1345 // *************************************************************************
1346 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1347 // *************************************************************************
1348 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1350 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1351 LeftmostTabSelectActionUpdate(Sender);
1353 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1357 // *************************************************************************
1358 //!
\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
1359 // *************************************************************************
1360 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1362 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1363 and (GikoForm.BrowserTab.TabIndex <> 0);
1365 // *************************************************************************
1366 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1367 // *************************************************************************
1368 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1370 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1371 if GikoForm.BrowserTab.TabIndex = -1 then begin
1372 GikoForm.BrowserTab.TabIndex := 0;
1373 GikoForm.BrowserTab.OnChange(nil);
1374 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1375 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1376 GikoForm.BrowserTab.OnChange(nil);
1378 if (GikoSys.Setting.LoopBrowserTabs) and
1379 (GikoForm.BrowserTab.TabIndex = 0) then begin
1380 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1381 GikoForm.BrowserTab.OnChange(nil);
1386 // *************************************************************************
1387 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1388 // *************************************************************************
1389 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1391 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1392 if GikoForm.BrowserTab.TabIndex = -1 then begin
1393 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1394 GikoForm.BrowserTab.OnChange(nil);
1395 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1396 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1397 GikoForm.BrowserTab.OnChange(nil);
1399 if (GikoSys.Setting.LoopBrowserTabs) and
1400 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1401 GikoForm.BrowserTab.TabIndex := 0;
1402 GikoForm.BrowserTab.OnChange(nil);
1407 // *************************************************************************
1408 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1409 // *************************************************************************
1410 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1412 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1413 RightmostTabSelectActionUpdate(Sender);
1415 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1419 // *************************************************************************
1420 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1421 // *************************************************************************
1422 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1424 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1425 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1426 GikoForm.BrowserTab.OnChange(nil);
1429 // *************************************************************************
1430 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1431 // *************************************************************************
1432 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1434 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1435 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1438 // *************************************************************************
1439 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1440 // *************************************************************************
1441 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1443 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1444 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1446 // *************************************************************************
1447 //!
\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
1448 // *************************************************************************
1449 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1451 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1452 and (GikoForm.ListView.SelCount > 0);
1454 // *************************************************************************
1455 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1456 // *************************************************************************
1457 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1459 Dlg: TListSelectDialog;
1460 FilterList : TStringList;
1463 Dlg := TListSelectDialog.Create(GikoForm);
1465 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1466 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1468 if Dlg.ModalResult = mrOK then begin
1469 SelectResAction.Checked := True;
1470 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1471 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1472 ResRangeAction.Execute;
1474 GikoSys.ResRange := Ord( grrSelect );
1476 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1477 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1479 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1480 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1482 GikoSys.Setting.SelectTextList.Delete(idx);
1483 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1484 while Dlg.SelectComboBox.Items.Count > 100 do begin
1485 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1489 if GikoForm.SelectComboBoxPanel.Visible then
1490 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1494 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1495 FilterList := TStringList.Create;
1497 GikoSys.FSelectResFilter.Reverse := True;
1498 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1499 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1501 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1505 GikoForm.RepaintAllTabsBrowser();
1508 //
\83L
\83\83\83\93\83Z
\83\8b
1509 if GikoSys.ResRange <> Ord( grrSelect ) then
1510 ResRangeAction.Execute;
1517 // *************************************************************************
1518 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1519 // *************************************************************************
1520 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1522 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1523 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1525 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1526 AllResAction.Checked := True;
1528 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1529 SetResRange(Ord( grrAll ));
1531 // *************************************************************************
1532 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1533 // *************************************************************************
1534 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1536 case GikoForm.ResRangeMenuSelect of
1537 Ord( grrAll ): AllResAction.Execute;
1538 Ord( grrKoko ): OnlyKokoResAction.Execute;
1539 Ord( grrNew ): OnlyNewResAction.Execute;
1540 100: OnlyAHundredResAction.Execute;
1544 // *************************************************************************
1545 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1546 // *************************************************************************
1547 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1549 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1551 // *************************************************************************
1552 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1553 // *************************************************************************
1554 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1560 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
1561 str := ZenToHan(str);
1562 res := StrToIntDef(str, -1);
1563 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1564 GikoForm.ActiveContent.Move(IntToStr(res));
1565 SetFocusForBrowserAction.Execute;
1566 end else if res > GikoForm.GetActiveContent.Count then begin
1567 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1568 SetFocusForBrowserAction.Execute;
1572 // *************************************************************************
1573 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1574 // *************************************************************************
1575 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1580 idx := GikoForm.BrowserTab.TabIndex;
1581 if idx = -1 then Exit;
1582 GikoForm.BrowserTab.Tabs.BeginUpdate;
1583 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1584 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1585 GikoForm.BrowserTab.Tabs.Delete(i);
1587 GikoForm.BrowserTab.Tabs.EndUpdate;
1589 // *************************************************************************
1590 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1591 // *************************************************************************
1592 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1594 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1596 // *************************************************************************
1597 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1598 // *************************************************************************
1599 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1604 idx := GikoForm.BrowserTab.TabIndex;
1605 if idx = -1 then Exit;
1606 GikoForm.BrowserTab.Tabs.BeginUpdate;
1607 if idx > 0 then begin
1608 for i := idx - 1 downto 0 do begin
1609 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1610 GikoForm.BrowserTab.Tabs.Delete(i);
1613 GikoForm.BrowserTab.Tabs.EndUpdate;
1615 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1616 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1618 // 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
1619 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1620 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1621 TDefaultFileManager.CopyDefaultFiles(
1622 GikoSys.GetAppDir + 'defaultFiles.ini');
1624 // *************************************************************************
1625 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1626 // *************************************************************************
1627 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1632 if GikoForm.SearchDialog = nil then begin
1633 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1634 chk := GikoForm.GetActiveList
1638 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1639 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1643 GikoForm.SearchDialog.Show;
1647 // *************************************************************************
1648 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1649 // *************************************************************************
1650 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1654 Dlg := TOptionDialog.Create(GikoForm);
1661 // *************************************************************************
1662 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1663 // *************************************************************************
1664 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1668 Dlg := TRoundDialog.Create(GikoForm);
1675 // *************************************************************************
1676 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1677 // *************************************************************************
1678 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1680 Dlg: TKeySettingForm;
1682 Dlg := TKeySettingForm.Create(GikoForm);
1684 if Dlg.ShowModal = mrOk then begin
1685 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1686 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1687 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1692 MouseGesture.UnHook;
1693 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1694 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1695 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1696 if GikoSys.Setting.GestureEnabled then begin
1697 GikoSys.Setting.Gestures.ClearGesture;
1698 GikoSys.Setting.Gestures.LoadGesture(
1699 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1700 MouseGesture.SetHook( GikoForm.Handle );
1704 // *************************************************************************
1705 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1706 // *************************************************************************
1707 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1709 Dlg: TKotehanDialog;
1711 Dlg := TKotehanDialog.Create(GikoForm);
1718 // *************************************************************************
1719 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1720 // *************************************************************************
1721 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1723 Dlg: TToolBarSettingDialog;
1726 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1728 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1729 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1730 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1731 case GikoForm.ToolBarSettingSender of
1732 tssMain: Dlg.ToolBarIndex := 0;
1733 tssList: Dlg.ToolBarIndex := 1;
1734 tssBrowser: Dlg.ToolBarIndex := 2;
1736 if Dlg.ShowModal = mrOK then begin
1737 GikoForm.SetToolBarPopup;
1739 //
\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é
1740 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1741 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1742 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1743 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1744 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1746 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1747 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1748 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1749 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1750 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1752 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1753 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1754 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1755 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1756 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1759 SaveToolBarSetting(GikoForm.StdToolBar);
1760 SaveToolBarSetting(GikoForm.ListToolBar);
1761 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1762 GikoForm.SetSelectComboBox;
1763 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1764 SaveToolBarSetting(GikoForm.BrowserToolBar);
1768 GikoForm.ToolBarSettingSender := tssNone;
1771 // *************************************************************************
1772 //!
\83~
\83\85\81[
\83g
1773 // *************************************************************************
1774 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1776 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1778 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1779 // *************************************************************************
1780 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1781 // *************************************************************************
1782 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1785 TmpTreeNode: TTreeNode;
1787 TmpTreeNode := GikoForm.ClickNode;
1788 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1791 if TObject(TmpTreeNode.Data) is TBoard then
1792 Board := TBoard(TmpTreeNode.Data)
1793 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1794 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1796 if Board <> nil then
1797 GikoForm.DownloadList(Board);
1799 // *************************************************************************
1800 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1801 // *************************************************************************
1802 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1804 ThreadItem: TThreadItem;
1805 TmpTreeNode: TTreeNode;
1807 TmpTreeNode := GikoForm.ClickNode;
1808 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1811 if TObject(TmpTreeNode.Data) is TThreadItem then
1812 ThreadItem := TThreadItem(TmpTreeNode.Data)
1813 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1814 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1816 if ThreadItem <> nil then
1817 GikoForm.DownloadContent(ThreadItem);
1819 // *************************************************************************
1820 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1821 // *************************************************************************
1822 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1824 TmpTreeNode: TTreeNode;
1827 TmpTreeNode := GikoForm.ClickNode;
1828 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1829 if TObject(TmpTreeNode.Data) is TBoard then begin
1830 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1831 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1832 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1833 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1834 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1835 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1836 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1838 Clipboard.AsText := s;
1840 // *************************************************************************
1841 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1842 // *************************************************************************
1843 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1845 TmpTreeNode: TTreeNode;
1848 TmpTreeNode := GikoForm.ClickNode;
1849 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1850 if TObject(TmpTreeNode.Data) is TBoard then begin
1851 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1852 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1853 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1854 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1855 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1856 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1857 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1859 Clipboard.AsText := s;
1861 // *************************************************************************
1862 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1863 // *************************************************************************
1864 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1866 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1868 // *************************************************************************
1869 //!
\94Â
\96¼
\8c\9f\8dõ
1870 // *************************************************************************
1871 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1875 CurItem : TTreeNode;
1878 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1881 if GikoForm.TreeView.Selected = nil then
1882 CurItem := GikoForm.TreeView.Items.GetFirstNode
1884 CurItem := GikoForm.TreeView.Selected.GetNext;
1885 if CurItem = nil then
1886 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1888 while CurItem <> nil do begin
1889 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1892 CurItem := CurItem.GetNext;
1895 if CurItem = nil then begin
1896 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1897 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1898 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1902 GikoForm.TreeView.Select(CurItem);
1903 GikoForm.TreeView.SetFocus;
1905 GikoForm.TreeView.Select(CurItem);
1906 GikoForm.TreeView.SetFocus;
1907 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1908 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1921 // *************************************************************************
1922 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1923 // *************************************************************************
1924 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1928 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1929 s := GikoForm.ClickNode.Text;
1930 Clipboard.AsText := s;
1932 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1933 // *************************************************************************
1934 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1935 // *************************************************************************
1936 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1941 if GikoSys.Dolib.Connected then begin
1942 //
\83\8d\83O
\83A
\83E
\83g
1943 GikoSys.Dolib.Disconnect;
1944 LoginAction.Checked := False;
1945 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1946 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1948 TmpCursor := GikoForm.ScreenCursor;
1949 GikoForm.ScreenCursor := crHourGlass;
1951 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1952 if not GikoSys.Setting.ForcedLogin then begin
1953 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1954 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1955 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1956 if GikoSys.Setting.ReadProxy then begin
1957 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1958 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1960 GikoSys.Dolib.ProxyAddress := '';
1961 GikoSys.Dolib.ProxyPort := 0;
1963 if GikoSys.Dolib.Connect then begin
1964 LoginAction.Checked := True;
1965 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1966 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1967 //LoginToolButton.Style := tbsCheck;
1969 // 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);
1970 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1971 GikoForm.PlaySound('Error');
1972 LoginAction.Checked := False;
1973 //LoginToolButton.Down := False;
1974 ///LoginToolButton.Style := tbsButton;
1977 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
1978 + '
\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
1979 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1980 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1981 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1982 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1983 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1984 if GikoSys.Setting.ReadProxy then begin
1985 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1986 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1988 GikoSys.Dolib.ProxyAddress := '';
1989 GikoSys.Dolib.ProxyPort := 0;
1991 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1992 GikoSys.Dolib.ForcedConnect;
1993 if GikoSys.Dolib.Connect then begin
1994 LoginAction.Checked := True;
1995 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1996 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1997 //LoginToolButton.Style := tbsCheck;
1999 // 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);
2000 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
2001 GikoForm.PlaySound('Error');
2002 LoginAction.Checked := False;
2003 //LoginToolButton.Down := False;
2004 //LoginToolButton.Style := tbsButton;
2007 LoginAction.Checked := False;
2008 //LoginToolButton.Down := False;
2009 //LoginToolButton.Style := tbsButton;
2013 GikoForm.ScreenCursor := TmpCursor;
2017 // *************************************************************************
2018 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2019 // *************************************************************************
2020 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
2022 Dlg: TNewBoardDialog;
2025 if (EditorFormExists) then begin
2026 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
2027 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
2030 Dlg := TNewBoardDialog.Create(GikoForm);
2037 // *************************************************************************
2038 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
2039 // *************************************************************************
2040 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
2042 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';
2043 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';
2044 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2046 ThreadItem: TThreadItem;
2047 TmpListItem: TListItem;
2051 List := TList.Create;
2053 TmpListItem := GikoForm.ListView.Selected;
2054 while TmpListItem <> nil do begin
2055 if TObject(TmpListItem.Data) is TThreadItem then begin
2056 ThreadItem := TThreadItem(TmpListItem.Data);
2057 if ThreadItem.IsLogFile then
2058 List.Add(ThreadItem);
2060 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2063 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2064 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2065 if List.Count = 1 then begin
2066 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
2069 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
2075 for i := 0 to List.Count - 1 do begin
2076 ThreadItem := TThreadItem(List[i]);
2077 GikoForm.DeleteHistory(ThreadItem);
2078 GikoForm.DeleteTab(ThreadItem);
2079 ThreadItem.DeleteLogFile;
2081 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2082 GikoForm.ListView.Refresh;
2087 // *************************************************************************
2088 //! 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Ê
2089 // *************************************************************************
2090 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2092 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2093 and (GikoForm.ListView.SelCount > 0);
2095 // *************************************************************************
2096 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2097 // *************************************************************************
2098 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2100 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';
2101 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2103 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2104 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2106 GikoSys.Setting.SelectTextList.Clear;
2107 GikoForm.SelectComboBox.Items.Clear;
2108 GikoForm.SelectComboBox.Text := '';
2109 GikoForm.SetListViewType( gvtAll );
2111 // *************************************************************************
2112 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2113 // *************************************************************************
2114 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2116 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';
2117 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2119 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2120 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2122 GikoSys.Setting.NameList.Clear;
2123 ClearNameTextAllEditor
2125 // *************************************************************************
2126 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2127 // *************************************************************************
2128 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2130 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';
2131 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2133 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2134 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2136 GikoSys.Setting.MailList.Clear;
2139 // *************************************************************************
2140 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2141 // *************************************************************************
2142 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2146 // *************************************************************************
2147 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2148 // *************************************************************************
2149 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2151 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2153 // *************************************************************************
2154 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2155 // *************************************************************************
2156 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2158 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2159 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2161 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2164 // *************************************************************************
2165 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2166 // *************************************************************************
2167 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2174 List := TList.Create;
2176 GikoForm.ScreenCursor := crHourGlass;
2177 GikoForm.SelectListItem(List);
2178 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2179 (GikoSys.Setting.ListHeightState = glsMax)) or
2180 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2181 (GikoSys.Setting.ListWidthState = glsMax)) then
2182 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2183 else if(List.Count = 0) then
2184 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2187 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2188 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2190 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2191 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2193 for i := 0 to List.Count - 1 do begin
2194 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2196 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2198 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2200 if SaveDialog.Execute then begin
2202 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2203 PChar(SaveDialog.FileName), true);
2205 html := TStringList.Create;
2206 title := TThreadItem(List[i]).Title;
2208 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2209 html.SaveToFile(SaveDialog.FileName);
2210 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2220 GikoForm.ScreenCursor := crDefault;
2224 // *************************************************************************
2225 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2226 // *************************************************************************
2227 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2229 SelectThreadSaveToFile(false);
2231 // *************************************************************************
2232 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2233 // *************************************************************************
2234 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2236 SelectThreadSaveToFile(true);
2238 // *************************************************************************
2239 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2240 // *************************************************************************
2241 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2243 Filename = 'tab.sav';
2244 bFilename = '~tab.sav';
2246 SaveStringList: TStringList;
2248 SaveStringList := TStringList.Create;
2250 GetTabURLs(SaveStringList);
2252 if FileExists( GikoSys.GetAppDir + Filename) then begin
2253 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2254 PChar(GikoSys.GetAppDir + bFilename), False);
2258 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2260 SaveStringList.Free;
2263 // *************************************************************************
2264 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2265 // *************************************************************************
2266 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2268 rec : TBrowserRecord;
2271 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2273 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2274 if( rec <> nil) and (rec.Thread <> nil) then
2275 AStringList.Add( rec.Thread.URL );
2280 // *************************************************************************
2281 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2282 // *************************************************************************
2283 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2285 GikoTab : TGikoTabAppend;
2289 if (AStringList <> nil) then begin
2290 GikoTab := GikoSys.Setting.BrowserTabAppend;
2292 bound := AStringList.Count - 1;
2293 if bound > -1 then begin
2294 GikoSys.Setting.BrowserTabAppend := gtaLast;
2295 for i := 0 to bound do begin
2296 item := BBSsFindThreadFromURL( AStringList[ i ] );
2298 GikoForm.InsertBrowserTab( item, false );
2300 //
\8dÅ
\8f\89\82Ì
\82P
\96\87\82É
\90Ý
\92è
2301 if (GikoSys.Setting.URLDisplay) and
2302 (GikoForm.BrowserTab.Tabs.Count > 0) then begin
2303 GikoForm.AddressComboBox.Text :=
2304 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[0]).Thread.URL;
2308 GikoSys.Setting.BrowserTabAppend := GikoTab;
2312 // *************************************************************************
2313 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2314 // *************************************************************************
2315 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2317 TABFILE = 'tab.sav';
2322 URLs := TStringList.Create();
2324 fileName := GikoSys.GetAppDir + TABFILE;
2325 if FileExists(fileName) then begin
2327 URLs.LoadFromFile(fileName);
2328 if (URLs.Count = 0) then begin
2329 //
\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
2330 SysUtils.DeleteFile(fileName);
2335 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2342 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2343 (TabsOpenAction.Tag <> 1) then begin
2344 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2347 // *************************************************************************
2348 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2349 // *************************************************************************
2350 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2355 if GikoSys.Belib.Connected then begin
2356 //
\83\8d\83O
\83A
\83E
\83g
2357 GikoSys.Belib.Disconnect;
2358 BeLogInOutAction.Checked := False;
2359 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmBeLogout), nil, gmiOK);
2361 TmpCursor := GikoForm.ScreenCursor;
2362 GikoForm.ScreenCursor := crHourGlass;
2364 GikoSys.Belib.ClientUA := 'gikoNavi/1.00';
2365 GikoSys.Belib.UserName := GikoSys.Setting.BeUserID;
2366 GikoSys.Belib.Password := GikoSys.Setting.BePassword;
2367 if GikoSys.Setting.ReadProxy then begin
2368 GikoSys.Belib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
2369 GikoSys.Belib.ProxyPort := GikoSys.Setting.ReadProxyPort;
2371 GikoSys.Belib.ProxyAddress := '';
2372 GikoSys.Belib.ProxyPort := 0;
2374 if GikoSys.Belib.Connect then begin
2375 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmBeLogin) + GikoSys.Setting.BeUserID, nil, gmiOK);
2376 BeLogInOutAction.Checked := True;
2378 GikoForm.AddMessageList(GikoSys.Belib.ErrorMsg, nil, gmiNG);
2379 GikoForm.PlaySound('Error');
2380 BeLogInOutAction.Checked := False;
2383 GikoForm.ScreenCursor := TmpCursor;
2387 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2388 // *************************************************************************
2389 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2390 // *************************************************************************
2391 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2394 ThreadItem: TThreadItem;
2396 No := GikoForm.KokoPopupMenu.Tag;
2399 ThreadItem := GikoForm.KokoPopupThreadItem;
2400 if not Assigned(ThreadItem) then
2402 ThreadItem.Kokomade := No;
2403 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2404 GikoForm.ActiveContent.Repaint := true;
2405 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2406 //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é
2407 //Application.ProcessMessages;
2409 // *************************************************************************
2410 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2411 // *************************************************************************
2412 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2414 ThreadItem: TThreadItem;
2416 ThreadItem := GikoForm.GetActiveContent(True);
2417 if ThreadItem = nil then Exit;
2418 ThreadItem.Kokomade := -1;
2419 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2420 GikoForm.ActiveContent.Repaint := true;
2421 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2422 //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é
2423 //Application.ProcessMessages;
2425 // *************************************************************************
2426 //!
\83R
\83R
\82É
\83\8c\83X
2427 // *************************************************************************
2428 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2430 Editor: TEditorForm;
2434 Number := GikoForm.KokoPopupMenu.Tag;
2435 if Number = 0 then Exit;
2436 Item := GikoForm.KokoPopupThreadItem;
2437 if Item = nil then Exit;
2439 Editor := TEditorForm.Create(GikoForm);
2440 Editor.SetThreadItem(Item);
2441 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2443 Editor.BodyEdit.SetFocus;
2445 // *************************************************************************
2446 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2447 // *************************************************************************
2448 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2450 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2452 // *************************************************************************
2453 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2454 // *************************************************************************
2455 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2459 ThreadItem : TThreadItem;
2463 No := GikoForm.KokoPopupMenu.Tag;
2464 if No = 0 then Exit;
2465 ThreadItem := GikoForm.KokoPopupThreadItem;
2466 if ThreadItem = nil then Exit;
2468 AID := GikoSys.GetResID(No, ThreadItem);
2469 if not IsNoValidID(AID) then begin
2470 GikoForm.ShowSameIDAncher(AID);
2473 // *************************************************************************
2474 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2475 // *************************************************************************
2476 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2478 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2480 // *************************************************************************
2481 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2482 // *************************************************************************
2483 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2485 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2487 // *************************************************************************
2488 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2489 // *************************************************************************
2490 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2492 IndividualForm :TIndividualAbonForm;
2493 ThreadItem : TThreadItem;
2495 ReadList : TStringList;
2496 wordCount : TWordCount;
2498 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2500 ThreadItem := GikoForm.GetActiveContent(True);
2501 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2502 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2503 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2504 ReadList := TStringList.Create;
2505 wordCount := TWordCount.Create;
2507 {$IFDEF SPAM_FILTER_ENABLED}
2508 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2509 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2510 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2511 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2512 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2514 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2515 GikoForm.ActiveContent.Repaint := true;
2516 GikoForm.InsertBrowserTab( ThreadItem, True );
2523 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2524 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2528 IndividualForm.Release;
2531 // *************************************************************************
2532 //!
\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
2533 // *************************************************************************
2534 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2536 IndividualForm :TIndividualAbonForm;
2537 ThreadItem : TThreadItem;
2539 ReadList : TStringList;
2540 wordCount : TWordCount;
2541 {$IFDEF SPAM_FILTER_ENABLED}
2545 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2547 ThreadItem := GikoForm.GetActiveContent(True);
2548 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2549 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2550 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2551 if (IndividualForm.ShowModal = mrOK) then begin
2552 ReadList := TStringList.Create;
2553 wordCount := TWordCount.Create;
2555 {$IFDEF SPAM_FILTER_ENABLED}
2556 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2557 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2558 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2559 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2560 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2561 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2564 if IndividualForm.FRepaint then begin
2565 GikoForm.ActiveContent.Repaint := true;
2566 GikoForm.InsertBrowserTab( ThreadItem, True );
2574 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2575 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2579 IndividualForm.Release;
2582 // *************************************************************************
2583 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2584 // *************************************************************************
2585 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2587 GikoForm.IndividualAbonID(1);
2589 // *************************************************************************
2590 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2591 // *************************************************************************
2592 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2594 GikoForm.IndividualAbonID(0);
2596 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2597 // *************************************************************************
2598 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2599 // *************************************************************************
2600 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2602 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2604 // *************************************************************************
2605 //!
\83M
\83R
\83i
\83r(
\94ð
\93ï
\8f\8a\94Å)
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2606 // *************************************************************************
2607 procedure TGikoDM.GikoNaviGoesonWebPageActionExecute(Sender: TObject);
2609 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVIGO, gbtAuto);
2611 // *************************************************************************
2612 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2613 // *************************************************************************
2614 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2616 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2618 // *************************************************************************
2619 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2620 // *************************************************************************
2621 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2623 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2625 // *************************************************************************
2626 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2627 // *************************************************************************
2628 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2630 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2632 // *************************************************************************
2633 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2634 // *************************************************************************
2635 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2639 Dlg := TAboutDialog.Create(GikoForm);
2646 // *************************************************************************
2647 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2648 // *************************************************************************
2649 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2653 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2654 if not FileExists(FileName) then begin
2657 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2658 '
\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 +
2659 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2664 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2666 // *************************************************************************
2667 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2668 // *************************************************************************
2669 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2671 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2673 // *************************************************************************
2674 //!
\83M
\83R
\83i
\83r(
\94ð
\93ï
\8f\8a\94Å)Wiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2675 // *************************************************************************
2676 procedure TGikoDM.GoWikiFAQWebPageActionExecute(Sender: TObject);
2678 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GoWiki, gbtAuto);
2680 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2681 // *************************************************************************
2682 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2683 // *************************************************************************
2684 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2686 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2687 GikoForm.ListView.Refresh;
2689 // *************************************************************************
2690 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2691 // *************************************************************************
2692 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2694 if GikoForm.GetActiveList is TBoard then begin
2695 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2696 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2697 end else if GikoForm.GetActiveList is TCategory then begin
2698 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2701 // *************************************************************************
2702 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2703 // *************************************************************************
2704 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2706 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS) and
2707 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
2709 // *************************************************************************
2710 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2711 // *************************************************************************
2712 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2714 case GikoForm.ListView.ViewStyle of
2715 vsIcon: SmallIconAction.Execute;
2716 vsSmallIcon: ListIconAction.Execute;
2717 vsList: DetailIconAction.Execute;
2718 vsReport: LargeIconAction.Execute;
2721 // *************************************************************************
2722 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2723 // *************************************************************************
2724 procedure TGikoDM.ClearSelectComboBox;
2726 if GikoForm.SelectComboBoxPanel.Visible then begin
2727 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2728 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2729 GikoForm.ListView.SetFocus;
2732 // *************************************************************************
2733 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2734 // *************************************************************************
2735 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2738 if GikoForm.ViewType <> gvtAll then
2739 GikoForm.SetListViewType(gvtAll);
2740 GikoSys.Setting.ThreadRange := gtrAll;
2741 AllItemAction.Checked := True;
2742 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2743 GikoForm.ModifySelectList;
2744 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2745 ClearSelectComboBox;
2749 // *************************************************************************
2750 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2751 // *************************************************************************
2752 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2755 if GikoForm.ViewType <> gvtLog then
2756 GikoForm.SetListViewType(gvtLog);
2757 GikoSys.Setting.ThreadRange := gtrLog;
2758 LogItemAction.Checked := True;
2759 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2760 GikoForm.ModifySelectList;
2761 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2762 ClearSelectComboBox;
2766 // *************************************************************************
2767 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2768 // *************************************************************************
2769 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2773 if GikoForm.ViewType <> gvtNew then
2774 GikoForm.SetListViewType(gvtNew);
2775 GikoSys.Setting.ThreadRange := gtrNew;
2776 NewItemAction.Checked := True;
2777 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2778 GikoForm.ModifySelectList;
2779 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2780 ClearSelectComboBox;
2784 // *************************************************************************
2785 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2786 // *************************************************************************
2787 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2790 if GikoForm.ViewType <> gvtArch then
2791 GikoForm.SetListViewType(gvtArch);
2792 GikoSys.Setting.ThreadRange := gtrArch;
2793 ArchiveItemAction.Checked := True;
2794 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2795 GikoForm.ModifySelectList;
2796 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2797 ClearSelectComboBox;
2801 // *************************************************************************
2802 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2803 // *************************************************************************
2804 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2807 if GikoForm.ViewType <> gvtLive then
2808 GikoForm.SetListViewType(gvtLive);
2809 GikoSys.Setting.ThreadRange := gtrLive;
2810 LiveItemAction.Checked := True;
2811 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2812 GikoForm.ModifySelectList;
2813 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2814 ClearSelectComboBox;
2819 // *************************************************************************
2820 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2821 // *************************************************************************
2822 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2824 case GikoSys.Setting.ThreadRange of
2825 gtrAll: AllItemAction.Execute;
2826 gtrLog: LogItemAction.Execute;
2827 gtrNew: NewItemAction.Execute;
2828 gtrArch: ArchiveItemAction.Execute;
2829 gtrLive: LiveItemAction.Execute;
2832 // *************************************************************************
2833 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2834 // *************************************************************************
2835 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2838 Dlg: TListSelectDialog;
2841 if GikoForm.SelectComboBoxPanel.Visible then begin
2842 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2843 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2844 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2845 if GikoSys.Setting.ListWidthState = glsMax then
2846 BrowserMinAction.Execute;
2848 if GikoSys.Setting.ListHeightState = glsMax then
2849 BrowserMinAction.Execute;
2851 GikoForm.SelectComboBox.SetFocus;
2858 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2859 GikoForm.SelectComboBox.Text := '';
2860 GikoForm.SelectComboBox.Color := clWindow;
2863 AllItemAction.Checked := False;
2864 LogItemAction.Checked := False;
2865 NewItemAction.Checked := False;
2866 //SelectItemAction.Checked := True;
2867 GikoForm.ModifySelectList;
2868 Dlg := TListSelectDialog.Create(GikoForm);
2870 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2871 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2873 if Dlg.ModalResult = mrCancel then begin
2874 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2875 AllItemAction.Checked := True;
2876 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2877 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2880 if GikoForm.GetActiveList is TBoard then
2881 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2883 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2885 GikoSys.Setting.SelectTextList.Delete(idx);
2886 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2887 while Dlg.SelectComboBox.Items.Count > 100 do begin
2888 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2891 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2892 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2893 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2895 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2896 GikoForm.SelectComboBox.Color := clWindow;
2898 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2904 // *************************************************************************
2905 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2906 // *************************************************************************
2907 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2909 Editor: TEditorForm;
2911 if not (GikoForm.GetActiveList is TBoard) then
2913 Editor := TEditorForm.Create(GikoForm);
2914 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2916 Editor.BodyEdit.SetFocus;
2918 // *************************************************************************
2919 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2920 // *************************************************************************
2921 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2925 if GikoForm.GetActiveList is TBoard then begin
2926 URL := TBoard(GikoForm.GetActiveList).URL;
2927 GikoSys.OpenBrowser(URL, gbtAuto);
2930 // *************************************************************************
2931 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2932 // *************************************************************************
2933 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2940 List := TList.Create;
2942 GikoForm.SelectListItem(List);
2943 for i := 0 to List.Count - 1 do begin
2944 if TObject(List[i]) is TBoard then
2945 s := s + TBoard(List[i]).URL + #13#10
2946 else if TObject(List[i]) is TThreadItem then
2947 s := s + TThreadItem(List[i]).URL + #13#10;
2950 Clipboard.AsText := s;
2955 // *************************************************************************
2956 //!
\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
2957 // *************************************************************************
2958 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2960 if ((GikoForm.GetActiveList is TBoard) or
2961 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2962 TAction(Sender).Enabled := True
2964 TAction(Sender).Enabled := False;
2966 // *************************************************************************
2967 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2968 // *************************************************************************
2969 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2976 List := TList.Create;
2978 GikoForm.SelectListItem(List);
2979 for i := 0 to List.Count - 1 do begin
2980 if TObject(List[i]) is TCategory then
2981 s := s + TCategory(List[i]).Title + #13#10
2982 else if TObject(List[i]) is TBoard then
2983 s := s + TBoard(List[i]).Title + #13#10
2984 else if TObject(List[i]) is TThreadItem then
2985 s := s + TThreadItem(List[i]).Title + #13#10;
2988 Clipboard.AsText := s;
2993 // *************************************************************************
2994 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2995 // *************************************************************************
2996 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2998 if ((GikoForm.GetActiveList is TBBS) or
2999 (GikoForm.GetActiveList is TBoard) or
3000 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
3001 TAction(Sender).Enabled := True
3003 TAction(Sender).Enabled := False;
3005 // *************************************************************************
3006 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
3007 // *************************************************************************
3008 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
3015 List := TList.Create;
3017 GikoForm.SelectListItem(List);
3018 for i := 0 to List.Count - 1 do begin
3019 if TObject(List[i]) is TBoard then
3020 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
3021 else if TObject(List[i]) is TThreadItem then
3022 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
3025 Clipboard.AsText := s;
3030 // *************************************************************************
3031 //!
\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é
3032 // *************************************************************************
3033 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
3040 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3041 GikoForm.ActiveListColumnSave;
3042 if GikoForm.GetActiveList is TCategory then begin
3043 List := TList.Create;
3045 GikoForm.SelectListItem(List);
3046 if List.Count > 5 then begin
3047 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3048 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3049 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3052 for i := 0 to List.Count - 1 do begin
3053 if TObject(List[i]) is TBoard then
3054 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
3059 end else if GikoForm.GetActiveList is TBoard then begin
3060 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
3063 // *************************************************************************
3064 //!
\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
3065 // *************************************************************************
3066 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
3068 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3069 TAction(Sender).Enabled := True
3070 else if GikoForm.GetActiveList is TBoard then begin
3071 TAction(Sender).Enabled :=
3072 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
3074 TAction(Sender).Enabled := False;
3076 // *************************************************************************
3077 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3078 // *************************************************************************
3079 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3086 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3087 List := TList.Create;
3089 GikoForm.SelectListItem(List);
3090 if List.Count > 10 then begin
3091 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3092 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3093 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3096 for i := 0 to List.Count - 1 do begin
3097 if TObject(List[i]) is TThreadItem then
3098 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3104 // *************************************************************************
3105 //!
\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
3106 // *************************************************************************
3107 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3109 TAction(Sender).Enabled :=
3110 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3112 // *************************************************************************
3113 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3114 // *************************************************************************
3115 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3117 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3118 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3120 // *************************************************************************
3121 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3122 // *************************************************************************
3123 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3128 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3129 List := TList.Create;
3131 GikoForm.SelectListItem(List);
3132 for i := 0 to List.Count - 1 do begin
3133 if TObject(List[i]) is TThreadItem then begin
3134 if TThreadItem(List[i]).IsLogFile then begin
3135 SelectReservAction.Enabled := True;
3140 SelectReservAction.Enabled := False;
3144 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3145 SelectReservAction.Enabled := True
3147 SelectReservAction.Enabled := False;
3149 // *************************************************************************
3150 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3151 // *************************************************************************
3152 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3155 Dlg: TRoundNameDialog;
3159 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3160 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3163 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3164 cnt := RoundList.Count[grtBoard];
3165 cnt := cnt + RoundList.Count[grtItem];
3166 if cnt > 500 then begin
3167 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3171 Dlg := TRoundNameDialog.Create(GikoForm);
3174 if Dlg.ModalResult <> mrCancel then begin
3175 s := Trim(Dlg.RoundNameEdit.Text);
3176 if (Sender is TMenuItem) then begin
3177 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3178 end else if (Sender is TAction) then begin
3179 if (GikoForm.ListView.Selected <> nil) then begin
3180 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3181 GikoForm.SetSelectItemRound(True, s,
3182 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3183 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3184 GikoForm.SetSelectItemRound(True, s,
3185 TBoard(GikoForm.ListView.Selected.Data).Title);
3189 GikoForm.ListView.Refresh;
3195 // *************************************************************************
3196 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3197 // *************************************************************************
3198 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3202 if (Sender is TMenuItem) then begin
3204 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3207 end else if (Sender is TAction) then begin
3209 if GikoForm.ListView.Selected <> nil then begin
3210 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3211 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3212 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3213 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3215 GikoForm.SetSelectItemRound(False, '', s);
3221 GikoForm.ListView.Refresh;
3223 // *************************************************************************
3224 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3225 // *************************************************************************
3226 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3228 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3229 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3231 // *************************************************************************
3232 //!
\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
3233 // *************************************************************************
3234 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3236 BoardFavoriteAddAction.Enabled :=
3237 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3239 // *************************************************************************
3240 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3241 // *************************************************************************
3242 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3246 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3247 (GikoSys.Setting.ListHeightState = glsMax)) or
3248 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3249 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3250 if(GikoForm.GetActiveContent <> nil) then begin
3251 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3253 end else if GikoForm.GetActiveList is TCategory then begin
3254 List := TList.Create;
3256 GikoForm.SelectListItem(List);
3257 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3261 end else if GikoForm.GetActiveList is TBoard then begin
3262 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3266 // *************************************************************************
3267 //! 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Ê
3268 // *************************************************************************
3269 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3271 if (((GikoForm.GetActiveList is TBoard) and
3272 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard))
3273 or (GikoForm.GetActiveList is TCategory))
3274 and (GikoForm.ListView.SelCount > 0) then
3275 TAction(Sender).Enabled := True
3277 TAction(Sender).Enabled := False;
3279 // *************************************************************************
3280 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3281 // *************************************************************************
3282 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3284 RefURL, URL : string;
3288 if GikoForm.GetActiveList is TCategory then begin
3289 List := TList.Create;
3291 GikoForm.SelectListItem(List);
3292 RefURL := TBoard(List[0]).URL;
3296 end else if GikoForm.GetActiveList is TBoard then begin
3297 RefURL := TBoard(GikoForm.GetActiveList).URL
3299 if RefURL <> '' then begin
3300 if RefURL[Length(RefURL)] <> '/' then
3301 URL := RefURL + '/' + 'head.txt'
3303 URL := RefURL + 'head.txt';
3305 GikoForm.MoveToURL(URL);
3307 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3311 // *************************************************************************
3312 //!
\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é
3313 // *************************************************************************
3314 function TGikoDM.GetSortProperties(List: TObject;
3315 var vSortOrder: Boolean): Boolean;
3318 if (List <> nil) then begin
3319 if (List is TBBS) then begin
3320 vSortOrder := GikoSys.Setting.BBSSortOrder;
3321 end else if (List is TCategory) then begin
3322 vSortOrder := GikoSys.Setting.CategorySortOrder;
3323 end else if (List is TBoard) then begin
3324 vSortOrder := GikoSys.Setting.BoardSortOrder;
3332 // *************************************************************************
3333 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3334 // *************************************************************************
3335 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3340 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3341 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3342 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3343 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3345 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3346 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3353 // *************************************************************************
3354 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3355 // *************************************************************************
3356 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3360 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3361 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3362 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3364 if id > GikoForm.ListView.Columns.Count - 1 then
3366 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3367 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3373 // *************************************************************************
3374 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3375 // *************************************************************************
3376 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3380 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3381 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3382 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3385 id := GikoForm.ListView.Columns.Count - 1;
3386 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3387 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3393 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3394 // *************************************************************************
3395 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3396 // *************************************************************************
3397 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3399 CoolBand: TCoolBand;
3401 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3402 if CoolBand = nil then
3404 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3405 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3406 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3408 // *************************************************************************
3409 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3410 // *************************************************************************
3411 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3413 CoolBand: TCoolBand;
3415 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3416 if CoolBand = nil then
3418 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3419 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3420 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3422 // *************************************************************************
3423 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3424 // *************************************************************************
3425 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3427 CoolBand: TCoolBand;
3429 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3430 if CoolBand = nil then
3432 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3433 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3434 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3436 // *************************************************************************
3437 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3438 // *************************************************************************
3439 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3441 CoolBand: TCoolBand;
3443 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3444 if CoolBand = nil then
3446 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3447 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3449 // *************************************************************************
3450 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3451 // *************************************************************************
3452 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3454 CoolBand: TCoolBand;
3456 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3457 if CoolBand = nil then
3459 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3460 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3462 // *************************************************************************
3463 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3464 // *************************************************************************
3465 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3467 CoolBand: TCoolBand;
3469 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3470 if CoolBand = nil then
3472 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3473 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3475 // *************************************************************************
3476 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3477 // *************************************************************************
3478 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3480 CoolBand: TCoolBand;
3482 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3483 if CoolBand = nil then
3485 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3486 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3488 // *************************************************************************
3489 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3490 // *************************************************************************
3491 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3493 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3494 GikoForm.MessagePanel.Top :=
3495 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3496 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3497 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3498 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3500 // *************************************************************************
3501 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3502 // *************************************************************************
3503 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3505 MsgBarVisibleAction.Execute;
3507 // *************************************************************************
3508 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3509 // *************************************************************************
3510 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3512 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3513 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3515 // *************************************************************************
3516 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3517 // *************************************************************************
3518 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3521 if GikoForm.CabinetPanel.Visible then begin
3522 if GikoForm.TreeType = gtt2ch then begin
3523 GikoForm.CabinetVisible( False );
3525 CabinetBBSAction.Checked := False;
3527 CabinetBBSAction.Checked := True;
3530 GikoForm.CabinetVisible( True );
3531 CabinetBBSAction.Checked := True;
3534 if GikoForm.ActiveBBS = nil then
3535 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3537 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3540 // *************************************************************************
3541 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3542 // *************************************************************************
3543 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3545 GikoForm.ShowHistoryTree;
3547 // *************************************************************************
3548 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3549 // *************************************************************************
3550 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3556 if GikoForm.CabinetPanel.Visible then begin
3557 if GikoForm.TreeType = gttFavorite then begin
3558 GikoForm.CabinetVisible( False );
3559 CabinetFavoriteAction.Checked := False;
3561 CabinetFavoriteAction.Checked := True;
3564 GikoForm.CabinetVisible( True );
3565 CabinetFavoriteAction.Checked := True;
3568 // BBS...BBS, History, Favorite
3569 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3571 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3572 for i := 0 to b do begin
3573 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3574 if item is TBBSMenuItem then begin
3575 item.Checked := False;
3576 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3577 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3581 //
\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Ö
3582 GikoForm.HistoryToolBar.Hide;
3583 GikoForm.FavoriteToolBar.Show;
3584 GikoForm.TreeView.Visible := False;
3585 GikoForm.FavoriteTreeView.Visible := True;
3587 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3588 GikoForm.TreeType := gttFavorite;
3590 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3591 CabinetBBSAction.Checked := False;
3592 CabinetHistoryAction.Checked := False;
3594 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3595 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3598 // *************************************************************************
3599 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3600 // *************************************************************************
3601 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3603 case GikoForm.TreeType of
3604 gttHistory: CabinetHistoryAction.Execute;
3605 gttFavorite: CabinetFavoriteAction.Execute;
3607 CabinetBBSAction.Execute;
3610 // *************************************************************************
3611 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3612 // *************************************************************************
3613 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3615 //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ã
3617 // *************************************************************************
3618 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3619 // *************************************************************************
3620 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3622 GikoForm.ListView.ViewStyle := vsIcon;
3623 LargeIconAction.Checked := True;
3625 // *************************************************************************
3626 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3627 // *************************************************************************
3628 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3630 GikoForm.ListView.ViewStyle := vsSmallIcon;
3631 SmallIconAction.Checked := True;
3633 // *************************************************************************
3634 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3635 // *************************************************************************
3636 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3638 GikoForm.ListView.ViewStyle := vsList;
3639 ListIconAction.Checked := True;
3641 // *************************************************************************
3642 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3643 // *************************************************************************
3644 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3646 GikoForm.ListView.ViewStyle := vsReport;
3647 DetailIconAction.Checked := True;
3649 // *************************************************************************
3650 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3651 // *************************************************************************
3652 procedure TGikoDM.StopActionExecute(Sender: TObject);
3654 GikoForm.FControlThread.DownloadAbort;
3655 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3657 GikoForm.Animate.Active := False;
3660 GikoForm.ScreenCursor := crDefault;
3662 // *************************************************************************
3663 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3664 // *************************************************************************
3665 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3667 if ArrangeAction.Checked then begin
3669 GikoForm.ViewPanel.Align := alNone;
3670 GikoForm.ListSplitter.Align := alNone;
3671 GikoForm.ThreadPanel.Align := alNone;
3673 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3674 GikoForm.ViewPanel.Align := alLeft;
3676 GikoForm.ListSplitter.Width := 5;
3677 GikoForm.ListSplitter.Align := alLeft;
3679 GikoForm.ViewPanel.Left := -10;
3681 GikoForm.ThreadPanel.Align := alClient;
3683 GikoSys.Setting.ListOrientation := gloHorizontal;
3684 case GikoSys.Setting.ListWidthState of
3686 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3687 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3688 GikoForm.ViewPanel.Width := 1;
3691 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3692 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3695 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3696 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3697 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3702 GikoForm.ViewPanel.Align := alNone;
3703 GikoForm.ListSplitter.Align := alNone;
3704 GikoForm.ThreadPanel.Align := alNone;
3706 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3707 GikoForm.ViewPanel.Align := alTop;
3709 GikoForm.ListSplitter.Height := 5;
3710 GikoForm.ListSplitter.Align := alTop;
3712 GikoForm.ViewPanel.Top := -10;
3714 GikoForm.ThreadPanel.Align := alClient;
3715 GikoSys.Setting.ListOrientation := gloVertical;
3716 case GikoSys.Setting.ListHeightState of
3718 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3719 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3720 GikoForm.ViewPanel.Height := 1;
3723 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3724 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3727 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3728 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3729 GikoForm.ViewPanel.Height :=
3730 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3735 // *************************************************************************
3736 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3737 // *************************************************************************
3738 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3740 GikoForm.CabinetPanel.Width := 150;
3741 GikoForm.MessagePanel.Height := 40;
3743 GikoForm.BrowserSizeWidth := 200;
3744 GikoForm.BrowserSizeHeight := 200;
3745 if ArrangeAction.Checked then begin
3746 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3748 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3750 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3751 if GikoSys.Setting.ListHeightState = glsMax then begin
3752 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3753 GikoSys.Setting.ListHeightState := glsNormal;
3756 if GikoSys.Setting.ListWidthState = glsMax then begin
3757 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3758 GikoSys.Setting.ListWidthState := glsNormal;
3762 // *************************************************************************
3763 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3764 // *************************************************************************
3765 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3767 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3768 GikoForm.SetBrowserTabState;
3770 // *************************************************************************
3771 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3772 // *************************************************************************
3773 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3775 BrowserTabBottomAction.Checked := False;
3776 BrowserTabTopAction.Checked := True;
3777 GikoSys.Setting.BrowserTabPosition := gtpTop;
3778 GikoForm.SetBrowserTabState;
3780 // *************************************************************************
3781 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3782 // *************************************************************************
3783 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3785 BrowserTabTopAction.Checked := False;
3786 BrowserTabBottomAction.Checked := True;
3787 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3788 GikoForm.SetBrowserTabState;
3790 // *************************************************************************
3791 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3792 // *************************************************************************
3793 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3795 BrowserTabButtonStyleAction.Checked := False;
3796 BrowserTabFlatStyleAction.Checked := False;
3797 BrowserTabTabStyleAction.Checked := True;
3798 GikoSys.Setting.BrowserTabStyle := gtsTab;
3799 GikoForm.SetBrowserTabState;
3801 // *************************************************************************
3802 //!
\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é
3803 // *************************************************************************
3804 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3806 BrowserTabTabStyleAction.Checked := False;
3807 BrowserTabFlatStyleAction.Checked := False;
3808 BrowserTabButtonStyleAction.Checked := True;
3809 GikoSys.Setting.BrowserTabStyle := gtsButton;
3810 GikoForm.SetBrowserTabState;
3812 // *************************************************************************
3813 //!
\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é
3814 // *************************************************************************
3815 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3817 BrowserTabFlatStyleAction.Checked := True;
3818 BrowserTabTabStyleAction.Checked := False;
3819 BrowserTabButtonStyleAction.Checked := False;
3820 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3821 GikoForm.SetBrowserTabState;
3823 // *************************************************************************
3824 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3825 // *************************************************************************
3826 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3828 GikoForm.ActiveContent.Browser.SetFocus;
3830 // *************************************************************************
3831 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3832 // *************************************************************************
3833 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3835 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3836 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3837 TAction(Sender).Enabled := true
3839 TAction(Sender).Enabled := false;
3841 // *************************************************************************
3842 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3843 // *************************************************************************
3844 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3846 if GikoForm.ActiveContent <> nil then
3847 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3848 GikoForm.ListView.SetFocus;
3850 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3851 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é
3853 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3854 if (GikoForm.ListView.ItemFocused <> nil) then begin
3855 GikoForm.ListView.ItemFocused.MakeVisible(False);
3858 // *************************************************************************
3859 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3860 // *************************************************************************
3861 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3863 if GikoForm.ActiveContent <> nil then
3864 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3865 if GikoForm.TreeView.Visible then begin
3866 GikoForm.TreeView.SetFocus;
3867 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3868 GikoForm.TreeView.Items.Item[0].Selected := true;
3869 end else if GikoForm.FavoriteTreeView.Visible then begin
3870 GikoForm.FavoriteTreeView.SetFocus;
3871 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3872 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3875 // *************************************************************************
3876 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3877 // *************************************************************************
3878 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3880 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3882 // *************************************************************************
3883 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3884 // *************************************************************************
3885 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3887 BrowserMinAction.Execute;
3888 SetFocusForThreadListAction.Execute;
3890 // *************************************************************************
3891 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3892 // *************************************************************************
3893 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3895 BrowserMaxAction.Execute;
3896 SetFocusForBrowserAction.Execute;
3898 // *************************************************************************
3899 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3900 // *************************************************************************
3901 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3903 if GikoForm.ListView.Selected <> nil then begin
3904 GikoForm.ListView.Selected.Focused := True;
3905 GikoForm.ListView.Selected := nil;
3908 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3909 // *************************************************************************
3910 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3911 // *************************************************************************
3912 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3914 SetThreadReadProperty(true);
3916 // *************************************************************************
3917 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3918 // *************************************************************************
3919 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3921 SetThreadReadProperty(false);
3923 // *************************************************************************
3924 //!
\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Ç
3925 // *************************************************************************
3926 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3931 List := TList.Create;
3933 GikoForm.SelectListItem(List);
3934 for i := 0 to List.Count - 1 do begin
3935 if TObject(List[i]) is TThreadItem then begin
3936 if (TThreadItem(List[i]).IsLogFile) then begin
3937 TThreadItem(List[i]).UnRead := not read;
3941 if GikoForm.TreeView.Visible then
3942 GikoForm.TreeView.Refresh;
3943 if GikoForm.ListView.Visible then
3944 GikoForm.ListView.Refresh;
3949 // *************************************************************************
3950 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3951 // *************************************************************************
3952 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3954 GikoForm.ListViewAllSelect;
3956 // *************************************************************************
3957 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3958 // *************************************************************************
3959 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3961 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3963 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3964 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3965 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3967 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 +
3968 '
\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' +
3969 '
\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';
3970 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3973 limitSize : Integer;
3976 {
\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Í
3977 \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
3978 \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õ
3979 è
\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
3980 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3982 if MsgBox(GikoForm.Handle, RECALC_MES,
3983 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3984 //è
\87\92l
\82Ì
\8am
\94F
3985 limitSize := LIMIT_SIZE;
3986 limitStr := IntToStr(limitSize);
3987 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
3988 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3989 if (limitSize < 0) then begin
3990 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3991 ThreadSizeCalcForFileActionExecute(nil);
3993 RecalcThreadSize(limitSize);
3998 //! 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
3999 procedure TGikoDM.RecalcThreadSize(limit : Integer);
4001 i, j, tmpSize : Integer;
4004 Thread: TThreadItem;
4007 //
\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
4008 GikoForm.ScreenCursor := crHourGlass;
4010 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
4011 for i := 0 to BoardGroups[0].Count - 1 do begin
4012 Obj := BoardGroups[0].Objects[i];
4013 if (Obj <> nil) then begin
4014 Board := TBoard(Obj);
4015 if not Board.IsThreadDatRead then begin
4016 GikoSys.ReadSubjectFile(Board);
4018 for j := 0 to Board.Count - 1 do begin
4019 Thread := Board.Items[j];
4020 if (Thread <> nil) and (Thread.IsLogFile)
4021 and (Thread.Size <= limit) then begin
4022 dat := TStringList.Create;
4024 tmpSize := Thread.Size;
4026 dat.LoadFromFile(Thread.GetThreadFileName);
4027 tmpSize := Length(dat.Text);
4028 tmpSize := tmpSize - dat.Count;
4031 Thread.Size := tmpSize;
4038 GikoForm.ProgressBar.StepBy(1);
4041 GikoForm.ScreenCursor := crDefault;
4043 GikoForm.ProgressBar.Position := 0;
4044 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
4046 // *************************************************************************
4047 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
4048 // *************************************************************************
4049 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
4051 form : TInputAssistForm;
4053 form := TInputAssistForm.Create(GikoForm);
4061 // *************************************************************************
4062 //!
\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é
4063 // *************************************************************************
4064 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
4066 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
4067 GikoForm.ActiveContent.OpenFindDialog;
4071 // *************************************************************************
4072 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
4073 // *************************************************************************
4074 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
4077 if GikoForm.ClickNode = nil then Exit;
4080 GikoForm.ClickNode.Text + #13#10;
4083 // *************************************************************************
4084 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4085 // *************************************************************************
4086 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4090 if ( EditorFormExists ) then begin
4091 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4092 for i := Screen.CustomFormCount - 1 downto 0 do begin
4093 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4094 TEditorForm(Screen.CustomForms[i]).Close;
4099 // *************************************************************************
4100 //!
\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é
4101 // *************************************************************************
4102 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4104 if (Sender is TAction) then begin
4105 TAction(Sender).Enabled := EditorFormExists;
4108 // *************************************************************************
4109 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4110 // *************************************************************************
4111 function TGikoDM.EditorFormExists(): boolean;
4116 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4117 for i := Screen.CustomFormCount - 1 downto 0 do begin
4118 if (Screen.CustomForms[i] is TEditorForm) then begin
4125 // *************************************************************************
4126 //!
\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é
4127 // *************************************************************************
4128 procedure TGikoDM.ClearNameTextAllEditor();
4132 for i := 0 to Screen.CustomFormCount - 1 do begin
4133 if (Screen.CustomForms[i] is TEditorForm) then begin
4134 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4138 // *************************************************************************
4139 //!
\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é
4140 // *************************************************************************
4141 procedure TGikoDM.ClearMailAllEditor();
4145 for i := 0 to Screen.CustomFormCount - 1 do begin
4146 if TObject(Screen.CustomForms[i]) is TEditorForm then
4147 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4151 // *************************************************************************
4152 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4153 // *************************************************************************
4154 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4156 PrevMoveHistory.Enabled :=
4157 (MoveHisotryManager.HisotryIndex > 0)
4159 // *************************************************************************
4160 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4161 // *************************************************************************
4162 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4164 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4165 BackToHistory(MoveHisotryManager.getPrevItem
4166 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4167 .Objects[GikoForm.BrowserTab.TabIndex])));
4169 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4172 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4173 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4175 browser : TWebBrowser;
4176 doc : IHTMLDocument2;
4178 if ( item <> nil ) then begin
4179 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4180 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4181 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4182 if (browser <> nil) then begin
4184 doc := browser.ControlInterface.Document as IHTMLDocument2;
4185 (doc.body as IHTMLElement2).ScrollTop := item.ScrollTop;
4191 MoveURLWithHistory(item.ThreadItem.URL, True);
4195 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4196 procedure TGikoDM.MoveURLWithHistory(URL : String; KeyMask: Boolean = False);
4201 GikoForm.MoveToURL(URL, KeyMask);
4202 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4203 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4204 if idx = -1 then begin
4205 GikoForm.AddressComboBox.Items.Insert(0, URL);
4206 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4207 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4209 GikoForm.AddressComboBox.Items.Delete(idx);
4210 GikoForm.AddressComboBox.Items.Insert(0, URL);
4213 // *************************************************************************
4214 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4215 // *************************************************************************
4216 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4218 NextMoveHistory.Enabled :=
4219 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4221 // *************************************************************************
4222 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4223 // *************************************************************************
4224 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4226 BackToHistory(MoveHisotryManager.getNextItem);
4228 // *************************************************************************
4229 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4230 // *************************************************************************
4231 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4233 browser : TWebBrowser;
4234 elem : IHTMLElement;
4235 doc : IHTMLDocument2;
4237 if (GikoForm.GetActiveContent <> nil) then begin
4238 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4239 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4240 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4241 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4242 if (browser <> nil) then begin
4244 doc := browser.ControlInterface.Document as IHTMLDocument2;
4245 if Assigned(doc) then begin
4246 elem := doc.activeElement;
4247 if Assigned(elem) then begin
4258 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4259 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4261 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4262 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4264 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4265 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4267 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4268 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4270 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4271 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4273 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4274 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4276 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4277 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4279 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4280 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4282 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4283 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4285 GikoForm.StoredTaskTray;
4286 StoredTaskTrayAction.Tag := -1;
4290 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4291 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4293 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4295 links : IHTMLElementCollection;
4296 urls, exts : TStringList;
4298 links := GetActiveThreadLinks;
4299 if (links <> nil) then begin
4300 urls := TStringList.Create;
4301 exts := TStringList.Create;
4303 exts.CaseSensitive := False;
4304 exts.Sorted := True;
4305 exts.Delimiter := ';';
4306 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4307 GetLinkURLs(links, urls, 0, exts);
4308 Clipboard.SetTextBuf(urls.GetText);
4317 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4318 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4320 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4322 links : IHTMLElementCollection;
4323 urls, exts : TStringList;
4324 ThreadItem : TThreadItem;
4326 ThreadItem := GikoForm.GetActiveContent;
4327 links := GetActiveThreadLinks;
4328 if (ThreadItem <> nil) and (links <> nil) then begin
4329 urls := TStringList.Create;
4330 exts := TStringList.Create;
4332 exts.CaseSensitive := False;
4333 exts.Sorted := True;
4334 exts.Delimiter := ';';
4335 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4337 GetLinkURLs(links, urls,
4338 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4339 Clipboard.SetTextBuf(urls.GetText);
4347 \breif
\83\8a\83\93\83NURL
\8eæ
\93¾
4348 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4350 procedure TGikoDM.AllLinkToClipboardActionExecute(Sender: TObject);
4352 links : IHTMLElementCollection;
4353 urls, exts : TStringList;
4355 links := GetActiveThreadLinks;
4356 if (links <> nil) then begin
4357 urls := TStringList.Create;
4358 exts := TStringList.Create;
4360 exts.CaseSensitive := False;
4361 exts.Sorted := True;
4362 exts.Delimiter := ';';
4363 exts.DelimitedText :=
4364 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4365 GetLinkURLs(links, urls, 0, exts);
4366 Clipboard.SetTextBuf(urls.GetText);
4374 \breif
\90V
\92\85\83\8c\83X
\83\8a\83\93\83NURL
\8eæ
\93¾
4375 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4377 procedure TGikoDM.NewLinkToClipboardActionExecute(Sender: TObject);
4379 links : IHTMLElementCollection;
4380 urls, exts : TStringList;
4381 ThreadItem : TThreadItem;
4383 ThreadItem := GikoForm.GetActiveContent;
4384 links := GetActiveThreadLinks;
4385 if (ThreadItem <> nil) and (links <> nil) then begin
4386 urls := TStringList.Create;
4387 exts := TStringList.Create;
4389 exts.CaseSensitive := False;
4390 exts.Sorted := True;
4391 exts.Delimiter := ';';
4392 exts.DelimitedText :=
4393 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4394 GetLinkURLs(links, urls,
4395 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4396 Clipboard.SetTextBuf(urls.GetText);
4405 \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
4406 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4408 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4410 browser : TWebBrowser;
4411 doc : IHTMLDocument2;
4414 if (GikoForm.GetActiveContent <> nil) then begin
4415 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4416 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4417 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4418 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4419 if (browser <> nil) then begin
4421 doc := browser.ControlInterface.Document as IHTMLDocument2;
4422 if Assigned(doc) then begin
4423 Result := doc.links;
4434 \brief
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4435 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4436 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4437 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4438 \param Exts
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\8ag
\92£
\8eq
4440 procedure TGikoDM.GetLinkURLs(links : IHTMLElementCollection;
4441 URLs : TStringList; const Start: Integer; Exts : TStringList);
4443 index ,i, j : Integer;
4444 item : IHTMLElement;
4447 if (links <> nil) then begin
4449 for i := 0 to links.length - 1 do begin
4450 item := links.item(i, 0) as IHTMLElement;
4451 if (item <> nil) then begin
4452 url := item.getAttribute('href', 0);
4453 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4454 if (Pos('menu:', url) > 0) then begin
4455 index := StrToInt64Def(
4456 Copy(url, 6, Length(url)), index + 1
4459 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4460 if (index >= Start) then begin
4461 ext := ExtractFileExt( AnsiLowerCase(url) );
4462 //
\8ag
\92£
\8eq
\82ð
\83`
\83F
\83b
\83N
4463 if Exts.Find(ext, j) then begin
4473 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4474 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4476 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4478 if ( GikoForm.AddressToolBar.Visible ) then begin
4479 GikoForm.AddressComboBox.SetFocus;
4483 \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é
4485 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4487 form : TNewBoardURLForm;
4490 if (EditorFormExists) then begin
4491 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4492 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4495 form := TNewBoardURLForm.Create(Self);
4502 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4503 procedure TGikoDM.ScrollPageDownActionExecute(Sender: TObject);
4505 GikoForm.BrowserMovement(GikoForm.BrowserPanel.Height);
4507 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4508 procedure TGikoDM.ScrollPageUpActionExecute(Sender: TObject);
4510 GikoForm.BrowserMovement(-GikoForm.BrowserPanel.Height);
4514 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
\81i
\93§
\96¾)
4515 procedure TGikoDM.AddIDtoNGWord0ActionExecute(Sender: TObject);
4517 GikoForm.AddIDtoNGWord(true);
4519 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
4520 procedure TGikoDM.AddIDtoNGWord1ActionExecute(Sender: TObject);
4522 GikoForm.AddIDtoNGWord(false);
4524 //!
\83N
\83\8a\83b
\83v
\83{
\81[
\83h
\82Ì
\95¶
\8e\9a\97ñ
\82ðID
\82Æ
\82µ
\82Ä
\93¯
\88êID
\83\8c\83X
\83A
\83\93\83J
\81[
\95\
\8e¦
4525 procedure TGikoDM.ExtractSameIDActionExecute(Sender: TObject);
4529 ID := Trim(Clipboard.AsText);
4530 if (Length(ID) > 0) then begin
4531 if not IsNoValidID(ID) then begin
4532 GikoForm.ShowSameIDAncher(ID);
4536 //!
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82·
\82é
4537 procedure TGikoDM.ShowTabListActionExecute(Sender: TObject);
4541 GikoForm.ListView.Items.BeginUpdate;
4542 GikoForm.ListView.Items.Clear;
4543 BoardGroup.SpecialBoard.Clear;
4544 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
4545 BoardGroup.SpecialBoard.Add(
4546 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Thread);
4548 GikoForm.ListView.Items.EndUpdate;
4549 GikoForm.SetActiveList(BoardGroup.SpecialBoard);
4551 //!
\8bt
\8eQ
\8fÆ
\82µ
\82Ä
\82¢
\82é
\83\8c\83X
\82ð
\92Ç
\89Á
\82·
\82é
4552 procedure TGikoDM.DereferenceResActionExecute(Sender: TObject);
4554 i, currentNo, No : Integer;
4555 links : IHTMLElementCollection;
4556 threadItem : TThreadItem;
4557 item : IHTMLElement;
4559 resNo : TStringList;
4560 alreadyExist : Boolean;
4563 No := GikoForm.KokoPopupMenu.Tag;
4564 if No = 0 then Exit;
4566 ThreadItem := GikoForm.KokoPopupThreadItem;
4567 //
\83A
\83N
\83e
\83B
\83u
\83^
\83u
\82©
\82ç
\91S
\82Ä
\82Ì
\83\8a\83\93\83N
\82ð
\8eæ
\93¾
\82·
\82é
4568 links := GetActiveThreadLinks;
4569 if (ThreadItem <> nil) and (links <> nil) then begin
4570 resNo := TStringList.Create;
4573 alreadyExist := False;
4574 //
\83\8a\83\93\83N
\82ð
\91S
\82Ä
\91\96\8d¸
\82·
\82é
4575 for i := 0 to links.length - 1 do begin
4576 item := links.item(i, 0) as IHTMLElement;
4577 if (item <> nil) then begin
4578 url := item.getAttribute('href', 0);
4579 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4580 if (Pos('menu:', url) > 0) then begin
4581 currentNo := StrToInt64Def(
4582 Copy(url, 6, Length(url)), currentNo + 1
4584 alreadyExist := False;
4585 end else if (currentNo <> -1) and (not alreadyExist) then begin
4587 if Pos('about:..', url) = 1 then begin
4588 url := 'about:blank..' + Copy( url, Length('about:..')+1, Length(url) )
4590 //
\8e©
\95ª
\82Ö
\82Ì
\83\8a\83\93\83N
\82©
\82ç
\83\8c\83X
\83|
\83b
\83v
\97p
\82Ì
\94Ô
\8d\86\8eæ
\93¾
4591 if Pos('about:blank..', url) = 1 then begin
4592 // No
\94Ô
\82Ö
\82Ì
\83\8a\83\93\83N
\82ª
\82 \82ê
\82Î
\8eQ
\8fÆ
\82 \82è
4593 url2 := THTMLCreate.GetRespopupURL(url, ThreadItem.URL);
4594 PathRec := Gikosys.Parse2chURL2(url2);
4595 if (not PathRec.FNoParam) then begin
4596 Gikosys.GetPopupResNumber(url2,PathRec.FSt,PathRec.FTo);
4598 //
\91Î
\8fÛ
\83\8c\83X
\82à
\82µ
\82
\82Í
\82»
\82ê
\82ð
\8aÜ
\82Þ
\82È
\82ç
\8eQ
\8fÆ
\82 \82è
\82Æ
\82·
\82é
4599 if (PathRec.FSt = No) or
4600 ((PathRec.FSt <= No) and (PathRec.FTo >= No)) then begin
4601 alreadyExist := True;
4602 resNo.Add(IntToStr(currentNo));
4608 //
\96³
\90§
\8cÀ
\82È
\82Ì
\82Å-1
\8cÅ
\92è
4609 GikoForm.ActiveContent.IDAnchorPopup(
4610 GikoSys.CreateResAnchor(resNo, ThreadItem, -1));
4618 procedure TGikoDM.UpdateGikonaviActionExecute(Sender: TObject);
4620 form : TUpdateCheckForm;
4624 if (EditorFormExists) then begin
4625 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4626 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4629 GikoForm.UpdateExePath := '';
4630 GikoForm.UpdateExeArgs := '';
4631 form := TUpdateCheckForm.Create(GikoForm);
4634 shutdown := form.Allowshutdown;
4635 if shutdown then begin
4636 GikoForm.UpdateExePath := form.ExecPath;
4637 GikoForm.UpdateExeArgs := form.ExecArgs;
4642 if shutdown then begin
4643 //
\83M
\83R
\83i
\83r
\8fI
\97¹
4648 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iPATH_INFO)
4649 procedure TGikoDM.konoURLPATHActionExecute(Sender: TObject);
4652 ThreadItem : TThreadItem;
4653 URL, Protocol, Host, Path, Document, Port, Bookmark : String;
4655 No := GikoForm.KokoPopupMenu.Tag;
4656 if No = 0 then Exit;
4658 ThreadItem := GikoForm.KokoPopupThreadItem;
4659 if (ThreadItem.ParentBoard.Is2ch) or not (Pos('?', ThreadItem.URL) > 0) then begin
4660 GikoSys.ParseURI(ThreadItem.URL,Protocol, Host, Path, Document, Port, Bookmark);
4661 URL := Protocol + '://' + Host + Path + IntToStr(No);
4663 if Pos('?', ThreadItem.URL) > 0 then begin
4664 URL := Copy(ThreadItem.URL, 1, Pos('?', ThreadItem.URL)-1);
4665 //
\82Ü
\82¿BBS
\97p
\8f\88\92u
4666 URL := MojuUtils.CustomStringReplace(URL, 'read.pl', 'read.cgi');
4667 URL := URL + '/' + ThreadItem.ParentBoard.BBSID + '/' + ChangeFileExt(ThreadItem.FileName, '') + '/' + IntToStr(No);
4670 Clipboard.SetTextBuf( PChar(URL) );
4672 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iQuery_STRING)
4673 procedure TGikoDM.konoURLQueryActionExecute(Sender: TObject);
4676 ThreadItem : TThreadItem;
4677 URL, Protocol, Host, Path, Document, Port, Bookmark : String;
4679 No := GikoForm.KokoPopupMenu.Tag;
4680 if No = 0 then Exit;
4682 ThreadItem := GikoForm.KokoPopupThreadItem;
4683 // 2ch
\82Æ
\82µ
\82½
\82ç
\82Î
\82Í
\81A
\83\8c\83X
\94Ô
\8d\86\82ð
\82¤
\82Ü
\82
\8f\88\97\9d\82µ
\82Ä
\82
\82ê
\82È
\82¢
\82Ì
\82Å
\97\98\97p
\95s
\89Â
4684 if ThreadItem.ParentBoard.Is2ch or not (Pos('?', ThreadItem.URL) > 0) then begin
4685 GikoSys.ParseURI(ThreadItem.URL, Protocol, Host, Path, Document, Port, Bookmark);
4686 URL := Protocol + '://' + Host + '/test/read.cgi?bbs=' + ThreadItem.ParentBoard.BBSID
4687 + '&key=' + ChangeFileExt(ThreadItem.FileName, '') + '&st=' + IntToStr(No) + '&to=' + IntToStr(No);
4689 URL := ThreadItem.URL;
4691 if Pos('&LAST=', URL) > 0 then begin
4692 URL := Copy(URL, 1, Pos('&LAST=', URL) - 1);
4693 URL := URL + '&START=' + IntToStr(No) + '&END=' + IntToStr(No);
4695 //
\82»
\82Ì
\91¼
\8aO
\95\94\94Â
4696 if Pos('&ls=', URL) > 0 then begin
4697 URL := Copy(URL, 1, Pos('&ls=', URL) - 1);
4698 URL := URL + '&st=' + IntToStr(No) + '&to=' + IntToStr(No);
4702 Clipboard.SetTextBuf( PChar(URL) );
4704 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iQuery_STRING
\81j
\82Ì
\97\98\97p
\83`
\83F
\83b
\83N
4705 procedure TGikoDM.konoURLQueryActionUpdate(Sender: TObject);
4707 LIVEDOOR_URL = 'http://jbbs.shitaraba.net/';
4709 // 2ch
\82Æ
\82µ
\82½
\82ç
\82Î
\82Í
\97\98\97p
\82Å
\82«
\82È
\82¢
\82æ
\82¤
\82É
\82·
\82é
\81i
\82¤
\82Ü
\82
\83\8c\83X
\8ew
\92è
\82Å
\82«
\82È
\82¢
\82Ì
\82Å
\81j
4710 konoURLQueryAction.Enabled := false;
4711 if (GikoForm.KokoPopupThreadItem <> nil) then begin
4712 konoURLQueryAction.Enabled := not GikoForm.KokoPopupThreadItem.ParentBoard.Is2ch;
4713 if konoURLQueryAction.Enabled then begin
4714 konoURLQueryAction.Enabled := not (Pos(LIVEDOOR_URL, GikoForm.KokoPopupThreadItem.URL) = 1);
4718 //!
\83|
\83b
\83v
\83A
\83b
\83v
\83\81\83j
\83\85\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
4719 procedure TGikoDM.PopupMenuSettingActionExecute(Sender: TObject);
4721 Dlg: TPopupMenuSettingDialog;
4723 Dlg := TPopupMenuSettingDialog.Create(GikoForm, GikoFormActionList);