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 ThreadSearchAction: TAction;
256 ThreadNgEditAction: TAction;
257 procedure EditNGActionExecute(Sender: TObject);
258 procedure ReloadActionExecute(Sender: TObject);
259 procedure GoFowardActionExecute(Sender: TObject);
260 procedure GoBackActionExecute(Sender: TObject);
261 procedure MoveToActionExecute(Sender: TObject);
262 procedure FavoriteAddActionExecute(Sender: TObject);
263 procedure FavoriteArrangeActionExecute(Sender: TObject);
264 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
265 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
266 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
267 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
268 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
269 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
270 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
271 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
272 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
273 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
274 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
275 procedure OnlyAHundredResActionExecute(Sender: TObject);
276 procedure OnlyKokoResActionExecute(Sender: TObject);
277 procedure OnlyNewResActionExecute(Sender: TObject);
278 procedure BrowserMaxActionExecute(Sender: TObject);
279 procedure BrowserMinActionExecute(Sender: TObject);
280 procedure ScrollTopActionExecute(Sender: TObject);
281 procedure ScrollLastActionExecute(Sender: TObject);
282 procedure ScrollNewActionExecute(Sender: TObject);
283 procedure ScrollKokoActionExecute(Sender: TObject);
284 procedure ScrollKokoActionUpdate(Sender: TObject);
285 procedure EditorActionExecute(Sender: TObject);
286 procedure IEActionExecute(Sender: TObject);
287 procedure ShowThreadActionExecute(Sender: TObject);
288 procedure ShowBoardActionExecute(Sender: TObject);
289 procedure URLCopyActionExecute(Sender: TObject);
290 procedure NameCopyActionExecute(Sender: TObject);
291 procedure NameURLCopyActionExecute(Sender: TObject);
292 procedure ItemReloadActionExecute(Sender: TObject);
293 procedure BrowserTabCloseActionExecute(Sender: TObject);
294 procedure BrowserTabCloseActionUpdate(Sender: TObject);
295 procedure NotSelectTabCloseActionExecute(Sender: TObject);
296 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
297 procedure AllTabCloseActionExecute(Sender: TObject);
298 procedure ActiveLogDeleteActionExecute(Sender: TObject);
299 procedure LeftmostTabSelectActionExecute(Sender: TObject);
300 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
301 procedure LeftTabSelectActionExecute(Sender: TObject);
302 procedure RightTabSelectActionExecute(Sender: TObject);
303 procedure RightTabSelectActionUpdate(Sender: TObject);
304 procedure RightmostTabSelectActionExecute(Sender: TObject);
305 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
306 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
307 procedure SelectResActionExecute(Sender: TObject);
308 procedure AllResActionExecute(Sender: TObject);
309 procedure ResRangeActionExecute(Sender: TObject);
310 procedure UpBoardActionExecute(Sender: TObject);
311 procedure JumpToNumOfResActionExecute(Sender: TObject);
312 procedure RightTabCloseActionExecute(Sender: TObject);
313 procedure RightTabCloseActionUpdate(Sender: TObject);
314 procedure LeftTabCloseActionExecute(Sender: TObject);
315 procedure DataModuleCreate(Sender: TObject);
316 procedure SearchActionExecute(Sender: TObject);
317 procedure OptionActionExecute(Sender: TObject);
318 procedure RoundActionExecute(Sender: TObject);
319 procedure KeySettingActionExecute(Sender: TObject);
320 procedure KotehanActionExecute(Sender: TObject);
321 procedure ToolBarSettingActionExecute(Sender: TObject);
322 procedure MuteActionExecute(Sender: TObject);
323 procedure TreeSelectBoradReloadExecute(Sender: TObject);
324 procedure TreeSelectThreadReloadExecute(Sender: TObject);
325 procedure TreeSelectURLCopyExecute(Sender: TObject);
326 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
327 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
328 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
329 procedure TreeSelectNameCopyExecute(Sender: TObject);
330 procedure LoginActionExecute(Sender: TObject);
331 procedure NewBoardActionExecute(Sender: TObject);
332 procedure LogDeleteActionExecute(Sender: TObject);
333 procedure LogDeleteActionUpdate(Sender: TObject);
334 procedure SelectTextClearActionExecute(Sender: TObject);
335 procedure NameTextClearActionExecute(Sender: TObject);
336 procedure MailTextClearActionExecute(Sender: TObject);
337 procedure ExitActionExecute(Sender: TObject);
338 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
339 procedure ExportFavoriteFileAccept(Sender: TObject);
340 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
341 procedure SelectItemSaveForDatExecute(Sender: TObject);
342 procedure TabsSaveActionExecute(Sender: TObject);
343 procedure TabsOpenActionExecute(Sender: TObject);
344 procedure BeLogInOutActionExecute(Sender: TObject);
345 procedure KokomadeActionExecute(Sender: TObject);
346 procedure ZenbuActionExecute(Sender: TObject);
347 procedure KokoResActionExecute(Sender: TObject);
348 procedure KoreCopyExecute(Sender: TObject);
349 procedure SameIDResAnchorActionExecute(Sender: TObject);
350 procedure IndividualAbon1ActionExecute(Sender: TObject);
351 procedure IndividualAbon0ActionExecute(Sender: TObject);
352 procedure AntiIndividualAbonActionExecute(Sender: TObject);
353 procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
354 procedure IndividualAbonID1ActionExecute(Sender: TObject);
355 procedure IndividualAbonID0ActionExecute(Sender: TObject);
356 procedure GikoNaviWebPageActionExecute(Sender: TObject);
357 procedure MonazillaWebPageActionExecute(Sender: TObject);
358 procedure BBS2chWebPageActionExecute(Sender: TObject);
359 procedure GikoFolderOpenActionExecute(Sender: TObject);
360 procedure AboutActionExecute(Sender: TObject);
361 procedure GikoHelpActionExecute(Sender: TObject);
362 procedure WikiFAQWebPageActionExecute(Sender: TObject);
363 procedure ListNumberVisibleActionExecute(Sender: TObject);
364 procedure UpFolderActionExecute(Sender: TObject);
365 procedure UpFolderActionUpdate(Sender: TObject);
366 procedure IconStyleExecute(Sender: TObject);
367 procedure AllItemActionExecute(Sender: TObject);
368 procedure LogItemActionExecute(Sender: TObject);
369 procedure NewItemActionExecute(Sender: TObject);
370 procedure ThreadRangeActionExecute(Sender: TObject);
371 procedure SelectItemActionExecute(Sender: TObject);
372 procedure ThreadEditorActionExecute(Sender: TObject);
373 procedure BoardIEActionExecute(Sender: TObject);
374 procedure SelectItemURLCopyActionExecute(Sender: TObject);
375 procedure SelectItemURLCopyActionUpdate(Sender: TObject);
376 procedure SelectItemNameCopyActionExecute(Sender: TObject);
377 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
378 procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
379 procedure SelectListReloadActionExecute(Sender: TObject);
380 procedure SelectListReloadActionUpdate(Sender: TObject);
381 procedure SelectThreadReloadActionExecute(Sender: TObject);
382 procedure SelectThreadReloadActionUpdate(Sender: TObject);
383 procedure SelectReservActionExecute(Sender: TObject);
384 procedure SelectReservActionUpdate(Sender: TObject);
385 procedure SelectNewRoundNameExecute(Sender: TObject);
386 procedure SelectDeleteRoundExecute(Sender: TObject);
387 procedure BoardFavoriteAddActionExecute(Sender: TObject);
388 procedure BoardFavoriteAddActionUpdate(Sender: TObject);
389 procedure LogFolderOpenActionExecute(Sender: TObject);
390 procedure LogFolderOpenActionUpdate(Sender: TObject);
391 procedure BrowsBoradHeadActionExecute(Sender: TObject);
392 procedure SortActiveColumnActionExecute(Sender: TObject);
393 procedure SortNextColumnActionExecute(Sender: TObject);
394 procedure SortPrevColumnActionExecute(Sender: TObject);
395 procedure StdToolBarVisibleActionExecute(Sender: TObject);
396 procedure AddressBarVisibleActionExecute(Sender: TObject);
397 procedure LinkBarVisibleActionExecute(Sender: TObject);
398 procedure ListToolBarVisibleActionExecute(Sender: TObject);
399 procedure ListNameBarVisibleActionExecute(Sender: TObject);
400 procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
401 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
402 procedure MsgBarVisibleActionExecute(Sender: TObject);
403 procedure MsgBarCloseActionExecute(Sender: TObject);
404 procedure StatusBarVisibleActionExecute(Sender: TObject);
405 procedure CabinetBBSActionExecute(Sender: TObject);
406 procedure CabinetHistoryActionExecute(Sender: TObject);
407 procedure CabinetFavoriteActionExecute(Sender: TObject);
408 procedure CabinetVisibleActionExecute(Sender: TObject);
409 procedure CabinetCloseActionExecute(Sender: TObject);
410 procedure LargeIconActionExecute(Sender: TObject);
411 procedure SmallIconActionExecute(Sender: TObject);
412 procedure ListIconActionExecute(Sender: TObject);
413 procedure DetailIconActionExecute(Sender: TObject);
414 procedure StopActionExecute(Sender: TObject);
415 procedure ArrangeActionExecute(Sender: TObject);
416 procedure PaneInitActionExecute(Sender: TObject);
417 procedure BrowserTabVisibleActionExecute(Sender: TObject);
418 procedure BrowserTabTopActionExecute(Sender: TObject);
419 procedure BrowserTabBottomActionExecute(Sender: TObject);
420 procedure BrowserTabTabStyleActionExecute(Sender: TObject);
421 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
422 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
423 procedure SetFocusForBrowserActionExecute(Sender: TObject);
424 procedure SetFocusForBrowserActionUpdate(Sender: TObject);
425 procedure SetFocusForThreadListActionExecute(Sender: TObject);
426 procedure SetFocusForCabinetActionExecute(Sender: TObject);
427 procedure SetFocusForCabinetActionUpdate(Sender: TObject);
428 procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
429 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
430 procedure UnSelectedListViewActionExecute(Sender: TObject);
431 procedure KidokuActionExecute(Sender: TObject);
432 procedure MidokuActionExecute(Sender: TObject);
433 procedure AllSelectActionExecute(Sender: TObject);
434 procedure AllSelectActionUpdate(Sender: TObject);
435 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
436 procedure SetInputAssistActionExecute(Sender: TObject);
437 procedure OpenFindDialogActionExecute(Sender: TObject);
438 procedure ArchiveItemActionExecute(Sender: TObject);
439 procedure LiveItemActionExecute(Sender: TObject);
440 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
441 procedure CloseAllEditorActionExecute(Sender: TObject);
442 procedure CloseAllEditorActionUpdate(Sender: TObject);
443 procedure PrevMoveHistoryUpdate(Sender: TObject);
444 procedure PrevMoveHistoryExecute(Sender: TObject);
445 procedure NextMoveHistoryUpdate(Sender: TObject);
446 procedure NextMoveHistoryExecute(Sender: TObject);
447 procedure ClickActiveElementActionExecute(Sender: TObject);
448 procedure VKDownActionExecute(Sender: TObject);
449 procedure VKUpActionExecute(Sender: TObject);
450 procedure VKRightActionExecute(Sender: TObject);
451 procedure VKLeftActionExecute(Sender: TObject);
452 procedure StoredTaskTrayActionExecute(Sender: TObject);
453 procedure LeftTabSelectActionUpdate(Sender: TObject);
454 procedure RightmostTabSelectActionUpdate(Sender: TObject);
455 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
456 procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
457 procedure SetForcusForAddresBarActionExecute(Sender: TObject);
458 procedure NewBoardSearchActionExecute(Sender: TObject);
459 procedure ScrollPageDownActionExecute(Sender: TObject);
460 procedure ScrollPageUpActionExecute(Sender: TObject);
461 procedure AllLinkToClipboardActionExecute(Sender: TObject);
462 procedure NewLinkToClipboardActionExecute(Sender: TObject);
463 procedure AddIDtoNGWord0ActionExecute(Sender: TObject);
464 procedure AddIDtoNGWord1ActionExecute(Sender: TObject);
465 procedure ExtractSameIDActionExecute(Sender: TObject);
466 procedure ShowTabListActionExecute(Sender: TObject);
467 procedure DereferenceResActionExecute(Sender: TObject);
468 procedure UpdateGikonaviActionExecute(Sender: TObject);
469 procedure konoURLPATHActionExecute(Sender: TObject);
470 procedure konoURLQueryActionExecute(Sender: TObject);
471 procedure konoURLQueryActionUpdate(Sender: TObject);
472 procedure PopupMenuSettingActionExecute(Sender: TObject);
473 procedure GikoNaviGoesonWebPageActionExecute(Sender: TObject);
474 procedure GoWikiFAQWebPageActionExecute(Sender: TObject);
475 procedure ThreadSearchActionExecute(Sender: TObject);
476 procedure ThreadNgEditActionExecute(Sender: TObject);
479 procedure ClearResFilter;
480 procedure SetResRange(range: Integer);
481 procedure SetThreadAreaHorNormal;
482 procedure SetThreadAreaHorizontal(gls : TGikoListState);
483 procedure SetThreadAreaVerNormal;
484 procedure SetThreadAreaVertical(gls : TGikoListState);
485 procedure SetThreadReadProperty(read: Boolean);
486 procedure SelectThreadSaveToFile(dat: Boolean);
487 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
488 procedure RecalcThreadSize(limit : Integer);
489 procedure ClearSelectComboBox;
490 procedure ClearMailAllEditor();
491 procedure ClearNameTextAllEditor();
492 // procedure MoveURLWithHistory(URL : String; KeyMask: Boolean = False);
493 procedure BackToHistory(item: TMoveHistoryItem);
494 function GetActiveThreadLinks : IHTMLElementCollection;
495 procedure GetLinkURLs(links : IHTMLElementCollection;
496 URLs : TStringList; const Start: Integer; Exts : TStringList);
499 procedure RepaintStatusBar;
500 function EditorFormExists(): boolean;
501 procedure GetTabURLs(AStringList: TStringList);
502 procedure OpenURLs(AStringList: TStringList);
503 procedure MoveURLWithHistory(URL : String; KeyMask: Boolean = False);
504 procedure SaveThreadSearchSetting;
506 { Published
\90é
\8c¾ }
507 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
508 procedure DependActiveCntentActionUpdate(Sender: TObject);
509 //! 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é
510 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
511 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
512 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
513 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
514 procedure DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
524 Windows, Math, Clipbrd,
525 Giko, GikoUtil, BoardGroup,
526 FavoriteArrange, Favorite, MojuUtils,
527 Editor, ListSelect, Search, Option, Round,
528 KeySetting, Gesture, Kotehan, ToolBarSetting,
529 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
530 GikoBayesian, About, ShellAPI,
531 RoundName, RoundData, Menus, ListViewUtils,
532 ThreadControl, GikoMessage, InputAssist,
533 DefaultFileManager, Forms, NewBoardURL, UpdateCheck,
534 PopupMenuSetting, ThreadSearch, ThreadNGEdt;
537 MSG_ERROR : string = '
\83G
\83\89\81[';
540 // *************************************************************************
541 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
542 // *************************************************************************
543 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
545 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
547 // *************************************************************************
548 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
549 // *************************************************************************
550 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
552 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
553 and (GikoForm.GetActiveContent.IsLogFile);
555 // *************************************************************************
556 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
557 // *************************************************************************
558 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
560 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard) and
561 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
563 // *************************************************************************
564 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
565 // *************************************************************************
566 procedure TGikoDM.DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
568 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
570 // *************************************************************************
571 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
572 // *************************************************************************
573 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
575 //
\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
576 GikoSys.FAbon.EditNGwords;
578 // *************************************************************************
579 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
580 // *************************************************************************
581 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
583 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
584 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
585 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½',
586 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
588 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
589 GikoForm.RepaintAllTabsBrowser();
592 // *************************************************************************
593 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
594 // *************************************************************************
595 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
597 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
598 if GikoSys.FAbon.GoBack =false then begin
599 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½',
600 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
602 //
\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
604 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
605 GikoForm.RepaintAllTabsBrowser();
608 // *************************************************************************
609 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
610 // *************************************************************************
611 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
613 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
614 if GikoSys.FAbon.GoForward =false then begin
615 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½',
616 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
618 //
\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
620 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
621 GikoForm.RepaintAllTabsBrowser();
624 // *************************************************************************
625 //! 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
626 // *************************************************************************
627 procedure TGikoDM.RepaintStatusBar;
631 //
\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
632 s := GikoSys.FAbon.NGwordname;
633 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
634 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
635 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
636 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
637 GikoForm.StatusBarResize(nil);
639 // *************************************************************************
640 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
641 // *************************************************************************
642 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
644 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
646 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
648 // *************************************************************************
649 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
650 // *************************************************************************
651 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
653 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
655 // *************************************************************************
656 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
657 // *************************************************************************
658 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
660 Dlg: TFavoriteArrangeDialog;
662 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
668 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
669 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
671 // *************************************************************************
672 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
673 // *************************************************************************
674 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
678 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
680 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
681 while node <> nil do begin
682 if node.HasChildren then
683 node.Expanded := False;
684 node := node.GetNext;
689 // *************************************************************************
690 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
691 // *************************************************************************
692 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
697 if GikoForm.ClickNode = nil then
699 if GikoForm.ClickNode.IsFirstNode then
701 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
703 GikoForm.FavoriteTreeView.ReadOnly := False;
704 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
705 node := GikoForm.ClickNode.Parent;
706 while node <> nil do begin
707 node.Expanded := True;
710 GikoForm.ClickNode.EditText;
712 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 );
714 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
715 FavoriteDM.Modified := true;
718 // *************************************************************************
719 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
720 // *************************************************************************
721 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
723 NewFavFolder: TFavoriteFolder;
727 if GikoForm.ClickNode = nil then
731 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
732 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
733 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
736 NewFavFolder := TFavoriteFolder.Create;
737 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
738 Node.ImageIndex := 14;
739 Node.SelectedIndex := 14;
740 // FClickNode.Selected.Expanded := True;
741 GikoForm.FavoriteTreeView.Selected := Node;
742 GikoForm.ClickNode := Node;
743 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
744 FavoriteDM.Modified := true;
745 FavoriteTreeViewRenameAction.Execute;
750 // *************************************************************************
751 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
752 // *************************************************************************
753 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
755 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';
756 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
757 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
760 if GikoForm.ClickNode = nil then
762 if GikoForm.ClickNode.IsFirstNode then
764 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
765 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
766 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
769 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
774 GikoForm.ClickNode.Delete;
775 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
776 FavoriteDM.Modified := true;
781 // *************************************************************************
782 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
783 // *************************************************************************
784 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
787 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
789 // *************************************************************************
790 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
791 // *************************************************************************
792 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
794 FavThread: TFavoriteThreadItem;
795 FavBoard: TFavoriteBoardItem;
798 if (GikoForm.ClickNode = nil) then Exit;
800 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
802 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
803 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
804 if FavThread.Item <> nil then
805 GikoForm.DownloadContent(FavThread.Item, shiftDown);
806 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
807 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
808 GikoForm.DownloadList(FavBoard.Item, shiftDown);
812 // *************************************************************************
813 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
814 // *************************************************************************
815 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
818 if GikoForm.ClickNode = nil then Exit;
820 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
821 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
824 // *************************************************************************
825 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
826 // *************************************************************************
827 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
830 if GikoForm.ClickNode = nil then Exit;
832 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
834 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
837 GikoForm.ClickNode.Text + #13#10;
841 // *************************************************************************
842 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
843 // *************************************************************************
844 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
847 favItem : TFavoriteItem;
850 if GikoForm.ClickNode = nil then Exit;
852 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
853 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
854 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
855 favItem.URL + #13#10;
859 // *************************************************************************
860 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
861 // *************************************************************************
862 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
864 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';
865 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
867 ThreadItem: TThreadItem;
868 FavThread: TFavoriteThreadItem;
871 if GikoForm.ClickNode = nil then Exit;
872 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
874 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
875 ThreadItem := FavThread.Item;
878 if GikoSys.Setting.DeleteMsg then begin
879 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
880 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
884 GikoForm.DeleteHistory(ThreadItem);
885 GikoForm.DeleteTab(ThreadItem);
886 ThreadItem.DeleteLogFile;
888 GikoForm.ListView.Refresh;
893 // *************************************************************************
894 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
895 // *************************************************************************
896 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
899 threadItem : TThreadItem;
902 if GikoForm.ClickNode = nil then Exit;
904 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
906 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
907 if threadItem = nil then
909 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
913 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
914 procedure TGikoDM.ClearResFilter;
916 FilterList : TStringList;
918 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
919 FilterList := TStringList.Create;
921 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
922 GikoSys.FSelectResFilter.Reverse := False;
926 GikoForm.SelectResWord := '';
928 // *************************************************************************
929 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
930 // *************************************************************************
931 procedure TGikoDM.SetResRange(range: Integer);
933 if GikoSys.ResRange <> range then begin
934 GikoSys.ResRange := range;
935 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
937 GikoForm.RepaintAllTabsBrowser();
940 // *************************************************************************
941 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
942 // *************************************************************************
943 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
945 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
946 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
948 GikoForm.ResRangeMenuSelect := 100;
949 OnlyAHundredResAction.Checked := True;
950 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
\81B
\90Ý
\92è
\92l
\82©
\82ç
\82Æ
\82Á
\82Ä
\82
\82é
\81B
951 SetResRange(GikoSys.Setting.ResRangeExCount);
953 // *************************************************************************
954 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
955 // *************************************************************************
956 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
958 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
959 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
961 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
962 OnlyKokoResAction.Checked := True;
964 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
965 SetResRange(Ord( grrKoko ));
967 // *************************************************************************
968 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
969 // *************************************************************************
970 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
972 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
973 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
975 GikoForm.ResRangeMenuSelect := Ord( grrNew );
976 OnlyNewResAction.Checked := True;
978 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
979 SetResRange(Ord( grrNew ));
981 // *************************************************************************
982 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
983 // *************************************************************************
984 procedure TGikoDM.SetThreadAreaHorNormal;
986 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
987 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
988 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
989 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
990 GikoSys.Setting.ListWidthState := glsNormal;
992 // *************************************************************************
993 //!
\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@
994 // *************************************************************************
995 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
997 if GikoSys.Setting.ListWidthState = glsNormal then
998 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
1000 if (gls = glsMax) then begin
1001 GikoForm.ViewPanel.Width := 1;
1002 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
1003 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
1004 GikoSys.Setting.ListWidthState := glsMax;
1005 end else if (gls = glsMin) then begin
1006 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
1007 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
1008 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
1009 GikoSys.Setting.ListWidthState := glsMin;
1012 // *************************************************************************
1013 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
1014 // *************************************************************************
1015 procedure TGikoDM.SetThreadAreaVerNormal;
1017 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1018 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
1019 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1020 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1021 GikoSys.Setting.ListHeightState := glsNormal;
1023 // *************************************************************************
1024 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
1025 // *************************************************************************
1026 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
1028 if GikoSys.Setting.ListHeightState = glsNormal then
1029 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
1030 if (gls = glsMin) then begin
1031 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
1032 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1033 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1034 GikoSys.Setting.ListHeightState := glsMin;
1035 end else if (gls = glsMax) then begin
1036 GikoForm.ViewPanel.Height := 1;
1037 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1038 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1039 GikoSys.Setting.ListHeightState := glsMax;
1042 // *************************************************************************
1043 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
1044 // *************************************************************************
1045 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
1047 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1048 case GikoSys.Setting.ListWidthState of
1050 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1051 SetThreadAreaHorNormal;
1053 glsMin, glsNormal: begin
1054 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1055 SetThreadAreaHorizontal(glsMax);
1059 case GikoSys.Setting.ListHeightState of
1061 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1062 SetThreadAreaVerNormal;
1064 glsMin, glsNormal: begin
1065 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1066 SetThreadAreaVertical(glsMax);
1071 // *************************************************************************
1072 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1073 // *************************************************************************
1074 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1076 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1077 case GikoSys.Setting.ListWidthState of
1078 glsMax, glsNormal: begin
1079 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1080 SetThreadAreaHorizontal(glsMin);
1083 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1084 SetThreadAreaHorNormal;
1088 case GikoSys.Setting.ListHeightState of
1089 glsMax, glsNormal: begin
1090 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1091 SetThreadAreaVertical(glsMin);
1094 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1095 SetThreadAreaVerNormal;
1100 // *************************************************************************
1101 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1102 // *************************************************************************
1103 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1105 GikoForm.BrowserMovement('top');
1107 // *************************************************************************
1108 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1109 // *************************************************************************
1110 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1112 GikoForm.BrowserMovement('bottom');
1114 // *************************************************************************
1115 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1116 // *************************************************************************
1117 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1119 GikoForm.BrowserMovement('new');
1121 // *************************************************************************
1122 //!
\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é
1123 // *************************************************************************
1124 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1126 GikoForm.BrowserMovement('koko');
1128 // *************************************************************************
1129 //!
\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
1130 // *************************************************************************
1131 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1133 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1134 and (GikoForm.GetActiveContent.IsLogFile)
1135 and (GikoForm.GetActiveContent.Kokomade <> -1);
1137 // *************************************************************************
1138 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1139 // *************************************************************************
1140 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1142 Editor: TEditorForm;
1145 Item := GikoForm.GetActiveContent;
1146 if Item = nil then Exit;
1147 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1148 Editor.SetThreadItem(Item);
1150 Editor.SetFocusEdit;
1152 // *************************************************************************
1153 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1154 // *************************************************************************
1155 procedure TGikoDM.IEActionExecute(Sender: TObject);
1157 ShowThreadAction.Execute;
1159 // *************************************************************************
1160 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1161 // *************************************************************************
1162 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1164 ThreadItem: TThreadItem;
1166 ThreadItem := GikoForm.GetActiveContent;
1167 if ThreadItem = nil then Exit;
1168 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1170 // *************************************************************************
1171 //!
\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é
1172 // *************************************************************************
1173 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1175 ThreadItem: TThreadItem;
1177 ThreadItem := GikoForm.GetActiveContent;
1178 if ThreadItem = nil then Exit;
1179 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1181 // *************************************************************************
1182 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1183 // *************************************************************************
1184 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1189 if TObject(GikoForm.GetActiveContent) is TBoard then
1190 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1191 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1192 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1194 Clipboard.AsText := s;
1196 // *************************************************************************
1197 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1198 // *************************************************************************
1199 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1204 if TObject(GikoForm.GetActiveContent) is TBoard then
1205 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1206 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1207 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1209 Clipboard.AsText := s;
1211 // *************************************************************************
1212 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1213 // *************************************************************************
1214 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1219 if TObject(GikoForm.GetActiveContent) is TBoard then
1220 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1221 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1222 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1224 Clipboard.AsText := s;
1226 // *************************************************************************
1227 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1228 // *************************************************************************
1229 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1231 ThreadItem: TThreadItem;
1234 ThreadItem := GikoForm.GetActiveContent;
1235 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1236 if ThreadItem <> nil then
1237 GikoForm.DownloadContent(ThreadItem, shiftDown);
1239 // *************************************************************************
1240 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1241 // *************************************************************************
1242 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1246 idx := GikoForm.BrowserTab.TabIndex;
1247 if idx <> -1 then begin
1248 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1249 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1253 // *************************************************************************
1254 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1255 // *************************************************************************
1256 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1258 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1260 // *************************************************************************
1261 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1262 // *************************************************************************
1263 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1268 idx := GikoForm.BrowserTab.TabIndex;
1269 if idx = -1 then Exit;
1270 GikoForm.BrowserTab.Tabs.BeginUpdate;
1271 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1272 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1273 GikoForm.BrowserTab.Tabs.Delete(i);
1275 if idx > 0 then begin
1276 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1277 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1278 GikoForm.BrowserTab.Tabs.Delete(i);
1281 GikoForm.BrowserTab.Tabs.EndUpdate;
1283 // *************************************************************************
1284 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1285 // *************************************************************************
1286 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1288 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1290 // *************************************************************************
1291 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1292 // *************************************************************************
1293 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1297 if GikoSys.Setting.ShowDialogForAllTabClose then
1298 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
1301 GikoForm.ActiveContent := nil;
1302 GikoForm.BrowserNullTab.Thread := nil;
1303 GikoForm.BrowserTab.OnChange := nil;
1304 GikoForm.BrowserTab.Tabs.BeginUpdate;
1305 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1306 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1308 GikoForm.BrowserTab.Tabs.Clear;
1309 GikoForm.BrowserTab.Tabs.EndUpdate;
1310 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1311 GikoForm.SetContent(GikoForm.BrowserNullTab);
1312 GikoForm.Caption := CAPTION_NAME ;
1314 // *************************************************************************
1315 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1316 // *************************************************************************
1317 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1319 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';
1320 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1323 ThreadItem: TThreadItem;
1325 idx := GikoForm.BrowserTab.TabIndex;
1326 if idx <> -1 then begin
1327 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1328 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1329 if GikoSys.Setting.DeleteMsg then
1330 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1331 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1333 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1334 GikoForm.DeleteHistory(ThreadItem);
1335 ThreadItem.DeleteLogFile;
1336 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1337 GikoForm.ListView.Refresh;
1341 // *************************************************************************
1342 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1343 // *************************************************************************
1344 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1346 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1347 GikoForm.BrowserTab.TabIndex := 0;
1348 GikoForm.BrowserTab.OnChange(nil);
1351 // *************************************************************************
1352 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1353 // *************************************************************************
1354 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1356 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1357 LeftmostTabSelectActionUpdate(Sender);
1359 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1363 // *************************************************************************
1364 //!
\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
1365 // *************************************************************************
1366 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1368 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1369 and (GikoForm.BrowserTab.TabIndex <> 0);
1371 // *************************************************************************
1372 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1373 // *************************************************************************
1374 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1376 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1377 if GikoForm.BrowserTab.TabIndex = -1 then begin
1378 GikoForm.BrowserTab.TabIndex := 0;
1379 GikoForm.BrowserTab.OnChange(nil);
1380 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1381 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1382 GikoForm.BrowserTab.OnChange(nil);
1384 if (GikoSys.Setting.LoopBrowserTabs) and
1385 (GikoForm.BrowserTab.TabIndex = 0) then begin
1386 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1387 GikoForm.BrowserTab.OnChange(nil);
1392 // *************************************************************************
1393 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1394 // *************************************************************************
1395 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1397 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1398 if GikoForm.BrowserTab.TabIndex = -1 then begin
1399 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1400 GikoForm.BrowserTab.OnChange(nil);
1401 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1402 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1403 GikoForm.BrowserTab.OnChange(nil);
1405 if (GikoSys.Setting.LoopBrowserTabs) and
1406 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1407 GikoForm.BrowserTab.TabIndex := 0;
1408 GikoForm.BrowserTab.OnChange(nil);
1413 // *************************************************************************
1414 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1415 // *************************************************************************
1416 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1418 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1419 RightmostTabSelectActionUpdate(Sender);
1421 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1425 // *************************************************************************
1426 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1427 // *************************************************************************
1428 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1430 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1431 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1432 GikoForm.BrowserTab.OnChange(nil);
1435 // *************************************************************************
1436 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1437 // *************************************************************************
1438 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1440 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1441 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1444 // *************************************************************************
1445 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1446 // *************************************************************************
1447 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1449 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1450 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1452 // *************************************************************************
1453 //!
\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
1454 // *************************************************************************
1455 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1457 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1458 and (GikoForm.ListView.SelCount > 0);
1460 // *************************************************************************
1461 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1462 // *************************************************************************
1463 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1465 Dlg: TListSelectDialog;
1466 FilterList : TStringList;
1469 Dlg := TListSelectDialog.Create(GikoForm);
1471 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1472 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1474 if Dlg.ModalResult = mrOK then begin
1475 SelectResAction.Checked := True;
1476 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1477 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1478 ResRangeAction.Execute;
1480 GikoSys.ResRange := Ord( grrSelect );
1482 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1483 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1485 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1486 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1488 GikoSys.Setting.SelectTextList.Delete(idx);
1489 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1490 while Dlg.SelectComboBox.Items.Count > 100 do begin
1491 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1495 if GikoForm.SelectComboBoxPanel.Visible then
1496 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1500 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1501 FilterList := TStringList.Create;
1503 GikoSys.FSelectResFilter.Reverse := True;
1504 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1505 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1507 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1511 GikoForm.RepaintAllTabsBrowser();
1514 //
\83L
\83\83\83\93\83Z
\83\8b
1515 if GikoSys.ResRange <> Ord( grrSelect ) then
1516 ResRangeAction.Execute;
1523 // *************************************************************************
1524 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1525 // *************************************************************************
1526 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1528 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1529 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1531 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1532 AllResAction.Checked := True;
1534 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1535 SetResRange(Ord( grrAll ));
1537 // *************************************************************************
1538 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1539 // *************************************************************************
1540 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1542 case GikoForm.ResRangeMenuSelect of
1543 Ord( grrAll ): AllResAction.Execute;
1544 Ord( grrKoko ): OnlyKokoResAction.Execute;
1545 Ord( grrNew ): OnlyNewResAction.Execute;
1546 100: OnlyAHundredResAction.Execute;
1550 // *************************************************************************
1551 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1552 // *************************************************************************
1553 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1555 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1557 // *************************************************************************
1558 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1559 // *************************************************************************
1560 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1566 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
1567 str := ZenToHan(str);
1568 res := StrToIntDef(str, -1);
1569 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1570 GikoForm.ActiveContent.Move(IntToStr(res));
1571 SetFocusForBrowserAction.Execute;
1572 end else if res > GikoForm.GetActiveContent.Count then begin
1573 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1574 SetFocusForBrowserAction.Execute;
1578 // *************************************************************************
1579 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1580 // *************************************************************************
1581 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1586 idx := GikoForm.BrowserTab.TabIndex;
1587 if idx = -1 then Exit;
1588 GikoForm.BrowserTab.Tabs.BeginUpdate;
1589 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1590 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1591 GikoForm.BrowserTab.Tabs.Delete(i);
1593 GikoForm.BrowserTab.Tabs.EndUpdate;
1595 // *************************************************************************
1596 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1597 // *************************************************************************
1598 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1600 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1602 // *************************************************************************
1603 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1604 // *************************************************************************
1605 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1610 idx := GikoForm.BrowserTab.TabIndex;
1611 if idx = -1 then Exit;
1612 GikoForm.BrowserTab.Tabs.BeginUpdate;
1613 if idx > 0 then begin
1614 for i := idx - 1 downto 0 do begin
1615 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1616 GikoForm.BrowserTab.Tabs.Delete(i);
1619 GikoForm.BrowserTab.Tabs.EndUpdate;
1621 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1622 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1624 // 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
1625 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1626 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1627 TDefaultFileManager.CopyDefaultFiles(GikoSys.Setting.GetDefaultFilesFileName);
1629 // *************************************************************************
1630 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1631 // *************************************************************************
1632 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1637 if GikoForm.SearchDialog = nil then begin
1638 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1639 chk := GikoForm.GetActiveList
1643 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1644 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1648 GikoForm.SearchDialog.Show;
1652 // *************************************************************************
1653 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1654 // *************************************************************************
1655 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1659 Dlg := TOptionDialog.Create(GikoForm);
1666 // *************************************************************************
1667 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1668 // *************************************************************************
1669 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1673 Dlg := TRoundDialog.Create(GikoForm);
1680 // *************************************************************************
1681 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1682 // *************************************************************************
1683 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1685 Dlg: TKeySettingForm;
1687 Dlg := TKeySettingForm.Create(GikoForm);
1689 if Dlg.ShowModal = mrOk then begin
1690 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1691 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1692 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1697 MouseGesture.UnHook;
1698 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1699 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1700 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1701 if GikoSys.Setting.GestureEnabled then begin
1702 GikoSys.Setting.Gestures.ClearGesture;
1703 GikoSys.Setting.Gestures.LoadGesture(
1704 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1705 MouseGesture.SetHook( GikoForm.Handle );
1709 // *************************************************************************
1710 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1711 // *************************************************************************
1712 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1714 Dlg: TKotehanDialog;
1716 Dlg := TKotehanDialog.Create(GikoForm);
1723 // *************************************************************************
1724 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1725 // *************************************************************************
1726 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1728 Dlg: TToolBarSettingDialog;
1731 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1733 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1734 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1735 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1736 case GikoForm.ToolBarSettingSender of
1737 tssMain: Dlg.ToolBarIndex := 0;
1738 tssList: Dlg.ToolBarIndex := 1;
1739 tssBrowser: Dlg.ToolBarIndex := 2;
1741 if Dlg.ShowModal = mrOK then begin
1742 GikoForm.SetToolBarPopup;
1744 //
\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é
1745 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1746 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1747 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1748 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1749 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1751 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1752 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1753 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1754 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1755 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1757 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1758 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1759 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1760 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1761 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1764 SaveToolBarSetting(GikoForm.StdToolBar);
1765 SaveToolBarSetting(GikoForm.ListToolBar);
1766 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1767 GikoForm.SetSelectComboBox;
1768 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1769 SaveToolBarSetting(GikoForm.BrowserToolBar);
1773 GikoForm.ToolBarSettingSender := tssNone;
1776 // *************************************************************************
1777 //!
\83~
\83\85\81[
\83g
1778 // *************************************************************************
1779 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1781 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1783 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1784 // *************************************************************************
1785 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1786 // *************************************************************************
1787 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1790 TmpTreeNode: TTreeNode;
1792 TmpTreeNode := GikoForm.ClickNode;
1793 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1796 if TObject(TmpTreeNode.Data) is TBoard then
1797 Board := TBoard(TmpTreeNode.Data)
1798 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1799 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1801 if Board <> nil then
1802 GikoForm.DownloadList(Board);
1804 // *************************************************************************
1805 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1806 // *************************************************************************
1807 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1809 ThreadItem: TThreadItem;
1810 TmpTreeNode: TTreeNode;
1812 TmpTreeNode := GikoForm.ClickNode;
1813 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1816 if TObject(TmpTreeNode.Data) is TThreadItem then
1817 ThreadItem := TThreadItem(TmpTreeNode.Data)
1818 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1819 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1821 if ThreadItem <> nil then
1822 GikoForm.DownloadContent(ThreadItem);
1824 // *************************************************************************
1825 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1826 // *************************************************************************
1827 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1829 TmpTreeNode: TTreeNode;
1832 TmpTreeNode := GikoForm.ClickNode;
1833 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1834 if TObject(TmpTreeNode.Data) is TBoard then begin
1835 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1836 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1837 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1838 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1839 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1840 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1841 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1843 Clipboard.AsText := s;
1845 // *************************************************************************
1846 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1847 // *************************************************************************
1848 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1850 TmpTreeNode: TTreeNode;
1853 TmpTreeNode := GikoForm.ClickNode;
1854 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1855 if TObject(TmpTreeNode.Data) is TBoard then begin
1856 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1857 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1858 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1859 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1860 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1861 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1862 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1864 Clipboard.AsText := s;
1866 // *************************************************************************
1867 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1868 // *************************************************************************
1869 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1871 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1873 // *************************************************************************
1874 //!
\94Â
\96¼
\8c\9f\8dõ
1875 // *************************************************************************
1876 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1880 CurItem : TTreeNode;
1883 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1886 if GikoForm.TreeView.Selected = nil then
1887 CurItem := GikoForm.TreeView.Items.GetFirstNode
1889 CurItem := GikoForm.TreeView.Selected.GetNext;
1890 if CurItem = nil then
1891 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1893 while CurItem <> nil do begin
1894 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1897 CurItem := CurItem.GetNext;
1900 if CurItem = nil then begin
1901 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1902 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1903 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1907 GikoForm.TreeView.Select(CurItem);
1908 GikoForm.TreeView.SetFocus;
1910 GikoForm.TreeView.Select(CurItem);
1911 GikoForm.TreeView.SetFocus;
1912 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1913 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1926 // *************************************************************************
1927 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1928 // *************************************************************************
1929 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1933 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1934 s := GikoForm.ClickNode.Text;
1935 Clipboard.AsText := s;
1937 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1938 // *************************************************************************
1939 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1940 // *************************************************************************
1941 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1946 if GikoSys.Dolib.Connected then begin
1947 //
\83\8d\83O
\83A
\83E
\83g
1948 GikoSys.Dolib.Disconnect;
1949 LoginAction.Checked := False;
1950 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1951 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1953 TmpCursor := GikoForm.ScreenCursor;
1954 GikoForm.ScreenCursor := crHourGlass;
1956 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1957 if not GikoSys.Setting.ForcedLogin then begin
1958 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1959 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1960 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1961 if GikoSys.Setting.ReadProxy then begin
1962 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1963 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1965 GikoSys.Dolib.ProxyAddress := '';
1966 GikoSys.Dolib.ProxyPort := 0;
1968 if GikoSys.Dolib.Connect then begin
1969 LoginAction.Checked := True;
1970 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1971 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1972 //LoginToolButton.Style := tbsCheck;
1974 // 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);
1975 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1976 GikoForm.PlaySound('Error');
1977 LoginAction.Checked := False;
1978 //LoginToolButton.Down := False;
1979 ///LoginToolButton.Style := tbsButton;
1982 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
1983 + '
\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
1984 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1985 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1986 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1987 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1988 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1989 if GikoSys.Setting.ReadProxy then begin
1990 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1991 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1993 GikoSys.Dolib.ProxyAddress := '';
1994 GikoSys.Dolib.ProxyPort := 0;
1996 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1997 GikoSys.Dolib.ForcedConnect;
1998 if GikoSys.Dolib.Connect then begin
1999 LoginAction.Checked := True;
2000 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
2001 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
2002 //LoginToolButton.Style := tbsCheck;
2004 // 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);
2005 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
2006 GikoForm.PlaySound('Error');
2007 LoginAction.Checked := False;
2008 //LoginToolButton.Down := False;
2009 //LoginToolButton.Style := tbsButton;
2012 LoginAction.Checked := False;
2013 //LoginToolButton.Down := False;
2014 //LoginToolButton.Style := tbsButton;
2018 GikoForm.ScreenCursor := TmpCursor;
2022 // *************************************************************************
2023 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2024 // *************************************************************************
2025 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
2027 Dlg: TNewBoardDialog;
2030 if (EditorFormExists) then begin
2031 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
2032 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
2035 Dlg := TNewBoardDialog.Create(GikoForm);
2042 // *************************************************************************
2043 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
2044 // *************************************************************************
2045 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
2047 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';
2048 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';
2049 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2051 ThreadItem: TThreadItem;
2052 TmpListItem: TListItem;
2056 List := TList.Create;
2058 TmpListItem := GikoForm.ListView.Selected;
2059 while TmpListItem <> nil do begin
2060 if TObject(TmpListItem.Data) is TThreadItem then begin
2061 ThreadItem := TThreadItem(TmpListItem.Data);
2062 if ThreadItem.IsLogFile then
2063 List.Add(ThreadItem);
2065 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2068 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2069 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2070 if List.Count = 1 then begin
2071 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
2074 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
2080 for i := 0 to List.Count - 1 do begin
2081 ThreadItem := TThreadItem(List[i]);
2082 GikoForm.DeleteHistory(ThreadItem);
2083 GikoForm.DeleteTab(ThreadItem);
2084 ThreadItem.DeleteLogFile;
2086 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2087 GikoForm.ListView.Refresh;
2092 // *************************************************************************
2093 //! 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Ê
2094 // *************************************************************************
2095 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2097 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2098 and (GikoForm.ListView.SelCount > 0);
2100 // *************************************************************************
2101 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2102 // *************************************************************************
2103 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2105 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';
2106 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2108 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2109 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2111 GikoSys.Setting.SelectTextList.Clear;
2112 GikoForm.SelectComboBox.Items.Clear;
2113 GikoForm.SelectComboBox.Text := '';
2114 GikoForm.SetListViewType( gvtAll );
2116 // *************************************************************************
2117 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2118 // *************************************************************************
2119 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2121 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';
2122 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2124 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2125 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2127 GikoSys.Setting.NameList.Clear;
2128 ClearNameTextAllEditor
2130 // *************************************************************************
2131 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2132 // *************************************************************************
2133 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2135 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';
2136 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2138 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2139 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2141 GikoSys.Setting.MailList.Clear;
2144 // *************************************************************************
2145 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2146 // *************************************************************************
2147 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2151 // *************************************************************************
2152 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2153 // *************************************************************************
2154 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2156 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2158 // *************************************************************************
2159 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2160 // *************************************************************************
2161 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2163 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2164 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2166 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2169 // *************************************************************************
2170 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2171 // *************************************************************************
2172 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2179 List := TList.Create;
2181 GikoForm.ScreenCursor := crHourGlass;
2182 GikoForm.SelectListItem(List);
2183 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2184 (GikoSys.Setting.ListHeightState = glsMax)) or
2185 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2186 (GikoSys.Setting.ListWidthState = glsMax)) then
2187 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2188 else if(List.Count = 0) then
2189 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2192 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2193 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2195 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2196 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2198 for i := 0 to List.Count - 1 do begin
2199 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2201 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2203 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2205 if SaveDialog.Execute then begin
2207 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2208 PChar(SaveDialog.FileName), true);
2210 html := TStringList.Create;
2211 title := TThreadItem(List[i]).Title;
2213 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2214 html.SaveToFile(SaveDialog.FileName);
2215 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2225 GikoForm.ScreenCursor := crDefault;
2229 // *************************************************************************
2230 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2231 // *************************************************************************
2232 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2234 SelectThreadSaveToFile(false);
2236 // *************************************************************************
2237 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2238 // *************************************************************************
2239 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2241 SelectThreadSaveToFile(true);
2243 // *************************************************************************
2244 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2245 // *************************************************************************
2246 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2248 Filename = 'tab.sav';
2249 bFilename = '~tab.sav';
2251 SaveStringList: TStringList;
2253 SaveStringList := TStringList.Create;
2255 GetTabURLs(SaveStringList);
2257 if FileExists( GikoSys.GetAppDir + Filename) then begin
2258 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2259 PChar(GikoSys.GetAppDir + bFilename), False);
2263 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2265 SaveStringList.Free;
2268 // *************************************************************************
2269 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2270 // *************************************************************************
2271 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2273 rec : TBrowserRecord;
2276 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2278 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2279 if( rec <> nil) and (rec.Thread <> nil) then
2280 AStringList.Add( rec.Thread.URL );
2285 // *************************************************************************
2286 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2287 // *************************************************************************
2288 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2290 GikoTab : TGikoTabAppend;
2294 if (AStringList <> nil) then begin
2295 GikoTab := GikoSys.Setting.BrowserTabAppend;
2297 bound := AStringList.Count - 1;
2298 if bound > -1 then begin
2299 GikoSys.Setting.BrowserTabAppend := gtaLast;
2300 for i := 0 to bound do begin
2301 item := BBSsFindThreadFromURL( AStringList[ i ] );
2303 GikoForm.InsertBrowserTab( item, false );
2305 //
\8dÅ
\8f\89\82Ì
\82P
\96\87\82É
\90Ý
\92è
2306 if (GikoSys.Setting.URLDisplay) and
2307 (GikoForm.BrowserTab.Tabs.Count > 0) then begin
2308 GikoForm.AddressComboBox.Text :=
2309 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[0]).Thread.URL;
2313 GikoSys.Setting.BrowserTabAppend := GikoTab;
2317 // *************************************************************************
2318 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2319 // *************************************************************************
2320 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2322 TABFILE = 'tab.sav';
2327 URLs := TStringList.Create();
2329 fileName := GikoSys.GetAppDir + TABFILE;
2330 if FileExists(fileName) then begin
2332 URLs.LoadFromFile(fileName);
2333 if (URLs.Count = 0) then begin
2334 //
\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
2335 SysUtils.DeleteFile(fileName);
2340 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2347 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2348 (TabsOpenAction.Tag <> 1) then begin
2349 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2352 // *************************************************************************
2353 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2354 // *************************************************************************
2355 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2360 if GikoSys.Belib.Connected then begin
2361 //
\83\8d\83O
\83A
\83E
\83g
2362 GikoSys.Belib.Disconnect;
2363 BeLogInOutAction.Checked := False;
2364 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmBeLogout), nil, gmiOK);
2366 TmpCursor := GikoForm.ScreenCursor;
2367 GikoForm.ScreenCursor := crHourGlass;
2369 GikoSys.Belib.ClientUA := 'gikoNavi/1.00';
2370 GikoSys.Belib.UserName := GikoSys.Setting.BeUserID;
2371 GikoSys.Belib.Password := GikoSys.Setting.BePassword;
2372 if GikoSys.Setting.ReadProxy then begin
2373 GikoSys.Belib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
2374 GikoSys.Belib.ProxyPort := GikoSys.Setting.ReadProxyPort;
2376 GikoSys.Belib.ProxyAddress := '';
2377 GikoSys.Belib.ProxyPort := 0;
2379 if GikoSys.Belib.Connect then begin
2380 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmBeLogin) + GikoSys.Setting.BeUserID, nil, gmiOK);
2381 BeLogInOutAction.Checked := True;
2383 GikoForm.AddMessageList(GikoSys.Belib.ErrorMsg, nil, gmiNG);
2384 GikoForm.PlaySound('Error');
2385 BeLogInOutAction.Checked := False;
2388 GikoForm.ScreenCursor := TmpCursor;
2392 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2393 // *************************************************************************
2394 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2395 // *************************************************************************
2396 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2399 ThreadItem: TThreadItem;
2401 No := GikoForm.KokoPopupMenu.Tag;
2404 ThreadItem := GikoForm.KokoPopupThreadItem;
2405 if not Assigned(ThreadItem) then
2407 ThreadItem.Kokomade := No;
2408 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2409 GikoForm.ActiveContent.Repaint := true;
2410 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2411 //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é
2412 //Application.ProcessMessages;
2414 // *************************************************************************
2415 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2416 // *************************************************************************
2417 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2419 ThreadItem: TThreadItem;
2421 ThreadItem := GikoForm.GetActiveContent(True);
2422 if ThreadItem = nil then Exit;
2423 ThreadItem.Kokomade := -1;
2424 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2425 GikoForm.ActiveContent.Repaint := true;
2426 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2427 //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é
2428 //Application.ProcessMessages;
2430 // *************************************************************************
2431 //!
\83R
\83R
\82É
\83\8c\83X
2432 // *************************************************************************
2433 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2435 Editor: TEditorForm;
2439 Number := GikoForm.KokoPopupMenu.Tag;
2440 if Number = 0 then Exit;
2441 Item := GikoForm.KokoPopupThreadItem;
2442 if Item = nil then Exit;
2444 Editor := TEditorForm.Create(GikoForm);
2445 Editor.SetThreadItem(Item);
2446 Editor.SetTextEdit('>>' + IntToStr(Number) + #13#10);
2448 Editor.SetFocusEdit;
2450 // *************************************************************************
2451 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2452 // *************************************************************************
2453 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2455 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2457 // *************************************************************************
2458 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2459 // *************************************************************************
2460 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2464 ThreadItem : TThreadItem;
2468 No := GikoForm.KokoPopupMenu.Tag;
2469 if No = 0 then Exit;
2470 ThreadItem := GikoForm.KokoPopupThreadItem;
2471 if ThreadItem = nil then Exit;
2473 AID := GikoSys.GetResID(No, ThreadItem);
2474 if not IsNoValidID(AID) then begin
2475 GikoForm.ShowSameIDAncher(AID);
2478 // *************************************************************************
2479 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2480 // *************************************************************************
2481 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2483 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2485 // *************************************************************************
2486 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2487 // *************************************************************************
2488 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2490 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2492 // *************************************************************************
2493 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2494 // *************************************************************************
2495 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2497 IndividualForm :TIndividualAbonForm;
2498 ThreadItem : TThreadItem;
2500 ReadList : TStringList;
2501 wordCount : TWordCount;
2503 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2505 ThreadItem := GikoForm.GetActiveContent(True);
2506 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2507 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2508 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2509 ReadList := TStringList.Create;
2510 wordCount := TWordCount.Create;
2512 {$IFDEF SPAM_FILTER_ENABLED}
2513 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2514 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2515 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2516 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2517 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2519 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2520 GikoForm.ActiveContent.Repaint := true;
2521 GikoForm.InsertBrowserTab( ThreadItem, True );
2528 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2529 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2533 IndividualForm.Release;
2536 // *************************************************************************
2537 //!
\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
2538 // *************************************************************************
2539 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2541 IndividualForm :TIndividualAbonForm;
2542 ThreadItem : TThreadItem;
2544 ReadList : TStringList;
2545 wordCount : TWordCount;
2546 {$IFDEF SPAM_FILTER_ENABLED}
2550 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2552 ThreadItem := GikoForm.GetActiveContent(True);
2553 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2554 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2555 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2556 if (IndividualForm.ShowModal = mrOK) then begin
2557 ReadList := TStringList.Create;
2558 wordCount := TWordCount.Create;
2560 {$IFDEF SPAM_FILTER_ENABLED}
2561 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2562 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2563 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2564 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2565 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2566 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2569 if IndividualForm.FRepaint then begin
2570 GikoForm.ActiveContent.Repaint := true;
2571 GikoForm.InsertBrowserTab( ThreadItem, True );
2579 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2580 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2584 IndividualForm.Release;
2587 // *************************************************************************
2588 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2589 // *************************************************************************
2590 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2592 GikoForm.IndividualAbonID(1);
2594 // *************************************************************************
2595 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2596 // *************************************************************************
2597 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2599 GikoForm.IndividualAbonID(0);
2601 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2602 // *************************************************************************
2603 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2604 // *************************************************************************
2605 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2607 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2609 // *************************************************************************
2610 //!
\83M
\83R
\83i
\83r(
\94ð
\93ï
\8f\8a\94Å)
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2611 // *************************************************************************
2612 procedure TGikoDM.GikoNaviGoesonWebPageActionExecute(Sender: TObject);
2614 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVIGO, gbtAuto);
2616 // *************************************************************************
2617 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2618 // *************************************************************************
2619 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2621 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2623 // *************************************************************************
2624 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2625 // *************************************************************************
2626 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2628 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2630 // *************************************************************************
2631 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2632 // *************************************************************************
2633 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2635 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2637 // *************************************************************************
2638 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2639 // *************************************************************************
2640 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2644 Dlg := TAboutDialog.Create(GikoForm);
2651 // *************************************************************************
2652 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2653 // *************************************************************************
2654 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2658 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2659 if not FileExists(FileName) then begin
2662 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2663 '
\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 +
2664 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2669 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2671 // *************************************************************************
2672 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2673 // *************************************************************************
2674 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2676 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2678 // *************************************************************************
2679 //!
\83M
\83R
\83i
\83r(
\94ð
\93ï
\8f\8a\94Å)Wiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2680 // *************************************************************************
2681 procedure TGikoDM.GoWikiFAQWebPageActionExecute(Sender: TObject);
2683 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GoWiki, gbtAuto);
2685 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2686 // *************************************************************************
2687 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2688 // *************************************************************************
2689 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2691 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2692 GikoForm.ListView.Refresh;
2694 // *************************************************************************
2695 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2696 // *************************************************************************
2697 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2699 if GikoForm.GetActiveList is TBoard then begin
2700 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2701 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2702 end else if GikoForm.GetActiveList is TCategory then begin
2703 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2706 // *************************************************************************
2707 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2708 // *************************************************************************
2709 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2711 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS) and
2712 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
2714 // *************************************************************************
2715 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2716 // *************************************************************************
2717 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2719 case GikoForm.ListView.ViewStyle of
2720 vsIcon: SmallIconAction.Execute;
2721 vsSmallIcon: ListIconAction.Execute;
2722 vsList: DetailIconAction.Execute;
2723 vsReport: LargeIconAction.Execute;
2726 // *************************************************************************
2727 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2728 // *************************************************************************
2729 procedure TGikoDM.ClearSelectComboBox;
2731 if GikoForm.SelectComboBoxPanel.Visible then begin
2732 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2733 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2734 GikoForm.ListView.SetFocus;
2737 // *************************************************************************
2738 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2739 // *************************************************************************
2740 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2743 if GikoForm.ViewType <> gvtAll then
2744 GikoForm.SetListViewType(gvtAll);
2745 GikoSys.Setting.ThreadRange := gtrAll;
2746 AllItemAction.Checked := True;
2747 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2748 GikoForm.ModifySelectList;
2749 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2750 ClearSelectComboBox;
2754 // *************************************************************************
2755 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2756 // *************************************************************************
2757 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2760 if GikoForm.ViewType <> gvtLog then
2761 GikoForm.SetListViewType(gvtLog);
2762 GikoSys.Setting.ThreadRange := gtrLog;
2763 LogItemAction.Checked := True;
2764 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2765 GikoForm.ModifySelectList;
2766 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2767 ClearSelectComboBox;
2771 // *************************************************************************
2772 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2773 // *************************************************************************
2774 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2778 if GikoForm.ViewType <> gvtNew then
2779 GikoForm.SetListViewType(gvtNew);
2780 GikoSys.Setting.ThreadRange := gtrNew;
2781 NewItemAction.Checked := True;
2782 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2783 GikoForm.ModifySelectList;
2784 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2785 ClearSelectComboBox;
2789 // *************************************************************************
2790 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2791 // *************************************************************************
2792 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2795 if GikoForm.ViewType <> gvtArch then
2796 GikoForm.SetListViewType(gvtArch);
2797 GikoSys.Setting.ThreadRange := gtrArch;
2798 ArchiveItemAction.Checked := True;
2799 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2800 GikoForm.ModifySelectList;
2801 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2802 ClearSelectComboBox;
2806 // *************************************************************************
2807 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2808 // *************************************************************************
2809 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2812 if GikoForm.ViewType <> gvtLive then
2813 GikoForm.SetListViewType(gvtLive);
2814 GikoSys.Setting.ThreadRange := gtrLive;
2815 LiveItemAction.Checked := True;
2816 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2817 GikoForm.ModifySelectList;
2818 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2819 ClearSelectComboBox;
2824 // *************************************************************************
2825 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2826 // *************************************************************************
2827 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2829 case GikoSys.Setting.ThreadRange of
2830 gtrAll: AllItemAction.Execute;
2831 gtrLog: LogItemAction.Execute;
2832 gtrNew: NewItemAction.Execute;
2833 gtrArch: ArchiveItemAction.Execute;
2834 gtrLive: LiveItemAction.Execute;
2837 // *************************************************************************
2838 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2839 // *************************************************************************
2840 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2843 Dlg: TListSelectDialog;
2846 if GikoForm.SelectComboBoxPanel.Visible then begin
2847 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2848 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2849 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2850 if GikoSys.Setting.ListWidthState = glsMax then
2851 BrowserMinAction.Execute;
2853 if GikoSys.Setting.ListHeightState = glsMax then
2854 BrowserMinAction.Execute;
2856 GikoForm.SelectComboBox.SetFocus;
2863 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2864 GikoForm.SelectComboBox.Text := '';
2865 GikoForm.SelectComboBox.Color := clWindow;
2868 AllItemAction.Checked := False;
2869 LogItemAction.Checked := False;
2870 NewItemAction.Checked := False;
2871 //SelectItemAction.Checked := True;
2872 GikoForm.ModifySelectList;
2873 Dlg := TListSelectDialog.Create(GikoForm);
2875 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2876 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2878 if Dlg.ModalResult = mrCancel then begin
2879 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2880 AllItemAction.Checked := True;
2881 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2882 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2885 if GikoForm.GetActiveList is TBoard then
2886 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2888 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2890 GikoSys.Setting.SelectTextList.Delete(idx);
2891 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2892 while Dlg.SelectComboBox.Items.Count > 100 do begin
2893 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2896 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2897 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2898 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2900 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2901 GikoForm.SelectComboBox.Color := clWindow;
2903 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2909 // *************************************************************************
2910 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2911 // *************************************************************************
2912 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2914 Editor: TEditorForm;
2916 if not (GikoForm.GetActiveList is TBoard) then
2918 Editor := TEditorForm.Create(GikoForm);
2919 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2921 Editor.SetFocusEdit;
2923 // *************************************************************************
2924 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2925 // *************************************************************************
2926 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2930 if GikoForm.GetActiveList is TBoard then begin
2931 URL := TBoard(GikoForm.GetActiveList).URL;
2932 GikoSys.OpenBrowser(URL, gbtAuto);
2935 // *************************************************************************
2936 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2937 // *************************************************************************
2938 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2945 List := TList.Create;
2947 GikoForm.SelectListItem(List);
2948 for i := 0 to List.Count - 1 do begin
2949 if TObject(List[i]) is TBoard then
2950 s := s + TBoard(List[i]).URL + #13#10
2951 else if TObject(List[i]) is TThreadItem then
2952 s := s + TThreadItem(List[i]).URL + #13#10;
2955 Clipboard.AsText := s;
2960 // *************************************************************************
2961 //!
\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
2962 // *************************************************************************
2963 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2965 if ((GikoForm.GetActiveList is TBoard) or
2966 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2967 TAction(Sender).Enabled := True
2969 TAction(Sender).Enabled := False;
2971 // *************************************************************************
2972 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2973 // *************************************************************************
2974 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2981 List := TList.Create;
2983 GikoForm.SelectListItem(List);
2984 for i := 0 to List.Count - 1 do begin
2985 if TObject(List[i]) is TCategory then
2986 s := s + TCategory(List[i]).Title + #13#10
2987 else if TObject(List[i]) is TBoard then
2988 s := s + TBoard(List[i]).Title + #13#10
2989 else if TObject(List[i]) is TThreadItem then
2990 s := s + TThreadItem(List[i]).Title + #13#10;
2993 Clipboard.AsText := s;
2998 // *************************************************************************
2999 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3000 // *************************************************************************
3001 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
3003 if ((GikoForm.GetActiveList is TBBS) or
3004 (GikoForm.GetActiveList is TBoard) or
3005 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
3006 TAction(Sender).Enabled := True
3008 TAction(Sender).Enabled := False;
3010 // *************************************************************************
3011 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
3012 // *************************************************************************
3013 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
3020 List := TList.Create;
3022 GikoForm.SelectListItem(List);
3023 for i := 0 to List.Count - 1 do begin
3024 if TObject(List[i]) is TBoard then
3025 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
3026 else if TObject(List[i]) is TThreadItem then
3027 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
3030 Clipboard.AsText := s;
3035 // *************************************************************************
3036 //!
\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é
3037 // *************************************************************************
3038 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
3045 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3046 GikoForm.ActiveListColumnSave;
3047 if GikoForm.GetActiveList is TCategory then begin
3048 List := TList.Create;
3050 GikoForm.SelectListItem(List);
3051 if List.Count > 5 then begin
3052 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3053 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3054 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3057 for i := 0 to List.Count - 1 do begin
3058 if TObject(List[i]) is TBoard then
3059 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
3064 end else if GikoForm.GetActiveList is TBoard then begin
3065 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
3068 // *************************************************************************
3069 //!
\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
3070 // *************************************************************************
3071 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
3073 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3074 TAction(Sender).Enabled := True
3075 else if GikoForm.GetActiveList is TBoard then begin
3076 TAction(Sender).Enabled :=
3077 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
3079 TAction(Sender).Enabled := False;
3081 // *************************************************************************
3082 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3083 // *************************************************************************
3084 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3091 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3092 List := TList.Create;
3094 GikoForm.SelectListItem(List);
3095 if List.Count > 10 then begin
3096 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3097 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3098 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3101 for i := 0 to List.Count - 1 do begin
3102 if TObject(List[i]) is TThreadItem then
3103 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3109 // *************************************************************************
3110 //!
\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
3111 // *************************************************************************
3112 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3114 TAction(Sender).Enabled :=
3115 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3117 // *************************************************************************
3118 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3119 // *************************************************************************
3120 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3122 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3123 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3125 // *************************************************************************
3126 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3127 // *************************************************************************
3128 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3133 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3134 List := TList.Create;
3136 GikoForm.SelectListItem(List);
3137 for i := 0 to List.Count - 1 do begin
3138 if TObject(List[i]) is TThreadItem then begin
3139 if TThreadItem(List[i]).IsLogFile then begin
3140 SelectReservAction.Enabled := True;
3145 SelectReservAction.Enabled := False;
3149 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3150 SelectReservAction.Enabled := True
3152 SelectReservAction.Enabled := False;
3154 // *************************************************************************
3155 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3156 // *************************************************************************
3157 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3160 Dlg: TRoundNameDialog;
3164 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3165 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3168 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3169 cnt := RoundList.Count[grtBoard];
3170 cnt := cnt + RoundList.Count[grtItem];
3171 if cnt > 500 then begin
3172 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3176 Dlg := TRoundNameDialog.Create(GikoForm);
3179 if Dlg.ModalResult <> mrCancel then begin
3180 s := Trim(Dlg.RoundNameEdit.Text);
3181 if (Sender is TMenuItem) then begin
3182 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3183 end else if (Sender is TAction) then begin
3184 if (GikoForm.ListView.Selected <> nil) then begin
3185 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3186 GikoForm.SetSelectItemRound(True, s,
3187 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3188 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3189 GikoForm.SetSelectItemRound(True, s,
3190 TBoard(GikoForm.ListView.Selected.Data).Title);
3194 GikoForm.ListView.Refresh;
3200 // *************************************************************************
3201 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3202 // *************************************************************************
3203 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3207 if (Sender is TMenuItem) then begin
3209 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3212 end else if (Sender is TAction) then begin
3214 if GikoForm.ListView.Selected <> nil then begin
3215 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3216 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3217 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3218 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3220 GikoForm.SetSelectItemRound(False, '', s);
3226 GikoForm.ListView.Refresh;
3228 // *************************************************************************
3229 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3230 // *************************************************************************
3231 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3233 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3234 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3236 // *************************************************************************
3237 //!
\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
3238 // *************************************************************************
3239 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3241 BoardFavoriteAddAction.Enabled :=
3242 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3244 // *************************************************************************
3245 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3246 // *************************************************************************
3247 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3251 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3252 (GikoSys.Setting.ListHeightState = glsMax)) or
3253 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3254 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3255 if(GikoForm.GetActiveContent <> nil) then begin
3256 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3258 end else if GikoForm.GetActiveList is TCategory then begin
3259 List := TList.Create;
3261 GikoForm.SelectListItem(List);
3262 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3266 end else if GikoForm.GetActiveList is TBoard then begin
3267 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3271 // *************************************************************************
3272 //! 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Ê
3273 // *************************************************************************
3274 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3276 if (((GikoForm.GetActiveList is TBoard) and
3277 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard))
3278 or (GikoForm.GetActiveList is TCategory))
3279 and (GikoForm.ListView.SelCount > 0) then
3280 TAction(Sender).Enabled := True
3282 TAction(Sender).Enabled := False;
3284 // *************************************************************************
3285 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3286 // *************************************************************************
3287 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3289 RefURL, URL : string;
3293 if GikoForm.GetActiveList is TCategory then begin
3294 List := TList.Create;
3296 GikoForm.SelectListItem(List);
3297 RefURL := TBoard(List[0]).URL;
3301 end else if GikoForm.GetActiveList is TBoard then begin
3302 RefURL := TBoard(GikoForm.GetActiveList).URL
3304 if RefURL <> '' then begin
3305 if RefURL[Length(RefURL)] <> '/' then
3306 URL := RefURL + '/' + 'head.txt'
3308 URL := RefURL + 'head.txt';
3310 GikoForm.MoveToURL(URL);
3312 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3316 // *************************************************************************
3317 //!
\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é
3318 // *************************************************************************
3319 function TGikoDM.GetSortProperties(List: TObject;
3320 var vSortOrder: Boolean): Boolean;
3323 if (List <> nil) then begin
3324 if (List is TBBS) then begin
3325 vSortOrder := GikoSys.Setting.BBSSortOrder;
3326 end else if (List is TCategory) then begin
3327 vSortOrder := GikoSys.Setting.CategorySortOrder;
3328 end else if (List is TBoard) then begin
3329 vSortOrder := GikoSys.Setting.BoardSortOrder;
3337 // *************************************************************************
3338 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3339 // *************************************************************************
3340 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3345 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3346 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3347 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3348 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3350 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3351 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3358 // *************************************************************************
3359 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3360 // *************************************************************************
3361 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3365 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3366 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3367 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3369 if id > GikoForm.ListView.Columns.Count - 1 then
3371 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3372 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3378 // *************************************************************************
3379 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3380 // *************************************************************************
3381 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3385 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3386 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3387 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3390 id := GikoForm.ListView.Columns.Count - 1;
3391 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3392 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3398 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3399 // *************************************************************************
3400 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3401 // *************************************************************************
3402 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3404 CoolBand: TCoolBand;
3406 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3407 if CoolBand = nil then
3409 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3410 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3411 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3413 // *************************************************************************
3414 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3415 // *************************************************************************
3416 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3418 CoolBand: TCoolBand;
3420 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3421 if CoolBand = nil then
3423 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3424 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3425 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3427 // *************************************************************************
3428 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3429 // *************************************************************************
3430 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3432 CoolBand: TCoolBand;
3434 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3435 if CoolBand = nil then
3437 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3438 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3439 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3441 // *************************************************************************
3442 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3443 // *************************************************************************
3444 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3446 CoolBand: TCoolBand;
3448 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3449 if CoolBand = nil then
3451 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3452 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3454 // *************************************************************************
3455 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3456 // *************************************************************************
3457 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3459 CoolBand: TCoolBand;
3461 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3462 if CoolBand = nil then
3464 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3465 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3467 // *************************************************************************
3468 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3469 // *************************************************************************
3470 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3472 CoolBand: TCoolBand;
3474 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3475 if CoolBand = nil then
3477 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3478 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3480 // *************************************************************************
3481 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3482 // *************************************************************************
3483 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3485 CoolBand: TCoolBand;
3487 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3488 if CoolBand = nil then
3490 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3491 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3493 // *************************************************************************
3494 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3495 // *************************************************************************
3496 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3498 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3499 GikoForm.MessagePanel.Top :=
3500 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3501 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3502 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3503 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3505 // *************************************************************************
3506 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3507 // *************************************************************************
3508 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3510 MsgBarVisibleAction.Execute;
3512 // *************************************************************************
3513 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3514 // *************************************************************************
3515 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3517 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3518 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3520 // *************************************************************************
3521 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3522 // *************************************************************************
3523 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3526 if GikoForm.CabinetPanel.Visible then begin
3527 if GikoForm.TreeType = gtt2ch then begin
3528 GikoForm.CabinetVisible( False );
3530 CabinetBBSAction.Checked := False;
3532 CabinetBBSAction.Checked := True;
3535 GikoForm.CabinetVisible( True );
3536 CabinetBBSAction.Checked := True;
3539 if GikoForm.ActiveBBS = nil then
3540 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3542 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3545 // *************************************************************************
3546 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3547 // *************************************************************************
3548 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3550 GikoForm.ShowHistoryTree;
3552 // *************************************************************************
3553 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3554 // *************************************************************************
3555 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3561 if GikoForm.CabinetPanel.Visible then begin
3562 if GikoForm.TreeType = gttFavorite then begin
3563 GikoForm.CabinetVisible( False );
3564 CabinetFavoriteAction.Checked := False;
3566 CabinetFavoriteAction.Checked := True;
3569 GikoForm.CabinetVisible( True );
3570 CabinetFavoriteAction.Checked := True;
3573 // BBS...BBS, History, Favorite
3574 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3576 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3577 for i := 0 to b do begin
3578 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3579 if item is TBBSMenuItem then begin
3580 item.Checked := False;
3581 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3582 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3586 //
\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Ö
3587 GikoForm.HistoryToolBar.Hide;
3588 GikoForm.FavoriteToolBar.Show;
3589 GikoForm.TreeView.Visible := False;
3590 GikoForm.FavoriteTreeView.Visible := True;
3592 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3593 GikoForm.TreeType := gttFavorite;
3595 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3596 CabinetBBSAction.Checked := False;
3597 CabinetHistoryAction.Checked := False;
3599 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3600 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3603 // *************************************************************************
3604 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3605 // *************************************************************************
3606 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3608 case GikoForm.TreeType of
3609 gttHistory: CabinetHistoryAction.Execute;
3610 gttFavorite: CabinetFavoriteAction.Execute;
3612 CabinetBBSAction.Execute;
3615 // *************************************************************************
3616 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3617 // *************************************************************************
3618 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3620 //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ã
3622 // *************************************************************************
3623 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3624 // *************************************************************************
3625 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3627 GikoForm.ListView.ViewStyle := vsIcon;
3628 LargeIconAction.Checked := True;
3630 // *************************************************************************
3631 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3632 // *************************************************************************
3633 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3635 GikoForm.ListView.ViewStyle := vsSmallIcon;
3636 SmallIconAction.Checked := True;
3638 // *************************************************************************
3639 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3640 // *************************************************************************
3641 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3643 GikoForm.ListView.ViewStyle := vsList;
3644 ListIconAction.Checked := True;
3646 // *************************************************************************
3647 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3648 // *************************************************************************
3649 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3651 GikoForm.ListView.ViewStyle := vsReport;
3652 DetailIconAction.Checked := True;
3654 // *************************************************************************
3655 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3656 // *************************************************************************
3657 procedure TGikoDM.StopActionExecute(Sender: TObject);
3659 GikoForm.FControlThread.DownloadAbort;
3660 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3662 GikoForm.Animate.Active := False;
3665 GikoForm.ScreenCursor := crDefault;
3667 // *************************************************************************
3668 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3669 // *************************************************************************
3670 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3672 if ArrangeAction.Checked then begin
3674 GikoForm.ViewPanel.Align := alNone;
3675 GikoForm.ListSplitter.Align := alNone;
3676 GikoForm.ThreadPanel.Align := alNone;
3678 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3679 GikoForm.ViewPanel.Align := alLeft;
3681 GikoForm.ListSplitter.Width := 5;
3682 GikoForm.ListSplitter.Align := alLeft;
3684 GikoForm.ViewPanel.Left := -10;
3686 GikoForm.ThreadPanel.Align := alClient;
3688 GikoSys.Setting.ListOrientation := gloHorizontal;
3689 case GikoSys.Setting.ListWidthState of
3691 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3692 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3693 GikoForm.ViewPanel.Width := 1;
3696 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3697 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3700 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3701 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3702 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3707 GikoForm.ViewPanel.Align := alNone;
3708 GikoForm.ListSplitter.Align := alNone;
3709 GikoForm.ThreadPanel.Align := alNone;
3711 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3712 GikoForm.ViewPanel.Align := alTop;
3714 GikoForm.ListSplitter.Height := 5;
3715 GikoForm.ListSplitter.Align := alTop;
3717 GikoForm.ViewPanel.Top := -10;
3719 GikoForm.ThreadPanel.Align := alClient;
3720 GikoSys.Setting.ListOrientation := gloVertical;
3721 case GikoSys.Setting.ListHeightState of
3723 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3724 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3725 GikoForm.ViewPanel.Height := 1;
3728 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3729 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3732 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3733 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3734 GikoForm.ViewPanel.Height :=
3735 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3740 // *************************************************************************
3741 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3742 // *************************************************************************
3743 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3745 GikoForm.CabinetPanel.Width := 150;
3746 GikoForm.MessagePanel.Height := 40;
3748 GikoForm.BrowserSizeWidth := 200;
3749 GikoForm.BrowserSizeHeight := 200;
3750 if ArrangeAction.Checked then begin
3751 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3753 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3755 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3756 if GikoSys.Setting.ListHeightState = glsMax then begin
3757 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3758 GikoSys.Setting.ListHeightState := glsNormal;
3761 if GikoSys.Setting.ListWidthState = glsMax then begin
3762 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3763 GikoSys.Setting.ListWidthState := glsNormal;
3767 // *************************************************************************
3768 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3769 // *************************************************************************
3770 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3772 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3773 GikoForm.SetBrowserTabState;
3775 // *************************************************************************
3776 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3777 // *************************************************************************
3778 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3780 BrowserTabBottomAction.Checked := False;
3781 BrowserTabTopAction.Checked := True;
3782 GikoSys.Setting.BrowserTabPosition := gtpTop;
3783 GikoForm.SetBrowserTabState;
3785 // *************************************************************************
3786 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3787 // *************************************************************************
3788 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3790 BrowserTabTopAction.Checked := False;
3791 BrowserTabBottomAction.Checked := True;
3792 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3793 GikoForm.SetBrowserTabState;
3795 // *************************************************************************
3796 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3797 // *************************************************************************
3798 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3800 BrowserTabButtonStyleAction.Checked := False;
3801 BrowserTabFlatStyleAction.Checked := False;
3802 BrowserTabTabStyleAction.Checked := True;
3803 GikoSys.Setting.BrowserTabStyle := gtsTab;
3804 GikoForm.SetBrowserTabState;
3806 // *************************************************************************
3807 //!
\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é
3808 // *************************************************************************
3809 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3811 BrowserTabTabStyleAction.Checked := False;
3812 BrowserTabFlatStyleAction.Checked := False;
3813 BrowserTabButtonStyleAction.Checked := True;
3814 GikoSys.Setting.BrowserTabStyle := gtsButton;
3815 GikoForm.SetBrowserTabState;
3817 // *************************************************************************
3818 //!
\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é
3819 // *************************************************************************
3820 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3822 BrowserTabFlatStyleAction.Checked := True;
3823 BrowserTabTabStyleAction.Checked := False;
3824 BrowserTabButtonStyleAction.Checked := False;
3825 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3826 GikoForm.SetBrowserTabState;
3828 // *************************************************************************
3829 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3830 // *************************************************************************
3831 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3833 GikoForm.ActiveContent.Browser.SetFocus;
3835 // *************************************************************************
3836 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3837 // *************************************************************************
3838 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3840 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3841 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3842 TAction(Sender).Enabled := true
3844 TAction(Sender).Enabled := false;
3846 // *************************************************************************
3847 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3848 // *************************************************************************
3849 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3851 if GikoForm.ActiveContent <> nil then
3852 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3853 GikoForm.ListView.SetFocus;
3855 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3856 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é
3858 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3859 if (GikoForm.ListView.ItemFocused <> nil) then begin
3860 GikoForm.ListView.ItemFocused.MakeVisible(False);
3863 // *************************************************************************
3864 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3865 // *************************************************************************
3866 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3868 if GikoForm.ActiveContent <> nil then
3869 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3870 if GikoForm.TreeView.Visible then begin
3871 GikoForm.TreeView.SetFocus;
3872 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3873 GikoForm.TreeView.Items.Item[0].Selected := true;
3874 end else if GikoForm.FavoriteTreeView.Visible then begin
3875 GikoForm.FavoriteTreeView.SetFocus;
3876 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3877 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3880 // *************************************************************************
3881 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3882 // *************************************************************************
3883 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3885 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3887 // *************************************************************************
3888 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3889 // *************************************************************************
3890 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3892 BrowserMinAction.Execute;
3893 SetFocusForThreadListAction.Execute;
3895 // *************************************************************************
3896 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3897 // *************************************************************************
3898 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3900 BrowserMaxAction.Execute;
3901 SetFocusForBrowserAction.Execute;
3903 // *************************************************************************
3904 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3905 // *************************************************************************
3906 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3908 if GikoForm.ListView.Selected <> nil then begin
3909 GikoForm.ListView.Selected.Focused := True;
3910 GikoForm.ListView.Selected := nil;
3913 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3914 // *************************************************************************
3915 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3916 // *************************************************************************
3917 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3919 SetThreadReadProperty(true);
3921 // *************************************************************************
3922 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3923 // *************************************************************************
3924 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3926 SetThreadReadProperty(false);
3928 // *************************************************************************
3929 //!
\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Ç
3930 // *************************************************************************
3931 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3936 List := TList.Create;
3938 GikoForm.SelectListItem(List);
3939 for i := 0 to List.Count - 1 do begin
3940 if TObject(List[i]) is TThreadItem then begin
3941 if (TThreadItem(List[i]).IsLogFile) then begin
3942 TThreadItem(List[i]).UnRead := not read;
3946 if GikoForm.TreeView.Visible then
3947 GikoForm.TreeView.Refresh;
3948 if GikoForm.ListView.Visible then
3949 GikoForm.ListView.Refresh;
3954 // *************************************************************************
3955 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3956 // *************************************************************************
3957 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3959 GikoForm.ListViewAllSelect;
3961 // *************************************************************************
3962 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3963 // *************************************************************************
3964 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3966 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3968 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3969 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3970 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3972 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 +
3973 '
\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' +
3974 '
\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';
3975 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3978 limitSize : Integer;
3981 {
\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Í
3982 \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
3983 \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õ
3984 è
\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
3985 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3987 if MsgBox(GikoForm.Handle, RECALC_MES,
3988 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3989 //è
\87\92l
\82Ì
\8am
\94F
3990 limitSize := LIMIT_SIZE;
3991 limitStr := IntToStr(limitSize);
3992 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
3993 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3994 if (limitSize < 0) then begin
3995 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3996 ThreadSizeCalcForFileActionExecute(nil);
3998 RecalcThreadSize(limitSize);
4003 //! 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
4004 procedure TGikoDM.RecalcThreadSize(limit : Integer);
4006 i, j, tmpSize : Integer;
4009 Thread: TThreadItem;
4012 //
\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
4013 GikoForm.ScreenCursor := crHourGlass;
4015 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
4016 for i := 0 to BoardGroups[0].Count - 1 do begin
4017 Obj := BoardGroups[0].Objects[i];
4018 if (Obj <> nil) then begin
4019 Board := TBoard(Obj);
4020 if not Board.IsThreadDatRead then begin
4021 GikoSys.ReadSubjectFile(Board);
4023 for j := 0 to Board.Count - 1 do begin
4024 Thread := Board.Items[j];
4025 if (Thread <> nil) and (Thread.IsLogFile)
4026 and (Thread.Size <= limit) then begin
4027 dat := TStringList.Create;
4029 tmpSize := Thread.Size;
4031 dat.LoadFromFile(Thread.GetThreadFileName);
4032 tmpSize := Length(dat.Text);
4033 tmpSize := tmpSize - dat.Count;
4036 Thread.Size := tmpSize;
4043 GikoForm.ProgressBar.StepBy(1);
4046 GikoForm.ScreenCursor := crDefault;
4048 GikoForm.ProgressBar.Position := 0;
4049 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
4051 // *************************************************************************
4052 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
4053 // *************************************************************************
4054 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
4056 form : TInputAssistForm;
4058 form := TInputAssistForm.Create(GikoForm);
4066 // *************************************************************************
4067 //!
\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é
4068 // *************************************************************************
4069 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
4071 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
4072 GikoForm.ActiveContent.OpenFindDialog;
4076 // *************************************************************************
4077 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
4078 // *************************************************************************
4079 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
4082 if GikoForm.ClickNode = nil then Exit;
4085 GikoForm.ClickNode.Text + #13#10;
4088 // *************************************************************************
4089 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4090 // *************************************************************************
4091 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4095 if ( EditorFormExists ) then begin
4096 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4097 for i := Screen.CustomFormCount - 1 downto 0 do begin
4098 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4099 TEditorForm(Screen.CustomForms[i]).Close;
4104 // *************************************************************************
4105 //!
\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é
4106 // *************************************************************************
4107 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4109 if (Sender is TAction) then begin
4110 TAction(Sender).Enabled := EditorFormExists;
4113 // *************************************************************************
4114 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4115 // *************************************************************************
4116 function TGikoDM.EditorFormExists(): boolean;
4121 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4122 for i := Screen.CustomFormCount - 1 downto 0 do begin
4123 if (Screen.CustomForms[i] is TEditorForm) then begin
4130 // *************************************************************************
4131 //!
\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é
4132 // *************************************************************************
4133 procedure TGikoDM.ClearNameTextAllEditor();
4137 for i := 0 to Screen.CustomFormCount - 1 do begin
4138 if (Screen.CustomForms[i] is TEditorForm) then begin
4139 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4143 // *************************************************************************
4144 //!
\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é
4145 // *************************************************************************
4146 procedure TGikoDM.ClearMailAllEditor();
4150 for i := 0 to Screen.CustomFormCount - 1 do begin
4151 if TObject(Screen.CustomForms[i]) is TEditorForm then
4152 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4156 // *************************************************************************
4157 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4158 // *************************************************************************
4159 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4161 PrevMoveHistory.Enabled :=
4162 (MoveHisotryManager.HisotryIndex > 0)
4164 // *************************************************************************
4165 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4166 // *************************************************************************
4167 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4169 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4170 BackToHistory(MoveHisotryManager.getPrevItem
4171 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4172 .Objects[GikoForm.BrowserTab.TabIndex])));
4174 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4177 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4178 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4180 browser : TWebBrowser;
4181 doc : IHTMLDocument2;
4183 if ( item <> nil ) then begin
4184 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4185 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4186 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4187 if (browser <> nil) then begin
4189 doc := browser.ControlInterface.Document as IHTMLDocument2;
4190 (doc.body as IHTMLElement2).ScrollTop := item.ScrollTop;
4196 MoveURLWithHistory(item.ThreadItem.URL, True);
4200 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4201 procedure TGikoDM.MoveURLWithHistory(URL : String; KeyMask: Boolean = False);
4206 GikoForm.MoveToURL(URL, KeyMask);
4207 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4208 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4209 if idx = -1 then begin
4210 GikoForm.AddressComboBox.Items.Insert(0, URL);
4211 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4212 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4214 GikoForm.AddressComboBox.Items.Delete(idx);
4215 GikoForm.AddressComboBox.Items.Insert(0, URL);
4218 // *************************************************************************
4219 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4220 // *************************************************************************
4221 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4223 NextMoveHistory.Enabled :=
4224 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4226 // *************************************************************************
4227 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4228 // *************************************************************************
4229 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4231 BackToHistory(MoveHisotryManager.getNextItem);
4233 // *************************************************************************
4234 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4235 // *************************************************************************
4236 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4238 browser : TWebBrowser;
4239 elem : IHTMLElement;
4240 doc : IHTMLDocument2;
4242 if (GikoForm.GetActiveContent <> nil) then begin
4243 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4244 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4245 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4246 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4247 if (browser <> nil) then begin
4249 doc := browser.ControlInterface.Document as IHTMLDocument2;
4250 if Assigned(doc) then begin
4251 elem := doc.activeElement;
4252 if Assigned(elem) then begin
4263 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4264 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4266 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4267 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4269 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4270 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4272 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4273 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4275 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4276 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4278 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4279 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4281 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4282 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4284 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4285 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4287 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4288 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4290 GikoForm.StoredTaskTray;
4291 StoredTaskTrayAction.Tag := -1;
4295 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4296 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4298 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4300 links : IHTMLElementCollection;
4301 urls, exts : TStringList;
4303 links := GetActiveThreadLinks;
4304 if (links <> nil) then begin
4305 urls := TStringList.Create;
4306 exts := TStringList.Create;
4308 exts.CaseSensitive := False;
4309 exts.Sorted := True;
4310 exts.Delimiter := ';';
4311 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4312 GetLinkURLs(links, urls, 0, exts);
4313 Clipboard.SetTextBuf(urls.GetText);
4322 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4323 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4325 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4327 links : IHTMLElementCollection;
4328 urls, exts : TStringList;
4329 ThreadItem : TThreadItem;
4331 ThreadItem := GikoForm.GetActiveContent;
4332 links := GetActiveThreadLinks;
4333 if (ThreadItem <> nil) and (links <> nil) then begin
4334 urls := TStringList.Create;
4335 exts := TStringList.Create;
4337 exts.CaseSensitive := False;
4338 exts.Sorted := True;
4339 exts.Delimiter := ';';
4340 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4342 GetLinkURLs(links, urls,
4343 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4344 Clipboard.SetTextBuf(urls.GetText);
4352 \breif
\83\8a\83\93\83NURL
\8eæ
\93¾
4353 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4355 procedure TGikoDM.AllLinkToClipboardActionExecute(Sender: TObject);
4357 links : IHTMLElementCollection;
4358 urls, exts : TStringList;
4360 links := GetActiveThreadLinks;
4361 if (links <> nil) then begin
4362 urls := TStringList.Create;
4363 exts := TStringList.Create;
4365 exts.CaseSensitive := False;
4366 exts.Sorted := True;
4367 exts.Delimiter := ';';
4368 exts.DelimitedText :=
4369 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4370 GetLinkURLs(links, urls, 0, exts);
4371 Clipboard.SetTextBuf(urls.GetText);
4379 \breif
\90V
\92\85\83\8c\83X
\83\8a\83\93\83NURL
\8eæ
\93¾
4380 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4382 procedure TGikoDM.NewLinkToClipboardActionExecute(Sender: TObject);
4384 links : IHTMLElementCollection;
4385 urls, exts : TStringList;
4386 ThreadItem : TThreadItem;
4388 ThreadItem := GikoForm.GetActiveContent;
4389 links := GetActiveThreadLinks;
4390 if (ThreadItem <> nil) and (links <> nil) then begin
4391 urls := TStringList.Create;
4392 exts := TStringList.Create;
4394 exts.CaseSensitive := False;
4395 exts.Sorted := True;
4396 exts.Delimiter := ';';
4397 exts.DelimitedText :=
4398 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4399 GetLinkURLs(links, urls,
4400 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4401 Clipboard.SetTextBuf(urls.GetText);
4410 \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
4411 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4413 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4415 browser : TWebBrowser;
4416 doc : IHTMLDocument2;
4419 if (GikoForm.GetActiveContent <> nil) then begin
4420 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4421 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4422 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4423 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4424 if (browser <> nil) then begin
4426 doc := browser.ControlInterface.Document as IHTMLDocument2;
4427 if Assigned(doc) then begin
4428 Result := doc.links;
4439 \brief
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4440 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4441 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4442 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4443 \param Exts
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\8ag
\92£
\8eq
4445 procedure TGikoDM.GetLinkURLs(links : IHTMLElementCollection;
4446 URLs : TStringList; const Start: Integer; Exts : TStringList);
4448 index ,i, j : Integer;
4449 item : IHTMLElement;
4452 if (links <> nil) then begin
4454 for i := 0 to links.length - 1 do begin
4455 item := links.item(i, 0) as IHTMLElement;
4456 if (item <> nil) then begin
4457 url := item.getAttribute('href', 0);
4458 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4459 if (Pos('menu:', url) > 0) then begin
4460 index := StrToInt64Def(
4461 Copy(url, 6, Length(url)), index + 1
4464 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4465 if (index >= Start) then begin
4466 ext := ExtractFileExt( AnsiLowerCase(url) );
4467 //
\8ag
\92£
\8eq
\82ð
\83`
\83F
\83b
\83N
4468 if Exts.Find(ext, j) then begin
4478 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4479 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4481 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4483 if ( GikoForm.AddressToolBar.Visible ) then begin
4484 GikoForm.AddressComboBox.SetFocus;
4488 \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é
4490 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4492 form : TNewBoardURLForm;
4495 if (EditorFormExists) then begin
4496 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4497 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4500 form := TNewBoardURLForm.Create(Self);
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.ScrollPageDownActionExecute(Sender: TObject);
4510 GikoForm.BrowserMovement(GikoForm.BrowserPanel.Height);
4512 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4513 procedure TGikoDM.ScrollPageUpActionExecute(Sender: TObject);
4515 GikoForm.BrowserMovement(-GikoForm.BrowserPanel.Height);
4519 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
\81i
\93§
\96¾)
4520 procedure TGikoDM.AddIDtoNGWord0ActionExecute(Sender: TObject);
4522 GikoForm.AddIDtoNGWord(true);
4524 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
4525 procedure TGikoDM.AddIDtoNGWord1ActionExecute(Sender: TObject);
4527 GikoForm.AddIDtoNGWord(false);
4529 //!
\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¦
4530 procedure TGikoDM.ExtractSameIDActionExecute(Sender: TObject);
4534 ID := Trim(Clipboard.AsText);
4535 if (Length(ID) > 0) then begin
4536 if not IsNoValidID(ID) then begin
4537 GikoForm.ShowSameIDAncher(ID);
4541 //!
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82·
\82é
4542 procedure TGikoDM.ShowTabListActionExecute(Sender: TObject);
4546 GikoForm.ListView.Items.BeginUpdate;
4547 GikoForm.ListView.Items.Clear;
4548 BoardGroup.SpecialBoard.Clear;
4549 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
4550 BoardGroup.SpecialBoard.Add(
4551 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Thread);
4553 GikoForm.ListView.Items.EndUpdate;
4554 GikoForm.SetActiveList(BoardGroup.SpecialBoard);
4556 //!
\8bt
\8eQ
\8fÆ
\82µ
\82Ä
\82¢
\82é
\83\8c\83X
\82ð
\92Ç
\89Á
\82·
\82é
4557 procedure TGikoDM.DereferenceResActionExecute(Sender: TObject);
4559 i, currentNo, No : Integer;
4560 links : IHTMLElementCollection;
4561 threadItem : TThreadItem;
4562 item : IHTMLElement;
4564 resNo : TStringList;
4565 alreadyExist : Boolean;
4568 No := GikoForm.KokoPopupMenu.Tag;
4569 if No = 0 then Exit;
4571 ThreadItem := GikoForm.KokoPopupThreadItem;
4572 //
\83A
\83N
\83e
\83B
\83u
\83^
\83u
\82©
\82ç
\91S
\82Ä
\82Ì
\83\8a\83\93\83N
\82ð
\8eæ
\93¾
\82·
\82é
4573 links := GetActiveThreadLinks;
4574 if (ThreadItem <> nil) and (links <> nil) then begin
4575 resNo := TStringList.Create;
4578 alreadyExist := False;
4579 //
\83\8a\83\93\83N
\82ð
\91S
\82Ä
\91\96\8d¸
\82·
\82é
4580 for i := 0 to links.length - 1 do begin
4581 item := links.item(i, 0) as IHTMLElement;
4582 if (item <> nil) then begin
4583 url := item.getAttribute('href', 0);
4584 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4585 if (Pos('menu:', url) > 0) then begin
4586 currentNo := StrToInt64Def(
4587 Copy(url, 6, Length(url)), currentNo + 1
4589 alreadyExist := False;
4590 end else if (currentNo <> -1) and (not alreadyExist) then begin
4592 if Pos('about:..', url) = 1 then begin
4593 url := 'about:blank..' + Copy( url, Length('about:..')+1, Length(url) )
4595 //
\8e©
\95ª
\82Ö
\82Ì
\83\8a\83\93\83N
\82©
\82ç
\83\8c\83X
\83|
\83b
\83v
\97p
\82Ì
\94Ô
\8d\86\8eæ
\93¾
4596 if Pos('about:blank..', url) = 1 then begin
4597 // No
\94Ô
\82Ö
\82Ì
\83\8a\83\93\83N
\82ª
\82 \82ê
\82Î
\8eQ
\8fÆ
\82 \82è
4598 url2 := THTMLCreate.GetRespopupURL(url, ThreadItem.URL);
4599 PathRec := Gikosys.Parse2chURL2(url2);
4600 if (not PathRec.FNoParam) then begin
4601 Gikosys.GetPopupResNumber(url2,PathRec.FSt,PathRec.FTo);
4603 //
\91Î
\8fÛ
\83\8c\83X
\82à
\82µ
\82
\82Í
\82»
\82ê
\82ð
\8aÜ
\82Þ
\82È
\82ç
\8eQ
\8fÆ
\82 \82è
\82Æ
\82·
\82é
4604 if (PathRec.FSt = No) or
4605 ((PathRec.FSt <= No) and (PathRec.FTo >= No)) then begin
4606 alreadyExist := True;
4607 resNo.Add(IntToStr(currentNo));
4613 //
\96³
\90§
\8cÀ
\82È
\82Ì
\82Å-1
\8cÅ
\92è
4614 GikoForm.ActiveContent.IDAnchorPopup(
4615 GikoSys.CreateResAnchor(resNo, ThreadItem, -1));
4623 procedure TGikoDM.UpdateGikonaviActionExecute(Sender: TObject);
4625 form : TUpdateCheckForm;
4629 if (EditorFormExists) then begin
4630 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4631 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4634 GikoForm.UpdateExePath := '';
4635 GikoForm.UpdateExeArgs := '';
4636 form := TUpdateCheckForm.Create(GikoForm);
4639 shutdown := form.Allowshutdown;
4640 if shutdown then begin
4641 GikoForm.UpdateExePath := form.ExecPath;
4642 GikoForm.UpdateExeArgs := form.ExecArgs;
4647 if shutdown then begin
4648 //
\83M
\83R
\83i
\83r
\8fI
\97¹
4653 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iPATH_INFO)
4654 procedure TGikoDM.konoURLPATHActionExecute(Sender: TObject);
4657 ThreadItem : TThreadItem;
4658 URL, Protocol, Host, Path, Document, Port, Bookmark : String;
4660 No := GikoForm.KokoPopupMenu.Tag;
4661 if No = 0 then Exit;
4663 ThreadItem := GikoForm.KokoPopupThreadItem;
4664 if (ThreadItem.ParentBoard.Is2ch) or not (Pos('?', ThreadItem.URL) > 0) then begin
4665 GikoSys.ParseURI(ThreadItem.URL,Protocol, Host, Path, Document, Port, Bookmark);
4666 URL := Protocol + '://' + Host + Path + IntToStr(No);
4668 if Pos('?', ThreadItem.URL) > 0 then begin
4669 URL := Copy(ThreadItem.URL, 1, Pos('?', ThreadItem.URL)-1);
4670 //
\82Ü
\82¿BBS
\97p
\8f\88\92u
4671 URL := MojuUtils.CustomStringReplace(URL, 'read.pl', 'read.cgi');
4672 URL := URL + '/' + ThreadItem.ParentBoard.BBSID + '/' + ChangeFileExt(ThreadItem.FileName, '') + '/' + IntToStr(No);
4675 Clipboard.SetTextBuf( PChar(URL) );
4677 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iQuery_STRING)
4678 procedure TGikoDM.konoURLQueryActionExecute(Sender: TObject);
4681 ThreadItem : TThreadItem;
4682 URL, Protocol, Host, Path, Document, Port, Bookmark : String;
4684 No := GikoForm.KokoPopupMenu.Tag;
4685 if No = 0 then Exit;
4687 ThreadItem := GikoForm.KokoPopupThreadItem;
4688 // 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Â
4689 if ThreadItem.ParentBoard.Is2ch or not (Pos('?', ThreadItem.URL) > 0) then begin
4690 GikoSys.ParseURI(ThreadItem.URL, Protocol, Host, Path, Document, Port, Bookmark);
4691 URL := Protocol + '://' + Host + '/test/read.cgi?bbs=' + ThreadItem.ParentBoard.BBSID
4692 + '&key=' + ChangeFileExt(ThreadItem.FileName, '') + '&st=' + IntToStr(No) + '&to=' + IntToStr(No);
4694 URL := ThreadItem.URL;
4696 if Pos('&LAST=', URL) > 0 then begin
4697 URL := Copy(URL, 1, Pos('&LAST=', URL) - 1);
4698 URL := URL + '&START=' + IntToStr(No) + '&END=' + IntToStr(No);
4700 //
\82»
\82Ì
\91¼
\8aO
\95\94\94Â
4701 if Pos('&ls=', URL) > 0 then begin
4702 URL := Copy(URL, 1, Pos('&ls=', URL) - 1);
4703 URL := URL + '&st=' + IntToStr(No) + '&to=' + IntToStr(No);
4707 Clipboard.SetTextBuf( PChar(URL) );
4709 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iQuery_STRING
\81j
\82Ì
\97\98\97p
\83`
\83F
\83b
\83N
4710 procedure TGikoDM.konoURLQueryActionUpdate(Sender: TObject);
4712 LIVEDOOR_URL = 'http://jbbs.shitaraba.net/';
4714 // 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
4715 konoURLQueryAction.Enabled := false;
4716 if (GikoForm.KokoPopupThreadItem <> nil) then begin
4717 konoURLQueryAction.Enabled := not GikoForm.KokoPopupThreadItem.ParentBoard.Is2ch;
4718 if konoURLQueryAction.Enabled then begin
4719 konoURLQueryAction.Enabled := not (Pos(LIVEDOOR_URL, GikoForm.KokoPopupThreadItem.URL) = 1);
4723 //!
\83|
\83b
\83v
\83A
\83b
\83v
\83\81\83j
\83\85\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
4724 procedure TGikoDM.PopupMenuSettingActionExecute(Sender: TObject);
4726 Dlg: TPopupMenuSettingDialog;
4728 Dlg := TPopupMenuSettingDialog.Create(GikoForm, GikoFormActionList);
4736 procedure TGikoDM.ThreadSearchActionExecute(Sender: TObject);
4738 if (ThreadSrch <> nil) and (ThreadSrch.Visible = False) then begin
4742 if (ThreadSrch = nil) then begin
4743 ThreadSrch := TThreadSrch.Create(GikoForm);
4748 procedure TGikoDM.SaveThreadSearchSetting;
4750 if (ThreadSrch <> nil) and (ThreadSrch.Visible = True) then
4751 ThreadSrch.SaveSetting;
4754 procedure TGikoDM.ThreadNgEditActionExecute(Sender: TObject);
4756 ThreadNGEdit := TThreadNGEdit.Create(GikoForm);
4757 if (ThreadNGEdit.ShowModal = mrOk) then begin
4758 GikoForm.ListView.Refresh;
4761 ThreadNGEdit := nil;