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 //! Monazilla
\83T
\83C
\83g
\82ÌURL
41 URL_MONAZILLA: string = 'www.monazilla.org/';
42 //! 2
\82¿
\82á
\82ñ
\82Ë
\82é
\82ÌURL
43 URL_2ch: string = 'www.2ch.net/';
44 //!
\83M
\83R
\83i
\83rWiki
\82ÌURL
45 URL_Wiki: string = 'gikowiki.dyndns.info/index.php?FAQ';
47 SELECTCOMBOBOX_NAME: string = ''; // '
\83X
\83\8c\83b
\83h
\8di
\8d\9e\8c\9f\8dõ';
48 SELECTCOMBOBOX_COLOR: TColor = clWindow;
53 TGikoDM = class(TDataModule)
54 GikoFormActionList: TActionList;
55 OnlyAHundredResAction: TAction;
56 OnlyKokoResAction: TAction;
58 NewBoardAction: TAction;
59 LogDeleteAction: TAction;
60 KidokuAction: TAction;
61 StdToolBarVisibleAction: TAction;
62 AddressBarVisibleAction: TAction;
63 LinkBarVisibleAction: TAction;
64 ListToolBarVisibleAction: TAction;
65 SearchAction: TAction;
66 GikoNaviWebPageAction: TAction;
67 MonazillaWebPageAction: TAction;
68 BBS2chWebPageAction: TAction;
69 GikoFolderOpenAction: TAction;
71 SelectTextClearAction: TAction;
72 NameTextClearAction: TAction;
73 MailTextClearAction: TAction;
75 ListNameBarVisibleAction: TAction;
76 BrowserToolBarVisibleAction: TAction;
77 BrowserNameBarVisibleAction: TAction;
78 MsgBarVisibleAction: TAction;
79 MsgBarCloseAction: TAction;
80 StatusBarVisibleAction: TAction;
81 CabinetBBSAction: TAction;
82 CabinetHistoryAction: TAction;
83 OnlyNewResAction: TAction;
84 CabinetFavoriteAction: TAction;
85 CabinetVisibleAction: TAction;
86 ListNumberVisibleAction: TAction;
87 UpFolderAction: TAction;
88 CabinetCloseAction: TAction;
90 LargeIconAction: TAction;
91 SmallIconAction: TAction;
92 ListIconAction: TAction;
93 DetailIconAction: TAction;
94 MidokuAction: TAction;
95 AllSelectAction: TAction;
96 AllItemAction: TAction;
97 LogItemAction: TAction;
98 NewItemAction: TAction;
99 ThreadRangeAction: TAction;
100 SelectItemAction: TAction;
102 OptionAction: TAction;
103 RoundAction: TAction;
104 BrowserMaxAction: TAction;
105 BrowserMinAction: TAction;
106 ScrollTopAction: TAction;
107 ScrollLastAction: TAction;
108 ScrollNewAction: TAction;
109 ScrollKokoAction: TAction;
110 EditorAction: TAction;
112 ShowThreadAction: TAction;
113 ShowBoardAction: TAction;
114 URLCopyAction: TAction;
115 NameCopyAction: TAction;
116 NameURLCopyAction: TAction;
117 ItemReloadAction: TAction;
118 ThreadEditorAction: TAction;
119 BoardIEAction: TAction;
120 SelectItemURLCopyAction: TAction;
121 SelectItemNameCopyAction: TAction;
122 SelectItemNameURLCopyAction: TAction;
123 SelectListReloadAction: TAction;
124 SelectThreadReloadAction: TAction;
125 BrowserTabCloseAction: TAction;
126 NotSelectTabCloseAction: TAction;
127 AllTabCloseAction: TAction;
128 KokomadeAction: TAction;
129 ZenbuAction: TAction;
130 KokoResAction: TAction;
131 TreeSelectBoradReload: TAction;
132 TreeSelectThreadReload: TAction;
133 TreeSelectURLCopy: TAction;
134 SelectReservAction: TAction;
135 SelectNewRoundName: TAction;
136 SelectDeleteRound: TAction;
137 KeySettingAction: TAction;
138 ArrangeAction: TAction;
139 ActiveLogDeleteAction: TAction;
140 TreeSelectNameURLCopy: TAction;
141 PaneInitAction: TAction;
142 LeftmostTabSelectAction: TAction;
143 LeftTabSelectAction: TAction;
144 RightTabSelectAction: TAction;
145 RightmostTabSelectAction: TAction;
146 FavoriteAddAction: TAction;
147 BoardFavoriteAddAction: TAction;
148 ThreadFavoriteAddAction: TAction;
149 TreeSelectFavoriteAddAction: TAction;
150 FavoriteArrangeAction: TAction;
151 MoveToAction: TAction;
152 BrowserTabVisibleAction: TAction;
153 BrowserTabTopAction: TAction;
154 BrowserTabBottomAction: TAction;
155 BrowserTabTabStyleAction: TAction;
156 BrowserTabButtonStyleAction: TAction;
157 BrowserTabFlatStyleAction: TAction;
158 GikoHelpAction: TAction;
159 KotehanAction: TAction;
160 ToolBarSettingAction: TAction;
161 SelectResAction: TAction;
162 AllResAction: TAction;
163 EditNGAction: TAction;
164 ReloadAction: TAction;
165 GoFowardAction: TAction;
166 GoBackAction: TAction;
167 TreeSelectSearchBoardName: TAction;
168 FavoriteTreeViewRenameAction: TAction;
169 FavoriteTreeViewNewFolderAction: TAction;
170 FavoriteTreeViewDeleteAction: TAction;
171 FavoriteTreeViewBrowseFolderAction: TAction;
172 FavoriteTreeViewReloadAction: TAction;
173 FavoriteTreeViewURLCopyAction: TAction;
174 FavoriteTreeViewNameCopyAction: TAction;
175 FavoriteTreeViewNameURLCopyAction: TAction;
176 FavoriteTreeViewLogDeleteAction: TAction;
177 ResRangeAction: TAction;
178 ExportFavoriteFile: TFileSaveAs;
179 FavoriteTreeViewBrowseBoardAction: TAction;
180 FavoriteTreeViewBrowseThreadAction: TAction;
181 UpBoardAction: TAction;
183 TreeSelectNameCopy: TAction;
184 SetFocusForBrowserAction: TAction;
185 SetFocusForThreadListAction: TAction;
186 SetFocusForCabinetAction: TAction;
188 ThreadlistMaxAndFocusAction: TAction;
189 BrowserMaxAndFocusAction: TAction;
190 SelectItemSaveForHTML: TAction;
191 SelectItemSaveForDat: TAction;
192 LogFolderOpenAction: TAction;
193 TabsSaveAction: TAction;
194 TabsOpenAction: TAction;
195 BrowsBoradHeadAction: TAction;
196 JumpToNumOfResAction: TAction;
197 FavoriteTreeViewCollapseAction: TAction;
198 RightTabCloseAction: TAction;
199 LeftTabCloseAction: TAction;
200 SameIDResAnchorAction: TAction;
201 IndividualAbon1Action: TAction;
202 IndividualAbon0Action: TAction;
203 AntiIndividualAbonAction: TAction;
204 AntiIndividualAbonDlgAction: TAction;
205 IndividualAbonID1Action: TAction;
206 IndividualAbonID0Action: TAction;
208 SortActiveColumnAction: TAction;
209 SortNextColumnAction: TAction;
210 SortPrevColumnAction: TAction;
211 BeLogInOutAction: TAction;
212 UnSelectedListViewAction: TAction;
213 WikiFAQWebPageAction: TAction;
214 ToobarImageList: TImageList;
215 SaveDialog: TSaveDialog;
216 ThreadSizeCalcForFileAction: TAction;
217 SetInputAssistAction: TAction;
218 OpenFindDialogAction: TAction;
219 ArchiveItemAction: TAction;
220 LiveItemAction: TAction;
221 FavoriteTreeViewItemNameCopyAction: TAction;
222 CloseAllEditorAction: TAction;
223 PrevMoveHistory: TAction;
224 NextMoveHistory: TAction;
225 ClickActiveElementAction: TAction;
226 VKDownAction: TAction;
228 VKRightAction: TAction;
229 VKLeftAction: TAction;
230 StoredTaskTrayAction: TAction;
231 AllImageLinkToClipbordAction: TAction;
232 NewImageLinkToClipBoardAction: TAction;
233 SetForcusForAddresBarAction: TAction;
234 NewBoardSearchAction: TAction;
235 NGWordEditFormAction: TAction;
236 ScrollPageDownAction: TAction;
237 ScrollPageUpAction: TAction;
238 AllLinkToClipboardAction: TAction;
239 NewLinkToClipboardAction: TAction;
240 AddIDtoNGWord0Action: TAction;
241 AddIDtoNGWord1Action: TAction;
242 ExtractSameIDAction: TAction;
243 ShowTabListAction: TAction;
244 DereferenceResAction: TAction;
245 UpdateGikonaviAction: TAction;
246 procedure EditNGActionExecute(Sender: TObject);
247 procedure ReloadActionExecute(Sender: TObject);
248 procedure GoFowardActionExecute(Sender: TObject);
249 procedure GoBackActionExecute(Sender: TObject);
250 procedure MoveToActionExecute(Sender: TObject);
251 procedure FavoriteAddActionExecute(Sender: TObject);
252 procedure FavoriteArrangeActionExecute(Sender: TObject);
253 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
254 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
255 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
256 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
257 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
258 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
259 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
260 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
261 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
262 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
263 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
264 procedure OnlyAHundredResActionExecute(Sender: TObject);
265 procedure OnlyKokoResActionExecute(Sender: TObject);
266 procedure OnlyNewResActionExecute(Sender: TObject);
267 procedure BrowserMaxActionExecute(Sender: TObject);
268 procedure BrowserMinActionExecute(Sender: TObject);
269 procedure ScrollTopActionExecute(Sender: TObject);
270 procedure ScrollLastActionExecute(Sender: TObject);
271 procedure ScrollNewActionExecute(Sender: TObject);
272 procedure ScrollKokoActionExecute(Sender: TObject);
273 procedure ScrollKokoActionUpdate(Sender: TObject);
274 procedure EditorActionExecute(Sender: TObject);
275 procedure IEActionExecute(Sender: TObject);
276 procedure ShowThreadActionExecute(Sender: TObject);
277 procedure ShowBoardActionExecute(Sender: TObject);
278 procedure URLCopyActionExecute(Sender: TObject);
279 procedure NameCopyActionExecute(Sender: TObject);
280 procedure NameURLCopyActionExecute(Sender: TObject);
281 procedure ItemReloadActionExecute(Sender: TObject);
282 procedure BrowserTabCloseActionExecute(Sender: TObject);
283 procedure BrowserTabCloseActionUpdate(Sender: TObject);
284 procedure NotSelectTabCloseActionExecute(Sender: TObject);
285 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
286 procedure AllTabCloseActionExecute(Sender: TObject);
287 procedure ActiveLogDeleteActionExecute(Sender: TObject);
288 procedure LeftmostTabSelectActionExecute(Sender: TObject);
289 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
290 procedure LeftTabSelectActionExecute(Sender: TObject);
291 procedure RightTabSelectActionExecute(Sender: TObject);
292 procedure RightTabSelectActionUpdate(Sender: TObject);
293 procedure RightmostTabSelectActionExecute(Sender: TObject);
294 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
295 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
296 procedure SelectResActionExecute(Sender: TObject);
297 procedure AllResActionExecute(Sender: TObject);
298 procedure ResRangeActionExecute(Sender: TObject);
299 procedure UpBoardActionExecute(Sender: TObject);
300 procedure JumpToNumOfResActionExecute(Sender: TObject);
301 procedure RightTabCloseActionExecute(Sender: TObject);
302 procedure RightTabCloseActionUpdate(Sender: TObject);
303 procedure LeftTabCloseActionExecute(Sender: TObject);
304 procedure DataModuleCreate(Sender: TObject);
305 procedure SearchActionExecute(Sender: TObject);
306 procedure OptionActionExecute(Sender: TObject);
307 procedure RoundActionExecute(Sender: TObject);
308 procedure KeySettingActionExecute(Sender: TObject);
309 procedure KotehanActionExecute(Sender: TObject);
310 procedure ToolBarSettingActionExecute(Sender: TObject);
311 procedure MuteActionExecute(Sender: TObject);
312 procedure TreeSelectBoradReloadExecute(Sender: TObject);
313 procedure TreeSelectThreadReloadExecute(Sender: TObject);
314 procedure TreeSelectURLCopyExecute(Sender: TObject);
315 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
316 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
317 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
318 procedure TreeSelectNameCopyExecute(Sender: TObject);
319 procedure LoginActionExecute(Sender: TObject);
320 procedure NewBoardActionExecute(Sender: TObject);
321 procedure LogDeleteActionExecute(Sender: TObject);
322 procedure LogDeleteActionUpdate(Sender: TObject);
323 procedure SelectTextClearActionExecute(Sender: TObject);
324 procedure NameTextClearActionExecute(Sender: TObject);
325 procedure MailTextClearActionExecute(Sender: TObject);
326 procedure ExitActionExecute(Sender: TObject);
327 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
328 procedure ExportFavoriteFileAccept(Sender: TObject);
329 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
330 procedure SelectItemSaveForDatExecute(Sender: TObject);
331 procedure TabsSaveActionExecute(Sender: TObject);
332 procedure TabsOpenActionExecute(Sender: TObject);
333 procedure BeLogInOutActionExecute(Sender: TObject);
334 procedure BeLogInOutActionUpdate(Sender: TObject);
335 procedure KokomadeActionExecute(Sender: TObject);
336 procedure ZenbuActionExecute(Sender: TObject);
337 procedure KokoResActionExecute(Sender: TObject);
338 procedure KoreCopyExecute(Sender: TObject);
339 procedure SameIDResAnchorActionExecute(Sender: TObject);
340 procedure IndividualAbon1ActionExecute(Sender: TObject);
341 procedure IndividualAbon0ActionExecute(Sender: TObject);
342 procedure AntiIndividualAbonActionExecute(Sender: TObject);
343 procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
344 procedure IndividualAbonID1ActionExecute(Sender: TObject);
345 procedure IndividualAbonID0ActionExecute(Sender: TObject);
346 procedure GikoNaviWebPageActionExecute(Sender: TObject);
347 procedure MonazillaWebPageActionExecute(Sender: TObject);
348 procedure BBS2chWebPageActionExecute(Sender: TObject);
349 procedure GikoFolderOpenActionExecute(Sender: TObject);
350 procedure AboutActionExecute(Sender: TObject);
351 procedure GikoHelpActionExecute(Sender: TObject);
352 procedure WikiFAQWebPageActionExecute(Sender: TObject);
353 procedure ListNumberVisibleActionExecute(Sender: TObject);
354 procedure UpFolderActionExecute(Sender: TObject);
355 procedure UpFolderActionUpdate(Sender: TObject);
356 procedure IconStyleExecute(Sender: TObject);
357 procedure AllItemActionExecute(Sender: TObject);
358 procedure LogItemActionExecute(Sender: TObject);
359 procedure NewItemActionExecute(Sender: TObject);
360 procedure ThreadRangeActionExecute(Sender: TObject);
361 procedure SelectItemActionExecute(Sender: TObject);
362 procedure ThreadEditorActionExecute(Sender: TObject);
363 procedure BoardIEActionExecute(Sender: TObject);
364 procedure SelectItemURLCopyActionExecute(Sender: TObject);
365 procedure SelectItemURLCopyActionUpdate(Sender: TObject);
366 procedure SelectItemNameCopyActionExecute(Sender: TObject);
367 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
368 procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
369 procedure SelectListReloadActionExecute(Sender: TObject);
370 procedure SelectListReloadActionUpdate(Sender: TObject);
371 procedure SelectThreadReloadActionExecute(Sender: TObject);
372 procedure SelectThreadReloadActionUpdate(Sender: TObject);
373 procedure SelectReservActionExecute(Sender: TObject);
374 procedure SelectReservActionUpdate(Sender: TObject);
375 procedure SelectNewRoundNameExecute(Sender: TObject);
376 procedure SelectDeleteRoundExecute(Sender: TObject);
377 procedure BoardFavoriteAddActionExecute(Sender: TObject);
378 procedure BoardFavoriteAddActionUpdate(Sender: TObject);
379 procedure LogFolderOpenActionExecute(Sender: TObject);
380 procedure LogFolderOpenActionUpdate(Sender: TObject);
381 procedure BrowsBoradHeadActionExecute(Sender: TObject);
382 procedure SortActiveColumnActionExecute(Sender: TObject);
383 procedure SortNextColumnActionExecute(Sender: TObject);
384 procedure SortPrevColumnActionExecute(Sender: TObject);
385 procedure StdToolBarVisibleActionExecute(Sender: TObject);
386 procedure AddressBarVisibleActionExecute(Sender: TObject);
387 procedure LinkBarVisibleActionExecute(Sender: TObject);
388 procedure ListToolBarVisibleActionExecute(Sender: TObject);
389 procedure ListNameBarVisibleActionExecute(Sender: TObject);
390 procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
391 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
392 procedure MsgBarVisibleActionExecute(Sender: TObject);
393 procedure MsgBarCloseActionExecute(Sender: TObject);
394 procedure StatusBarVisibleActionExecute(Sender: TObject);
395 procedure CabinetBBSActionExecute(Sender: TObject);
396 procedure CabinetHistoryActionExecute(Sender: TObject);
397 procedure CabinetFavoriteActionExecute(Sender: TObject);
398 procedure CabinetVisibleActionExecute(Sender: TObject);
399 procedure CabinetCloseActionExecute(Sender: TObject);
400 procedure LargeIconActionExecute(Sender: TObject);
401 procedure SmallIconActionExecute(Sender: TObject);
402 procedure ListIconActionExecute(Sender: TObject);
403 procedure DetailIconActionExecute(Sender: TObject);
404 procedure StopActionExecute(Sender: TObject);
405 procedure ArrangeActionExecute(Sender: TObject);
406 procedure PaneInitActionExecute(Sender: TObject);
407 procedure BrowserTabVisibleActionExecute(Sender: TObject);
408 procedure BrowserTabTopActionExecute(Sender: TObject);
409 procedure BrowserTabBottomActionExecute(Sender: TObject);
410 procedure BrowserTabTabStyleActionExecute(Sender: TObject);
411 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
412 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
413 procedure SetFocusForBrowserActionExecute(Sender: TObject);
414 procedure SetFocusForBrowserActionUpdate(Sender: TObject);
415 procedure SetFocusForThreadListActionExecute(Sender: TObject);
416 procedure SetFocusForCabinetActionExecute(Sender: TObject);
417 procedure SetFocusForCabinetActionUpdate(Sender: TObject);
418 procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
419 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
420 procedure UnSelectedListViewActionExecute(Sender: TObject);
421 procedure KidokuActionExecute(Sender: TObject);
422 procedure MidokuActionExecute(Sender: TObject);
423 procedure AllSelectActionExecute(Sender: TObject);
424 procedure AllSelectActionUpdate(Sender: TObject);
425 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
426 procedure SetInputAssistActionExecute(Sender: TObject);
427 procedure OpenFindDialogActionExecute(Sender: TObject);
428 procedure ArchiveItemActionExecute(Sender: TObject);
429 procedure LiveItemActionExecute(Sender: TObject);
430 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
431 procedure CloseAllEditorActionExecute(Sender: TObject);
432 procedure CloseAllEditorActionUpdate(Sender: TObject);
433 procedure PrevMoveHistoryUpdate(Sender: TObject);
434 procedure PrevMoveHistoryExecute(Sender: TObject);
435 procedure NextMoveHistoryUpdate(Sender: TObject);
436 procedure NextMoveHistoryExecute(Sender: TObject);
437 procedure ClickActiveElementActionExecute(Sender: TObject);
438 procedure VKDownActionExecute(Sender: TObject);
439 procedure VKUpActionExecute(Sender: TObject);
440 procedure VKRightActionExecute(Sender: TObject);
441 procedure VKLeftActionExecute(Sender: TObject);
442 procedure StoredTaskTrayActionExecute(Sender: TObject);
443 procedure LeftTabSelectActionUpdate(Sender: TObject);
444 procedure RightmostTabSelectActionUpdate(Sender: TObject);
445 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
446 procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
447 procedure SetForcusForAddresBarActionExecute(Sender: TObject);
448 procedure NewBoardSearchActionExecute(Sender: TObject);
449 procedure ScrollPageDownActionExecute(Sender: TObject);
450 procedure ScrollPageUpActionExecute(Sender: TObject);
451 procedure AllLinkToClipboardActionExecute(Sender: TObject);
452 procedure NewLinkToClipboardActionExecute(Sender: TObject);
453 procedure AddIDtoNGWord0ActionExecute(Sender: TObject);
454 procedure AddIDtoNGWord1ActionExecute(Sender: TObject);
455 procedure ExtractSameIDActionExecute(Sender: TObject);
456 procedure ShowTabListActionExecute(Sender: TObject);
457 procedure DereferenceResActionExecute(Sender: TObject);
458 procedure UpdateGikonaviActionExecute(Sender: TObject);
461 procedure ClearResFilter;
462 procedure SetResRange(range: Integer);
463 procedure SetThreadAreaHorNormal;
464 procedure SetThreadAreaHorizontal(gls : TGikoListState);
465 procedure SetThreadAreaVerNormal;
466 procedure SetThreadAreaVertical(gls : TGikoListState);
467 procedure SetThreadReadProperty(read: Boolean);
468 procedure SelectThreadSaveToFile(dat: Boolean);
469 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
470 procedure RecalcThreadSize(limit : Integer);
471 procedure ClearSelectComboBox;
472 procedure ClearMailAllEditor();
473 procedure ClearNameTextAllEditor();
474 procedure MoveURLWithHistory(URL : String);
475 procedure BackToHistory(item: TMoveHistoryItem);
476 function GetActiveThreadLinks : IHTMLElementCollection;
477 procedure GetLinkURLs(links : IHTMLElementCollection;
478 URLs : TStringList; const Start: Integer; Exts : TStringList);
481 procedure RepaintStatusBar;
482 function EditorFormExists(): boolean;
483 procedure GetTabURLs(AStringList: TStringList);
484 procedure OpenURLs(AStringList: TStringList);
486 { Published
\90é
\8c¾ }
487 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
488 procedure DependActiveCntentActionUpdate(Sender: TObject);
489 //! 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é
490 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
491 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
492 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
493 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
494 procedure DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
504 Windows, Math, Clipbrd,
505 Giko, GikoUtil, BoardGroup,
506 FavoriteArrange, Favorite, MojuUtils,
507 Editor, ListSelect, Search, Option, Round,
508 KeySetting, Gesture, Kotehan, ToolBarSetting,
509 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
510 GikoBayesian, About, ShellAPI,
511 RoundName, RoundData, Menus, ListViewUtils,
512 ThreadControl, GikoMessage, InputAssist,
513 DefaultFileManager, Forms, NewBoardURL, UpdateCheck;
516 MSG_ERROR : string = '
\83G
\83\89\81[';
519 // *************************************************************************
520 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
521 // *************************************************************************
522 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
524 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
526 // *************************************************************************
527 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
528 // *************************************************************************
529 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
531 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
532 and (GikoForm.GetActiveContent.IsLogFile);
534 // *************************************************************************
535 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
536 // *************************************************************************
537 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
539 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard) and
540 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
542 // *************************************************************************
543 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
544 // *************************************************************************
545 procedure TGikoDM.DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
547 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
549 // *************************************************************************
550 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
551 // *************************************************************************
552 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
554 //
\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
555 GikoSys.FAbon.EditNGwords;
557 // *************************************************************************
558 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
559 // *************************************************************************
560 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
562 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
563 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
564 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½',
565 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
567 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
568 GikoForm.RepaintAllTabsBrowser();
571 // *************************************************************************
572 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
573 // *************************************************************************
574 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
576 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
577 if GikoSys.FAbon.GoBack =false then begin
578 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½',
579 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
581 //
\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
583 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
584 GikoForm.RepaintAllTabsBrowser();
587 // *************************************************************************
588 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
589 // *************************************************************************
590 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
592 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
593 if GikoSys.FAbon.GoForward =false then begin
594 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½',
595 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
597 //
\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
599 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
600 GikoForm.RepaintAllTabsBrowser();
603 // *************************************************************************
604 //! 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
605 // *************************************************************************
606 procedure TGikoDM.RepaintStatusBar;
610 //
\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
611 s := GikoSys.FAbon.NGwordname;
612 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
613 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
614 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
615 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
616 GikoForm.StatusBarResize(nil);
618 // *************************************************************************
619 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
620 // *************************************************************************
621 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
623 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
625 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
627 // *************************************************************************
628 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
629 // *************************************************************************
630 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
632 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
634 // *************************************************************************
635 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
636 // *************************************************************************
637 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
639 Dlg: TFavoriteArrangeDialog;
641 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
647 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
648 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
650 // *************************************************************************
651 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
652 // *************************************************************************
653 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
657 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
659 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
660 while node <> nil do begin
661 if node.HasChildren then
662 node.Expanded := False;
663 node := node.GetNext;
668 // *************************************************************************
669 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
670 // *************************************************************************
671 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
676 if GikoForm.ClickNode = nil then
678 if GikoForm.ClickNode.IsFirstNode then
680 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
682 GikoForm.FavoriteTreeView.ReadOnly := False;
683 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
684 node := GikoForm.ClickNode.Parent;
685 while node <> nil do begin
686 node.Expanded := True;
689 GikoForm.ClickNode.EditText;
691 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 );
693 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
694 FavoriteDM.Modified := true;
697 // *************************************************************************
698 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
699 // *************************************************************************
700 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
702 NewFavFolder: TFavoriteFolder;
706 if GikoForm.ClickNode = nil then
710 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
711 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
712 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
715 NewFavFolder := TFavoriteFolder.Create;
716 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
717 Node.ImageIndex := 14;
718 Node.SelectedIndex := 14;
719 // FClickNode.Selected.Expanded := True;
720 GikoForm.FavoriteTreeView.Selected := Node;
721 GikoForm.ClickNode := Node;
722 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
723 FavoriteDM.Modified := true;
724 FavoriteTreeViewRenameAction.Execute;
729 // *************************************************************************
730 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
731 // *************************************************************************
732 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
734 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';
735 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
736 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
739 if GikoForm.ClickNode = nil then
741 if GikoForm.ClickNode.IsFirstNode then
743 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
744 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
745 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
748 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
753 GikoForm.ClickNode.Delete;
754 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
755 FavoriteDM.Modified := true;
760 // *************************************************************************
761 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
762 // *************************************************************************
763 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
766 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
768 // *************************************************************************
769 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
770 // *************************************************************************
771 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
773 FavThread: TFavoriteThreadItem;
774 FavBoard: TFavoriteBoardItem;
777 if (GikoForm.ClickNode = nil) then Exit;
779 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
781 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
782 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
783 if FavThread.Item <> nil then
784 GikoForm.DownloadContent(FavThread.Item, shiftDown);
785 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
786 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
787 GikoForm.DownloadList(FavBoard.Item, shiftDown);
791 // *************************************************************************
792 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
793 // *************************************************************************
794 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
797 if GikoForm.ClickNode = nil then Exit;
799 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
800 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
803 // *************************************************************************
804 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
805 // *************************************************************************
806 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
809 if GikoForm.ClickNode = nil then Exit;
811 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
813 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
816 GikoForm.ClickNode.Text + #13#10;
820 // *************************************************************************
821 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
822 // *************************************************************************
823 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
826 favItem : TFavoriteItem;
829 if GikoForm.ClickNode = nil then Exit;
831 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
832 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
833 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
834 favItem.URL + #13#10;
838 // *************************************************************************
839 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
840 // *************************************************************************
841 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
843 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';
844 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
846 ThreadItem: TThreadItem;
847 FavThread: TFavoriteThreadItem;
850 if GikoForm.ClickNode = nil then Exit;
851 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
853 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
854 ThreadItem := FavThread.Item;
857 if GikoSys.Setting.DeleteMsg then begin
858 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
859 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
863 GikoForm.DeleteHistory(ThreadItem);
864 GikoForm.DeleteTab(ThreadItem);
865 ThreadItem.DeleteLogFile;
867 GikoForm.ListView.Refresh;
872 // *************************************************************************
873 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
874 // *************************************************************************
875 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
878 threadItem : TThreadItem;
881 if GikoForm.ClickNode = nil then Exit;
883 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
885 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
886 if threadItem = nil then
888 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
892 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
893 procedure TGikoDM.ClearResFilter;
895 FilterList : TStringList;
897 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
898 FilterList := TStringList.Create;
900 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
901 GikoSys.FSelectResFilter.Reverse := False;
905 GikoForm.SelectResWord := '';
907 // *************************************************************************
908 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
909 // *************************************************************************
910 procedure TGikoDM.SetResRange(range: Integer);
912 if GikoSys.ResRange <> range then begin
913 GikoSys.ResRange := range;
914 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
916 GikoForm.RepaintAllTabsBrowser();
919 // *************************************************************************
920 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
921 // *************************************************************************
922 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
924 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
925 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
927 GikoForm.ResRangeMenuSelect := 100;
928 OnlyAHundredResAction.Checked := True;
929 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
932 // *************************************************************************
933 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
934 // *************************************************************************
935 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
937 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
938 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
940 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
941 OnlyKokoResAction.Checked := True;
943 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
944 SetResRange(Ord( grrKoko ));
946 // *************************************************************************
947 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
948 // *************************************************************************
949 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
951 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
952 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
954 GikoForm.ResRangeMenuSelect := Ord( grrNew );
955 OnlyNewResAction.Checked := True;
957 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
958 SetResRange(Ord( grrNew ));
960 // *************************************************************************
961 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
962 // *************************************************************************
963 procedure TGikoDM.SetThreadAreaHorNormal;
965 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
966 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
967 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
968 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
969 GikoSys.Setting.ListWidthState := glsNormal;
971 // *************************************************************************
972 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
973 // *************************************************************************
974 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
976 if GikoSys.Setting.ListWidthState = glsNormal then
977 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
979 if (gls = glsMax) then begin
980 GikoForm.ViewPanel.Width := 1;
981 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
982 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
983 GikoSys.Setting.ListWidthState := glsMax;
984 end else if (gls = glsMin) then begin
985 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
986 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
987 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
988 GikoSys.Setting.ListWidthState := glsMin;
991 // *************************************************************************
992 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
993 // *************************************************************************
994 procedure TGikoDM.SetThreadAreaVerNormal;
996 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
997 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
998 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
999 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1000 GikoSys.Setting.ListHeightState := glsNormal;
1002 // *************************************************************************
1003 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
1004 // *************************************************************************
1005 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
1007 if GikoSys.Setting.ListHeightState = glsNormal then
1008 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
1009 if (gls = glsMin) then begin
1010 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
1011 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1012 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1013 GikoSys.Setting.ListHeightState := glsMin;
1014 end else if (gls = glsMax) then begin
1015 GikoForm.ViewPanel.Height := 1;
1016 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1017 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1018 GikoSys.Setting.ListHeightState := glsMax;
1021 // *************************************************************************
1022 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
1023 // *************************************************************************
1024 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
1026 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1027 case GikoSys.Setting.ListWidthState of
1029 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1030 SetThreadAreaHorNormal;
1032 glsMin, glsNormal: begin
1033 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1034 SetThreadAreaHorizontal(glsMax);
1038 case GikoSys.Setting.ListHeightState of
1040 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1041 SetThreadAreaVerNormal;
1043 glsMin, glsNormal: begin
1044 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1045 SetThreadAreaVertical(glsMax);
1050 // *************************************************************************
1051 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1052 // *************************************************************************
1053 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1055 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1056 case GikoSys.Setting.ListWidthState of
1057 glsMax, glsNormal: begin
1058 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1059 SetThreadAreaHorizontal(glsMin);
1062 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1063 SetThreadAreaHorNormal;
1067 case GikoSys.Setting.ListHeightState of
1068 glsMax, glsNormal: begin
1069 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1070 SetThreadAreaVertical(glsMin);
1073 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1074 SetThreadAreaVerNormal;
1079 // *************************************************************************
1080 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1081 // *************************************************************************
1082 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1084 GikoForm.BrowserMovement('top');
1086 // *************************************************************************
1087 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1088 // *************************************************************************
1089 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1091 GikoForm.BrowserMovement('bottom');
1093 // *************************************************************************
1094 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1095 // *************************************************************************
1096 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1098 GikoForm.BrowserMovement('new');
1100 // *************************************************************************
1101 //!
\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é
1102 // *************************************************************************
1103 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1105 GikoForm.BrowserMovement('koko');
1107 // *************************************************************************
1108 //!
\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
1109 // *************************************************************************
1110 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1112 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1113 and (GikoForm.GetActiveContent.IsLogFile)
1114 and (GikoForm.GetActiveContent.Kokomade <> -1);
1116 // *************************************************************************
1117 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1118 // *************************************************************************
1119 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1121 Editor: TEditorForm;
1124 Item := GikoForm.GetActiveContent;
1125 if Item = nil then Exit;
1126 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1127 Editor.SetThreadItem(Item);
1129 Editor.BodyEdit.SetFocus;
1131 // *************************************************************************
1132 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1133 // *************************************************************************
1134 procedure TGikoDM.IEActionExecute(Sender: TObject);
1136 ShowThreadAction.Execute;
1138 // *************************************************************************
1139 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1140 // *************************************************************************
1141 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1143 ThreadItem: TThreadItem;
1145 ThreadItem := GikoForm.GetActiveContent;
1146 if ThreadItem = nil then Exit;
1147 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1149 // *************************************************************************
1150 //!
\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é
1151 // *************************************************************************
1152 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1154 ThreadItem: TThreadItem;
1156 ThreadItem := GikoForm.GetActiveContent;
1157 if ThreadItem = nil then Exit;
1158 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1160 // *************************************************************************
1161 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1162 // *************************************************************************
1163 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1168 if TObject(GikoForm.GetActiveContent) is TBoard then
1169 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1170 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1171 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1173 Clipboard.AsText := s;
1175 // *************************************************************************
1176 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1177 // *************************************************************************
1178 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1183 if TObject(GikoForm.GetActiveContent) is TBoard then
1184 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1185 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1186 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1188 Clipboard.AsText := s;
1190 // *************************************************************************
1191 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1192 // *************************************************************************
1193 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1198 if TObject(GikoForm.GetActiveContent) is TBoard then
1199 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1200 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1201 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1203 Clipboard.AsText := s;
1205 // *************************************************************************
1206 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1207 // *************************************************************************
1208 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1210 ThreadItem: TThreadItem;
1213 ThreadItem := GikoForm.GetActiveContent;
1214 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1215 if ThreadItem <> nil then
1216 GikoForm.DownloadContent(ThreadItem, shiftDown);
1218 // *************************************************************************
1219 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1220 // *************************************************************************
1221 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1225 idx := GikoForm.BrowserTab.TabIndex;
1226 if idx <> -1 then begin
1227 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1228 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1232 // *************************************************************************
1233 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1234 // *************************************************************************
1235 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1237 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1239 // *************************************************************************
1240 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1241 // *************************************************************************
1242 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1247 idx := GikoForm.BrowserTab.TabIndex;
1248 if idx = -1 then Exit;
1249 GikoForm.BrowserTab.Tabs.BeginUpdate;
1250 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1251 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1252 GikoForm.BrowserTab.Tabs.Delete(i);
1254 if idx > 0 then begin
1255 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1256 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1257 GikoForm.BrowserTab.Tabs.Delete(i);
1260 GikoForm.BrowserTab.Tabs.EndUpdate;
1262 // *************************************************************************
1263 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1264 // *************************************************************************
1265 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1267 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1269 // *************************************************************************
1270 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1271 // *************************************************************************
1272 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1276 if GikoSys.Setting.ShowDialogForAllTabClose then
1277 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
1280 GikoForm.ActiveContent := nil;
1281 GikoForm.BrowserNullTab.Thread := nil;
1282 GikoForm.BrowserTab.OnChange := nil;
1283 GikoForm.BrowserTab.Tabs.BeginUpdate;
1284 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1285 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1287 GikoForm.BrowserTab.Tabs.Clear;
1288 GikoForm.BrowserTab.Tabs.EndUpdate;
1289 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1290 GikoForm.SetContent(GikoForm.BrowserNullTab);
1291 GikoForm.Caption := CAPTION_NAME ;
1293 // *************************************************************************
1294 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1295 // *************************************************************************
1296 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1298 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';
1299 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1302 ThreadItem: TThreadItem;
1304 idx := GikoForm.BrowserTab.TabIndex;
1305 if idx <> -1 then begin
1306 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1307 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1308 if GikoSys.Setting.DeleteMsg then
1309 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1310 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1312 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1313 GikoForm.DeleteHistory(ThreadItem);
1314 ThreadItem.DeleteLogFile;
1315 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1316 GikoForm.ListView.Refresh;
1320 // *************************************************************************
1321 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1322 // *************************************************************************
1323 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1325 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1326 GikoForm.BrowserTab.TabIndex := 0;
1327 GikoForm.BrowserTab.OnChange(nil);
1330 // *************************************************************************
1331 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1332 // *************************************************************************
1333 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1335 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1336 LeftmostTabSelectActionUpdate(Sender);
1338 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1342 // *************************************************************************
1343 //!
\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
1344 // *************************************************************************
1345 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1347 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1348 and (GikoForm.BrowserTab.TabIndex <> 0);
1350 // *************************************************************************
1351 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1352 // *************************************************************************
1353 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1355 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1356 if GikoForm.BrowserTab.TabIndex = -1 then begin
1357 GikoForm.BrowserTab.TabIndex := 0;
1358 GikoForm.BrowserTab.OnChange(nil);
1359 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1360 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1361 GikoForm.BrowserTab.OnChange(nil);
1363 if (GikoSys.Setting.LoopBrowserTabs) and
1364 (GikoForm.BrowserTab.TabIndex = 0) then begin
1365 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1366 GikoForm.BrowserTab.OnChange(nil);
1371 // *************************************************************************
1372 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1373 // *************************************************************************
1374 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1376 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1377 if GikoForm.BrowserTab.TabIndex = -1 then begin
1378 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1379 GikoForm.BrowserTab.OnChange(nil);
1380 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1381 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1382 GikoForm.BrowserTab.OnChange(nil);
1384 if (GikoSys.Setting.LoopBrowserTabs) and
1385 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1386 GikoForm.BrowserTab.TabIndex := 0;
1387 GikoForm.BrowserTab.OnChange(nil);
1392 // *************************************************************************
1393 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1394 // *************************************************************************
1395 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1397 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1398 RightmostTabSelectActionUpdate(Sender);
1400 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1404 // *************************************************************************
1405 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1406 // *************************************************************************
1407 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1409 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1410 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1411 GikoForm.BrowserTab.OnChange(nil);
1414 // *************************************************************************
1415 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1416 // *************************************************************************
1417 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1419 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1420 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1423 // *************************************************************************
1424 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1425 // *************************************************************************
1426 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1428 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1429 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1431 // *************************************************************************
1432 //!
\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
1433 // *************************************************************************
1434 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1436 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1437 and (GikoForm.ListView.SelCount > 0);
1439 // *************************************************************************
1440 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1441 // *************************************************************************
1442 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1444 Dlg: TListSelectDialog;
1445 FilterList : TStringList;
1448 Dlg := TListSelectDialog.Create(GikoForm);
1450 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1451 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1453 if Dlg.ModalResult = mrOK then begin
1454 SelectResAction.Checked := True;
1455 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1456 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1457 ResRangeAction.Execute;
1459 GikoSys.ResRange := Ord( grrSelect );
1461 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1462 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1464 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1465 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1467 GikoSys.Setting.SelectTextList.Delete(idx);
1468 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1469 while Dlg.SelectComboBox.Items.Count > 100 do begin
1470 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1474 if GikoForm.SelectComboBoxPanel.Visible then
1475 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1479 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1480 FilterList := TStringList.Create;
1482 GikoSys.FSelectResFilter.Reverse := True;
1483 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1484 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1486 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1490 GikoForm.RepaintAllTabsBrowser();
1493 //
\83L
\83\83\83\93\83Z
\83\8b
1494 if GikoSys.ResRange <> Ord( grrSelect ) then
1495 ResRangeAction.Execute;
1502 // *************************************************************************
1503 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1504 // *************************************************************************
1505 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1507 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1508 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1510 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1511 AllResAction.Checked := True;
1513 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1514 SetResRange(Ord( grrAll ));
1516 // *************************************************************************
1517 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1518 // *************************************************************************
1519 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1521 case GikoForm.ResRangeMenuSelect of
1522 Ord( grrAll ): AllResAction.Execute;
1523 Ord( grrKoko ): OnlyKokoResAction.Execute;
1524 Ord( grrNew ): OnlyNewResAction.Execute;
1525 100: OnlyAHundredResAction.Execute;
1529 // *************************************************************************
1530 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1531 // *************************************************************************
1532 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1534 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1536 // *************************************************************************
1537 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1538 // *************************************************************************
1539 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1545 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
1546 str := ZenToHan(str);
1547 res := StrToIntDef(str, -1);
1548 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1549 GikoForm.ActiveContent.Move(IntToStr(res));
1550 SetFocusForBrowserAction.Execute;
1551 end else if res > GikoForm.GetActiveContent.Count then begin
1552 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1553 SetFocusForBrowserAction.Execute;
1557 // *************************************************************************
1558 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1559 // *************************************************************************
1560 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1565 idx := GikoForm.BrowserTab.TabIndex;
1566 if idx = -1 then Exit;
1567 GikoForm.BrowserTab.Tabs.BeginUpdate;
1568 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1569 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1570 GikoForm.BrowserTab.Tabs.Delete(i);
1572 GikoForm.BrowserTab.Tabs.EndUpdate;
1574 // *************************************************************************
1575 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1576 // *************************************************************************
1577 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1579 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1581 // *************************************************************************
1582 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1583 // *************************************************************************
1584 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1589 idx := GikoForm.BrowserTab.TabIndex;
1590 if idx = -1 then Exit;
1591 GikoForm.BrowserTab.Tabs.BeginUpdate;
1592 if idx > 0 then begin
1593 for i := idx - 1 downto 0 do begin
1594 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1595 GikoForm.BrowserTab.Tabs.Delete(i);
1598 GikoForm.BrowserTab.Tabs.EndUpdate;
1600 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1601 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1603 // 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
1604 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1605 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1606 TDefaultFileManager.CopyDefaultFiles(
1607 GikoSys.GetAppDir + 'defaultFiles.ini');
1609 // *************************************************************************
1610 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1611 // *************************************************************************
1612 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1617 if GikoForm.SearchDialog = nil then begin
1618 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1619 chk := GikoForm.GetActiveList
1623 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1624 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1628 GikoForm.SearchDialog.Show;
1632 // *************************************************************************
1633 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1634 // *************************************************************************
1635 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1639 Dlg := TOptionDialog.Create(GikoForm);
1646 // *************************************************************************
1647 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1648 // *************************************************************************
1649 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1653 Dlg := TRoundDialog.Create(GikoForm);
1660 // *************************************************************************
1661 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1662 // *************************************************************************
1663 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1665 Dlg: TKeySettingForm;
1667 Dlg := TKeySettingForm.Create(GikoForm);
1669 if Dlg.ShowModal = mrOk then begin
1670 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1671 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1672 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1677 MouseGesture.UnHook;
1678 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1679 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1680 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1681 if GikoSys.Setting.GestureEnabled then begin
1682 GikoSys.Setting.Gestures.ClearGesture;
1683 GikoSys.Setting.Gestures.LoadGesture(
1684 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1685 MouseGesture.SetHook( GikoForm.Handle );
1689 // *************************************************************************
1690 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1691 // *************************************************************************
1692 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1694 Dlg: TKotehanDialog;
1696 Dlg := TKotehanDialog.Create(GikoForm);
1703 // *************************************************************************
1704 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1705 // *************************************************************************
1706 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1708 Dlg: TToolBarSettingDialog;
1711 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1713 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1714 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1715 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1716 case GikoForm.ToolBarSettingSender of
1717 tssMain: Dlg.ToolBarIndex := 0;
1718 tssList: Dlg.ToolBarIndex := 1;
1719 tssBrowser: Dlg.ToolBarIndex := 2;
1721 if Dlg.ShowModal = mrOK then begin
1722 GikoForm.SetToolBarPopup;
1724 //
\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é
1725 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1726 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1727 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1728 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1729 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1731 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1732 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1733 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1734 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1735 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1737 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1738 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1739 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1740 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1741 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1744 SaveToolBarSetting(GikoForm.StdToolBar);
1745 SaveToolBarSetting(GikoForm.ListToolBar);
1746 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1747 GikoForm.SetSelectComboBox;
1748 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1749 SaveToolBarSetting(GikoForm.BrowserToolBar);
1753 GikoForm.ToolBarSettingSender := tssNone;
1756 // *************************************************************************
1757 //!
\83~
\83\85\81[
\83g
1758 // *************************************************************************
1759 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1761 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1763 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1764 // *************************************************************************
1765 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1766 // *************************************************************************
1767 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1770 TmpTreeNode: TTreeNode;
1772 TmpTreeNode := GikoForm.ClickNode;
1773 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1776 if TObject(TmpTreeNode.Data) is TBoard then
1777 Board := TBoard(TmpTreeNode.Data)
1778 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1779 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1781 if Board <> nil then
1782 GikoForm.DownloadList(Board);
1784 // *************************************************************************
1785 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1786 // *************************************************************************
1787 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1789 ThreadItem: TThreadItem;
1790 TmpTreeNode: TTreeNode;
1792 TmpTreeNode := GikoForm.ClickNode;
1793 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1796 if TObject(TmpTreeNode.Data) is TThreadItem then
1797 ThreadItem := TThreadItem(TmpTreeNode.Data)
1798 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1799 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1801 if ThreadItem <> nil then
1802 GikoForm.DownloadContent(ThreadItem);
1804 // *************************************************************************
1805 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1806 // *************************************************************************
1807 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1809 TmpTreeNode: TTreeNode;
1812 TmpTreeNode := GikoForm.ClickNode;
1813 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1814 if TObject(TmpTreeNode.Data) is TBoard then begin
1815 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1816 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1817 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1818 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1819 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1820 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1821 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1823 Clipboard.AsText := s;
1825 // *************************************************************************
1826 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1827 // *************************************************************************
1828 procedure TGikoDM.TreeSelectNameURLCopyExecute(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).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1837 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1838 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1839 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1840 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1841 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1842 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1844 Clipboard.AsText := s;
1846 // *************************************************************************
1847 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1848 // *************************************************************************
1849 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1851 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1853 // *************************************************************************
1854 //!
\94Â
\96¼
\8c\9f\8dõ
1855 // *************************************************************************
1856 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1860 CurItem : TTreeNode;
1863 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1866 if GikoForm.TreeView.Selected = nil then
1867 CurItem := GikoForm.TreeView.Items.GetFirstNode
1869 CurItem := GikoForm.TreeView.Selected.GetNext;
1870 if CurItem = nil then
1871 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1873 while CurItem <> nil do begin
1874 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1877 CurItem := CurItem.GetNext;
1880 if CurItem = nil then begin
1881 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1882 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1883 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1887 GikoForm.TreeView.Select(CurItem);
1888 GikoForm.TreeView.SetFocus;
1890 GikoForm.TreeView.Select(CurItem);
1891 GikoForm.TreeView.SetFocus;
1892 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1893 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1906 // *************************************************************************
1907 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1908 // *************************************************************************
1909 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1913 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1914 s := GikoForm.ClickNode.Text;
1915 Clipboard.AsText := s;
1917 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1918 // *************************************************************************
1919 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1920 // *************************************************************************
1921 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1926 if GikoSys.Dolib.Connected then begin
1927 //
\83\8d\83O
\83A
\83E
\83g
1928 GikoSys.Dolib.Disconnect;
1929 LoginAction.Checked := False;
1930 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1931 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1933 TmpCursor := GikoForm.ScreenCursor;
1934 GikoForm.ScreenCursor := crHourGlass;
1936 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1937 if not GikoSys.Setting.ForcedLogin then begin
1938 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1939 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1940 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1941 if GikoSys.Setting.ReadProxy then begin
1942 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1943 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1945 GikoSys.Dolib.ProxyAddress := '';
1946 GikoSys.Dolib.ProxyPort := 0;
1948 if GikoSys.Dolib.Connect then begin
1949 LoginAction.Checked := True;
1950 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1951 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1952 //LoginToolButton.Style := tbsCheck;
1954 // 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);
1955 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1956 GikoForm.PlaySound('Error');
1957 LoginAction.Checked := False;
1958 //LoginToolButton.Down := False;
1959 ///LoginToolButton.Style := tbsButton;
1962 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
1963 + '
\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
1964 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1965 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1966 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1967 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1968 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1969 if GikoSys.Setting.ReadProxy then begin
1970 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1971 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1973 GikoSys.Dolib.ProxyAddress := '';
1974 GikoSys.Dolib.ProxyPort := 0;
1976 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1977 GikoSys.Dolib.ForcedConnect;
1978 if GikoSys.Dolib.Connect then begin
1979 LoginAction.Checked := True;
1980 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1981 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1982 //LoginToolButton.Style := tbsCheck;
1984 // 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);
1985 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1986 GikoForm.PlaySound('Error');
1987 LoginAction.Checked := False;
1988 //LoginToolButton.Down := False;
1989 //LoginToolButton.Style := tbsButton;
1992 LoginAction.Checked := False;
1993 //LoginToolButton.Down := False;
1994 //LoginToolButton.Style := tbsButton;
1998 GikoForm.ScreenCursor := TmpCursor;
2002 // *************************************************************************
2003 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2004 // *************************************************************************
2005 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
2007 Dlg: TNewBoardDialog;
2010 if (EditorFormExists) then begin
2011 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
2012 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
2015 Dlg := TNewBoardDialog.Create(GikoForm);
2022 // *************************************************************************
2023 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
2024 // *************************************************************************
2025 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
2027 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';
2028 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';
2029 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2031 ThreadItem: TThreadItem;
2032 TmpListItem: TListItem;
2036 List := TList.Create;
2038 TmpListItem := GikoForm.ListView.Selected;
2039 while TmpListItem <> nil do begin
2040 if TObject(TmpListItem.Data) is TThreadItem then begin
2041 ThreadItem := TThreadItem(TmpListItem.Data);
2042 if ThreadItem.IsLogFile then
2043 List.Add(ThreadItem);
2045 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2048 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2049 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2050 if List.Count = 1 then begin
2051 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
2054 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
2060 for i := 0 to List.Count - 1 do begin
2061 ThreadItem := TThreadItem(List[i]);
2062 GikoForm.DeleteHistory(ThreadItem);
2063 GikoForm.DeleteTab(ThreadItem);
2064 ThreadItem.DeleteLogFile;
2066 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2067 GikoForm.ListView.Refresh;
2072 // *************************************************************************
2073 //! 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Ê
2074 // *************************************************************************
2075 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2077 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2078 and (GikoForm.ListView.SelCount > 0);
2080 // *************************************************************************
2081 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2082 // *************************************************************************
2083 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2085 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';
2086 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2088 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2089 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2091 GikoSys.Setting.SelectTextList.Clear;
2092 GikoForm.SelectComboBox.Items.Clear;
2093 GikoForm.SelectComboBox.Text := '';
2094 GikoForm.SetListViewType( gvtAll );
2096 // *************************************************************************
2097 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2098 // *************************************************************************
2099 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2101 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';
2102 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2104 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2105 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2107 GikoSys.Setting.NameList.Clear;
2108 ClearNameTextAllEditor
2110 // *************************************************************************
2111 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2112 // *************************************************************************
2113 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2115 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';
2116 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2118 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2119 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2121 GikoSys.Setting.MailList.Clear;
2124 // *************************************************************************
2125 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2126 // *************************************************************************
2127 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2131 // *************************************************************************
2132 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2133 // *************************************************************************
2134 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2136 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2138 // *************************************************************************
2139 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2140 // *************************************************************************
2141 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2143 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2144 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2146 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2149 // *************************************************************************
2150 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2151 // *************************************************************************
2152 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2159 List := TList.Create;
2161 GikoForm.ScreenCursor := crHourGlass;
2162 GikoForm.SelectListItem(List);
2163 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2164 (GikoSys.Setting.ListHeightState = glsMax)) or
2165 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2166 (GikoSys.Setting.ListWidthState = glsMax)) then
2167 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2168 else if(List.Count = 0) then
2169 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2172 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2173 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2175 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2176 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2178 for i := 0 to List.Count - 1 do begin
2179 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2181 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2183 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2185 if SaveDialog.Execute then begin
2187 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2188 PChar(SaveDialog.FileName), true);
2190 html := TStringList.Create;
2191 title := TThreadItem(List[i]).Title;
2193 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2194 html.SaveToFile(SaveDialog.FileName);
2195 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2205 GikoForm.ScreenCursor := crDefault;
2209 // *************************************************************************
2210 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2211 // *************************************************************************
2212 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2214 SelectThreadSaveToFile(false);
2216 // *************************************************************************
2217 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2218 // *************************************************************************
2219 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2221 SelectThreadSaveToFile(true);
2223 // *************************************************************************
2224 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2225 // *************************************************************************
2226 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2228 Filename = 'tab.sav';
2229 bFilename = '~tab.sav';
2231 SaveStringList: TStringList;
2233 SaveStringList := TStringList.Create;
2235 GetTabURLs(SaveStringList);
2237 if FileExists( GikoSys.GetAppDir + Filename) then begin
2238 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2239 PChar(GikoSys.GetAppDir + bFilename), False);
2243 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2245 SaveStringList.Free;
2248 // *************************************************************************
2249 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2250 // *************************************************************************
2251 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2253 rec : TBrowserRecord;
2256 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2258 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2259 if( rec <> nil) and (rec.Thread <> nil) then
2260 AStringList.Add( rec.Thread.URL );
2265 // *************************************************************************
2266 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2267 // *************************************************************************
2268 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2270 GikoTab : TGikoTabAppend;
2274 if (AStringList <> nil) then begin
2275 GikoTab := GikoSys.Setting.BrowserTabAppend;
2277 bound := AStringList.Count - 1;
2278 if bound > -1 then begin
2279 GikoSys.Setting.BrowserTabAppend := gtaLast;
2280 for i := 0 to bound do begin
2281 item := BBSsFindThreadFromURL( AStringList[ i ] );
2283 GikoForm.InsertBrowserTab( item, false );
2285 //
\8dÅ
\8f\89\82Ì
\82P
\96\87\82É
\90Ý
\92è
2286 if (GikoSys.Setting.URLDisplay) and
2287 (GikoForm.BrowserTab.Tabs.Count > 0) then begin
2288 GikoForm.AddressComboBox.Text :=
2289 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[0]).Thread.URL;
2293 GikoSys.Setting.BrowserTabAppend := GikoTab;
2297 // *************************************************************************
2298 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2299 // *************************************************************************
2300 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2302 TABFILE = 'tab.sav';
2307 URLs := TStringList.Create();
2309 fileName := GikoSys.GetAppDir + TABFILE;
2310 if FileExists(fileName) then begin
2312 URLs.LoadFromFile(fileName);
2313 if (URLs.Count = 0) then begin
2314 //
\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
2315 SysUtils.DeleteFile(fileName);
2320 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2327 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2328 (TabsOpenAction.Tag <> 1) then begin
2329 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2332 // *************************************************************************
2333 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2334 // *************************************************************************
2335 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2337 GikoSys.Setting.BeLogin := not GikoSys.Setting.BeLogin;
2339 // *************************************************************************
2340 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
2341 // *************************************************************************
2342 procedure TGikoDM.BeLogInOutActionUpdate(Sender: TObject);
2344 if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
2345 if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
2346 else BeLogInOutAction.Checked := false;
2347 BeLogInOutAction.Enabled := true
2349 BeLogInOutAction.Enabled := false;
2351 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2352 // *************************************************************************
2353 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2354 // *************************************************************************
2355 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2358 ThreadItem: TThreadItem;
2360 No := GikoForm.KokoPopupMenu.Tag;
2363 ThreadItem := GikoForm.GetActiveContent(True);
2364 if not Assigned(ThreadItem) then
2366 ThreadItem.Kokomade := No;
2367 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2368 GikoForm.ActiveContent.Repaint := true;
2369 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2370 //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é
2371 //Application.ProcessMessages;
2373 // *************************************************************************
2374 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2375 // *************************************************************************
2376 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2378 ThreadItem: TThreadItem;
2380 ThreadItem := GikoForm.GetActiveContent(True);
2381 if ThreadItem = nil then Exit;
2382 ThreadItem.Kokomade := -1;
2383 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2384 GikoForm.ActiveContent.Repaint := true;
2385 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2386 //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é
2387 //Application.ProcessMessages;
2389 // *************************************************************************
2390 //!
\83R
\83R
\82É
\83\8c\83X
2391 // *************************************************************************
2392 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2394 Editor: TEditorForm;
2398 Number := GikoForm.KokoPopupMenu.Tag;
2399 if Number = 0 then Exit;
2400 Item := GikoForm.GetActiveContent(True);
2401 if Item = nil then Exit;
2403 Editor := TEditorForm.Create(GikoForm);
2404 Editor.SetThreadItem(Item);
2405 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2407 Editor.BodyEdit.SetFocus;
2409 // *************************************************************************
2410 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2411 // *************************************************************************
2412 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2414 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2416 // *************************************************************************
2417 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2418 // *************************************************************************
2419 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2423 ThreadItem : TThreadItem;
2427 No := GikoForm.KokoPopupMenu.Tag;
2428 if No = 0 then Exit;
2429 ThreadItem := GikoForm.GetActiveContent(True);
2430 if ThreadItem = nil then Exit;
2432 AID := GikoSys.GetResID(No, ThreadItem);
2433 if not IsNoValidID(AID) then begin
2434 GikoForm.ShowSameIDAncher(AID);
2437 // *************************************************************************
2438 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2439 // *************************************************************************
2440 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2442 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2444 // *************************************************************************
2445 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2446 // *************************************************************************
2447 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2449 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2451 // *************************************************************************
2452 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2453 // *************************************************************************
2454 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2456 IndividualForm :TIndividualAbonForm;
2457 ThreadItem : TThreadItem;
2459 ReadList : TStringList;
2460 wordCount : TWordCount;
2462 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2464 ThreadItem := GikoForm.GetActiveContent(True);
2465 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2466 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2467 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2468 ReadList := TStringList.Create;
2469 wordCount := TWordCount.Create;
2471 {$IFDEF SPAM_FILTER_ENABLED}
2472 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2473 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2474 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2475 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2476 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2478 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2479 GikoForm.ActiveContent.Repaint := true;
2480 GikoForm.InsertBrowserTab( ThreadItem, True );
2487 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2488 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2492 IndividualForm.Release;
2495 // *************************************************************************
2496 //!
\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
2497 // *************************************************************************
2498 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2500 IndividualForm :TIndividualAbonForm;
2501 ThreadItem : TThreadItem;
2503 ReadList : TStringList;
2504 wordCount : TWordCount;
2505 {$IFDEF SPAM_FILTER_ENABLED}
2509 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2511 ThreadItem := GikoForm.GetActiveContent(True);
2512 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2513 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2514 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2515 if (IndividualForm.ShowModal = mrOK) then begin
2516 ReadList := TStringList.Create;
2517 wordCount := TWordCount.Create;
2519 {$IFDEF SPAM_FILTER_ENABLED}
2520 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2521 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2522 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2523 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2524 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2525 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2528 if IndividualForm.FRepaint then begin
2529 GikoForm.ActiveContent.Repaint := true;
2530 GikoForm.InsertBrowserTab( ThreadItem, True );
2538 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2539 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2543 IndividualForm.Release;
2546 // *************************************************************************
2547 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2548 // *************************************************************************
2549 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2551 GikoForm.IndividualAbonID(1);
2553 // *************************************************************************
2554 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2555 // *************************************************************************
2556 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2558 GikoForm.IndividualAbonID(0);
2560 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2561 // *************************************************************************
2562 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2563 // *************************************************************************
2564 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2566 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2568 // *************************************************************************
2569 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2570 // *************************************************************************
2571 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2573 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2575 // *************************************************************************
2576 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2577 // *************************************************************************
2578 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2580 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2582 // *************************************************************************
2583 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2584 // *************************************************************************
2585 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2587 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2589 // *************************************************************************
2590 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2591 // *************************************************************************
2592 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2596 Dlg := TAboutDialog.Create(GikoForm);
2603 // *************************************************************************
2604 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2605 // *************************************************************************
2606 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2610 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2611 if not FileExists(FileName) then begin
2614 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2615 '
\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 +
2616 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2621 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2623 // *************************************************************************
2624 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2625 // *************************************************************************
2626 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2628 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2630 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2631 // *************************************************************************
2632 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2633 // *************************************************************************
2634 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2636 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2637 GikoForm.ListView.Refresh;
2639 // *************************************************************************
2640 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2641 // *************************************************************************
2642 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2644 if GikoForm.GetActiveList is TBoard then begin
2645 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2646 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2647 end else if GikoForm.GetActiveList is TCategory then begin
2648 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2651 // *************************************************************************
2652 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2653 // *************************************************************************
2654 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2656 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS) and
2657 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
2659 // *************************************************************************
2660 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2661 // *************************************************************************
2662 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2664 case GikoForm.ListView.ViewStyle of
2665 vsIcon: SmallIconAction.Execute;
2666 vsSmallIcon: ListIconAction.Execute;
2667 vsList: DetailIconAction.Execute;
2668 vsReport: LargeIconAction.Execute;
2671 // *************************************************************************
2672 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2673 // *************************************************************************
2674 procedure TGikoDM.ClearSelectComboBox;
2676 if GikoForm.SelectComboBoxPanel.Visible then begin
2677 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2678 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2679 GikoForm.ListView.SetFocus;
2682 // *************************************************************************
2683 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2684 // *************************************************************************
2685 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2688 if GikoForm.ViewType <> gvtAll then
2689 GikoForm.SetListViewType(gvtAll);
2690 GikoSys.Setting.ThreadRange := gtrAll;
2691 AllItemAction.Checked := True;
2692 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2693 GikoForm.ModifySelectList;
2694 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2695 ClearSelectComboBox;
2699 // *************************************************************************
2700 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2701 // *************************************************************************
2702 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2705 if GikoForm.ViewType <> gvtLog then
2706 GikoForm.SetListViewType(gvtLog);
2707 GikoSys.Setting.ThreadRange := gtrLog;
2708 LogItemAction.Checked := True;
2709 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2710 GikoForm.ModifySelectList;
2711 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2712 ClearSelectComboBox;
2716 // *************************************************************************
2717 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2718 // *************************************************************************
2719 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2723 if GikoForm.ViewType <> gvtNew then
2724 GikoForm.SetListViewType(gvtNew);
2725 GikoSys.Setting.ThreadRange := gtrNew;
2726 NewItemAction.Checked := True;
2727 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2728 GikoForm.ModifySelectList;
2729 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2730 ClearSelectComboBox;
2734 // *************************************************************************
2735 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2736 // *************************************************************************
2737 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2740 if GikoForm.ViewType <> gvtArch then
2741 GikoForm.SetListViewType(gvtArch);
2742 GikoSys.Setting.ThreadRange := gtrArch;
2743 ArchiveItemAction.Checked := True;
2744 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2745 GikoForm.ModifySelectList;
2746 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2747 ClearSelectComboBox;
2751 // *************************************************************************
2752 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2753 // *************************************************************************
2754 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2757 if GikoForm.ViewType <> gvtLive then
2758 GikoForm.SetListViewType(gvtLive);
2759 GikoSys.Setting.ThreadRange := gtrLive;
2760 LiveItemAction.Checked := True;
2761 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2762 GikoForm.ModifySelectList;
2763 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2764 ClearSelectComboBox;
2769 // *************************************************************************
2770 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2771 // *************************************************************************
2772 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2774 case GikoSys.Setting.ThreadRange of
2775 gtrAll: AllItemAction.Execute;
2776 gtrLog: LogItemAction.Execute;
2777 gtrNew: NewItemAction.Execute;
2778 gtrArch: ArchiveItemAction.Execute;
2779 gtrLive: LiveItemAction.Execute;
2782 // *************************************************************************
2783 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2784 // *************************************************************************
2785 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2788 Dlg: TListSelectDialog;
2791 if GikoForm.SelectComboBoxPanel.Visible then begin
2792 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2793 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2794 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2795 if GikoSys.Setting.ListWidthState = glsMax then
2796 BrowserMinAction.Execute;
2798 if GikoSys.Setting.ListHeightState = glsMax then
2799 BrowserMinAction.Execute;
2801 GikoForm.SelectComboBox.SetFocus;
2808 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2809 GikoForm.SelectComboBox.Text := '';
2810 GikoForm.SelectComboBox.Color := clWindow;
2813 AllItemAction.Checked := False;
2814 LogItemAction.Checked := False;
2815 NewItemAction.Checked := False;
2816 //SelectItemAction.Checked := True;
2817 GikoForm.ModifySelectList;
2818 Dlg := TListSelectDialog.Create(GikoForm);
2820 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2821 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2823 if Dlg.ModalResult = mrCancel then begin
2824 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2825 AllItemAction.Checked := True;
2826 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2827 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2830 if GikoForm.GetActiveList is TBoard then
2831 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2833 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2835 GikoSys.Setting.SelectTextList.Delete(idx);
2836 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2837 while Dlg.SelectComboBox.Items.Count > 100 do begin
2838 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2841 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2842 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2843 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2845 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2846 GikoForm.SelectComboBox.Color := clWindow;
2848 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2854 // *************************************************************************
2855 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2856 // *************************************************************************
2857 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2859 Editor: TEditorForm;
2861 if not (GikoForm.GetActiveList is TBoard) then
2863 Editor := TEditorForm.Create(GikoForm);
2864 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2866 Editor.BodyEdit.SetFocus;
2868 // *************************************************************************
2869 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2870 // *************************************************************************
2871 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2875 if GikoForm.GetActiveList is TBoard then begin
2876 URL := TBoard(GikoForm.GetActiveList).URL;
2877 GikoSys.OpenBrowser(URL, gbtAuto);
2880 // *************************************************************************
2881 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2882 // *************************************************************************
2883 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2890 List := TList.Create;
2892 GikoForm.SelectListItem(List);
2893 for i := 0 to List.Count - 1 do begin
2894 if TObject(List[i]) is TBoard then
2895 s := s + TBoard(List[i]).URL + #13#10
2896 else if TObject(List[i]) is TThreadItem then
2897 s := s + TThreadItem(List[i]).URL + #13#10;
2900 Clipboard.AsText := s;
2905 // *************************************************************************
2906 //!
\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
2907 // *************************************************************************
2908 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2910 if ((GikoForm.GetActiveList is TBoard) or
2911 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2912 TAction(Sender).Enabled := True
2914 TAction(Sender).Enabled := False;
2916 // *************************************************************************
2917 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2918 // *************************************************************************
2919 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2926 List := TList.Create;
2928 GikoForm.SelectListItem(List);
2929 for i := 0 to List.Count - 1 do begin
2930 if TObject(List[i]) is TCategory then
2931 s := s + TCategory(List[i]).Title + #13#10
2932 else if TObject(List[i]) is TBoard then
2933 s := s + TBoard(List[i]).Title + #13#10
2934 else if TObject(List[i]) is TThreadItem then
2935 s := s + TThreadItem(List[i]).Title + #13#10;
2938 Clipboard.AsText := s;
2943 // *************************************************************************
2944 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2945 // *************************************************************************
2946 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2948 if ((GikoForm.GetActiveList is TBBS) or
2949 (GikoForm.GetActiveList is TBoard) or
2950 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2951 TAction(Sender).Enabled := True
2953 TAction(Sender).Enabled := False;
2955 // *************************************************************************
2956 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2957 // *************************************************************************
2958 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2965 List := TList.Create;
2967 GikoForm.SelectListItem(List);
2968 for i := 0 to List.Count - 1 do begin
2969 if TObject(List[i]) is TBoard then
2970 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2971 else if TObject(List[i]) is TThreadItem then
2972 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
2975 Clipboard.AsText := s;
2980 // *************************************************************************
2981 //!
\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é
2982 // *************************************************************************
2983 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
2990 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2991 GikoForm.ActiveListColumnSave;
2992 if GikoForm.GetActiveList is TCategory then begin
2993 List := TList.Create;
2995 GikoForm.SelectListItem(List);
2996 if List.Count > 5 then begin
2997 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
2998 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
2999 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3002 for i := 0 to List.Count - 1 do begin
3003 if TObject(List[i]) is TBoard then
3004 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
3009 end else if GikoForm.GetActiveList is TBoard then begin
3010 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
3013 // *************************************************************************
3014 //!
\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
3015 // *************************************************************************
3016 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
3018 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3019 TAction(Sender).Enabled := True
3020 else if GikoForm.GetActiveList is TBoard then begin
3021 TAction(Sender).Enabled :=
3022 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
3024 TAction(Sender).Enabled := False;
3026 // *************************************************************************
3027 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3028 // *************************************************************************
3029 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3036 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3037 List := TList.Create;
3039 GikoForm.SelectListItem(List);
3040 if List.Count > 10 then begin
3041 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3042 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3043 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3046 for i := 0 to List.Count - 1 do begin
3047 if TObject(List[i]) is TThreadItem then
3048 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3054 // *************************************************************************
3055 //!
\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
3056 // *************************************************************************
3057 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3059 TAction(Sender).Enabled :=
3060 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3062 // *************************************************************************
3063 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3064 // *************************************************************************
3065 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3067 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3068 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3070 // *************************************************************************
3071 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3072 // *************************************************************************
3073 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3078 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3079 List := TList.Create;
3081 GikoForm.SelectListItem(List);
3082 for i := 0 to List.Count - 1 do begin
3083 if TObject(List[i]) is TThreadItem then begin
3084 if TThreadItem(List[i]).IsLogFile then begin
3085 SelectReservAction.Enabled := True;
3090 SelectReservAction.Enabled := False;
3094 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3095 SelectReservAction.Enabled := True
3097 SelectReservAction.Enabled := False;
3099 // *************************************************************************
3100 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3101 // *************************************************************************
3102 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3105 Dlg: TRoundNameDialog;
3109 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3110 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3113 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3114 cnt := RoundList.Count[grtBoard];
3115 cnt := cnt + RoundList.Count[grtItem];
3116 if cnt > 500 then begin
3117 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3121 Dlg := TRoundNameDialog.Create(GikoForm);
3124 if Dlg.ModalResult <> mrCancel then begin
3125 s := Trim(Dlg.RoundNameEdit.Text);
3126 if (Sender is TMenuItem) then begin
3127 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3128 end else if (Sender is TAction) then begin
3129 if (GikoForm.ListView.Selected <> nil) then begin
3130 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3131 GikoForm.SetSelectItemRound(True, s,
3132 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3133 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3134 GikoForm.SetSelectItemRound(True, s,
3135 TBoard(GikoForm.ListView.Selected.Data).Title);
3139 GikoForm.ListView.Refresh;
3145 // *************************************************************************
3146 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3147 // *************************************************************************
3148 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3152 if (Sender is TMenuItem) then begin
3154 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3157 end else if (Sender is TAction) then begin
3159 if GikoForm.ListView.Selected <> nil then begin
3160 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3161 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3162 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3163 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3165 GikoForm.SetSelectItemRound(False, '', s);
3171 GikoForm.ListView.Refresh;
3173 // *************************************************************************
3174 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3175 // *************************************************************************
3176 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3178 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3179 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3181 // *************************************************************************
3182 //!
\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
3183 // *************************************************************************
3184 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3186 BoardFavoriteAddAction.Enabled :=
3187 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3189 // *************************************************************************
3190 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3191 // *************************************************************************
3192 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3196 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3197 (GikoSys.Setting.ListHeightState = glsMax)) or
3198 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3199 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3200 if(GikoForm.GetActiveContent <> nil) then begin
3201 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3203 end else if GikoForm.GetActiveList is TCategory then begin
3204 List := TList.Create;
3206 GikoForm.SelectListItem(List);
3207 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3211 end else if GikoForm.GetActiveList is TBoard then begin
3212 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3216 // *************************************************************************
3217 //! 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Ê
3218 // *************************************************************************
3219 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3221 if (((GikoForm.GetActiveList is TBoard) and
3222 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard))
3223 or (GikoForm.GetActiveList is TCategory))
3224 and (GikoForm.ListView.SelCount > 0) then
3225 TAction(Sender).Enabled := True
3227 TAction(Sender).Enabled := False;
3229 // *************************************************************************
3230 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3231 // *************************************************************************
3232 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3234 RefURL, URL : string;
3238 if GikoForm.GetActiveList is TCategory then begin
3239 List := TList.Create;
3241 GikoForm.SelectListItem(List);
3242 RefURL := TBoard(List[0]).URL;
3246 end else if GikoForm.GetActiveList is TBoard then begin
3247 RefURL := TBoard(GikoForm.GetActiveList).URL
3249 if RefURL <> '' then begin
3250 if RefURL[Length(RefURL)] <> '/' then
3251 URL := RefURL + '/' + 'head.txt'
3253 URL := RefURL + 'head.txt';
3255 GikoForm.MoveToURL(URL);
3257 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3261 // *************************************************************************
3262 //!
\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é
3263 // *************************************************************************
3264 function TGikoDM.GetSortProperties(List: TObject;
3265 var vSortOrder: Boolean): Boolean;
3268 if (List <> nil) then begin
3269 if (List is TBBS) then begin
3270 vSortOrder := GikoSys.Setting.BBSSortOrder;
3271 end else if (List is TCategory) then begin
3272 vSortOrder := GikoSys.Setting.CategorySortOrder;
3273 end else if (List is TBoard) then begin
3274 vSortOrder := GikoSys.Setting.BoardSortOrder;
3282 // *************************************************************************
3283 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3284 // *************************************************************************
3285 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3290 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3291 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3292 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3293 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3295 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3296 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3303 // *************************************************************************
3304 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3305 // *************************************************************************
3306 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3310 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3311 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3312 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3314 if id > GikoForm.ListView.Columns.Count - 1 then
3316 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3317 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3323 // *************************************************************************
3324 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3325 // *************************************************************************
3326 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3330 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3331 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3332 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3335 id := GikoForm.ListView.Columns.Count - 1;
3336 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3337 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3343 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3344 // *************************************************************************
3345 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3346 // *************************************************************************
3347 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3349 CoolBand: TCoolBand;
3351 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3352 if CoolBand = nil then
3354 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3355 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3356 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3358 // *************************************************************************
3359 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3360 // *************************************************************************
3361 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3363 CoolBand: TCoolBand;
3365 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3366 if CoolBand = nil then
3368 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3369 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3370 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3372 // *************************************************************************
3373 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3374 // *************************************************************************
3375 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3377 CoolBand: TCoolBand;
3379 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3380 if CoolBand = nil then
3382 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3383 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3384 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3386 // *************************************************************************
3387 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3388 // *************************************************************************
3389 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3391 CoolBand: TCoolBand;
3393 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3394 if CoolBand = nil then
3396 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3397 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3399 // *************************************************************************
3400 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3401 // *************************************************************************
3402 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3404 CoolBand: TCoolBand;
3406 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3407 if CoolBand = nil then
3409 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3410 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3412 // *************************************************************************
3413 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3414 // *************************************************************************
3415 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3417 CoolBand: TCoolBand;
3419 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3420 if CoolBand = nil then
3422 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3423 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3425 // *************************************************************************
3426 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3427 // *************************************************************************
3428 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3430 CoolBand: TCoolBand;
3432 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3433 if CoolBand = nil then
3435 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3436 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3438 // *************************************************************************
3439 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3440 // *************************************************************************
3441 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3443 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3444 GikoForm.MessagePanel.Top :=
3445 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3446 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3447 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3448 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3450 // *************************************************************************
3451 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3452 // *************************************************************************
3453 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3455 MsgBarVisibleAction.Execute;
3457 // *************************************************************************
3458 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3459 // *************************************************************************
3460 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3462 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3463 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3465 // *************************************************************************
3466 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3467 // *************************************************************************
3468 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3471 if GikoForm.CabinetPanel.Visible then begin
3472 if GikoForm.TreeType = gtt2ch then begin
3473 GikoForm.CabinetVisible( False );
3475 CabinetBBSAction.Checked := False;
3477 CabinetBBSAction.Checked := True;
3480 GikoForm.CabinetVisible( True );
3481 CabinetBBSAction.Checked := True;
3484 if GikoForm.ActiveBBS = nil then
3485 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3487 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3490 // *************************************************************************
3491 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3492 // *************************************************************************
3493 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3495 GikoForm.ShowHistoryTree;
3497 // *************************************************************************
3498 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3499 // *************************************************************************
3500 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3506 if GikoForm.CabinetPanel.Visible then begin
3507 if GikoForm.TreeType = gttFavorite then begin
3508 GikoForm.CabinetVisible( False );
3509 CabinetFavoriteAction.Checked := False;
3511 CabinetFavoriteAction.Checked := True;
3514 GikoForm.CabinetVisible( True );
3515 CabinetFavoriteAction.Checked := True;
3518 // BBS...BBS, History, Favorite
3519 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3521 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3522 for i := 0 to b do begin
3523 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3524 if item is TBBSMenuItem then begin
3525 item.Checked := False;
3526 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3527 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3531 //
\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Ö
3532 GikoForm.HistoryToolBar.Hide;
3533 GikoForm.FavoriteToolBar.Show;
3534 GikoForm.TreeView.Visible := False;
3535 GikoForm.FavoriteTreeView.Visible := True;
3537 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3538 GikoForm.TreeType := gttFavorite;
3540 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3541 CabinetBBSAction.Checked := False;
3542 CabinetHistoryAction.Checked := False;
3544 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3545 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3548 // *************************************************************************
3549 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3550 // *************************************************************************
3551 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3553 case GikoForm.TreeType of
3554 gttHistory: CabinetHistoryAction.Execute;
3555 gttFavorite: CabinetFavoriteAction.Execute;
3557 CabinetBBSAction.Execute;
3560 // *************************************************************************
3561 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3562 // *************************************************************************
3563 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3565 //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ã
3567 // *************************************************************************
3568 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3569 // *************************************************************************
3570 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3572 GikoForm.ListView.ViewStyle := vsIcon;
3573 LargeIconAction.Checked := True;
3575 // *************************************************************************
3576 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3577 // *************************************************************************
3578 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3580 GikoForm.ListView.ViewStyle := vsSmallIcon;
3581 SmallIconAction.Checked := True;
3583 // *************************************************************************
3584 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3585 // *************************************************************************
3586 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3588 GikoForm.ListView.ViewStyle := vsList;
3589 ListIconAction.Checked := True;
3591 // *************************************************************************
3592 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3593 // *************************************************************************
3594 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3596 GikoForm.ListView.ViewStyle := vsReport;
3597 DetailIconAction.Checked := True;
3599 // *************************************************************************
3600 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3601 // *************************************************************************
3602 procedure TGikoDM.StopActionExecute(Sender: TObject);
3604 GikoForm.FControlThread.DownloadAbort;
3605 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3607 GikoForm.Animate.Active := False;
3610 GikoForm.ScreenCursor := crDefault;
3612 // *************************************************************************
3613 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3614 // *************************************************************************
3615 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3617 if ArrangeAction.Checked then begin
3619 GikoForm.ViewPanel.Align := alNone;
3620 GikoForm.ListSplitter.Align := alNone;
3621 GikoForm.ThreadPanel.Align := alNone;
3623 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3624 GikoForm.ViewPanel.Align := alLeft;
3626 GikoForm.ListSplitter.Width := 5;
3627 GikoForm.ListSplitter.Align := alLeft;
3629 GikoForm.ViewPanel.Left := -10;
3631 GikoForm.ThreadPanel.Align := alClient;
3633 GikoSys.Setting.ListOrientation := gloHorizontal;
3634 case GikoSys.Setting.ListWidthState of
3636 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3637 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3638 GikoForm.ViewPanel.Width := 1;
3641 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3642 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3645 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3646 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3647 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3652 GikoForm.ViewPanel.Align := alNone;
3653 GikoForm.ListSplitter.Align := alNone;
3654 GikoForm.ThreadPanel.Align := alNone;
3656 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3657 GikoForm.ViewPanel.Align := alTop;
3659 GikoForm.ListSplitter.Height := 5;
3660 GikoForm.ListSplitter.Align := alTop;
3662 GikoForm.ViewPanel.Top := -10;
3664 GikoForm.ThreadPanel.Align := alClient;
3665 GikoSys.Setting.ListOrientation := gloVertical;
3666 case GikoSys.Setting.ListHeightState of
3668 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3669 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3670 GikoForm.ViewPanel.Height := 1;
3673 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3674 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3677 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3678 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3679 GikoForm.ViewPanel.Height :=
3680 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3685 // *************************************************************************
3686 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3687 // *************************************************************************
3688 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3690 GikoForm.CabinetPanel.Width := 150;
3691 GikoForm.MessagePanel.Height := 40;
3693 GikoForm.BrowserSizeWidth := 200;
3694 GikoForm.BrowserSizeHeight := 200;
3695 if ArrangeAction.Checked then begin
3696 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3698 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3700 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3701 if GikoSys.Setting.ListHeightState = glsMax then begin
3702 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3703 GikoSys.Setting.ListHeightState := glsNormal;
3706 if GikoSys.Setting.ListWidthState = glsMax then begin
3707 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3708 GikoSys.Setting.ListWidthState := glsNormal;
3712 // *************************************************************************
3713 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3714 // *************************************************************************
3715 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3717 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3718 GikoForm.SetBrowserTabState;
3720 // *************************************************************************
3721 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3722 // *************************************************************************
3723 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3725 BrowserTabBottomAction.Checked := False;
3726 BrowserTabTopAction.Checked := True;
3727 GikoSys.Setting.BrowserTabPosition := gtpTop;
3728 GikoForm.SetBrowserTabState;
3730 // *************************************************************************
3731 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3732 // *************************************************************************
3733 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3735 BrowserTabTopAction.Checked := False;
3736 BrowserTabBottomAction.Checked := True;
3737 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3738 GikoForm.SetBrowserTabState;
3740 // *************************************************************************
3741 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3742 // *************************************************************************
3743 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3745 BrowserTabButtonStyleAction.Checked := False;
3746 BrowserTabFlatStyleAction.Checked := False;
3747 BrowserTabTabStyleAction.Checked := True;
3748 GikoSys.Setting.BrowserTabStyle := gtsTab;
3749 GikoForm.SetBrowserTabState;
3751 // *************************************************************************
3752 //!
\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é
3753 // *************************************************************************
3754 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3756 BrowserTabTabStyleAction.Checked := False;
3757 BrowserTabFlatStyleAction.Checked := False;
3758 BrowserTabButtonStyleAction.Checked := True;
3759 GikoSys.Setting.BrowserTabStyle := gtsButton;
3760 GikoForm.SetBrowserTabState;
3762 // *************************************************************************
3763 //!
\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é
3764 // *************************************************************************
3765 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3767 BrowserTabFlatStyleAction.Checked := True;
3768 BrowserTabTabStyleAction.Checked := False;
3769 BrowserTabButtonStyleAction.Checked := False;
3770 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3771 GikoForm.SetBrowserTabState;
3773 // *************************************************************************
3774 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3775 // *************************************************************************
3776 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3778 GikoForm.ActiveContent.Browser.SetFocus;
3780 // *************************************************************************
3781 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3782 // *************************************************************************
3783 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3785 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3786 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3787 TAction(Sender).Enabled := true
3789 TAction(Sender).Enabled := false;
3791 // *************************************************************************
3792 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3793 // *************************************************************************
3794 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3796 if GikoForm.ActiveContent <> nil then
3797 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3798 GikoForm.ListView.SetFocus;
3800 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3801 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é
3803 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3804 if (GikoForm.ListView.ItemFocused <> nil) then begin
3805 GikoForm.ListView.ItemFocused.MakeVisible(False);
3808 // *************************************************************************
3809 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3810 // *************************************************************************
3811 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3813 if GikoForm.ActiveContent <> nil then
3814 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3815 if GikoForm.TreeView.Visible then begin
3816 GikoForm.TreeView.SetFocus;
3817 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3818 GikoForm.TreeView.Items.Item[0].Selected := true;
3819 end else if GikoForm.FavoriteTreeView.Visible then begin
3820 GikoForm.FavoriteTreeView.SetFocus;
3821 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3822 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3825 // *************************************************************************
3826 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3827 // *************************************************************************
3828 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3830 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3832 // *************************************************************************
3833 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3834 // *************************************************************************
3835 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3837 BrowserMinAction.Execute;
3838 SetFocusForThreadListAction.Execute;
3840 // *************************************************************************
3841 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3842 // *************************************************************************
3843 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3845 BrowserMaxAction.Execute;
3846 SetFocusForBrowserAction.Execute;
3848 // *************************************************************************
3849 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3850 // *************************************************************************
3851 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3853 if GikoForm.ListView.Selected <> nil then begin
3854 GikoForm.ListView.Selected.Focused := True;
3855 GikoForm.ListView.Selected := nil;
3858 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3859 // *************************************************************************
3860 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3861 // *************************************************************************
3862 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3864 SetThreadReadProperty(true);
3866 // *************************************************************************
3867 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3868 // *************************************************************************
3869 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3871 SetThreadReadProperty(false);
3873 // *************************************************************************
3874 //!
\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Ç
3875 // *************************************************************************
3876 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3881 List := TList.Create;
3883 GikoForm.SelectListItem(List);
3884 for i := 0 to List.Count - 1 do begin
3885 if TObject(List[i]) is TThreadItem then begin
3886 if (TThreadItem(List[i]).IsLogFile) then begin
3887 TThreadItem(List[i]).UnRead := not read;
3891 if GikoForm.TreeView.Visible then
3892 GikoForm.TreeView.Refresh;
3893 if GikoForm.ListView.Visible then
3894 GikoForm.ListView.Refresh;
3899 // *************************************************************************
3900 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3901 // *************************************************************************
3902 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3904 GikoForm.ListViewAllSelect;
3906 // *************************************************************************
3907 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3908 // *************************************************************************
3909 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3911 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3913 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3914 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3915 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3917 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 +
3918 '
\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' +
3919 '
\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';
3920 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3923 limitSize : Integer;
3926 {
\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Í
3927 \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
3928 \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õ
3929 è
\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
3930 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3932 if MsgBox(GikoForm.Handle, RECALC_MES,
3933 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3934 //è
\87\92l
\82Ì
\8am
\94F
3935 limitSize := LIMIT_SIZE;
3936 limitStr := IntToStr(limitSize);
3937 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
3938 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3939 if (limitSize < 0) then begin
3940 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3941 ThreadSizeCalcForFileActionExecute(nil);
3943 RecalcThreadSize(limitSize);
3948 //! 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
3949 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3951 i, j, tmpSize : Integer;
3954 Thread: TThreadItem;
3957 //
\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
3958 GikoForm.ScreenCursor := crHourGlass;
3960 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3961 for i := 0 to BoardGroups[0].Count - 1 do begin
3962 Obj := BoardGroups[0].Objects[i];
3963 if (Obj <> nil) then begin
3964 Board := TBoard(Obj);
3965 if not Board.IsThreadDatRead then begin
3966 GikoSys.ReadSubjectFile(Board);
3968 for j := 0 to Board.Count - 1 do begin
3969 Thread := Board.Items[j];
3970 if (Thread <> nil) and (Thread.IsLogFile)
3971 and (Thread.Size <= limit) then begin
3972 dat := TStringList.Create;
3974 tmpSize := Thread.Size;
3976 dat.LoadFromFile(Thread.GetThreadFileName);
3977 tmpSize := Length(dat.Text);
3978 tmpSize := tmpSize - dat.Count;
3981 Thread.Size := tmpSize;
3988 GikoForm.ProgressBar.StepBy(1);
3991 GikoForm.ScreenCursor := crDefault;
3993 GikoForm.ProgressBar.Position := 0;
3994 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
3996 // *************************************************************************
3997 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
3998 // *************************************************************************
3999 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
4001 form : TInputAssistForm;
4003 form := TInputAssistForm.Create(GikoForm);
4011 // *************************************************************************
4012 //!
\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é
4013 // *************************************************************************
4014 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
4016 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
4017 GikoForm.ActiveContent.OpenFindDialog;
4021 // *************************************************************************
4022 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
4023 // *************************************************************************
4024 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
4027 if GikoForm.ClickNode = nil then Exit;
4030 GikoForm.ClickNode.Text + #13#10;
4033 // *************************************************************************
4034 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4035 // *************************************************************************
4036 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4040 if ( EditorFormExists ) then begin
4041 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4042 for i := Screen.CustomFormCount - 1 downto 0 do begin
4043 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4044 TEditorForm(Screen.CustomForms[i]).Close;
4049 // *************************************************************************
4050 //!
\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é
4051 // *************************************************************************
4052 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4054 if (Sender is TAction) then begin
4055 TAction(Sender).Enabled := EditorFormExists;
4058 // *************************************************************************
4059 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4060 // *************************************************************************
4061 function TGikoDM.EditorFormExists(): boolean;
4066 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4067 for i := Screen.CustomFormCount - 1 downto 0 do begin
4068 if (Screen.CustomForms[i] is TEditorForm) then begin
4075 // *************************************************************************
4076 //!
\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é
4077 // *************************************************************************
4078 procedure TGikoDM.ClearNameTextAllEditor();
4082 for i := 0 to Screen.CustomFormCount - 1 do begin
4083 if (Screen.CustomForms[i] is TEditorForm) then begin
4084 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4088 // *************************************************************************
4089 //!
\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é
4090 // *************************************************************************
4091 procedure TGikoDM.ClearMailAllEditor();
4095 for i := 0 to Screen.CustomFormCount - 1 do begin
4096 if TObject(Screen.CustomForms[i]) is TEditorForm then
4097 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4101 // *************************************************************************
4102 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4103 // *************************************************************************
4104 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4106 PrevMoveHistory.Enabled :=
4107 (MoveHisotryManager.HisotryIndex > 0)
4109 // *************************************************************************
4110 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4111 // *************************************************************************
4112 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4114 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4115 BackToHistory(MoveHisotryManager.getPrevItem
4116 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4117 .Objects[GikoForm.BrowserTab.TabIndex])));
4119 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4122 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4123 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4125 browser : TWebBrowser;
4126 doc : IHTMLDocument2;
4128 if ( item <> nil ) then begin
4129 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4130 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4131 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4132 if (browser <> nil) then begin
4134 doc := browser.ControlInterface.Document as IHTMLDocument2;
4135 (doc.body as IHTMLElement2).ScrollTop := item.ScrollTop;
4141 MoveURLWithHistory(item.ThreadItem.URL);
4145 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4146 procedure TGikoDM.MoveURLWithHistory(URL : String);
4151 GikoForm.MoveToURL(URL);
4152 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4153 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4154 if idx = -1 then begin
4155 GikoForm.AddressComboBox.Items.Insert(0, URL);
4156 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4157 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4159 GikoForm.AddressComboBox.Items.Delete(idx);
4160 GikoForm.AddressComboBox.Items.Insert(0, URL);
4163 // *************************************************************************
4164 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4165 // *************************************************************************
4166 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4168 NextMoveHistory.Enabled :=
4169 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4171 // *************************************************************************
4172 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4173 // *************************************************************************
4174 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4176 BackToHistory(MoveHisotryManager.getNextItem);
4178 // *************************************************************************
4179 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4180 // *************************************************************************
4181 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4183 browser : TWebBrowser;
4184 elem : IHTMLElement;
4185 doc : IHTMLDocument2;
4187 if (GikoForm.GetActiveContent <> nil) then begin
4188 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4189 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4190 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4191 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4192 if (browser <> nil) then begin
4194 doc := browser.ControlInterface.Document as IHTMLDocument2;
4195 if Assigned(doc) then begin
4196 elem := doc.activeElement;
4197 if Assigned(elem) then begin
4208 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4209 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4211 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4212 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4214 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4215 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4217 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4218 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4220 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4221 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4223 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4224 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4226 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4227 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4229 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4230 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4232 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4233 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4235 GikoForm.StoredTaskTray;
4236 StoredTaskTrayAction.Tag := -1;
4240 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4241 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4243 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4245 links : IHTMLElementCollection;
4246 urls, exts : TStringList;
4248 links := GetActiveThreadLinks;
4249 if (links <> nil) then begin
4250 urls := TStringList.Create;
4251 exts := TStringList.Create;
4253 exts.CaseSensitive := False;
4254 exts.Sorted := True;
4255 exts.Delimiter := ';';
4256 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4257 GetLinkURLs(links, urls, 0, exts);
4258 Clipboard.SetTextBuf(urls.GetText);
4267 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4268 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4270 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4272 links : IHTMLElementCollection;
4273 urls, exts : TStringList;
4274 ThreadItem : TThreadItem;
4276 ThreadItem := GikoForm.GetActiveContent;
4277 links := GetActiveThreadLinks;
4278 if (ThreadItem <> nil) and (links <> nil) then begin
4279 urls := TStringList.Create;
4280 exts := TStringList.Create;
4282 exts.CaseSensitive := False;
4283 exts.Sorted := True;
4284 exts.Delimiter := ';';
4285 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4287 GetLinkURLs(links, urls,
4288 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4289 Clipboard.SetTextBuf(urls.GetText);
4297 \breif
\83\8a\83\93\83NURL
\8eæ
\93¾
4298 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4300 procedure TGikoDM.AllLinkToClipboardActionExecute(Sender: TObject);
4302 links : IHTMLElementCollection;
4303 urls, exts : TStringList;
4305 links := GetActiveThreadLinks;
4306 if (links <> nil) then begin
4307 urls := TStringList.Create;
4308 exts := TStringList.Create;
4310 exts.CaseSensitive := False;
4311 exts.Sorted := True;
4312 exts.Delimiter := ';';
4313 exts.DelimitedText :=
4314 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4315 GetLinkURLs(links, urls, 0, exts);
4316 Clipboard.SetTextBuf(urls.GetText);
4324 \breif
\90V
\92\85\83\8c\83X
\83\8a\83\93\83NURL
\8eæ
\93¾
4325 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4327 procedure TGikoDM.NewLinkToClipboardActionExecute(Sender: TObject);
4329 links : IHTMLElementCollection;
4330 urls, exts : TStringList;
4331 ThreadItem : TThreadItem;
4333 ThreadItem := GikoForm.GetActiveContent;
4334 links := GetActiveThreadLinks;
4335 if (ThreadItem <> nil) and (links <> nil) then begin
4336 urls := TStringList.Create;
4337 exts := TStringList.Create;
4339 exts.CaseSensitive := False;
4340 exts.Sorted := True;
4341 exts.Delimiter := ';';
4342 exts.DelimitedText :=
4343 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4344 GetLinkURLs(links, urls,
4345 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4346 Clipboard.SetTextBuf(urls.GetText);
4355 \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
4356 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4358 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4360 browser : TWebBrowser;
4361 doc : IHTMLDocument2;
4364 if (GikoForm.GetActiveContent <> nil) then begin
4365 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4366 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4367 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4368 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4369 if (browser <> nil) then begin
4371 doc := browser.ControlInterface.Document as IHTMLDocument2;
4372 if Assigned(doc) then begin
4373 Result := doc.links;
4384 \brief
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4385 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4386 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4387 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4388 \param Exts
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\8ag
\92£
\8eq
4390 procedure TGikoDM.GetLinkURLs(links : IHTMLElementCollection;
4391 URLs : TStringList; const Start: Integer; Exts : TStringList);
4393 index ,i, j : Integer;
4394 item : IHTMLElement;
4397 if (links <> nil) then begin
4399 for i := 0 to links.length - 1 do begin
4400 item := links.item(i, 0) as IHTMLElement;
4401 if (item <> nil) then begin
4402 url := item.getAttribute('href', 0);
4403 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4404 if (Pos('menu:', url) > 0) then begin
4405 index := StrToInt64Def(
4406 Copy(url, 6, Length(url)), index + 1
4409 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4410 if (index >= Start) then begin
4411 ext := ExtractFileExt( AnsiLowerCase(url) );
4412 //
\8ag
\92£
\8eq
\82ð
\83`
\83F
\83b
\83N
4413 if Exts.Find(ext, j) then begin
4423 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4424 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4426 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4428 if ( GikoForm.AddressToolBar.Visible ) then begin
4429 GikoForm.AddressComboBox.SetFocus;
4433 \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é
4435 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4437 form : TNewBoardURLForm;
4440 if (EditorFormExists) then begin
4441 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4442 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4445 form := TNewBoardURLForm.Create(Self);
4452 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4453 procedure TGikoDM.ScrollPageDownActionExecute(Sender: TObject);
4455 GikoForm.BrowserMovement(GikoForm.BrowserPanel.Height);
4457 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4458 procedure TGikoDM.ScrollPageUpActionExecute(Sender: TObject);
4460 GikoForm.BrowserMovement(-GikoForm.BrowserPanel.Height);
4464 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
\81i
\93§
\96¾)
4465 procedure TGikoDM.AddIDtoNGWord0ActionExecute(Sender: TObject);
4467 GikoForm.AddIDtoNGWord(true);
4469 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
4470 procedure TGikoDM.AddIDtoNGWord1ActionExecute(Sender: TObject);
4472 GikoForm.AddIDtoNGWord(false);
4474 //!
\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¦
4475 procedure TGikoDM.ExtractSameIDActionExecute(Sender: TObject);
4479 ID := Trim(Clipboard.AsText);
4480 if (Length(ID) > 0) then begin
4481 if not IsNoValidID(ID) then begin
4482 GikoForm.ShowSameIDAncher(ID);
4486 //!
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82·
\82é
4487 procedure TGikoDM.ShowTabListActionExecute(Sender: TObject);
4491 GikoForm.ListView.Items.BeginUpdate;
4492 GikoForm.ListView.Items.Clear;
4493 BoardGroup.SpecialBoard.Clear;
4494 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
4495 BoardGroup.SpecialBoard.Add(
4496 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Thread);
4498 GikoForm.ListView.Items.EndUpdate;
4499 GikoForm.SetActiveList(BoardGroup.SpecialBoard);
4501 //!
\8bt
\8eQ
\8fÆ
\82µ
\82Ä
\82¢
\82é
\83\8c\83X
\82ð
\92Ç
\89Á
\82·
\82é
4502 procedure TGikoDM.DereferenceResActionExecute(Sender: TObject);
4504 i, currentNo, No : Integer;
4505 links : IHTMLElementCollection;
4506 threadItem : TThreadItem;
4507 item : IHTMLElement;
4509 resNo : TStringList;
4510 alreadyExist : Boolean;
4513 No := GikoForm.KokoPopupMenu.Tag;
4514 if No = 0 then Exit;
4516 ThreadItem := GikoForm.GetActiveContent;
4517 //
\83A
\83N
\83e
\83B
\83u
\83^
\83u
\82©
\82ç
\91S
\82Ä
\82Ì
\83\8a\83\93\83N
\82ð
\8eæ
\93¾
\82·
\82é
4518 links := GetActiveThreadLinks;
4519 if (ThreadItem <> nil) and (links <> nil) then begin
4520 resNo := TStringList.Create;
4523 alreadyExist := False;
4524 //
\83\8a\83\93\83N
\82ð
\91S
\82Ä
\91\96\8d¸
\82·
\82é
4525 for i := 0 to links.length - 1 do begin
4526 item := links.item(i, 0) as IHTMLElement;
4527 if (item <> nil) then begin
4528 url := item.getAttribute('href', 0);
4529 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4530 if (Pos('menu:', url) > 0) then begin
4531 currentNo := StrToInt64Def(
4532 Copy(url, 6, Length(url)), currentNo + 1
4534 alreadyExist := False;
4535 end else if (currentNo <> -1) and (not alreadyExist) then begin
4537 if Pos('about:..', url) = 1 then begin
4538 url := 'about:blank..' + Copy( url, Length('about:..')+1, Length(url) )
4540 //
\8e©
\95ª
\82Ö
\82Ì
\83\8a\83\93\83N
\82©
\82ç
\83\8c\83X
\83|
\83b
\83v
\97p
\82Ì
\94Ô
\8d\86\8eæ
\93¾
4541 if Pos('about:blank..', url) = 1 then begin
4542 // No
\94Ô
\82Ö
\82Ì
\83\8a\83\93\83N
\82ª
\82 \82ê
\82Î
\8eQ
\8fÆ
\82 \82è
4543 url2 := THTMLCreate.GetRespopupURL(url, ThreadItem.URL);
4544 PathRec := Gikosys.Parse2chURL2(url2);
4545 if (not PathRec.FNoParam) then begin
4546 Gikosys.GetPopupResNumber(url2,PathRec.FSt,PathRec.FTo);
4548 //
\91Î
\8fÛ
\83\8c\83X
\82à
\82µ
\82
\82Í
\82»
\82ê
\82ð
\8aÜ
\82Þ
\82È
\82ç
\8eQ
\8fÆ
\82 \82è
\82Æ
\82·
\82é
4549 if (PathRec.FSt = No) or
4550 ((PathRec.FSt <= No) and (PathRec.FTo >= No)) then begin
4551 alreadyExist := True;
4552 resNo.Add(IntToStr(currentNo));
4558 //
\96³
\90§
\8cÀ
\82È
\82Ì
\82Å-1
\8cÅ
\92è
4559 GikoForm.ActiveContent.IDAnchorPopup(
4560 GikoSys.CreateResAnchor(resNo, ThreadItem, -1));
4568 procedure TGikoDM.UpdateGikonaviActionExecute(Sender: TObject);
4570 form : TUpdateCheckForm;
4574 if (EditorFormExists) then begin
4575 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4576 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4579 GikoForm.UpdateExePath := '';
4580 GikoForm.UpdateExeArgs := '';
4581 form := TUpdateCheckForm.Create(Self);
4584 shutdown := form.Allowshutdown;
4585 GikoForm.UpdateExePath := form.ExecPath;
4586 GikoForm.UpdateExeArgs := form.ExecArgs;
4590 if shutdown then begin
4591 //
\83M
\83R
\83i
\83r
\8fI
\97¹