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 if (GikoSys.FAbon.EditNGwords(GikoForm) = True) then
577 ReloadAction.Execute;
579 // *************************************************************************
580 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
581 // *************************************************************************
582 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
584 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
585 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
586 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½',
587 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
589 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
590 GikoForm.RepaintAllTabsBrowser();
593 // *************************************************************************
594 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
595 // *************************************************************************
596 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
598 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
599 if GikoSys.FAbon.GoBack =false then begin
600 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½',
601 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
603 //
\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
605 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
606 GikoForm.RepaintAllTabsBrowser();
609 // *************************************************************************
610 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
611 // *************************************************************************
612 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
614 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
615 if GikoSys.FAbon.GoForward =false then begin
616 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½',
617 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
619 //
\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
621 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
622 GikoForm.RepaintAllTabsBrowser();
625 // *************************************************************************
626 //! 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
627 // *************************************************************************
628 procedure TGikoDM.RepaintStatusBar;
632 //
\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
633 s := GikoSys.FAbon.NGwordname;
634 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
635 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
636 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
637 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
638 GikoForm.StatusBarResize(nil);
640 // *************************************************************************
641 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
642 // *************************************************************************
643 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
645 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
647 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
649 // *************************************************************************
650 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
651 // *************************************************************************
652 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
654 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
656 // *************************************************************************
657 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
658 // *************************************************************************
659 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
661 Dlg: TFavoriteArrangeDialog;
663 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
669 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
670 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
672 // *************************************************************************
673 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
674 // *************************************************************************
675 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
679 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
681 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
682 while node <> nil do begin
683 if node.HasChildren then
684 node.Expanded := False;
685 node := node.GetNext;
690 // *************************************************************************
691 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
692 // *************************************************************************
693 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
698 if GikoForm.ClickNode = nil then
700 if GikoForm.ClickNode.IsFirstNode then
702 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
704 GikoForm.FavoriteTreeView.ReadOnly := False;
705 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
706 node := GikoForm.ClickNode.Parent;
707 while node <> nil do begin
708 node.Expanded := True;
711 GikoForm.ClickNode.EditText;
713 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 );
715 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
716 FavoriteDM.Modified := true;
719 // *************************************************************************
720 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
721 // *************************************************************************
722 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
724 NewFavFolder: TFavoriteFolder;
728 if GikoForm.ClickNode = nil then
732 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
733 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
734 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
737 NewFavFolder := TFavoriteFolder.Create;
738 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
739 Node.ImageIndex := 14;
740 Node.SelectedIndex := 14;
741 // FClickNode.Selected.Expanded := True;
742 GikoForm.FavoriteTreeView.Selected := Node;
743 GikoForm.ClickNode := Node;
744 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
745 FavoriteDM.Modified := true;
746 FavoriteTreeViewRenameAction.Execute;
751 // *************************************************************************
752 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
753 // *************************************************************************
754 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
756 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';
757 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
758 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
761 if GikoForm.ClickNode = nil then
763 if GikoForm.ClickNode.IsFirstNode then
765 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
766 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
767 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
770 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
775 GikoForm.ClickNode.Delete;
776 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
777 FavoriteDM.Modified := true;
782 // *************************************************************************
783 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
784 // *************************************************************************
785 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
788 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
790 // *************************************************************************
791 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
792 // *************************************************************************
793 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
795 FavThread: TFavoriteThreadItem;
796 FavBoard: TFavoriteBoardItem;
799 if (GikoForm.ClickNode = nil) then Exit;
801 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
803 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
804 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
805 if FavThread.Item <> nil then
806 GikoForm.DownloadContent(FavThread.Item, shiftDown);
807 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
808 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
809 GikoForm.DownloadList(FavBoard.Item, shiftDown);
813 // *************************************************************************
814 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
815 // *************************************************************************
816 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
819 if GikoForm.ClickNode = nil then Exit;
821 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
822 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
825 // *************************************************************************
826 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
827 // *************************************************************************
828 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
831 if GikoForm.ClickNode = nil then Exit;
833 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
835 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
838 GikoForm.ClickNode.Text + #13#10;
842 // *************************************************************************
843 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
844 // *************************************************************************
845 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
848 favItem : TFavoriteItem;
851 if GikoForm.ClickNode = nil then Exit;
853 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
854 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
855 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
856 favItem.URL + #13#10;
860 // *************************************************************************
861 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
862 // *************************************************************************
863 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
865 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';
866 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
868 ThreadItem: TThreadItem;
869 FavThread: TFavoriteThreadItem;
872 if GikoForm.ClickNode = nil then Exit;
873 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
875 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
876 ThreadItem := FavThread.Item;
879 if GikoSys.Setting.DeleteMsg then begin
880 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
881 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
885 GikoForm.DeleteHistory(ThreadItem);
886 GikoForm.DeleteTab(ThreadItem);
887 ThreadItem.DeleteLogFile;
889 GikoForm.ListView.Refresh;
894 // *************************************************************************
895 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
896 // *************************************************************************
897 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
900 threadItem : TThreadItem;
903 if GikoForm.ClickNode = nil then Exit;
905 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
907 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
908 if threadItem = nil then
910 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
914 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
915 procedure TGikoDM.ClearResFilter;
917 FilterList : TStringList;
919 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
920 FilterList := TStringList.Create;
922 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
923 GikoSys.FSelectResFilter.Reverse := False;
927 GikoForm.SelectResWord := '';
929 // *************************************************************************
930 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
931 // *************************************************************************
932 procedure TGikoDM.SetResRange(range: Integer);
934 if GikoSys.ResRange <> range then begin
935 GikoSys.ResRange := range;
936 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
938 GikoForm.RepaintAllTabsBrowser();
941 // *************************************************************************
942 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
943 // *************************************************************************
944 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
946 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
947 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
949 GikoForm.ResRangeMenuSelect := 100;
950 OnlyAHundredResAction.Checked := True;
951 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
\81B
\90Ý
\92è
\92l
\82©
\82ç
\82Æ
\82Á
\82Ä
\82
\82é
\81B
952 SetResRange(GikoSys.Setting.ResRangeExCount);
954 // *************************************************************************
955 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
956 // *************************************************************************
957 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
959 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
960 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
962 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
963 OnlyKokoResAction.Checked := True;
965 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
966 SetResRange(Ord( grrKoko ));
968 // *************************************************************************
969 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
970 // *************************************************************************
971 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
973 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
974 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
976 GikoForm.ResRangeMenuSelect := Ord( grrNew );
977 OnlyNewResAction.Checked := True;
979 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
980 SetResRange(Ord( grrNew ));
982 // *************************************************************************
983 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
984 // *************************************************************************
985 procedure TGikoDM.SetThreadAreaHorNormal;
987 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
988 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
989 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
990 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
991 GikoSys.Setting.ListWidthState := glsNormal;
993 // *************************************************************************
994 //!
\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@
995 // *************************************************************************
996 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
998 if GikoSys.Setting.ListWidthState = glsNormal then
999 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
1001 if (gls = glsMax) then begin
1002 GikoForm.ViewPanel.Width := 1;
1003 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
1004 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
1005 GikoSys.Setting.ListWidthState := glsMax;
1006 end else if (gls = glsMin) then begin
1007 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
1008 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
1009 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
1010 GikoSys.Setting.ListWidthState := glsMin;
1013 // *************************************************************************
1014 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
1015 // *************************************************************************
1016 procedure TGikoDM.SetThreadAreaVerNormal;
1018 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1019 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
1020 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1021 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1022 GikoSys.Setting.ListHeightState := glsNormal;
1024 // *************************************************************************
1025 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
1026 // *************************************************************************
1027 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
1029 if GikoSys.Setting.ListHeightState = glsNormal then
1030 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
1031 if (gls = glsMin) then begin
1032 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
1033 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1034 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1035 GikoSys.Setting.ListHeightState := glsMin;
1036 end else if (gls = glsMax) then begin
1037 GikoForm.ViewPanel.Height := 1;
1038 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1039 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1040 GikoSys.Setting.ListHeightState := glsMax;
1043 // *************************************************************************
1044 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
1045 // *************************************************************************
1046 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
1048 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1049 case GikoSys.Setting.ListWidthState of
1051 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1052 SetThreadAreaHorNormal;
1054 glsMin, glsNormal: begin
1055 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1056 SetThreadAreaHorizontal(glsMax);
1060 case GikoSys.Setting.ListHeightState of
1062 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1063 SetThreadAreaVerNormal;
1065 glsMin, glsNormal: begin
1066 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1067 SetThreadAreaVertical(glsMax);
1072 // *************************************************************************
1073 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1074 // *************************************************************************
1075 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1077 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1078 case GikoSys.Setting.ListWidthState of
1079 glsMax, glsNormal: begin
1080 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1081 SetThreadAreaHorizontal(glsMin);
1084 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1085 SetThreadAreaHorNormal;
1089 case GikoSys.Setting.ListHeightState of
1090 glsMax, glsNormal: begin
1091 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1092 SetThreadAreaVertical(glsMin);
1095 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1096 SetThreadAreaVerNormal;
1101 // *************************************************************************
1102 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1103 // *************************************************************************
1104 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1106 GikoForm.BrowserMovement('top');
1108 // *************************************************************************
1109 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1110 // *************************************************************************
1111 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1113 GikoForm.BrowserMovement('bottom');
1115 // *************************************************************************
1116 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1117 // *************************************************************************
1118 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1120 GikoForm.BrowserMovement('new');
1122 // *************************************************************************
1123 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
\82Ö
\88Ú
\93®
\82·
\82é
1124 // *************************************************************************
1125 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1127 GikoForm.BrowserMovement('koko');
1129 // *************************************************************************
1130 //!
\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
1131 // *************************************************************************
1132 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1134 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1135 and (GikoForm.GetActiveContent.IsLogFile)
1136 and (GikoForm.GetActiveContent.Kokomade <> -1);
1138 // *************************************************************************
1139 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1140 // *************************************************************************
1141 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1143 Editor: TEditorForm;
1146 Item := GikoForm.GetActiveContent;
1147 if Item = nil then Exit;
1148 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1149 Editor.SetThreadItem(Item);
1151 Editor.SetFocusEdit;
1153 // *************************************************************************
1154 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1155 // *************************************************************************
1156 procedure TGikoDM.IEActionExecute(Sender: TObject);
1158 ShowThreadAction.Execute;
1160 // *************************************************************************
1161 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1162 // *************************************************************************
1163 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1165 ThreadItem: TThreadItem;
1167 ThreadItem := GikoForm.GetActiveContent;
1168 if ThreadItem = nil then Exit;
1169 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1171 // *************************************************************************
1172 //!
\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é
1173 // *************************************************************************
1174 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1176 ThreadItem: TThreadItem;
1178 ThreadItem := GikoForm.GetActiveContent;
1179 if ThreadItem = nil then Exit;
1180 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1182 // *************************************************************************
1183 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1184 // *************************************************************************
1185 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1190 if TObject(GikoForm.GetActiveContent) is TBoard then
1191 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1192 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1193 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1195 Clipboard.AsText := s;
1197 // *************************************************************************
1198 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1199 // *************************************************************************
1200 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1205 if TObject(GikoForm.GetActiveContent) is TBoard then
1206 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1207 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1208 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1210 Clipboard.AsText := s;
1212 // *************************************************************************
1213 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1214 // *************************************************************************
1215 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1220 if TObject(GikoForm.GetActiveContent) is TBoard then
1221 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1222 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1223 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1225 Clipboard.AsText := s;
1227 // *************************************************************************
1228 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1229 // *************************************************************************
1230 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1232 ThreadItem: TThreadItem;
1235 ThreadItem := GikoForm.GetActiveContent;
1236 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1237 if ThreadItem <> nil then
1238 GikoForm.DownloadContent(ThreadItem, shiftDown);
1240 // *************************************************************************
1241 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1242 // *************************************************************************
1243 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1247 idx := GikoForm.BrowserTab.TabIndex;
1248 if idx <> -1 then begin
1249 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1250 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1254 // *************************************************************************
1255 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1256 // *************************************************************************
1257 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1259 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1261 // *************************************************************************
1262 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1263 // *************************************************************************
1264 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1269 idx := GikoForm.BrowserTab.TabIndex;
1270 if idx = -1 then Exit;
1271 GikoForm.BrowserTab.Tabs.BeginUpdate;
1272 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1273 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1274 GikoForm.BrowserTab.Tabs.Delete(i);
1276 if idx > 0 then begin
1277 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1278 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1279 GikoForm.BrowserTab.Tabs.Delete(i);
1282 GikoForm.BrowserTab.Tabs.EndUpdate;
1284 // *************************************************************************
1285 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1286 // *************************************************************************
1287 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1289 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1291 // *************************************************************************
1292 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1293 // *************************************************************************
1294 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1298 if GikoSys.Setting.ShowDialogForAllTabClose then
1299 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
1302 GikoForm.ActiveContent := nil;
1303 GikoForm.BrowserNullTab.Thread := nil;
1304 GikoForm.BrowserTab.OnChange := nil;
1305 GikoForm.BrowserTab.Tabs.BeginUpdate;
1306 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1307 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1309 GikoForm.BrowserTab.Tabs.Clear;
1310 GikoForm.BrowserTab.Tabs.EndUpdate;
1311 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1312 GikoForm.SetContent(GikoForm.BrowserNullTab);
1313 GikoForm.Caption := CAPTION_NAME ;
1315 // *************************************************************************
1316 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1317 // *************************************************************************
1318 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1320 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';
1321 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1324 ThreadItem: TThreadItem;
1326 idx := GikoForm.BrowserTab.TabIndex;
1327 if idx <> -1 then begin
1328 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1329 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1330 if GikoSys.Setting.DeleteMsg then
1331 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1332 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1334 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1335 GikoForm.DeleteHistory(ThreadItem);
1336 ThreadItem.DeleteLogFile;
1337 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1338 GikoForm.ListView.Refresh;
1342 // *************************************************************************
1343 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1344 // *************************************************************************
1345 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1347 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1348 GikoForm.BrowserTab.TabIndex := 0;
1349 GikoForm.BrowserTab.OnChange(nil);
1352 // *************************************************************************
1353 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1354 // *************************************************************************
1355 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1357 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1358 LeftmostTabSelectActionUpdate(Sender);
1360 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1364 // *************************************************************************
1365 //!
\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
1366 // *************************************************************************
1367 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1369 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1370 and (GikoForm.BrowserTab.TabIndex <> 0);
1372 // *************************************************************************
1373 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1374 // *************************************************************************
1375 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1377 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1378 if GikoForm.BrowserTab.TabIndex = -1 then begin
1379 GikoForm.BrowserTab.TabIndex := 0;
1380 GikoForm.BrowserTab.OnChange(nil);
1381 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1382 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1383 GikoForm.BrowserTab.OnChange(nil);
1385 if (GikoSys.Setting.LoopBrowserTabs) and
1386 (GikoForm.BrowserTab.TabIndex = 0) then begin
1387 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1388 GikoForm.BrowserTab.OnChange(nil);
1393 // *************************************************************************
1394 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1395 // *************************************************************************
1396 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1398 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1399 if GikoForm.BrowserTab.TabIndex = -1 then begin
1400 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1401 GikoForm.BrowserTab.OnChange(nil);
1402 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1403 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1404 GikoForm.BrowserTab.OnChange(nil);
1406 if (GikoSys.Setting.LoopBrowserTabs) and
1407 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1408 GikoForm.BrowserTab.TabIndex := 0;
1409 GikoForm.BrowserTab.OnChange(nil);
1414 // *************************************************************************
1415 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1416 // *************************************************************************
1417 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1419 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1420 RightmostTabSelectActionUpdate(Sender);
1422 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1426 // *************************************************************************
1427 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1428 // *************************************************************************
1429 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1431 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1432 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1433 GikoForm.BrowserTab.OnChange(nil);
1436 // *************************************************************************
1437 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1438 // *************************************************************************
1439 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1441 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1442 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1445 // *************************************************************************
1446 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1447 // *************************************************************************
1448 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1450 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1451 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1453 // *************************************************************************
1454 //!
\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
1455 // *************************************************************************
1456 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1458 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1459 and (GikoForm.ListView.SelCount > 0);
1461 // *************************************************************************
1462 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1463 // *************************************************************************
1464 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1466 Dlg: TListSelectDialog;
1467 FilterList : TStringList;
1470 Dlg := TListSelectDialog.Create(GikoForm);
1472 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1473 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1475 if Dlg.ModalResult = mrOK then begin
1476 SelectResAction.Checked := True;
1477 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1478 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1479 ResRangeAction.Execute;
1481 GikoSys.ResRange := Ord( grrSelect );
1483 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1484 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1486 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1487 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1489 GikoSys.Setting.SelectTextList.Delete(idx);
1490 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1491 while Dlg.SelectComboBox.Items.Count > 100 do begin
1492 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1496 if GikoForm.SelectComboBoxPanel.Visible then
1497 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1501 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1502 FilterList := TStringList.Create;
1504 GikoSys.FSelectResFilter.Reverse := True;
1505 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1506 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1508 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1512 GikoForm.RepaintAllTabsBrowser();
1515 //
\83L
\83\83\83\93\83Z
\83\8b
1516 if GikoSys.ResRange <> Ord( grrSelect ) then
1517 ResRangeAction.Execute;
1524 // *************************************************************************
1525 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1526 // *************************************************************************
1527 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1529 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1530 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1532 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1533 AllResAction.Checked := True;
1535 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1536 SetResRange(Ord( grrAll ));
1538 // *************************************************************************
1539 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1540 // *************************************************************************
1541 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1543 case GikoForm.ResRangeMenuSelect of
1544 Ord( grrAll ): AllResAction.Execute;
1545 Ord( grrKoko ): OnlyKokoResAction.Execute;
1546 Ord( grrNew ): OnlyNewResAction.Execute;
1547 100: OnlyAHundredResAction.Execute;
1551 // *************************************************************************
1552 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1553 // *************************************************************************
1554 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1556 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1558 // *************************************************************************
1559 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1560 // *************************************************************************
1561 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1567 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
1568 str := ZenToHan(str);
1569 res := StrToIntDef(str, -1);
1570 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1571 GikoForm.ActiveContent.Move(IntToStr(res));
1572 SetFocusForBrowserAction.Execute;
1573 end else if res > GikoForm.GetActiveContent.Count then begin
1574 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1575 SetFocusForBrowserAction.Execute;
1579 // *************************************************************************
1580 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1581 // *************************************************************************
1582 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1587 idx := GikoForm.BrowserTab.TabIndex;
1588 if idx = -1 then Exit;
1589 GikoForm.BrowserTab.Tabs.BeginUpdate;
1590 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1591 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1592 GikoForm.BrowserTab.Tabs.Delete(i);
1594 GikoForm.BrowserTab.Tabs.EndUpdate;
1596 // *************************************************************************
1597 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1598 // *************************************************************************
1599 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1601 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1603 // *************************************************************************
1604 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1605 // *************************************************************************
1606 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1611 idx := GikoForm.BrowserTab.TabIndex;
1612 if idx = -1 then Exit;
1613 GikoForm.BrowserTab.Tabs.BeginUpdate;
1614 if idx > 0 then begin
1615 for i := idx - 1 downto 0 do begin
1616 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1617 GikoForm.BrowserTab.Tabs.Delete(i);
1620 GikoForm.BrowserTab.Tabs.EndUpdate;
1622 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1623 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1625 // 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
1626 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1627 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1628 TDefaultFileManager.CopyDefaultFiles(GikoSys.Setting.GetDefaultFilesFileName);
1630 // *************************************************************************
1631 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1632 // *************************************************************************
1633 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1638 if GikoForm.SearchDialog = nil then begin
1639 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1640 chk := GikoForm.GetActiveList
1644 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1645 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1649 GikoForm.SearchDialog.Show;
1653 // *************************************************************************
1654 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1655 // *************************************************************************
1656 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1660 Dlg := TOptionDialog.Create(GikoForm);
1667 // *************************************************************************
1668 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1669 // *************************************************************************
1670 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1674 Dlg := TRoundDialog.Create(GikoForm);
1681 // *************************************************************************
1682 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1683 // *************************************************************************
1684 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1686 Dlg: TKeySettingForm;
1688 Dlg := TKeySettingForm.Create(GikoForm);
1690 if Dlg.ShowModal = mrOk then begin
1691 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1692 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1693 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1698 MouseGesture.UnHook;
1699 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1700 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1701 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1702 if GikoSys.Setting.GestureEnabled then begin
1703 GikoSys.Setting.Gestures.ClearGesture;
1704 GikoSys.Setting.Gestures.LoadGesture(
1705 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1706 MouseGesture.SetHook( GikoForm.Handle );
1710 // *************************************************************************
1711 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1712 // *************************************************************************
1713 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1715 Dlg: TKotehanDialog;
1717 Dlg := TKotehanDialog.Create(GikoForm);
1724 // *************************************************************************
1725 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1726 // *************************************************************************
1727 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1729 Dlg: TToolBarSettingDialog;
1732 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1734 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1735 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1736 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1737 case GikoForm.ToolBarSettingSender of
1738 tssMain: Dlg.ToolBarIndex := 0;
1739 tssList: Dlg.ToolBarIndex := 1;
1740 tssBrowser: Dlg.ToolBarIndex := 2;
1742 if Dlg.ShowModal = mrOK then begin
1743 GikoForm.SetToolBarPopup;
1745 //
\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é
1746 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1747 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1748 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1749 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1750 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1752 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1753 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1754 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1755 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1756 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1758 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1759 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1760 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1761 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1762 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1765 SaveToolBarSetting(GikoForm.StdToolBar);
1766 SaveToolBarSetting(GikoForm.ListToolBar);
1767 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1768 GikoForm.SetSelectComboBox;
1769 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1770 SaveToolBarSetting(GikoForm.BrowserToolBar);
1774 GikoForm.ToolBarSettingSender := tssNone;
1777 // *************************************************************************
1778 //!
\83~
\83\85\81[
\83g
1779 // *************************************************************************
1780 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1782 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1784 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1785 // *************************************************************************
1786 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1787 // *************************************************************************
1788 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1791 TmpTreeNode: TTreeNode;
1793 TmpTreeNode := GikoForm.ClickNode;
1794 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1797 if TObject(TmpTreeNode.Data) is TBoard then
1798 Board := TBoard(TmpTreeNode.Data)
1799 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1800 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1802 if Board <> nil then
1803 GikoForm.DownloadList(Board);
1805 // *************************************************************************
1806 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1807 // *************************************************************************
1808 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1810 ThreadItem: TThreadItem;
1811 TmpTreeNode: TTreeNode;
1813 TmpTreeNode := GikoForm.ClickNode;
1814 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1817 if TObject(TmpTreeNode.Data) is TThreadItem then
1818 ThreadItem := TThreadItem(TmpTreeNode.Data)
1819 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1820 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1822 if ThreadItem <> nil then
1823 GikoForm.DownloadContent(ThreadItem);
1825 // *************************************************************************
1826 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1827 // *************************************************************************
1828 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1830 TmpTreeNode: TTreeNode;
1833 TmpTreeNode := GikoForm.ClickNode;
1834 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1835 if TObject(TmpTreeNode.Data) is TBoard then begin
1836 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1837 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1838 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1839 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1840 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1841 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1842 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1844 Clipboard.AsText := s;
1846 // *************************************************************************
1847 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1848 // *************************************************************************
1849 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1851 TmpTreeNode: TTreeNode;
1854 TmpTreeNode := GikoForm.ClickNode;
1855 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1856 if TObject(TmpTreeNode.Data) is TBoard then begin
1857 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1858 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1859 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1860 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1861 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1862 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1863 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1865 Clipboard.AsText := s;
1867 // *************************************************************************
1868 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1869 // *************************************************************************
1870 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1872 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1874 // *************************************************************************
1875 //!
\94Â
\96¼
\8c\9f\8dõ
1876 // *************************************************************************
1877 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1881 CurItem : TTreeNode;
1884 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1887 if GikoForm.TreeView.Selected = nil then
1888 CurItem := GikoForm.TreeView.Items.GetFirstNode
1890 CurItem := GikoForm.TreeView.Selected.GetNext;
1891 if CurItem = nil then
1892 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1894 while CurItem <> nil do begin
1895 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1898 CurItem := CurItem.GetNext;
1901 if CurItem = nil then begin
1902 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1903 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1904 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1908 GikoForm.TreeView.Select(CurItem);
1909 GikoForm.TreeView.SetFocus;
1911 GikoForm.TreeView.Select(CurItem);
1912 GikoForm.TreeView.SetFocus;
1913 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1914 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1927 // *************************************************************************
1928 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1929 // *************************************************************************
1930 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1934 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1935 s := GikoForm.ClickNode.Text;
1936 Clipboard.AsText := s;
1938 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1939 // *************************************************************************
1940 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1941 // *************************************************************************
1942 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1947 if GikoSys.Dolib.Connected then begin
1948 //
\83\8d\83O
\83A
\83E
\83g
1949 GikoSys.Dolib.Disconnect;
1950 LoginAction.Checked := False;
1951 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1952 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1954 TmpCursor := GikoForm.ScreenCursor;
1955 GikoForm.ScreenCursor := crHourGlass;
1957 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1958 if not GikoSys.Setting.ForcedLogin then begin
1959 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1960 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1961 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1962 if GikoSys.Setting.ReadProxy then begin
1963 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1964 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1966 GikoSys.Dolib.ProxyAddress := '';
1967 GikoSys.Dolib.ProxyPort := 0;
1969 if GikoSys.Dolib.Connect then begin
1970 LoginAction.Checked := True;
1971 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1972 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1973 //LoginToolButton.Style := tbsCheck;
1975 // 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);
1976 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1977 GikoForm.PlaySound('Error');
1978 LoginAction.Checked := False;
1979 //LoginToolButton.Down := False;
1980 ///LoginToolButton.Style := tbsButton;
1983 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
1984 + '
\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
1985 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1986 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1987 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1988 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1989 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1990 if GikoSys.Setting.ReadProxy then begin
1991 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1992 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1994 GikoSys.Dolib.ProxyAddress := '';
1995 GikoSys.Dolib.ProxyPort := 0;
1997 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1998 GikoSys.Dolib.ForcedConnect;
1999 if GikoSys.Dolib.Connect then begin
2000 LoginAction.Checked := True;
2001 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
2002 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
2003 //LoginToolButton.Style := tbsCheck;
2005 // 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);
2006 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
2007 GikoForm.PlaySound('Error');
2008 LoginAction.Checked := False;
2009 //LoginToolButton.Down := False;
2010 //LoginToolButton.Style := tbsButton;
2013 LoginAction.Checked := False;
2014 //LoginToolButton.Down := False;
2015 //LoginToolButton.Style := tbsButton;
2019 GikoForm.ScreenCursor := TmpCursor;
2023 // *************************************************************************
2024 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2025 // *************************************************************************
2026 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
2028 Dlg: TNewBoardDialog;
2031 if (EditorFormExists) then begin
2032 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
2033 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
2036 Dlg := TNewBoardDialog.Create(GikoForm);
2043 // *************************************************************************
2044 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
2045 // *************************************************************************
2046 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
2048 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';
2049 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';
2050 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2052 ThreadItem: TThreadItem;
2053 TmpListItem: TListItem;
2057 List := TList.Create;
2059 TmpListItem := GikoForm.ListView.Selected;
2060 while TmpListItem <> nil do begin
2061 if TObject(TmpListItem.Data) is TThreadItem then begin
2062 ThreadItem := TThreadItem(TmpListItem.Data);
2063 if ThreadItem.IsLogFile then
2064 List.Add(ThreadItem);
2066 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2069 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2070 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2071 if List.Count = 1 then begin
2072 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
2075 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
2081 for i := 0 to List.Count - 1 do begin
2082 ThreadItem := TThreadItem(List[i]);
2083 GikoForm.DeleteHistory(ThreadItem);
2084 GikoForm.DeleteTab(ThreadItem);
2085 ThreadItem.DeleteLogFile;
2087 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2088 GikoForm.ListView.Refresh;
2093 // *************************************************************************
2094 //! 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Ê
2095 // *************************************************************************
2096 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2098 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2099 and (GikoForm.ListView.SelCount > 0);
2101 // *************************************************************************
2102 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2103 // *************************************************************************
2104 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2106 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';
2107 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2109 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2110 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2112 GikoSys.Setting.SelectTextList.Clear;
2113 GikoForm.SelectComboBox.Items.Clear;
2114 GikoForm.SelectComboBox.Text := '';
2115 GikoForm.SetListViewType( gvtAll );
2117 // *************************************************************************
2118 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2119 // *************************************************************************
2120 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2122 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';
2123 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2125 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2126 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2128 GikoSys.Setting.NameList.Clear;
2129 ClearNameTextAllEditor
2131 // *************************************************************************
2132 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2133 // *************************************************************************
2134 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2136 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';
2137 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2139 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2140 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2142 GikoSys.Setting.MailList.Clear;
2145 // *************************************************************************
2146 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2147 // *************************************************************************
2148 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2152 // *************************************************************************
2153 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2154 // *************************************************************************
2155 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2157 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2159 // *************************************************************************
2160 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2161 // *************************************************************************
2162 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2164 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2165 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2167 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2170 // *************************************************************************
2171 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2172 // *************************************************************************
2173 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2180 List := TList.Create;
2182 GikoForm.ScreenCursor := crHourGlass;
2183 GikoForm.SelectListItem(List);
2184 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2185 (GikoSys.Setting.ListHeightState = glsMax)) or
2186 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2187 (GikoSys.Setting.ListWidthState = glsMax)) then
2188 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2189 else if(List.Count = 0) then
2190 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2193 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2194 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2196 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2197 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2199 for i := 0 to List.Count - 1 do begin
2200 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2202 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2204 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2206 if SaveDialog.Execute then begin
2208 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2209 PChar(SaveDialog.FileName), true);
2211 html := TStringList.Create;
2212 title := TThreadItem(List[i]).Title;
2214 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2215 html.SaveToFile(SaveDialog.FileName);
2216 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2226 GikoForm.ScreenCursor := crDefault;
2230 // *************************************************************************
2231 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2232 // *************************************************************************
2233 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2235 SelectThreadSaveToFile(false);
2237 // *************************************************************************
2238 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2239 // *************************************************************************
2240 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2242 SelectThreadSaveToFile(true);
2244 // *************************************************************************
2245 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2246 // *************************************************************************
2247 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2249 Filename = 'tab.sav';
2250 bFilename = '~tab.sav';
2252 SaveStringList: TStringList;
2254 SaveStringList := TStringList.Create;
2256 GetTabURLs(SaveStringList);
2258 if FileExists( GikoSys.GetAppDir + Filename) then begin
2259 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2260 PChar(GikoSys.GetAppDir + bFilename), False);
2264 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2266 SaveStringList.Free;
2269 // *************************************************************************
2270 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2271 // *************************************************************************
2272 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2274 rec : TBrowserRecord;
2277 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2279 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2280 if( rec <> nil) and (rec.Thread <> nil) then
2281 AStringList.Add( rec.Thread.URL );
2286 // *************************************************************************
2287 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2288 // *************************************************************************
2289 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2291 GikoTab : TGikoTabAppend;
2295 if (AStringList <> nil) then begin
2296 GikoTab := GikoSys.Setting.BrowserTabAppend;
2298 bound := AStringList.Count - 1;
2299 if bound > -1 then begin
2300 GikoSys.Setting.BrowserTabAppend := gtaLast;
2301 for i := 0 to bound do begin
2302 item := BBSsFindThreadFromURL( AStringList[ i ] );
2304 GikoForm.InsertBrowserTab( item, false );
2306 //
\8dÅ
\8f\89\82Ì
\82P
\96\87\82É
\90Ý
\92è
2307 if (GikoSys.Setting.URLDisplay) and
2308 (GikoForm.BrowserTab.Tabs.Count > 0) then begin
2309 GikoForm.AddressComboBox.Text :=
2310 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[0]).Thread.URL;
2314 GikoSys.Setting.BrowserTabAppend := GikoTab;
2318 // *************************************************************************
2319 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2320 // *************************************************************************
2321 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2323 TABFILE = 'tab.sav';
2328 URLs := TStringList.Create();
2330 fileName := GikoSys.GetAppDir + TABFILE;
2331 if FileExists(fileName) then begin
2333 URLs.LoadFromFile(fileName);
2334 if (URLs.Count = 0) then begin
2335 //
\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
2336 SysUtils.DeleteFile(fileName);
2341 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2348 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2349 (TabsOpenAction.Tag <> 1) then begin
2350 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2353 // *************************************************************************
2354 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2355 // *************************************************************************
2356 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2361 if GikoSys.Belib.Connected then begin
2362 //
\83\8d\83O
\83A
\83E
\83g
2363 GikoSys.Belib.Disconnect;
2364 BeLogInOutAction.Checked := False;
2365 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmBeLogout), nil, gmiOK);
2367 TmpCursor := GikoForm.ScreenCursor;
2368 GikoForm.ScreenCursor := crHourGlass;
2370 GikoSys.Belib.ClientUA := 'gikoNavi/1.00';
2371 GikoSys.Belib.UserName := GikoSys.Setting.BeUserID;
2372 GikoSys.Belib.Password := GikoSys.Setting.BePassword;
2373 if GikoSys.Setting.ReadProxy then begin
2374 GikoSys.Belib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
2375 GikoSys.Belib.ProxyPort := GikoSys.Setting.ReadProxyPort;
2377 GikoSys.Belib.ProxyAddress := '';
2378 GikoSys.Belib.ProxyPort := 0;
2380 if GikoSys.Belib.Connect then begin
2381 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmBeLogin) + GikoSys.Setting.BeUserID, nil, gmiOK);
2382 BeLogInOutAction.Checked := True;
2384 GikoForm.AddMessageList(GikoSys.Belib.ErrorMsg, nil, gmiNG);
2385 GikoForm.PlaySound('Error');
2386 BeLogInOutAction.Checked := False;
2389 GikoForm.ScreenCursor := TmpCursor;
2393 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2394 // *************************************************************************
2395 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2396 // *************************************************************************
2397 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2400 ThreadItem: TThreadItem;
2402 No := GikoForm.KokoPopupMenu.Tag;
2405 ThreadItem := GikoForm.KokoPopupThreadItem;
2406 if not Assigned(ThreadItem) then
2408 ThreadItem.Kokomade := No;
2409 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2410 GikoForm.ActiveContent.Repaint := true;
2411 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2412 //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é
2413 //Application.ProcessMessages;
2415 // *************************************************************************
2416 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2417 // *************************************************************************
2418 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2420 ThreadItem: TThreadItem;
2422 ThreadItem := GikoForm.GetActiveContent(True);
2423 if ThreadItem = nil then Exit;
2424 ThreadItem.Kokomade := -1;
2425 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2426 GikoForm.ActiveContent.Repaint := true;
2427 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2428 //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é
2429 //Application.ProcessMessages;
2431 // *************************************************************************
2432 //!
\83R
\83R
\82É
\83\8c\83X
2433 // *************************************************************************
2434 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2436 Editor: TEditorForm;
2440 Number := GikoForm.KokoPopupMenu.Tag;
2441 if Number = 0 then Exit;
2442 Item := GikoForm.KokoPopupThreadItem;
2443 if Item = nil then Exit;
2445 Editor := TEditorForm.Create(GikoForm);
2446 Editor.SetThreadItem(Item);
2447 Editor.SetTextEdit('>>' + IntToStr(Number) + #13#10);
2449 Editor.SetFocusEdit;
2451 // *************************************************************************
2452 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2453 // *************************************************************************
2454 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2456 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2458 // *************************************************************************
2459 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2460 // *************************************************************************
2461 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2465 ThreadItem : TThreadItem;
2469 No := GikoForm.KokoPopupMenu.Tag;
2470 if No = 0 then Exit;
2471 ThreadItem := GikoForm.KokoPopupThreadItem;
2472 if ThreadItem = nil then Exit;
2474 AID := GikoSys.GetResID(No, ThreadItem);
2475 if not IsNoValidID(AID) then begin
2476 GikoForm.ShowSameIDAncher(AID);
2479 // *************************************************************************
2480 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2481 // *************************************************************************
2482 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2484 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2486 // *************************************************************************
2487 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2488 // *************************************************************************
2489 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2491 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2493 // *************************************************************************
2494 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2495 // *************************************************************************
2496 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2498 IndividualForm :TIndividualAbonForm;
2499 ThreadItem : TThreadItem;
2501 ReadList : TStringList;
2502 wordCount : TWordCount;
2504 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2506 ThreadItem := GikoForm.GetActiveContent(True);
2507 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2508 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2509 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2510 ReadList := TStringList.Create;
2511 wordCount := TWordCount.Create;
2513 {$IFDEF SPAM_FILTER_ENABLED}
2514 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2515 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2516 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2517 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2518 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2520 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2521 GikoForm.ActiveContent.Repaint := true;
2522 GikoForm.InsertBrowserTab( ThreadItem, True );
2529 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2530 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2534 IndividualForm.Release;
2537 // *************************************************************************
2538 //!
\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
2539 // *************************************************************************
2540 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2542 IndividualForm :TIndividualAbonForm;
2543 ThreadItem : TThreadItem;
2545 ReadList : TStringList;
2546 wordCount : TWordCount;
2547 {$IFDEF SPAM_FILTER_ENABLED}
2551 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2553 ThreadItem := GikoForm.GetActiveContent(True);
2554 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2555 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2556 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2557 if (IndividualForm.ShowModal = mrOK) then begin
2558 ReadList := TStringList.Create;
2559 wordCount := TWordCount.Create;
2561 {$IFDEF SPAM_FILTER_ENABLED}
2562 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2563 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2564 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2565 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2566 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2567 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2570 if IndividualForm.FRepaint then begin
2571 GikoForm.ActiveContent.Repaint := true;
2572 GikoForm.InsertBrowserTab( ThreadItem, True );
2580 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2581 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2585 IndividualForm.Release;
2588 // *************************************************************************
2589 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2590 // *************************************************************************
2591 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2593 GikoForm.IndividualAbonID(1);
2595 // *************************************************************************
2596 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2597 // *************************************************************************
2598 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2600 GikoForm.IndividualAbonID(0);
2602 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2603 // *************************************************************************
2604 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2605 // *************************************************************************
2606 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2608 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2610 // *************************************************************************
2611 //!
\83M
\83R
\83i
\83r(
\94ð
\93ï
\8f\8a\94Å)
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2612 // *************************************************************************
2613 procedure TGikoDM.GikoNaviGoesonWebPageActionExecute(Sender: TObject);
2615 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVIGO, gbtAuto);
2617 // *************************************************************************
2618 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2619 // *************************************************************************
2620 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2622 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2624 // *************************************************************************
2625 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2626 // *************************************************************************
2627 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2629 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2631 // *************************************************************************
2632 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2633 // *************************************************************************
2634 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2636 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2638 // *************************************************************************
2639 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2640 // *************************************************************************
2641 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2645 Dlg := TAboutDialog.Create(GikoForm);
2652 // *************************************************************************
2653 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2654 // *************************************************************************
2655 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2659 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2660 if not FileExists(FileName) then begin
2663 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2664 '
\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 +
2665 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2670 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2672 // *************************************************************************
2673 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2674 // *************************************************************************
2675 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2677 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2679 // *************************************************************************
2680 //!
\83M
\83R
\83i
\83r(
\94ð
\93ï
\8f\8a\94Å)Wiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2681 // *************************************************************************
2682 procedure TGikoDM.GoWikiFAQWebPageActionExecute(Sender: TObject);
2684 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GoWiki, gbtAuto);
2686 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2687 // *************************************************************************
2688 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2689 // *************************************************************************
2690 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2692 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2693 GikoForm.ListView.Refresh;
2695 // *************************************************************************
2696 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2697 // *************************************************************************
2698 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2700 if GikoForm.GetActiveList is TBoard then begin
2701 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2702 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2703 end else if GikoForm.GetActiveList is TCategory then begin
2704 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2707 // *************************************************************************
2708 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2709 // *************************************************************************
2710 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2712 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS) and
2713 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
2715 // *************************************************************************
2716 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2717 // *************************************************************************
2718 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2720 case GikoForm.ListView.ViewStyle of
2721 vsIcon: SmallIconAction.Execute;
2722 vsSmallIcon: ListIconAction.Execute;
2723 vsList: DetailIconAction.Execute;
2724 vsReport: LargeIconAction.Execute;
2727 // *************************************************************************
2728 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2729 // *************************************************************************
2730 procedure TGikoDM.ClearSelectComboBox;
2732 if GikoForm.SelectComboBoxPanel.Visible then begin
2733 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2734 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2735 GikoForm.ListView.SetFocus;
2738 // *************************************************************************
2739 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2740 // *************************************************************************
2741 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2744 if GikoForm.ViewType <> gvtAll then
2745 GikoForm.SetListViewType(gvtAll);
2746 GikoSys.Setting.ThreadRange := gtrAll;
2747 AllItemAction.Checked := True;
2748 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2749 GikoForm.ModifySelectList;
2750 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2751 ClearSelectComboBox;
2755 // *************************************************************************
2756 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2757 // *************************************************************************
2758 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2761 if GikoForm.ViewType <> gvtLog then
2762 GikoForm.SetListViewType(gvtLog);
2763 GikoSys.Setting.ThreadRange := gtrLog;
2764 LogItemAction.Checked := True;
2765 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2766 GikoForm.ModifySelectList;
2767 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2768 ClearSelectComboBox;
2772 // *************************************************************************
2773 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2774 // *************************************************************************
2775 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2779 if GikoForm.ViewType <> gvtNew then
2780 GikoForm.SetListViewType(gvtNew);
2781 GikoSys.Setting.ThreadRange := gtrNew;
2782 NewItemAction.Checked := True;
2783 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2784 GikoForm.ModifySelectList;
2785 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2786 ClearSelectComboBox;
2790 // *************************************************************************
2791 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2792 // *************************************************************************
2793 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2796 if GikoForm.ViewType <> gvtArch then
2797 GikoForm.SetListViewType(gvtArch);
2798 GikoSys.Setting.ThreadRange := gtrArch;
2799 ArchiveItemAction.Checked := True;
2800 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2801 GikoForm.ModifySelectList;
2802 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2803 ClearSelectComboBox;
2807 // *************************************************************************
2808 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2809 // *************************************************************************
2810 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2813 if GikoForm.ViewType <> gvtLive then
2814 GikoForm.SetListViewType(gvtLive);
2815 GikoSys.Setting.ThreadRange := gtrLive;
2816 LiveItemAction.Checked := True;
2817 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2818 GikoForm.ModifySelectList;
2819 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2820 ClearSelectComboBox;
2825 // *************************************************************************
2826 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2827 // *************************************************************************
2828 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2830 case GikoSys.Setting.ThreadRange of
2831 gtrAll: AllItemAction.Execute;
2832 gtrLog: LogItemAction.Execute;
2833 gtrNew: NewItemAction.Execute;
2834 gtrArch: ArchiveItemAction.Execute;
2835 gtrLive: LiveItemAction.Execute;
2838 // *************************************************************************
2839 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2840 // *************************************************************************
2841 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2844 Dlg: TListSelectDialog;
2847 if GikoForm.SelectComboBoxPanel.Visible then begin
2848 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2849 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2850 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2851 if GikoSys.Setting.ListWidthState = glsMax then
2852 BrowserMinAction.Execute;
2854 if GikoSys.Setting.ListHeightState = glsMax then
2855 BrowserMinAction.Execute;
2857 GikoForm.SelectComboBox.SetFocus;
2864 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2865 GikoForm.SelectComboBox.Text := '';
2866 GikoForm.SelectComboBox.Color := clWindow;
2869 AllItemAction.Checked := False;
2870 LogItemAction.Checked := False;
2871 NewItemAction.Checked := False;
2872 //SelectItemAction.Checked := True;
2873 GikoForm.ModifySelectList;
2874 Dlg := TListSelectDialog.Create(GikoForm);
2876 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2877 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2879 if Dlg.ModalResult = mrCancel then begin
2880 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2881 AllItemAction.Checked := True;
2882 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2883 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2886 if GikoForm.GetActiveList is TBoard then
2887 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2889 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2891 GikoSys.Setting.SelectTextList.Delete(idx);
2892 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2893 while Dlg.SelectComboBox.Items.Count > 100 do begin
2894 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2897 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2898 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2899 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2901 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2902 GikoForm.SelectComboBox.Color := clWindow;
2904 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2910 // *************************************************************************
2911 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2912 // *************************************************************************
2913 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2915 Editor: TEditorForm;
2917 if not (GikoForm.GetActiveList is TBoard) then
2919 Editor := TEditorForm.Create(GikoForm);
2920 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2922 Editor.SetFocusEdit;
2924 // *************************************************************************
2925 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2926 // *************************************************************************
2927 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2931 if GikoForm.GetActiveList is TBoard then begin
2932 URL := TBoard(GikoForm.GetActiveList).URL;
2933 GikoSys.OpenBrowser(URL, gbtAuto);
2936 // *************************************************************************
2937 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2938 // *************************************************************************
2939 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2946 List := TList.Create;
2948 GikoForm.SelectListItem(List);
2949 for i := 0 to List.Count - 1 do begin
2950 if TObject(List[i]) is TBoard then
2951 s := s + TBoard(List[i]).URL + #13#10
2952 else if TObject(List[i]) is TThreadItem then
2953 s := s + TThreadItem(List[i]).URL + #13#10;
2956 Clipboard.AsText := s;
2961 // *************************************************************************
2962 //!
\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
2963 // *************************************************************************
2964 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2966 if ((GikoForm.GetActiveList is TBoard) or
2967 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2968 TAction(Sender).Enabled := True
2970 TAction(Sender).Enabled := False;
2972 // *************************************************************************
2973 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2974 // *************************************************************************
2975 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2982 List := TList.Create;
2984 GikoForm.SelectListItem(List);
2985 for i := 0 to List.Count - 1 do begin
2986 if TObject(List[i]) is TCategory then
2987 s := s + TCategory(List[i]).Title + #13#10
2988 else if TObject(List[i]) is TBoard then
2989 s := s + TBoard(List[i]).Title + #13#10
2990 else if TObject(List[i]) is TThreadItem then
2991 s := s + TThreadItem(List[i]).Title + #13#10;
2994 Clipboard.AsText := s;
2999 // *************************************************************************
3000 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3001 // *************************************************************************
3002 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
3004 if ((GikoForm.GetActiveList is TBBS) or
3005 (GikoForm.GetActiveList is TBoard) or
3006 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
3007 TAction(Sender).Enabled := True
3009 TAction(Sender).Enabled := False;
3011 // *************************************************************************
3012 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
3013 // *************************************************************************
3014 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
3021 List := TList.Create;
3023 GikoForm.SelectListItem(List);
3024 for i := 0 to List.Count - 1 do begin
3025 if TObject(List[i]) is TBoard then
3026 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
3027 else if TObject(List[i]) is TThreadItem then
3028 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
3031 Clipboard.AsText := s;
3036 // *************************************************************************
3037 //!
\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é
3038 // *************************************************************************
3039 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
3046 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3047 GikoForm.ActiveListColumnSave;
3048 if GikoForm.GetActiveList is TCategory then begin
3049 List := TList.Create;
3051 GikoForm.SelectListItem(List);
3052 if List.Count > 5 then begin
3053 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3054 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3055 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3058 for i := 0 to List.Count - 1 do begin
3059 if TObject(List[i]) is TBoard then
3060 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
3065 end else if GikoForm.GetActiveList is TBoard then begin
3066 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
3069 // *************************************************************************
3070 //!
\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
3071 // *************************************************************************
3072 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
3074 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3075 TAction(Sender).Enabled := True
3076 else if GikoForm.GetActiveList is TBoard then begin
3077 TAction(Sender).Enabled :=
3078 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
3080 TAction(Sender).Enabled := False;
3082 // *************************************************************************
3083 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3084 // *************************************************************************
3085 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3092 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3093 List := TList.Create;
3095 GikoForm.SelectListItem(List);
3096 if List.Count > 10 then begin
3097 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3098 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3099 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3102 for i := 0 to List.Count - 1 do begin
3103 if TObject(List[i]) is TThreadItem then
3104 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3110 // *************************************************************************
3111 //!
\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
3112 // *************************************************************************
3113 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3115 TAction(Sender).Enabled :=
3116 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3118 // *************************************************************************
3119 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3120 // *************************************************************************
3121 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3123 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3124 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3126 // *************************************************************************
3127 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3128 // *************************************************************************
3129 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3134 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3135 List := TList.Create;
3137 GikoForm.SelectListItem(List);
3138 for i := 0 to List.Count - 1 do begin
3139 if TObject(List[i]) is TThreadItem then begin
3140 if TThreadItem(List[i]).IsLogFile then begin
3141 SelectReservAction.Enabled := True;
3146 SelectReservAction.Enabled := False;
3150 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3151 SelectReservAction.Enabled := True
3153 SelectReservAction.Enabled := False;
3155 // *************************************************************************
3156 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3157 // *************************************************************************
3158 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3161 Dlg: TRoundNameDialog;
3165 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3166 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3169 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3170 cnt := RoundList.Count[grtBoard];
3171 cnt := cnt + RoundList.Count[grtItem];
3172 if cnt > 500 then begin
3173 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3177 Dlg := TRoundNameDialog.Create(GikoForm);
3180 if Dlg.ModalResult <> mrCancel then begin
3181 s := Trim(Dlg.RoundNameEdit.Text);
3182 if (Sender is TMenuItem) then begin
3183 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3184 end else if (Sender is TAction) then begin
3185 if (GikoForm.ListView.Selected <> nil) then begin
3186 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3187 GikoForm.SetSelectItemRound(True, s,
3188 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3189 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3190 GikoForm.SetSelectItemRound(True, s,
3191 TBoard(GikoForm.ListView.Selected.Data).Title);
3195 GikoForm.ListView.Refresh;
3201 // *************************************************************************
3202 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3203 // *************************************************************************
3204 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3208 if (Sender is TMenuItem) then begin
3210 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3213 end else if (Sender is TAction) then begin
3215 if GikoForm.ListView.Selected <> nil then begin
3216 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3217 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3218 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3219 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3221 GikoForm.SetSelectItemRound(False, '', s);
3227 GikoForm.ListView.Refresh;
3229 // *************************************************************************
3230 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3231 // *************************************************************************
3232 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3234 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3235 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3237 // *************************************************************************
3238 //!
\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
3239 // *************************************************************************
3240 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3242 BoardFavoriteAddAction.Enabled :=
3243 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3245 // *************************************************************************
3246 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3247 // *************************************************************************
3248 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3252 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3253 (GikoSys.Setting.ListHeightState = glsMax)) or
3254 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3255 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3256 if(GikoForm.GetActiveContent <> nil) then begin
3257 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3259 end else if GikoForm.GetActiveList is TCategory then begin
3260 List := TList.Create;
3262 GikoForm.SelectListItem(List);
3263 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3267 end else if GikoForm.GetActiveList is TBoard then begin
3268 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3272 // *************************************************************************
3273 //! 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Ê
3274 // *************************************************************************
3275 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3277 if (((GikoForm.GetActiveList is TBoard) and
3278 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard))
3279 or (GikoForm.GetActiveList is TCategory))
3280 and (GikoForm.ListView.SelCount > 0) then
3281 TAction(Sender).Enabled := True
3283 TAction(Sender).Enabled := False;
3285 // *************************************************************************
3286 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3287 // *************************************************************************
3288 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3290 RefURL, URL : string;
3294 if GikoForm.GetActiveList is TCategory then begin
3295 List := TList.Create;
3297 GikoForm.SelectListItem(List);
3298 RefURL := TBoard(List[0]).URL;
3302 end else if GikoForm.GetActiveList is TBoard then begin
3303 RefURL := TBoard(GikoForm.GetActiveList).URL
3305 if RefURL <> '' then begin
3306 if RefURL[Length(RefURL)] <> '/' then
3307 URL := RefURL + '/' + 'head.txt'
3309 URL := RefURL + 'head.txt';
3311 GikoForm.MoveToURL(URL);
3313 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3317 // *************************************************************************
3318 //!
\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é
3319 // *************************************************************************
3320 function TGikoDM.GetSortProperties(List: TObject;
3321 var vSortOrder: Boolean): Boolean;
3324 if (List <> nil) then begin
3325 if (List is TBBS) then begin
3326 vSortOrder := GikoSys.Setting.BBSSortOrder;
3327 end else if (List is TCategory) then begin
3328 vSortOrder := GikoSys.Setting.CategorySortOrder;
3329 end else if (List is TBoard) then begin
3330 vSortOrder := GikoSys.Setting.BoardSortOrder;
3338 // *************************************************************************
3339 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3340 // *************************************************************************
3341 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3346 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3347 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3348 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3349 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3351 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3352 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3359 // *************************************************************************
3360 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3361 // *************************************************************************
3362 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3366 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3367 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3368 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3370 if id > GikoForm.ListView.Columns.Count - 1 then
3372 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3373 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3379 // *************************************************************************
3380 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3381 // *************************************************************************
3382 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3386 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3387 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3388 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3391 id := GikoForm.ListView.Columns.Count - 1;
3392 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3393 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3399 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3400 // *************************************************************************
3401 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3402 // *************************************************************************
3403 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3405 CoolBand: TCoolBand;
3407 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3408 if CoolBand = nil then
3410 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3411 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3412 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3414 // *************************************************************************
3415 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3416 // *************************************************************************
3417 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3419 CoolBand: TCoolBand;
3421 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3422 if CoolBand = nil then
3424 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3425 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3426 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3428 // *************************************************************************
3429 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3430 // *************************************************************************
3431 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3433 CoolBand: TCoolBand;
3435 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3436 if CoolBand = nil then
3438 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3439 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3440 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3442 // *************************************************************************
3443 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3444 // *************************************************************************
3445 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3447 CoolBand: TCoolBand;
3449 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3450 if CoolBand = nil then
3452 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3453 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3455 // *************************************************************************
3456 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3457 // *************************************************************************
3458 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3460 CoolBand: TCoolBand;
3462 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3463 if CoolBand = nil then
3465 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3466 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3468 // *************************************************************************
3469 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3470 // *************************************************************************
3471 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3473 CoolBand: TCoolBand;
3475 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3476 if CoolBand = nil then
3478 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3479 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3481 // *************************************************************************
3482 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3483 // *************************************************************************
3484 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3486 CoolBand: TCoolBand;
3488 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3489 if CoolBand = nil then
3491 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3492 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3494 // *************************************************************************
3495 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3496 // *************************************************************************
3497 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3499 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3500 GikoForm.MessagePanel.Top :=
3501 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3502 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3503 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3504 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3506 // *************************************************************************
3507 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3508 // *************************************************************************
3509 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3511 MsgBarVisibleAction.Execute;
3513 // *************************************************************************
3514 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3515 // *************************************************************************
3516 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3518 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3519 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3521 // *************************************************************************
3522 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3523 // *************************************************************************
3524 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3527 if GikoForm.CabinetPanel.Visible then begin
3528 if GikoForm.TreeType = gtt2ch then begin
3529 GikoForm.CabinetVisible( False );
3531 CabinetBBSAction.Checked := False;
3533 CabinetBBSAction.Checked := True;
3536 GikoForm.CabinetVisible( True );
3537 CabinetBBSAction.Checked := True;
3540 if GikoForm.ActiveBBS = nil then
3541 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3543 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3546 // *************************************************************************
3547 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3548 // *************************************************************************
3549 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3551 GikoForm.ShowHistoryTree;
3553 // *************************************************************************
3554 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3555 // *************************************************************************
3556 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3562 if GikoForm.CabinetPanel.Visible then begin
3563 if GikoForm.TreeType = gttFavorite then begin
3564 GikoForm.CabinetVisible( False );
3565 CabinetFavoriteAction.Checked := False;
3567 CabinetFavoriteAction.Checked := True;
3570 GikoForm.CabinetVisible( True );
3571 CabinetFavoriteAction.Checked := True;
3574 // BBS...BBS, History, Favorite
3575 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3577 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3578 for i := 0 to b do begin
3579 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3580 if item is TBBSMenuItem then begin
3581 item.Checked := False;
3582 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3583 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3587 //
\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Ö
3588 GikoForm.HistoryToolBar.Hide;
3589 GikoForm.FavoriteToolBar.Show;
3590 GikoForm.TreeView.Visible := False;
3591 GikoForm.FavoriteTreeView.Visible := True;
3593 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3594 GikoForm.TreeType := gttFavorite;
3596 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3597 CabinetBBSAction.Checked := False;
3598 CabinetHistoryAction.Checked := False;
3600 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3601 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3604 // *************************************************************************
3605 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3606 // *************************************************************************
3607 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3609 case GikoForm.TreeType of
3610 gttHistory: CabinetHistoryAction.Execute;
3611 gttFavorite: CabinetFavoriteAction.Execute;
3613 CabinetBBSAction.Execute;
3616 // *************************************************************************
3617 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3618 // *************************************************************************
3619 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3621 //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ã
3623 // *************************************************************************
3624 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3625 // *************************************************************************
3626 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3628 GikoForm.ListView.ViewStyle := vsIcon;
3629 LargeIconAction.Checked := True;
3631 // *************************************************************************
3632 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3633 // *************************************************************************
3634 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3636 GikoForm.ListView.ViewStyle := vsSmallIcon;
3637 SmallIconAction.Checked := True;
3639 // *************************************************************************
3640 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3641 // *************************************************************************
3642 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3644 GikoForm.ListView.ViewStyle := vsList;
3645 ListIconAction.Checked := True;
3647 // *************************************************************************
3648 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3649 // *************************************************************************
3650 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3652 GikoForm.ListView.ViewStyle := vsReport;
3653 DetailIconAction.Checked := True;
3655 // *************************************************************************
3656 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3657 // *************************************************************************
3658 procedure TGikoDM.StopActionExecute(Sender: TObject);
3660 GikoForm.FControlThread.DownloadAbort;
3661 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3663 GikoForm.Animate.Active := False;
3666 GikoForm.ScreenCursor := crDefault;
3668 // *************************************************************************
3669 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3670 // *************************************************************************
3671 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3673 if ArrangeAction.Checked then begin
3675 GikoForm.ViewPanel.Align := alNone;
3676 GikoForm.ListSplitter.Align := alNone;
3677 GikoForm.ThreadPanel.Align := alNone;
3679 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3680 GikoForm.ViewPanel.Align := alLeft;
3682 GikoForm.ListSplitter.Width := 5;
3683 GikoForm.ListSplitter.Align := alLeft;
3685 GikoForm.ViewPanel.Left := -10;
3687 GikoForm.ThreadPanel.Align := alClient;
3689 GikoSys.Setting.ListOrientation := gloHorizontal;
3690 case GikoSys.Setting.ListWidthState of
3692 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3693 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3694 GikoForm.ViewPanel.Width := 1;
3697 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3698 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3701 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3702 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3703 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3708 GikoForm.ViewPanel.Align := alNone;
3709 GikoForm.ListSplitter.Align := alNone;
3710 GikoForm.ThreadPanel.Align := alNone;
3712 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3713 GikoForm.ViewPanel.Align := alTop;
3715 GikoForm.ListSplitter.Height := 5;
3716 GikoForm.ListSplitter.Align := alTop;
3718 GikoForm.ViewPanel.Top := -10;
3720 GikoForm.ThreadPanel.Align := alClient;
3721 GikoSys.Setting.ListOrientation := gloVertical;
3722 case GikoSys.Setting.ListHeightState of
3724 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3725 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3726 GikoForm.ViewPanel.Height := 1;
3729 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3730 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3733 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3734 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3735 GikoForm.ViewPanel.Height :=
3736 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3741 // *************************************************************************
3742 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3743 // *************************************************************************
3744 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3746 GikoForm.CabinetPanel.Width := 150;
3747 GikoForm.MessagePanel.Height := 40;
3749 GikoForm.BrowserSizeWidth := 200;
3750 GikoForm.BrowserSizeHeight := 200;
3751 if ArrangeAction.Checked then begin
3752 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3754 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3756 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3757 if GikoSys.Setting.ListHeightState = glsMax then begin
3758 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3759 GikoSys.Setting.ListHeightState := glsNormal;
3762 if GikoSys.Setting.ListWidthState = glsMax then begin
3763 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3764 GikoSys.Setting.ListWidthState := glsNormal;
3768 // *************************************************************************
3769 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3770 // *************************************************************************
3771 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3773 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3774 GikoForm.SetBrowserTabState;
3776 // *************************************************************************
3777 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3778 // *************************************************************************
3779 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3781 BrowserTabBottomAction.Checked := False;
3782 BrowserTabTopAction.Checked := True;
3783 GikoSys.Setting.BrowserTabPosition := gtpTop;
3784 GikoForm.SetBrowserTabState;
3786 // *************************************************************************
3787 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3788 // *************************************************************************
3789 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3791 BrowserTabTopAction.Checked := False;
3792 BrowserTabBottomAction.Checked := True;
3793 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3794 GikoForm.SetBrowserTabState;
3796 // *************************************************************************
3797 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3798 // *************************************************************************
3799 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3801 BrowserTabButtonStyleAction.Checked := False;
3802 BrowserTabFlatStyleAction.Checked := False;
3803 BrowserTabTabStyleAction.Checked := True;
3804 GikoSys.Setting.BrowserTabStyle := gtsTab;
3805 GikoForm.SetBrowserTabState;
3807 // *************************************************************************
3808 //!
\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é
3809 // *************************************************************************
3810 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3812 BrowserTabTabStyleAction.Checked := False;
3813 BrowserTabFlatStyleAction.Checked := False;
3814 BrowserTabButtonStyleAction.Checked := True;
3815 GikoSys.Setting.BrowserTabStyle := gtsButton;
3816 GikoForm.SetBrowserTabState;
3818 // *************************************************************************
3819 //!
\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é
3820 // *************************************************************************
3821 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3823 BrowserTabFlatStyleAction.Checked := True;
3824 BrowserTabTabStyleAction.Checked := False;
3825 BrowserTabButtonStyleAction.Checked := False;
3826 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3827 GikoForm.SetBrowserTabState;
3829 // *************************************************************************
3830 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3831 // *************************************************************************
3832 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3834 GikoForm.ActiveContent.Browser.SetFocus;
3836 // *************************************************************************
3837 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3838 // *************************************************************************
3839 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3841 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3842 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3843 TAction(Sender).Enabled := true
3845 TAction(Sender).Enabled := false;
3847 // *************************************************************************
3848 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3849 // *************************************************************************
3850 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3852 if GikoForm.ActiveContent <> nil then
3853 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3854 GikoForm.ListView.SetFocus;
3856 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3857 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é
3859 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3860 if (GikoForm.ListView.ItemFocused <> nil) then begin
3861 GikoForm.ListView.ItemFocused.MakeVisible(False);
3864 // *************************************************************************
3865 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3866 // *************************************************************************
3867 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3869 if GikoForm.ActiveContent <> nil then
3870 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3871 if GikoForm.TreeView.Visible then begin
3872 GikoForm.TreeView.SetFocus;
3873 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3874 GikoForm.TreeView.Items.Item[0].Selected := true;
3875 end else if GikoForm.FavoriteTreeView.Visible then begin
3876 GikoForm.FavoriteTreeView.SetFocus;
3877 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3878 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3881 // *************************************************************************
3882 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3883 // *************************************************************************
3884 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3886 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3888 // *************************************************************************
3889 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3890 // *************************************************************************
3891 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3893 BrowserMinAction.Execute;
3894 SetFocusForThreadListAction.Execute;
3896 // *************************************************************************
3897 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3898 // *************************************************************************
3899 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3901 BrowserMaxAction.Execute;
3902 SetFocusForBrowserAction.Execute;
3904 // *************************************************************************
3905 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3906 // *************************************************************************
3907 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3909 if GikoForm.ListView.Selected <> nil then begin
3910 GikoForm.ListView.Selected.Focused := True;
3911 GikoForm.ListView.Selected := nil;
3914 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3915 // *************************************************************************
3916 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3917 // *************************************************************************
3918 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3920 SetThreadReadProperty(true);
3922 // *************************************************************************
3923 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3924 // *************************************************************************
3925 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3927 SetThreadReadProperty(false);
3929 // *************************************************************************
3930 //!
\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Ç
3931 // *************************************************************************
3932 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3937 List := TList.Create;
3939 GikoForm.SelectListItem(List);
3940 for i := 0 to List.Count - 1 do begin
3941 if TObject(List[i]) is TThreadItem then begin
3942 if (TThreadItem(List[i]).IsLogFile) then begin
3943 TThreadItem(List[i]).UnRead := not read;
3947 if GikoForm.TreeView.Visible then
3948 GikoForm.TreeView.Refresh;
3949 if GikoForm.ListView.Visible then
3950 GikoForm.ListView.Refresh;
3955 // *************************************************************************
3956 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3957 // *************************************************************************
3958 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3960 GikoForm.ListViewAllSelect;
3962 // *************************************************************************
3963 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3964 // *************************************************************************
3965 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3967 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3969 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3970 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3971 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3973 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 +
3974 '
\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' +
3975 '
\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';
3976 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3979 limitSize : Integer;
3982 {
\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Í
3983 \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
3984 \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õ
3985 è
\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
3986 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3988 if MsgBox(GikoForm.Handle, RECALC_MES,
3989 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3990 //è
\87\92l
\82Ì
\8am
\94F
3991 limitSize := LIMIT_SIZE;
3992 limitStr := IntToStr(limitSize);
3993 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
3994 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3995 if (limitSize < 0) then begin
3996 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3997 ThreadSizeCalcForFileActionExecute(nil);
3999 RecalcThreadSize(limitSize);
4004 //! 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
4005 procedure TGikoDM.RecalcThreadSize(limit : Integer);
4007 i, j, tmpSize : Integer;
4010 Thread: TThreadItem;
4013 //
\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
4014 GikoForm.ScreenCursor := crHourGlass;
4016 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
4017 for i := 0 to BoardGroups[0].Count - 1 do begin
4018 Obj := BoardGroups[0].Objects[i];
4019 if (Obj <> nil) then begin
4020 Board := TBoard(Obj);
4021 if not Board.IsThreadDatRead then begin
4022 GikoSys.ReadSubjectFile(Board);
4024 for j := 0 to Board.Count - 1 do begin
4025 Thread := Board.Items[j];
4026 if (Thread <> nil) and (Thread.IsLogFile)
4027 and (Thread.Size <= limit) then begin
4028 dat := TStringList.Create;
4030 tmpSize := Thread.Size;
4032 dat.LoadFromFile(Thread.GetThreadFileName);
4033 tmpSize := Length(dat.Text);
4034 tmpSize := tmpSize - dat.Count;
4037 Thread.Size := tmpSize;
4044 GikoForm.ProgressBar.StepBy(1);
4047 GikoForm.ScreenCursor := crDefault;
4049 GikoForm.ProgressBar.Position := 0;
4050 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
4052 // *************************************************************************
4053 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
4054 // *************************************************************************
4055 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
4057 form : TInputAssistForm;
4059 form := TInputAssistForm.Create(GikoForm);
4067 // *************************************************************************
4068 //!
\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é
4069 // *************************************************************************
4070 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
4072 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
4073 GikoForm.ActiveContent.OpenFindDialog;
4077 // *************************************************************************
4078 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
4079 // *************************************************************************
4080 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
4083 if GikoForm.ClickNode = nil then Exit;
4086 GikoForm.ClickNode.Text + #13#10;
4089 // *************************************************************************
4090 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4091 // *************************************************************************
4092 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4096 if ( EditorFormExists ) then begin
4097 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4098 for i := Screen.CustomFormCount - 1 downto 0 do begin
4099 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4100 TEditorForm(Screen.CustomForms[i]).Close;
4105 // *************************************************************************
4106 //!
\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é
4107 // *************************************************************************
4108 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4110 if (Sender is TAction) then begin
4111 TAction(Sender).Enabled := EditorFormExists;
4114 // *************************************************************************
4115 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4116 // *************************************************************************
4117 function TGikoDM.EditorFormExists(): boolean;
4122 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4123 for i := Screen.CustomFormCount - 1 downto 0 do begin
4124 if (Screen.CustomForms[i] is TEditorForm) then begin
4131 // *************************************************************************
4132 //!
\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é
4133 // *************************************************************************
4134 procedure TGikoDM.ClearNameTextAllEditor();
4138 for i := 0 to Screen.CustomFormCount - 1 do begin
4139 if (Screen.CustomForms[i] is TEditorForm) then begin
4140 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4144 // *************************************************************************
4145 //!
\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é
4146 // *************************************************************************
4147 procedure TGikoDM.ClearMailAllEditor();
4151 for i := 0 to Screen.CustomFormCount - 1 do begin
4152 if TObject(Screen.CustomForms[i]) is TEditorForm then
4153 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4157 // *************************************************************************
4158 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4159 // *************************************************************************
4160 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4162 PrevMoveHistory.Enabled :=
4163 (MoveHisotryManager.HisotryIndex > 0)
4165 // *************************************************************************
4166 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4167 // *************************************************************************
4168 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4170 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4171 BackToHistory(MoveHisotryManager.getPrevItem
4172 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4173 .Objects[GikoForm.BrowserTab.TabIndex])));
4175 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4178 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4179 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4181 browser : TWebBrowser;
4182 doc : IHTMLDocument2;
4184 if ( item <> nil ) then begin
4185 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4186 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4187 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4188 if (browser <> nil) then begin
4190 doc := browser.ControlInterface.Document as IHTMLDocument2;
4191 (doc.body as IHTMLElement2).ScrollTop := item.ScrollTop;
4197 MoveURLWithHistory(item.ThreadItem.URL, True);
4201 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4202 procedure TGikoDM.MoveURLWithHistory(URL : String; KeyMask: Boolean = False);
4207 GikoForm.MoveToURL(URL, KeyMask);
4208 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4209 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4210 if idx = -1 then begin
4211 GikoForm.AddressComboBox.Items.Insert(0, URL);
4212 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4213 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4215 GikoForm.AddressComboBox.Items.Delete(idx);
4216 GikoForm.AddressComboBox.Items.Insert(0, URL);
4219 // *************************************************************************
4220 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4221 // *************************************************************************
4222 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4224 NextMoveHistory.Enabled :=
4225 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4227 // *************************************************************************
4228 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4229 // *************************************************************************
4230 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4232 BackToHistory(MoveHisotryManager.getNextItem);
4234 // *************************************************************************
4235 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4236 // *************************************************************************
4237 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4239 browser : TWebBrowser;
4240 elem : IHTMLElement;
4241 doc : IHTMLDocument2;
4243 if (GikoForm.GetActiveContent <> nil) then begin
4244 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4245 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4246 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4247 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4248 if (browser <> nil) then begin
4250 doc := browser.ControlInterface.Document as IHTMLDocument2;
4251 if Assigned(doc) then begin
4252 elem := doc.activeElement;
4253 if Assigned(elem) then begin
4264 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4265 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4267 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4268 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4270 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4271 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4273 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4274 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4276 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4277 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4279 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4280 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4282 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4283 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4285 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4286 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4288 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4289 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4291 GikoForm.StoredTaskTray;
4292 StoredTaskTrayAction.Tag := -1;
4296 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4297 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4299 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4301 links : IHTMLElementCollection;
4302 urls, exts : TStringList;
4304 links := GetActiveThreadLinks;
4305 if (links <> nil) then begin
4306 urls := TStringList.Create;
4307 exts := TStringList.Create;
4309 exts.CaseSensitive := False;
4310 exts.Sorted := True;
4311 exts.Delimiter := ';';
4312 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4313 GetLinkURLs(links, urls, 0, exts);
4314 Clipboard.SetTextBuf(urls.GetText);
4323 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4324 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4326 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4328 links : IHTMLElementCollection;
4329 urls, exts : TStringList;
4330 ThreadItem : TThreadItem;
4332 ThreadItem := GikoForm.GetActiveContent;
4333 links := GetActiveThreadLinks;
4334 if (ThreadItem <> nil) and (links <> nil) then begin
4335 urls := TStringList.Create;
4336 exts := TStringList.Create;
4338 exts.CaseSensitive := False;
4339 exts.Sorted := True;
4340 exts.Delimiter := ';';
4341 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4343 GetLinkURLs(links, urls,
4344 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4345 Clipboard.SetTextBuf(urls.GetText);
4353 \breif
\83\8a\83\93\83NURL
\8eæ
\93¾
4354 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4356 procedure TGikoDM.AllLinkToClipboardActionExecute(Sender: TObject);
4358 links : IHTMLElementCollection;
4359 urls, exts : TStringList;
4361 links := GetActiveThreadLinks;
4362 if (links <> nil) then begin
4363 urls := TStringList.Create;
4364 exts := TStringList.Create;
4366 exts.CaseSensitive := False;
4367 exts.Sorted := True;
4368 exts.Delimiter := ';';
4369 exts.DelimitedText :=
4370 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4371 GetLinkURLs(links, urls, 0, exts);
4372 Clipboard.SetTextBuf(urls.GetText);
4380 \breif
\90V
\92\85\83\8c\83X
\83\8a\83\93\83NURL
\8eæ
\93¾
4381 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4383 procedure TGikoDM.NewLinkToClipboardActionExecute(Sender: TObject);
4385 links : IHTMLElementCollection;
4386 urls, exts : TStringList;
4387 ThreadItem : TThreadItem;
4389 ThreadItem := GikoForm.GetActiveContent;
4390 links := GetActiveThreadLinks;
4391 if (ThreadItem <> nil) and (links <> nil) then begin
4392 urls := TStringList.Create;
4393 exts := TStringList.Create;
4395 exts.CaseSensitive := False;
4396 exts.Sorted := True;
4397 exts.Delimiter := ';';
4398 exts.DelimitedText :=
4399 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4400 GetLinkURLs(links, urls,
4401 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4402 Clipboard.SetTextBuf(urls.GetText);
4411 \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
4412 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4414 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4416 browser : TWebBrowser;
4417 doc : IHTMLDocument2;
4420 if (GikoForm.GetActiveContent <> nil) then begin
4421 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4422 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4423 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4424 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4425 if (browser <> nil) then begin
4427 doc := browser.ControlInterface.Document as IHTMLDocument2;
4428 if Assigned(doc) then begin
4429 Result := doc.links;
4440 \brief
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4441 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4442 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4443 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4444 \param Exts
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\8ag
\92£
\8eq
4446 procedure TGikoDM.GetLinkURLs(links : IHTMLElementCollection;
4447 URLs : TStringList; const Start: Integer; Exts : TStringList);
4449 index ,i, j : Integer;
4450 item : IHTMLElement;
4453 if (links <> nil) then begin
4455 for i := 0 to links.length - 1 do begin
4456 item := links.item(i, 0) as IHTMLElement;
4457 if (item <> nil) then begin
4458 url := item.getAttribute('href', 0);
4459 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4460 if (Pos('menu:', url) > 0) then begin
4461 index := StrToInt64Def(
4462 Copy(url, 6, Length(url)), index + 1
4465 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4466 if (index >= Start) then begin
4467 ext := ExtractFileExt( AnsiLowerCase(url) );
4468 //
\8ag
\92£
\8eq
\82ð
\83`
\83F
\83b
\83N
4469 if Exts.Find(ext, j) then begin
4479 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4480 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4482 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4484 if ( GikoForm.AddressToolBar.Visible ) then begin
4485 GikoForm.AddressComboBox.SetFocus;
4489 \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é
4491 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4493 form : TNewBoardURLForm;
4496 if (EditorFormExists) then begin
4497 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4498 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4501 form := TNewBoardURLForm.Create(Self);
4508 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4509 procedure TGikoDM.ScrollPageDownActionExecute(Sender: TObject);
4511 GikoForm.BrowserMovement(GikoForm.BrowserPanel.Height);
4513 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4514 procedure TGikoDM.ScrollPageUpActionExecute(Sender: TObject);
4516 GikoForm.BrowserMovement(-GikoForm.BrowserPanel.Height);
4520 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
\81i
\93§
\96¾)
4521 procedure TGikoDM.AddIDtoNGWord0ActionExecute(Sender: TObject);
4523 GikoForm.AddIDtoNGWord(true);
4525 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
4526 procedure TGikoDM.AddIDtoNGWord1ActionExecute(Sender: TObject);
4528 GikoForm.AddIDtoNGWord(false);
4530 //!
\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¦
4531 procedure TGikoDM.ExtractSameIDActionExecute(Sender: TObject);
4535 ID := Trim(Clipboard.AsText);
4536 if (Length(ID) > 0) then begin
4537 if not IsNoValidID(ID) then begin
4538 GikoForm.ShowSameIDAncher(ID);
4542 //!
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82·
\82é
4543 procedure TGikoDM.ShowTabListActionExecute(Sender: TObject);
4547 GikoForm.ListView.Items.BeginUpdate;
4548 GikoForm.ListView.Items.Clear;
4549 BoardGroup.SpecialBoard.Clear;
4550 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
4551 BoardGroup.SpecialBoard.Add(
4552 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Thread);
4554 GikoForm.ListView.Items.EndUpdate;
4555 GikoForm.SetActiveList(BoardGroup.SpecialBoard);
4557 //!
\8bt
\8eQ
\8fÆ
\82µ
\82Ä
\82¢
\82é
\83\8c\83X
\82ð
\92Ç
\89Á
\82·
\82é
4558 procedure TGikoDM.DereferenceResActionExecute(Sender: TObject);
4560 i, currentNo, No : Integer;
4561 links : IHTMLElementCollection;
4562 threadItem : TThreadItem;
4563 item : IHTMLElement;
4565 resNo : TStringList;
4566 alreadyExist : Boolean;
4569 No := GikoForm.KokoPopupMenu.Tag;
4570 if No = 0 then Exit;
4572 ThreadItem := GikoForm.KokoPopupThreadItem;
4573 //
\83A
\83N
\83e
\83B
\83u
\83^
\83u
\82©
\82ç
\91S
\82Ä
\82Ì
\83\8a\83\93\83N
\82ð
\8eæ
\93¾
\82·
\82é
4574 links := GetActiveThreadLinks;
4575 if (ThreadItem <> nil) and (links <> nil) then begin
4576 resNo := TStringList.Create;
4579 alreadyExist := False;
4580 //
\83\8a\83\93\83N
\82ð
\91S
\82Ä
\91\96\8d¸
\82·
\82é
4581 for i := 0 to links.length - 1 do begin
4582 item := links.item(i, 0) as IHTMLElement;
4583 if (item <> nil) then begin
4584 url := item.getAttribute('href', 0);
4585 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4586 if (Pos('menu:', url) > 0) then begin
4587 currentNo := StrToInt64Def(
4588 Copy(url, 6, Length(url)), currentNo + 1
4590 alreadyExist := False;
4591 end else if (currentNo <> -1) and (not alreadyExist) then begin
4593 if Pos('about:..', url) = 1 then begin
4594 url := 'about:blank..' + Copy( url, Length('about:..')+1, Length(url) )
4596 //
\8e©
\95ª
\82Ö
\82Ì
\83\8a\83\93\83N
\82©
\82ç
\83\8c\83X
\83|
\83b
\83v
\97p
\82Ì
\94Ô
\8d\86\8eæ
\93¾
4597 if Pos('about:blank..', url) = 1 then begin
4598 // No
\94Ô
\82Ö
\82Ì
\83\8a\83\93\83N
\82ª
\82 \82ê
\82Î
\8eQ
\8fÆ
\82 \82è
4599 url2 := THTMLCreate.GetRespopupURL(url, ThreadItem.URL);
4600 PathRec := Gikosys.Parse2chURL2(url2);
4601 if (not PathRec.FNoParam) then begin
4602 Gikosys.GetPopupResNumber(url2,PathRec.FSt,PathRec.FTo);
4604 //
\91Î
\8fÛ
\83\8c\83X
\82à
\82µ
\82
\82Í
\82»
\82ê
\82ð
\8aÜ
\82Þ
\82È
\82ç
\8eQ
\8fÆ
\82 \82è
\82Æ
\82·
\82é
4605 if (PathRec.FSt = No) or
4606 ((PathRec.FSt <= No) and (PathRec.FTo >= No)) then begin
4607 alreadyExist := True;
4608 resNo.Add(IntToStr(currentNo));
4614 //
\96³
\90§
\8cÀ
\82È
\82Ì
\82Å-1
\8cÅ
\92è
4615 GikoForm.ActiveContent.IDAnchorPopup(
4616 GikoSys.CreateResAnchor(resNo, ThreadItem, -1));
4624 procedure TGikoDM.UpdateGikonaviActionExecute(Sender: TObject);
4626 form : TUpdateCheckForm;
4630 if (EditorFormExists) then begin
4631 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4632 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4635 GikoForm.UpdateExePath := '';
4636 GikoForm.UpdateExeArgs := '';
4637 form := TUpdateCheckForm.Create(GikoForm);
4640 shutdown := form.Allowshutdown;
4641 if shutdown then begin
4642 GikoForm.UpdateExePath := form.ExecPath;
4643 GikoForm.UpdateExeArgs := form.ExecArgs;
4648 if shutdown then begin
4649 //
\83M
\83R
\83i
\83r
\8fI
\97¹
4654 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iPATH_INFO)
4655 procedure TGikoDM.konoURLPATHActionExecute(Sender: TObject);
4658 ThreadItem : TThreadItem;
4659 URL, Protocol, Host, Path, Document, Port, Bookmark : String;
4661 No := GikoForm.KokoPopupMenu.Tag;
4662 if No = 0 then Exit;
4664 ThreadItem := GikoForm.KokoPopupThreadItem;
4665 if (ThreadItem.ParentBoard.Is2ch) or not (Pos('?', ThreadItem.URL) > 0) then begin
4666 GikoSys.ParseURI(ThreadItem.URL,Protocol, Host, Path, Document, Port, Bookmark);
4667 URL := Protocol + '://' + Host + Path + IntToStr(No);
4669 if Pos('?', ThreadItem.URL) > 0 then begin
4670 URL := Copy(ThreadItem.URL, 1, Pos('?', ThreadItem.URL)-1);
4671 //
\82Ü
\82¿BBS
\97p
\8f\88\92u
4672 URL := MojuUtils.CustomStringReplace(URL, 'read.pl', 'read.cgi');
4673 URL := URL + '/' + ThreadItem.ParentBoard.BBSID + '/' + ChangeFileExt(ThreadItem.FileName, '') + '/' + IntToStr(No);
4676 Clipboard.SetTextBuf( PChar(URL) );
4678 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iQuery_STRING)
4679 procedure TGikoDM.konoURLQueryActionExecute(Sender: TObject);
4682 ThreadItem : TThreadItem;
4683 URL, Protocol, Host, Path, Document, Port, Bookmark : String;
4685 No := GikoForm.KokoPopupMenu.Tag;
4686 if No = 0 then Exit;
4688 ThreadItem := GikoForm.KokoPopupThreadItem;
4689 // 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Â
4690 if ThreadItem.ParentBoard.Is2ch or not (Pos('?', ThreadItem.URL) > 0) then begin
4691 GikoSys.ParseURI(ThreadItem.URL, Protocol, Host, Path, Document, Port, Bookmark);
4692 URL := Protocol + '://' + Host + '/test/read.cgi?bbs=' + ThreadItem.ParentBoard.BBSID
4693 + '&key=' + ChangeFileExt(ThreadItem.FileName, '') + '&st=' + IntToStr(No) + '&to=' + IntToStr(No);
4695 URL := ThreadItem.URL;
4697 if Pos('&LAST=', URL) > 0 then begin
4698 URL := Copy(URL, 1, Pos('&LAST=', URL) - 1);
4699 URL := URL + '&START=' + IntToStr(No) + '&END=' + IntToStr(No);
4701 //
\82»
\82Ì
\91¼
\8aO
\95\94\94Â
4702 if Pos('&ls=', URL) > 0 then begin
4703 URL := Copy(URL, 1, Pos('&ls=', URL) - 1);
4704 URL := URL + '&st=' + IntToStr(No) + '&to=' + IntToStr(No);
4708 Clipboard.SetTextBuf( PChar(URL) );
4710 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iQuery_STRING
\81j
\82Ì
\97\98\97p
\83`
\83F
\83b
\83N
4711 procedure TGikoDM.konoURLQueryActionUpdate(Sender: TObject);
4713 LIVEDOOR_URL = 'http://jbbs.shitaraba.net/';
4715 // 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
4716 konoURLQueryAction.Enabled := false;
4717 if (GikoForm.KokoPopupThreadItem <> nil) then begin
4718 konoURLQueryAction.Enabled := not GikoForm.KokoPopupThreadItem.ParentBoard.Is2ch;
4719 if konoURLQueryAction.Enabled then begin
4720 konoURLQueryAction.Enabled := not (Pos(LIVEDOOR_URL, GikoForm.KokoPopupThreadItem.URL) = 1);
4724 //!
\83|
\83b
\83v
\83A
\83b
\83v
\83\81\83j
\83\85\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
4725 procedure TGikoDM.PopupMenuSettingActionExecute(Sender: TObject);
4727 Dlg: TPopupMenuSettingDialog;
4729 Dlg := TPopupMenuSettingDialog.Create(GikoForm, GikoFormActionList);
4737 procedure TGikoDM.ThreadSearchActionExecute(Sender: TObject);
4739 if (ThreadSrch <> nil) and (ThreadSrch.Visible = False) then begin
4743 if (ThreadSrch = nil) then begin
4744 ThreadSrch := TThreadSrch.Create(GikoForm);
4749 procedure TGikoDM.SaveThreadSearchSetting;
4751 if (ThreadSrch <> nil) and (ThreadSrch.Visible = True) then
4752 ThreadSrch.SaveSetting;
4755 procedure TGikoDM.ThreadNgEditActionExecute(Sender: TObject);
4757 ThreadNGEdit := TThreadNGEdit.Create(GikoForm);
4758 if (ThreadNGEdit.ShowModal = mrOk) then begin
4759 GikoForm.ListView.Refresh;
4762 ThreadNGEdit := nil;