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 = 'sourceforge.jp/projects/gikonavi/wiki/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 konoURLPATHAction: TAction;
247 konoURLQueryAction: TAction;
248 PopupMenuSettingAction: TAction;
249 procedure EditNGActionExecute(Sender: TObject);
250 procedure ReloadActionExecute(Sender: TObject);
251 procedure GoFowardActionExecute(Sender: TObject);
252 procedure GoBackActionExecute(Sender: TObject);
253 procedure MoveToActionExecute(Sender: TObject);
254 procedure FavoriteAddActionExecute(Sender: TObject);
255 procedure FavoriteArrangeActionExecute(Sender: TObject);
256 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
257 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
258 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
259 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
260 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
261 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
262 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
263 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
264 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
265 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
266 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
267 procedure OnlyAHundredResActionExecute(Sender: TObject);
268 procedure OnlyKokoResActionExecute(Sender: TObject);
269 procedure OnlyNewResActionExecute(Sender: TObject);
270 procedure BrowserMaxActionExecute(Sender: TObject);
271 procedure BrowserMinActionExecute(Sender: TObject);
272 procedure ScrollTopActionExecute(Sender: TObject);
273 procedure ScrollLastActionExecute(Sender: TObject);
274 procedure ScrollNewActionExecute(Sender: TObject);
275 procedure ScrollKokoActionExecute(Sender: TObject);
276 procedure ScrollKokoActionUpdate(Sender: TObject);
277 procedure EditorActionExecute(Sender: TObject);
278 procedure IEActionExecute(Sender: TObject);
279 procedure ShowThreadActionExecute(Sender: TObject);
280 procedure ShowBoardActionExecute(Sender: TObject);
281 procedure URLCopyActionExecute(Sender: TObject);
282 procedure NameCopyActionExecute(Sender: TObject);
283 procedure NameURLCopyActionExecute(Sender: TObject);
284 procedure ItemReloadActionExecute(Sender: TObject);
285 procedure BrowserTabCloseActionExecute(Sender: TObject);
286 procedure BrowserTabCloseActionUpdate(Sender: TObject);
287 procedure NotSelectTabCloseActionExecute(Sender: TObject);
288 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
289 procedure AllTabCloseActionExecute(Sender: TObject);
290 procedure ActiveLogDeleteActionExecute(Sender: TObject);
291 procedure LeftmostTabSelectActionExecute(Sender: TObject);
292 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
293 procedure LeftTabSelectActionExecute(Sender: TObject);
294 procedure RightTabSelectActionExecute(Sender: TObject);
295 procedure RightTabSelectActionUpdate(Sender: TObject);
296 procedure RightmostTabSelectActionExecute(Sender: TObject);
297 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
298 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
299 procedure SelectResActionExecute(Sender: TObject);
300 procedure AllResActionExecute(Sender: TObject);
301 procedure ResRangeActionExecute(Sender: TObject);
302 procedure UpBoardActionExecute(Sender: TObject);
303 procedure JumpToNumOfResActionExecute(Sender: TObject);
304 procedure RightTabCloseActionExecute(Sender: TObject);
305 procedure RightTabCloseActionUpdate(Sender: TObject);
306 procedure LeftTabCloseActionExecute(Sender: TObject);
307 procedure DataModuleCreate(Sender: TObject);
308 procedure SearchActionExecute(Sender: TObject);
309 procedure OptionActionExecute(Sender: TObject);
310 procedure RoundActionExecute(Sender: TObject);
311 procedure KeySettingActionExecute(Sender: TObject);
312 procedure KotehanActionExecute(Sender: TObject);
313 procedure ToolBarSettingActionExecute(Sender: TObject);
314 procedure MuteActionExecute(Sender: TObject);
315 procedure TreeSelectBoradReloadExecute(Sender: TObject);
316 procedure TreeSelectThreadReloadExecute(Sender: TObject);
317 procedure TreeSelectURLCopyExecute(Sender: TObject);
318 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
319 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
320 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
321 procedure TreeSelectNameCopyExecute(Sender: TObject);
322 procedure LoginActionExecute(Sender: TObject);
323 procedure NewBoardActionExecute(Sender: TObject);
324 procedure LogDeleteActionExecute(Sender: TObject);
325 procedure LogDeleteActionUpdate(Sender: TObject);
326 procedure SelectTextClearActionExecute(Sender: TObject);
327 procedure NameTextClearActionExecute(Sender: TObject);
328 procedure MailTextClearActionExecute(Sender: TObject);
329 procedure ExitActionExecute(Sender: TObject);
330 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
331 procedure ExportFavoriteFileAccept(Sender: TObject);
332 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
333 procedure SelectItemSaveForDatExecute(Sender: TObject);
334 procedure TabsSaveActionExecute(Sender: TObject);
335 procedure TabsOpenActionExecute(Sender: TObject);
336 procedure BeLogInOutActionExecute(Sender: TObject);
337 procedure BeLogInOutActionUpdate(Sender: TObject);
338 procedure KokomadeActionExecute(Sender: TObject);
339 procedure ZenbuActionExecute(Sender: TObject);
340 procedure KokoResActionExecute(Sender: TObject);
341 procedure KoreCopyExecute(Sender: TObject);
342 procedure SameIDResAnchorActionExecute(Sender: TObject);
343 procedure IndividualAbon1ActionExecute(Sender: TObject);
344 procedure IndividualAbon0ActionExecute(Sender: TObject);
345 procedure AntiIndividualAbonActionExecute(Sender: TObject);
346 procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
347 procedure IndividualAbonID1ActionExecute(Sender: TObject);
348 procedure IndividualAbonID0ActionExecute(Sender: TObject);
349 procedure GikoNaviWebPageActionExecute(Sender: TObject);
350 procedure MonazillaWebPageActionExecute(Sender: TObject);
351 procedure BBS2chWebPageActionExecute(Sender: TObject);
352 procedure GikoFolderOpenActionExecute(Sender: TObject);
353 procedure AboutActionExecute(Sender: TObject);
354 procedure GikoHelpActionExecute(Sender: TObject);
355 procedure WikiFAQWebPageActionExecute(Sender: TObject);
356 procedure ListNumberVisibleActionExecute(Sender: TObject);
357 procedure UpFolderActionExecute(Sender: TObject);
358 procedure UpFolderActionUpdate(Sender: TObject);
359 procedure IconStyleExecute(Sender: TObject);
360 procedure AllItemActionExecute(Sender: TObject);
361 procedure LogItemActionExecute(Sender: TObject);
362 procedure NewItemActionExecute(Sender: TObject);
363 procedure ThreadRangeActionExecute(Sender: TObject);
364 procedure SelectItemActionExecute(Sender: TObject);
365 procedure ThreadEditorActionExecute(Sender: TObject);
366 procedure BoardIEActionExecute(Sender: TObject);
367 procedure SelectItemURLCopyActionExecute(Sender: TObject);
368 procedure SelectItemURLCopyActionUpdate(Sender: TObject);
369 procedure SelectItemNameCopyActionExecute(Sender: TObject);
370 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
371 procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
372 procedure SelectListReloadActionExecute(Sender: TObject);
373 procedure SelectListReloadActionUpdate(Sender: TObject);
374 procedure SelectThreadReloadActionExecute(Sender: TObject);
375 procedure SelectThreadReloadActionUpdate(Sender: TObject);
376 procedure SelectReservActionExecute(Sender: TObject);
377 procedure SelectReservActionUpdate(Sender: TObject);
378 procedure SelectNewRoundNameExecute(Sender: TObject);
379 procedure SelectDeleteRoundExecute(Sender: TObject);
380 procedure BoardFavoriteAddActionExecute(Sender: TObject);
381 procedure BoardFavoriteAddActionUpdate(Sender: TObject);
382 procedure LogFolderOpenActionExecute(Sender: TObject);
383 procedure LogFolderOpenActionUpdate(Sender: TObject);
384 procedure BrowsBoradHeadActionExecute(Sender: TObject);
385 procedure SortActiveColumnActionExecute(Sender: TObject);
386 procedure SortNextColumnActionExecute(Sender: TObject);
387 procedure SortPrevColumnActionExecute(Sender: TObject);
388 procedure StdToolBarVisibleActionExecute(Sender: TObject);
389 procedure AddressBarVisibleActionExecute(Sender: TObject);
390 procedure LinkBarVisibleActionExecute(Sender: TObject);
391 procedure ListToolBarVisibleActionExecute(Sender: TObject);
392 procedure ListNameBarVisibleActionExecute(Sender: TObject);
393 procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
394 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
395 procedure MsgBarVisibleActionExecute(Sender: TObject);
396 procedure MsgBarCloseActionExecute(Sender: TObject);
397 procedure StatusBarVisibleActionExecute(Sender: TObject);
398 procedure CabinetBBSActionExecute(Sender: TObject);
399 procedure CabinetHistoryActionExecute(Sender: TObject);
400 procedure CabinetFavoriteActionExecute(Sender: TObject);
401 procedure CabinetVisibleActionExecute(Sender: TObject);
402 procedure CabinetCloseActionExecute(Sender: TObject);
403 procedure LargeIconActionExecute(Sender: TObject);
404 procedure SmallIconActionExecute(Sender: TObject);
405 procedure ListIconActionExecute(Sender: TObject);
406 procedure DetailIconActionExecute(Sender: TObject);
407 procedure StopActionExecute(Sender: TObject);
408 procedure ArrangeActionExecute(Sender: TObject);
409 procedure PaneInitActionExecute(Sender: TObject);
410 procedure BrowserTabVisibleActionExecute(Sender: TObject);
411 procedure BrowserTabTopActionExecute(Sender: TObject);
412 procedure BrowserTabBottomActionExecute(Sender: TObject);
413 procedure BrowserTabTabStyleActionExecute(Sender: TObject);
414 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
415 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
416 procedure SetFocusForBrowserActionExecute(Sender: TObject);
417 procedure SetFocusForBrowserActionUpdate(Sender: TObject);
418 procedure SetFocusForThreadListActionExecute(Sender: TObject);
419 procedure SetFocusForCabinetActionExecute(Sender: TObject);
420 procedure SetFocusForCabinetActionUpdate(Sender: TObject);
421 procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
422 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
423 procedure UnSelectedListViewActionExecute(Sender: TObject);
424 procedure KidokuActionExecute(Sender: TObject);
425 procedure MidokuActionExecute(Sender: TObject);
426 procedure AllSelectActionExecute(Sender: TObject);
427 procedure AllSelectActionUpdate(Sender: TObject);
428 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
429 procedure SetInputAssistActionExecute(Sender: TObject);
430 procedure OpenFindDialogActionExecute(Sender: TObject);
431 procedure ArchiveItemActionExecute(Sender: TObject);
432 procedure LiveItemActionExecute(Sender: TObject);
433 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
434 procedure CloseAllEditorActionExecute(Sender: TObject);
435 procedure CloseAllEditorActionUpdate(Sender: TObject);
436 procedure PrevMoveHistoryUpdate(Sender: TObject);
437 procedure PrevMoveHistoryExecute(Sender: TObject);
438 procedure NextMoveHistoryUpdate(Sender: TObject);
439 procedure NextMoveHistoryExecute(Sender: TObject);
440 procedure ClickActiveElementActionExecute(Sender: TObject);
441 procedure VKDownActionExecute(Sender: TObject);
442 procedure VKUpActionExecute(Sender: TObject);
443 procedure VKRightActionExecute(Sender: TObject);
444 procedure VKLeftActionExecute(Sender: TObject);
445 procedure StoredTaskTrayActionExecute(Sender: TObject);
446 procedure LeftTabSelectActionUpdate(Sender: TObject);
447 procedure RightmostTabSelectActionUpdate(Sender: TObject);
448 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
449 procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
450 procedure SetForcusForAddresBarActionExecute(Sender: TObject);
451 procedure NewBoardSearchActionExecute(Sender: TObject);
452 procedure ScrollPageDownActionExecute(Sender: TObject);
453 procedure ScrollPageUpActionExecute(Sender: TObject);
454 procedure AllLinkToClipboardActionExecute(Sender: TObject);
455 procedure NewLinkToClipboardActionExecute(Sender: TObject);
456 procedure AddIDtoNGWord0ActionExecute(Sender: TObject);
457 procedure AddIDtoNGWord1ActionExecute(Sender: TObject);
458 procedure ExtractSameIDActionExecute(Sender: TObject);
459 procedure ShowTabListActionExecute(Sender: TObject);
460 procedure DereferenceResActionExecute(Sender: TObject);
461 procedure UpdateGikonaviActionExecute(Sender: TObject);
462 procedure konoURLPATHActionExecute(Sender: TObject);
463 procedure konoURLQueryActionExecute(Sender: TObject);
464 procedure konoURLQueryActionUpdate(Sender: TObject);
465 procedure PopupMenuSettingActionExecute(Sender: TObject);
468 procedure ClearResFilter;
469 procedure SetResRange(range: Integer);
470 procedure SetThreadAreaHorNormal;
471 procedure SetThreadAreaHorizontal(gls : TGikoListState);
472 procedure SetThreadAreaVerNormal;
473 procedure SetThreadAreaVertical(gls : TGikoListState);
474 procedure SetThreadReadProperty(read: Boolean);
475 procedure SelectThreadSaveToFile(dat: Boolean);
476 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
477 procedure RecalcThreadSize(limit : Integer);
478 procedure ClearSelectComboBox;
479 procedure ClearMailAllEditor();
480 procedure ClearNameTextAllEditor();
481 procedure MoveURLWithHistory(URL : String; KeyMask: Boolean = False);
482 procedure BackToHistory(item: TMoveHistoryItem);
483 function GetActiveThreadLinks : IHTMLElementCollection;
484 procedure GetLinkURLs(links : IHTMLElementCollection;
485 URLs : TStringList; const Start: Integer; Exts : TStringList);
488 procedure RepaintStatusBar;
489 function EditorFormExists(): boolean;
490 procedure GetTabURLs(AStringList: TStringList);
491 procedure OpenURLs(AStringList: TStringList);
493 { Published
\90é
\8c¾ }
494 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
495 procedure DependActiveCntentActionUpdate(Sender: TObject);
496 //! 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é
497 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
498 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
499 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
500 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
501 procedure DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
511 Windows, Math, Clipbrd,
512 Giko, GikoUtil, BoardGroup,
513 FavoriteArrange, Favorite, MojuUtils,
514 Editor, ListSelect, Search, Option, Round,
515 KeySetting, Gesture, Kotehan, ToolBarSetting,
516 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
517 GikoBayesian, About, ShellAPI,
518 RoundName, RoundData, Menus, ListViewUtils,
519 ThreadControl, GikoMessage, InputAssist,
520 DefaultFileManager, Forms, NewBoardURL, UpdateCheck,
524 MSG_ERROR : string = '
\83G
\83\89\81[';
527 // *************************************************************************
528 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
529 // *************************************************************************
530 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
532 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
534 // *************************************************************************
535 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
536 // *************************************************************************
537 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
539 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
540 and (GikoForm.GetActiveContent.IsLogFile);
542 // *************************************************************************
543 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
544 // *************************************************************************
545 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
547 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard) and
548 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
550 // *************************************************************************
551 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
552 // *************************************************************************
553 procedure TGikoDM.DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
555 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
557 // *************************************************************************
558 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
559 // *************************************************************************
560 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
562 //
\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
563 GikoSys.FAbon.EditNGwords;
565 // *************************************************************************
566 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
567 // *************************************************************************
568 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
570 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
571 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
572 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½',
573 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
575 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
576 GikoForm.RepaintAllTabsBrowser();
579 // *************************************************************************
580 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
581 // *************************************************************************
582 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
584 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
585 if GikoSys.FAbon.GoBack =false then begin
586 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½',
587 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
589 //
\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
591 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
592 GikoForm.RepaintAllTabsBrowser();
595 // *************************************************************************
596 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
597 // *************************************************************************
598 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
600 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
601 if GikoSys.FAbon.GoForward =false then begin
602 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½',
603 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
605 //
\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
607 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
608 GikoForm.RepaintAllTabsBrowser();
611 // *************************************************************************
612 //! 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
613 // *************************************************************************
614 procedure TGikoDM.RepaintStatusBar;
618 //
\83X
\83e
\81[
\83^
\83X
\82É
\95\
\8e¦
\82³
\82ê
\82éNG
\83\8f\81[
\83h
\83t
\83@
\83C
\83\8b\96¼
\82ð
\8dX
\90V
619 s := GikoSys.FAbon.NGwordname;
620 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
621 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
622 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
623 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
624 GikoForm.StatusBarResize(nil);
626 // *************************************************************************
627 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
628 // *************************************************************************
629 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
631 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
633 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
635 // *************************************************************************
636 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
637 // *************************************************************************
638 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
640 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
642 // *************************************************************************
643 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
644 // *************************************************************************
645 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
647 Dlg: TFavoriteArrangeDialog;
649 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
655 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
656 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
658 // *************************************************************************
659 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
660 // *************************************************************************
661 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
665 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
667 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
668 while node <> nil do begin
669 if node.HasChildren then
670 node.Expanded := False;
671 node := node.GetNext;
676 // *************************************************************************
677 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
678 // *************************************************************************
679 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
684 if GikoForm.ClickNode = nil then
686 if GikoForm.ClickNode.IsFirstNode then
688 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
690 GikoForm.FavoriteTreeView.ReadOnly := False;
691 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
692 node := GikoForm.ClickNode.Parent;
693 while node <> nil do begin
694 node.Expanded := True;
697 GikoForm.ClickNode.EditText;
699 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 );
701 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
702 FavoriteDM.Modified := true;
705 // *************************************************************************
706 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
707 // *************************************************************************
708 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
710 NewFavFolder: TFavoriteFolder;
714 if GikoForm.ClickNode = nil then
718 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
719 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
720 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
723 NewFavFolder := TFavoriteFolder.Create;
724 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
725 Node.ImageIndex := 14;
726 Node.SelectedIndex := 14;
727 // FClickNode.Selected.Expanded := True;
728 GikoForm.FavoriteTreeView.Selected := Node;
729 GikoForm.ClickNode := Node;
730 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
731 FavoriteDM.Modified := true;
732 FavoriteTreeViewRenameAction.Execute;
737 // *************************************************************************
738 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
739 // *************************************************************************
740 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
742 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';
743 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
744 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
747 if GikoForm.ClickNode = nil then
749 if GikoForm.ClickNode.IsFirstNode then
751 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
752 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
753 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
756 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
761 GikoForm.ClickNode.Delete;
762 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
763 FavoriteDM.Modified := true;
768 // *************************************************************************
769 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
770 // *************************************************************************
771 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
774 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
776 // *************************************************************************
777 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
778 // *************************************************************************
779 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
781 FavThread: TFavoriteThreadItem;
782 FavBoard: TFavoriteBoardItem;
785 if (GikoForm.ClickNode = nil) then Exit;
787 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
789 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
790 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
791 if FavThread.Item <> nil then
792 GikoForm.DownloadContent(FavThread.Item, shiftDown);
793 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
794 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
795 GikoForm.DownloadList(FavBoard.Item, shiftDown);
799 // *************************************************************************
800 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
801 // *************************************************************************
802 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
805 if GikoForm.ClickNode = nil then Exit;
807 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
808 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
811 // *************************************************************************
812 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
813 // *************************************************************************
814 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
817 if GikoForm.ClickNode = nil then Exit;
819 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
821 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
824 GikoForm.ClickNode.Text + #13#10;
828 // *************************************************************************
829 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
830 // *************************************************************************
831 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
834 favItem : TFavoriteItem;
837 if GikoForm.ClickNode = nil then Exit;
839 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
840 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
841 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
842 favItem.URL + #13#10;
846 // *************************************************************************
847 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
848 // *************************************************************************
849 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
851 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';
852 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
854 ThreadItem: TThreadItem;
855 FavThread: TFavoriteThreadItem;
858 if GikoForm.ClickNode = nil then Exit;
859 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
861 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
862 ThreadItem := FavThread.Item;
865 if GikoSys.Setting.DeleteMsg then begin
866 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
867 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
871 GikoForm.DeleteHistory(ThreadItem);
872 GikoForm.DeleteTab(ThreadItem);
873 ThreadItem.DeleteLogFile;
875 GikoForm.ListView.Refresh;
880 // *************************************************************************
881 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
882 // *************************************************************************
883 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
886 threadItem : TThreadItem;
889 if GikoForm.ClickNode = nil then Exit;
891 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
893 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
894 if threadItem = nil then
896 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
900 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
901 procedure TGikoDM.ClearResFilter;
903 FilterList : TStringList;
905 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
906 FilterList := TStringList.Create;
908 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
909 GikoSys.FSelectResFilter.Reverse := False;
913 GikoForm.SelectResWord := '';
915 // *************************************************************************
916 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
917 // *************************************************************************
918 procedure TGikoDM.SetResRange(range: Integer);
920 if GikoSys.ResRange <> range then begin
921 GikoSys.ResRange := range;
922 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
924 GikoForm.RepaintAllTabsBrowser();
927 // *************************************************************************
928 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
929 // *************************************************************************
930 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
932 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
933 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
935 GikoForm.ResRangeMenuSelect := 100;
936 OnlyAHundredResAction.Checked := True;
937 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
\81B
\90Ý
\92è
\92l
\82©
\82ç
\82Æ
\82Á
\82Ä
\82
\82é
\81B
938 SetResRange(GikoSys.Setting.ResRangeExCount);
940 // *************************************************************************
941 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
942 // *************************************************************************
943 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
945 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
946 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
948 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
949 OnlyKokoResAction.Checked := True;
951 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
952 SetResRange(Ord( grrKoko ));
954 // *************************************************************************
955 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
956 // *************************************************************************
957 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
959 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
960 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
962 GikoForm.ResRangeMenuSelect := Ord( grrNew );
963 OnlyNewResAction.Checked := True;
965 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
966 SetResRange(Ord( grrNew ));
968 // *************************************************************************
969 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
970 // *************************************************************************
971 procedure TGikoDM.SetThreadAreaHorNormal;
973 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
974 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
975 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
976 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
977 GikoSys.Setting.ListWidthState := glsNormal;
979 // *************************************************************************
980 //!
\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@
981 // *************************************************************************
982 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
984 if GikoSys.Setting.ListWidthState = glsNormal then
985 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
987 if (gls = glsMax) then begin
988 GikoForm.ViewPanel.Width := 1;
989 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
990 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
991 GikoSys.Setting.ListWidthState := glsMax;
992 end else if (gls = glsMin) then begin
993 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
994 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
995 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
996 GikoSys.Setting.ListWidthState := glsMin;
999 // *************************************************************************
1000 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
1001 // *************************************************************************
1002 procedure TGikoDM.SetThreadAreaVerNormal;
1004 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1005 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
1006 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1007 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1008 GikoSys.Setting.ListHeightState := glsNormal;
1010 // *************************************************************************
1011 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
1012 // *************************************************************************
1013 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
1015 if GikoSys.Setting.ListHeightState = glsNormal then
1016 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
1017 if (gls = glsMin) then begin
1018 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
1019 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1020 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1021 GikoSys.Setting.ListHeightState := glsMin;
1022 end else if (gls = glsMax) then begin
1023 GikoForm.ViewPanel.Height := 1;
1024 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1025 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1026 GikoSys.Setting.ListHeightState := glsMax;
1029 // *************************************************************************
1030 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
1031 // *************************************************************************
1032 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
1034 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1035 case GikoSys.Setting.ListWidthState of
1037 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1038 SetThreadAreaHorNormal;
1040 glsMin, glsNormal: begin
1041 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1042 SetThreadAreaHorizontal(glsMax);
1046 case GikoSys.Setting.ListHeightState of
1048 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1049 SetThreadAreaVerNormal;
1051 glsMin, glsNormal: begin
1052 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1053 SetThreadAreaVertical(glsMax);
1058 // *************************************************************************
1059 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1060 // *************************************************************************
1061 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1063 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1064 case GikoSys.Setting.ListWidthState of
1065 glsMax, glsNormal: begin
1066 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1067 SetThreadAreaHorizontal(glsMin);
1070 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1071 SetThreadAreaHorNormal;
1075 case GikoSys.Setting.ListHeightState of
1076 glsMax, glsNormal: begin
1077 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1078 SetThreadAreaVertical(glsMin);
1081 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1082 SetThreadAreaVerNormal;
1087 // *************************************************************************
1088 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1089 // *************************************************************************
1090 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1092 GikoForm.BrowserMovement('top');
1094 // *************************************************************************
1095 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1096 // *************************************************************************
1097 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1099 GikoForm.BrowserMovement('bottom');
1101 // *************************************************************************
1102 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1103 // *************************************************************************
1104 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1106 GikoForm.BrowserMovement('new');
1108 // *************************************************************************
1109 //!
\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é
1110 // *************************************************************************
1111 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1113 GikoForm.BrowserMovement('koko');
1115 // *************************************************************************
1116 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
\82Ö
\88Ú
\93®
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1117 // *************************************************************************
1118 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1120 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1121 and (GikoForm.GetActiveContent.IsLogFile)
1122 and (GikoForm.GetActiveContent.Kokomade <> -1);
1124 // *************************************************************************
1125 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1126 // *************************************************************************
1127 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1129 Editor: TEditorForm;
1132 Item := GikoForm.GetActiveContent;
1133 if Item = nil then Exit;
1134 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1135 Editor.SetThreadItem(Item);
1137 Editor.BodyEdit.SetFocus;
1139 // *************************************************************************
1140 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1141 // *************************************************************************
1142 procedure TGikoDM.IEActionExecute(Sender: TObject);
1144 ShowThreadAction.Execute;
1146 // *************************************************************************
1147 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1148 // *************************************************************************
1149 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1151 ThreadItem: TThreadItem;
1153 ThreadItem := GikoForm.GetActiveContent;
1154 if ThreadItem = nil then Exit;
1155 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1157 // *************************************************************************
1158 //!
\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é
1159 // *************************************************************************
1160 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1162 ThreadItem: TThreadItem;
1164 ThreadItem := GikoForm.GetActiveContent;
1165 if ThreadItem = nil then Exit;
1166 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1168 // *************************************************************************
1169 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1170 // *************************************************************************
1171 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1176 if TObject(GikoForm.GetActiveContent) is TBoard then
1177 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1178 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1179 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1181 Clipboard.AsText := s;
1183 // *************************************************************************
1184 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1185 // *************************************************************************
1186 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1191 if TObject(GikoForm.GetActiveContent) is TBoard then
1192 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1193 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1194 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1196 Clipboard.AsText := s;
1198 // *************************************************************************
1199 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1200 // *************************************************************************
1201 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1206 if TObject(GikoForm.GetActiveContent) is TBoard then
1207 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1208 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1209 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1211 Clipboard.AsText := s;
1213 // *************************************************************************
1214 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1215 // *************************************************************************
1216 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1218 ThreadItem: TThreadItem;
1221 ThreadItem := GikoForm.GetActiveContent;
1222 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1223 if ThreadItem <> nil then
1224 GikoForm.DownloadContent(ThreadItem, shiftDown);
1226 // *************************************************************************
1227 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1228 // *************************************************************************
1229 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1233 idx := GikoForm.BrowserTab.TabIndex;
1234 if idx <> -1 then begin
1235 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1236 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1240 // *************************************************************************
1241 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1242 // *************************************************************************
1243 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1245 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1247 // *************************************************************************
1248 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1249 // *************************************************************************
1250 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1255 idx := GikoForm.BrowserTab.TabIndex;
1256 if idx = -1 then Exit;
1257 GikoForm.BrowserTab.Tabs.BeginUpdate;
1258 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1259 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1260 GikoForm.BrowserTab.Tabs.Delete(i);
1262 if idx > 0 then begin
1263 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1264 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1265 GikoForm.BrowserTab.Tabs.Delete(i);
1268 GikoForm.BrowserTab.Tabs.EndUpdate;
1270 // *************************************************************************
1271 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1272 // *************************************************************************
1273 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1275 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1277 // *************************************************************************
1278 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1279 // *************************************************************************
1280 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1284 if GikoSys.Setting.ShowDialogForAllTabClose then
1285 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
1288 GikoForm.ActiveContent := nil;
1289 GikoForm.BrowserNullTab.Thread := nil;
1290 GikoForm.BrowserTab.OnChange := nil;
1291 GikoForm.BrowserTab.Tabs.BeginUpdate;
1292 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1293 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1295 GikoForm.BrowserTab.Tabs.Clear;
1296 GikoForm.BrowserTab.Tabs.EndUpdate;
1297 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1298 GikoForm.SetContent(GikoForm.BrowserNullTab);
1299 GikoForm.Caption := CAPTION_NAME ;
1301 // *************************************************************************
1302 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1303 // *************************************************************************
1304 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1306 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';
1307 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1310 ThreadItem: TThreadItem;
1312 idx := GikoForm.BrowserTab.TabIndex;
1313 if idx <> -1 then begin
1314 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1315 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1316 if GikoSys.Setting.DeleteMsg then
1317 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1318 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1320 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1321 GikoForm.DeleteHistory(ThreadItem);
1322 ThreadItem.DeleteLogFile;
1323 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1324 GikoForm.ListView.Refresh;
1328 // *************************************************************************
1329 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1330 // *************************************************************************
1331 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1333 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1334 GikoForm.BrowserTab.TabIndex := 0;
1335 GikoForm.BrowserTab.OnChange(nil);
1338 // *************************************************************************
1339 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1340 // *************************************************************************
1341 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1343 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1344 LeftmostTabSelectActionUpdate(Sender);
1346 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1350 // *************************************************************************
1351 //!
\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
1352 // *************************************************************************
1353 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1355 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1356 and (GikoForm.BrowserTab.TabIndex <> 0);
1358 // *************************************************************************
1359 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1360 // *************************************************************************
1361 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1363 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1364 if GikoForm.BrowserTab.TabIndex = -1 then begin
1365 GikoForm.BrowserTab.TabIndex := 0;
1366 GikoForm.BrowserTab.OnChange(nil);
1367 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1368 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1369 GikoForm.BrowserTab.OnChange(nil);
1371 if (GikoSys.Setting.LoopBrowserTabs) and
1372 (GikoForm.BrowserTab.TabIndex = 0) then begin
1373 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1374 GikoForm.BrowserTab.OnChange(nil);
1379 // *************************************************************************
1380 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1381 // *************************************************************************
1382 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1384 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1385 if GikoForm.BrowserTab.TabIndex = -1 then begin
1386 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1387 GikoForm.BrowserTab.OnChange(nil);
1388 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1389 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1390 GikoForm.BrowserTab.OnChange(nil);
1392 if (GikoSys.Setting.LoopBrowserTabs) and
1393 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1394 GikoForm.BrowserTab.TabIndex := 0;
1395 GikoForm.BrowserTab.OnChange(nil);
1400 // *************************************************************************
1401 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1402 // *************************************************************************
1403 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1405 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1406 RightmostTabSelectActionUpdate(Sender);
1408 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1412 // *************************************************************************
1413 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1414 // *************************************************************************
1415 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1417 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1418 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1419 GikoForm.BrowserTab.OnChange(nil);
1422 // *************************************************************************
1423 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1424 // *************************************************************************
1425 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1427 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1428 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1431 // *************************************************************************
1432 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1433 // *************************************************************************
1434 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1436 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1437 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1439 // *************************************************************************
1440 //!
\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
1441 // *************************************************************************
1442 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1444 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1445 and (GikoForm.ListView.SelCount > 0);
1447 // *************************************************************************
1448 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1449 // *************************************************************************
1450 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1452 Dlg: TListSelectDialog;
1453 FilterList : TStringList;
1456 Dlg := TListSelectDialog.Create(GikoForm);
1458 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1459 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1461 if Dlg.ModalResult = mrOK then begin
1462 SelectResAction.Checked := True;
1463 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1464 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1465 ResRangeAction.Execute;
1467 GikoSys.ResRange := Ord( grrSelect );
1469 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1470 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1472 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1473 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1475 GikoSys.Setting.SelectTextList.Delete(idx);
1476 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1477 while Dlg.SelectComboBox.Items.Count > 100 do begin
1478 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1482 if GikoForm.SelectComboBoxPanel.Visible then
1483 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1487 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1488 FilterList := TStringList.Create;
1490 GikoSys.FSelectResFilter.Reverse := True;
1491 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1492 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1494 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1498 GikoForm.RepaintAllTabsBrowser();
1501 //
\83L
\83\83\83\93\83Z
\83\8b
1502 if GikoSys.ResRange <> Ord( grrSelect ) then
1503 ResRangeAction.Execute;
1510 // *************************************************************************
1511 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1512 // *************************************************************************
1513 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1515 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1516 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1518 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1519 AllResAction.Checked := True;
1521 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1522 SetResRange(Ord( grrAll ));
1524 // *************************************************************************
1525 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1526 // *************************************************************************
1527 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1529 case GikoForm.ResRangeMenuSelect of
1530 Ord( grrAll ): AllResAction.Execute;
1531 Ord( grrKoko ): OnlyKokoResAction.Execute;
1532 Ord( grrNew ): OnlyNewResAction.Execute;
1533 100: OnlyAHundredResAction.Execute;
1537 // *************************************************************************
1538 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1539 // *************************************************************************
1540 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1542 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1544 // *************************************************************************
1545 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1546 // *************************************************************************
1547 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1553 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
1554 str := ZenToHan(str);
1555 res := StrToIntDef(str, -1);
1556 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1557 GikoForm.ActiveContent.Move(IntToStr(res));
1558 SetFocusForBrowserAction.Execute;
1559 end else if res > GikoForm.GetActiveContent.Count then begin
1560 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1561 SetFocusForBrowserAction.Execute;
1565 // *************************************************************************
1566 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1567 // *************************************************************************
1568 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1573 idx := GikoForm.BrowserTab.TabIndex;
1574 if idx = -1 then Exit;
1575 GikoForm.BrowserTab.Tabs.BeginUpdate;
1576 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1577 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1578 GikoForm.BrowserTab.Tabs.Delete(i);
1580 GikoForm.BrowserTab.Tabs.EndUpdate;
1582 // *************************************************************************
1583 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1584 // *************************************************************************
1585 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1587 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1589 // *************************************************************************
1590 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1591 // *************************************************************************
1592 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1597 idx := GikoForm.BrowserTab.TabIndex;
1598 if idx = -1 then Exit;
1599 GikoForm.BrowserTab.Tabs.BeginUpdate;
1600 if idx > 0 then begin
1601 for i := idx - 1 downto 0 do begin
1602 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1603 GikoForm.BrowserTab.Tabs.Delete(i);
1606 GikoForm.BrowserTab.Tabs.EndUpdate;
1608 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1609 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1611 // 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
1612 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1613 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1614 TDefaultFileManager.CopyDefaultFiles(
1615 GikoSys.GetAppDir + 'defaultFiles.ini');
1617 // *************************************************************************
1618 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1619 // *************************************************************************
1620 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1625 if GikoForm.SearchDialog = nil then begin
1626 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1627 chk := GikoForm.GetActiveList
1631 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1632 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1636 GikoForm.SearchDialog.Show;
1640 // *************************************************************************
1641 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1642 // *************************************************************************
1643 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1647 Dlg := TOptionDialog.Create(GikoForm);
1654 // *************************************************************************
1655 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1656 // *************************************************************************
1657 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1661 Dlg := TRoundDialog.Create(GikoForm);
1668 // *************************************************************************
1669 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1670 // *************************************************************************
1671 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1673 Dlg: TKeySettingForm;
1675 Dlg := TKeySettingForm.Create(GikoForm);
1677 if Dlg.ShowModal = mrOk then begin
1678 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1679 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1680 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1685 MouseGesture.UnHook;
1686 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1687 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1688 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1689 if GikoSys.Setting.GestureEnabled then begin
1690 GikoSys.Setting.Gestures.ClearGesture;
1691 GikoSys.Setting.Gestures.LoadGesture(
1692 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1693 MouseGesture.SetHook( GikoForm.Handle );
1697 // *************************************************************************
1698 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1699 // *************************************************************************
1700 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1702 Dlg: TKotehanDialog;
1704 Dlg := TKotehanDialog.Create(GikoForm);
1711 // *************************************************************************
1712 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1713 // *************************************************************************
1714 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1716 Dlg: TToolBarSettingDialog;
1719 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1721 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1722 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1723 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1724 case GikoForm.ToolBarSettingSender of
1725 tssMain: Dlg.ToolBarIndex := 0;
1726 tssList: Dlg.ToolBarIndex := 1;
1727 tssBrowser: Dlg.ToolBarIndex := 2;
1729 if Dlg.ShowModal = mrOK then begin
1730 GikoForm.SetToolBarPopup;
1732 //
\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é
1733 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1734 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1735 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1736 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1737 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1739 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1740 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1741 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1742 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1743 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1745 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1746 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1747 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1748 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1749 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1752 SaveToolBarSetting(GikoForm.StdToolBar);
1753 SaveToolBarSetting(GikoForm.ListToolBar);
1754 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1755 GikoForm.SetSelectComboBox;
1756 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1757 SaveToolBarSetting(GikoForm.BrowserToolBar);
1761 GikoForm.ToolBarSettingSender := tssNone;
1764 // *************************************************************************
1765 //!
\83~
\83\85\81[
\83g
1766 // *************************************************************************
1767 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1769 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1771 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1772 // *************************************************************************
1773 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1774 // *************************************************************************
1775 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1778 TmpTreeNode: TTreeNode;
1780 TmpTreeNode := GikoForm.ClickNode;
1781 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1784 if TObject(TmpTreeNode.Data) is TBoard then
1785 Board := TBoard(TmpTreeNode.Data)
1786 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1787 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1789 if Board <> nil then
1790 GikoForm.DownloadList(Board);
1792 // *************************************************************************
1793 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1794 // *************************************************************************
1795 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1797 ThreadItem: TThreadItem;
1798 TmpTreeNode: TTreeNode;
1800 TmpTreeNode := GikoForm.ClickNode;
1801 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1804 if TObject(TmpTreeNode.Data) is TThreadItem then
1805 ThreadItem := TThreadItem(TmpTreeNode.Data)
1806 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1807 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1809 if ThreadItem <> nil then
1810 GikoForm.DownloadContent(ThreadItem);
1812 // *************************************************************************
1813 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1814 // *************************************************************************
1815 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1817 TmpTreeNode: TTreeNode;
1820 TmpTreeNode := GikoForm.ClickNode;
1821 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1822 if TObject(TmpTreeNode.Data) is TBoard then begin
1823 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1824 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1825 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1826 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1827 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1828 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1829 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1831 Clipboard.AsText := s;
1833 // *************************************************************************
1834 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1835 // *************************************************************************
1836 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1838 TmpTreeNode: TTreeNode;
1841 TmpTreeNode := GikoForm.ClickNode;
1842 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1843 if TObject(TmpTreeNode.Data) is TBoard then begin
1844 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1845 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1846 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1847 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1848 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1849 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1850 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1852 Clipboard.AsText := s;
1854 // *************************************************************************
1855 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1856 // *************************************************************************
1857 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1859 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1861 // *************************************************************************
1862 //!
\94Â
\96¼
\8c\9f\8dõ
1863 // *************************************************************************
1864 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1868 CurItem : TTreeNode;
1871 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1874 if GikoForm.TreeView.Selected = nil then
1875 CurItem := GikoForm.TreeView.Items.GetFirstNode
1877 CurItem := GikoForm.TreeView.Selected.GetNext;
1878 if CurItem = nil then
1879 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1881 while CurItem <> nil do begin
1882 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1885 CurItem := CurItem.GetNext;
1888 if CurItem = nil then begin
1889 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1890 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1891 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1895 GikoForm.TreeView.Select(CurItem);
1896 GikoForm.TreeView.SetFocus;
1898 GikoForm.TreeView.Select(CurItem);
1899 GikoForm.TreeView.SetFocus;
1900 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1901 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1914 // *************************************************************************
1915 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1916 // *************************************************************************
1917 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1921 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1922 s := GikoForm.ClickNode.Text;
1923 Clipboard.AsText := s;
1925 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1926 // *************************************************************************
1927 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1928 // *************************************************************************
1929 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1934 if GikoSys.Dolib.Connected then begin
1935 //
\83\8d\83O
\83A
\83E
\83g
1936 GikoSys.Dolib.Disconnect;
1937 LoginAction.Checked := False;
1938 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1939 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1941 TmpCursor := GikoForm.ScreenCursor;
1942 GikoForm.ScreenCursor := crHourGlass;
1944 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1945 if not GikoSys.Setting.ForcedLogin then begin
1946 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1947 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1948 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1949 if GikoSys.Setting.ReadProxy then begin
1950 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1951 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1953 GikoSys.Dolib.ProxyAddress := '';
1954 GikoSys.Dolib.ProxyPort := 0;
1956 if GikoSys.Dolib.Connect then begin
1957 LoginAction.Checked := True;
1958 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1959 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1960 //LoginToolButton.Style := tbsCheck;
1962 // 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);
1963 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1964 GikoForm.PlaySound('Error');
1965 LoginAction.Checked := False;
1966 //LoginToolButton.Down := False;
1967 ///LoginToolButton.Style := tbsButton;
1970 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
1971 + '
\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
1972 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1973 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1974 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1975 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1976 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1977 if GikoSys.Setting.ReadProxy then begin
1978 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1979 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1981 GikoSys.Dolib.ProxyAddress := '';
1982 GikoSys.Dolib.ProxyPort := 0;
1984 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1985 GikoSys.Dolib.ForcedConnect;
1986 if GikoSys.Dolib.Connect then begin
1987 LoginAction.Checked := True;
1988 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1989 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1990 //LoginToolButton.Style := tbsCheck;
1992 // 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);
1993 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1994 GikoForm.PlaySound('Error');
1995 LoginAction.Checked := False;
1996 //LoginToolButton.Down := False;
1997 //LoginToolButton.Style := tbsButton;
2000 LoginAction.Checked := False;
2001 //LoginToolButton.Down := False;
2002 //LoginToolButton.Style := tbsButton;
2006 GikoForm.ScreenCursor := TmpCursor;
2010 // *************************************************************************
2011 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2012 // *************************************************************************
2013 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
2015 Dlg: TNewBoardDialog;
2018 if (EditorFormExists) then begin
2019 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
2020 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
2023 Dlg := TNewBoardDialog.Create(GikoForm);
2030 // *************************************************************************
2031 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
2032 // *************************************************************************
2033 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
2035 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';
2036 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';
2037 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2039 ThreadItem: TThreadItem;
2040 TmpListItem: TListItem;
2044 List := TList.Create;
2046 TmpListItem := GikoForm.ListView.Selected;
2047 while TmpListItem <> nil do begin
2048 if TObject(TmpListItem.Data) is TThreadItem then begin
2049 ThreadItem := TThreadItem(TmpListItem.Data);
2050 if ThreadItem.IsLogFile then
2051 List.Add(ThreadItem);
2053 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2056 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2057 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2058 if List.Count = 1 then begin
2059 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
2062 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
2068 for i := 0 to List.Count - 1 do begin
2069 ThreadItem := TThreadItem(List[i]);
2070 GikoForm.DeleteHistory(ThreadItem);
2071 GikoForm.DeleteTab(ThreadItem);
2072 ThreadItem.DeleteLogFile;
2074 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2075 GikoForm.ListView.Refresh;
2080 // *************************************************************************
2081 //! 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Ê
2082 // *************************************************************************
2083 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2085 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2086 and (GikoForm.ListView.SelCount > 0);
2088 // *************************************************************************
2089 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2090 // *************************************************************************
2091 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2093 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';
2094 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2096 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2097 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2099 GikoSys.Setting.SelectTextList.Clear;
2100 GikoForm.SelectComboBox.Items.Clear;
2101 GikoForm.SelectComboBox.Text := '';
2102 GikoForm.SetListViewType( gvtAll );
2104 // *************************************************************************
2105 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2106 // *************************************************************************
2107 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2109 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';
2110 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2112 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2113 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2115 GikoSys.Setting.NameList.Clear;
2116 ClearNameTextAllEditor
2118 // *************************************************************************
2119 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2120 // *************************************************************************
2121 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2123 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';
2124 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2126 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2127 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2129 GikoSys.Setting.MailList.Clear;
2132 // *************************************************************************
2133 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2134 // *************************************************************************
2135 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2139 // *************************************************************************
2140 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2141 // *************************************************************************
2142 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2144 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2146 // *************************************************************************
2147 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2148 // *************************************************************************
2149 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2151 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2152 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2154 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2157 // *************************************************************************
2158 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2159 // *************************************************************************
2160 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2167 List := TList.Create;
2169 GikoForm.ScreenCursor := crHourGlass;
2170 GikoForm.SelectListItem(List);
2171 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2172 (GikoSys.Setting.ListHeightState = glsMax)) or
2173 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2174 (GikoSys.Setting.ListWidthState = glsMax)) then
2175 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2176 else if(List.Count = 0) then
2177 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2180 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2181 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2183 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2184 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2186 for i := 0 to List.Count - 1 do begin
2187 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2189 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2191 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2193 if SaveDialog.Execute then begin
2195 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2196 PChar(SaveDialog.FileName), true);
2198 html := TStringList.Create;
2199 title := TThreadItem(List[i]).Title;
2201 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2202 html.SaveToFile(SaveDialog.FileName);
2203 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2213 GikoForm.ScreenCursor := crDefault;
2217 // *************************************************************************
2218 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2219 // *************************************************************************
2220 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2222 SelectThreadSaveToFile(false);
2224 // *************************************************************************
2225 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2226 // *************************************************************************
2227 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2229 SelectThreadSaveToFile(true);
2231 // *************************************************************************
2232 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2233 // *************************************************************************
2234 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2236 Filename = 'tab.sav';
2237 bFilename = '~tab.sav';
2239 SaveStringList: TStringList;
2241 SaveStringList := TStringList.Create;
2243 GetTabURLs(SaveStringList);
2245 if FileExists( GikoSys.GetAppDir + Filename) then begin
2246 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2247 PChar(GikoSys.GetAppDir + bFilename), False);
2251 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2253 SaveStringList.Free;
2256 // *************************************************************************
2257 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2258 // *************************************************************************
2259 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2261 rec : TBrowserRecord;
2264 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2266 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2267 if( rec <> nil) and (rec.Thread <> nil) then
2268 AStringList.Add( rec.Thread.URL );
2273 // *************************************************************************
2274 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2275 // *************************************************************************
2276 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2278 GikoTab : TGikoTabAppend;
2282 if (AStringList <> nil) then begin
2283 GikoTab := GikoSys.Setting.BrowserTabAppend;
2285 bound := AStringList.Count - 1;
2286 if bound > -1 then begin
2287 GikoSys.Setting.BrowserTabAppend := gtaLast;
2288 for i := 0 to bound do begin
2289 item := BBSsFindThreadFromURL( AStringList[ i ] );
2291 GikoForm.InsertBrowserTab( item, false );
2293 //
\8dÅ
\8f\89\82Ì
\82P
\96\87\82É
\90Ý
\92è
2294 if (GikoSys.Setting.URLDisplay) and
2295 (GikoForm.BrowserTab.Tabs.Count > 0) then begin
2296 GikoForm.AddressComboBox.Text :=
2297 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[0]).Thread.URL;
2301 GikoSys.Setting.BrowserTabAppend := GikoTab;
2305 // *************************************************************************
2306 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2307 // *************************************************************************
2308 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2310 TABFILE = 'tab.sav';
2315 URLs := TStringList.Create();
2317 fileName := GikoSys.GetAppDir + TABFILE;
2318 if FileExists(fileName) then begin
2320 URLs.LoadFromFile(fileName);
2321 if (URLs.Count = 0) then begin
2322 //
\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
2323 SysUtils.DeleteFile(fileName);
2328 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2335 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2336 (TabsOpenAction.Tag <> 1) then begin
2337 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2340 // *************************************************************************
2341 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2342 // *************************************************************************
2343 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2345 GikoSys.Setting.BeLogin := not GikoSys.Setting.BeLogin;
2347 // *************************************************************************
2348 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
2349 // *************************************************************************
2350 procedure TGikoDM.BeLogInOutActionUpdate(Sender: TObject);
2352 if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
2353 if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
2354 else BeLogInOutAction.Checked := false;
2355 BeLogInOutAction.Enabled := true
2357 BeLogInOutAction.Enabled := false;
2359 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2360 // *************************************************************************
2361 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2362 // *************************************************************************
2363 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2366 ThreadItem: TThreadItem;
2368 No := GikoForm.KokoPopupMenu.Tag;
2371 ThreadItem := GikoForm.KokoPopupThreadItem;
2372 if not Assigned(ThreadItem) then
2374 ThreadItem.Kokomade := No;
2375 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2376 GikoForm.ActiveContent.Repaint := true;
2377 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2378 //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é
2379 //Application.ProcessMessages;
2381 // *************************************************************************
2382 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2383 // *************************************************************************
2384 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2386 ThreadItem: TThreadItem;
2388 ThreadItem := GikoForm.GetActiveContent(True);
2389 if ThreadItem = nil then Exit;
2390 ThreadItem.Kokomade := -1;
2391 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2392 GikoForm.ActiveContent.Repaint := true;
2393 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2394 //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é
2395 //Application.ProcessMessages;
2397 // *************************************************************************
2398 //!
\83R
\83R
\82É
\83\8c\83X
2399 // *************************************************************************
2400 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2402 Editor: TEditorForm;
2406 Number := GikoForm.KokoPopupMenu.Tag;
2407 if Number = 0 then Exit;
2408 Item := GikoForm.KokoPopupThreadItem;
2409 if Item = nil then Exit;
2411 Editor := TEditorForm.Create(GikoForm);
2412 Editor.SetThreadItem(Item);
2413 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2415 Editor.BodyEdit.SetFocus;
2417 // *************************************************************************
2418 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2419 // *************************************************************************
2420 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2422 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2424 // *************************************************************************
2425 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2426 // *************************************************************************
2427 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2431 ThreadItem : TThreadItem;
2435 No := GikoForm.KokoPopupMenu.Tag;
2436 if No = 0 then Exit;
2437 ThreadItem := GikoForm.KokoPopupThreadItem;
2438 if ThreadItem = nil then Exit;
2440 AID := GikoSys.GetResID(No, ThreadItem);
2441 if not IsNoValidID(AID) then begin
2442 GikoForm.ShowSameIDAncher(AID);
2445 // *************************************************************************
2446 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2447 // *************************************************************************
2448 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2450 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2452 // *************************************************************************
2453 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2454 // *************************************************************************
2455 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2457 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2459 // *************************************************************************
2460 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2461 // *************************************************************************
2462 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2464 IndividualForm :TIndividualAbonForm;
2465 ThreadItem : TThreadItem;
2467 ReadList : TStringList;
2468 wordCount : TWordCount;
2470 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2472 ThreadItem := GikoForm.GetActiveContent(True);
2473 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2474 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2475 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2476 ReadList := TStringList.Create;
2477 wordCount := TWordCount.Create;
2479 {$IFDEF SPAM_FILTER_ENABLED}
2480 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2481 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2482 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2483 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2484 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2486 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2487 GikoForm.ActiveContent.Repaint := true;
2488 GikoForm.InsertBrowserTab( ThreadItem, True );
2495 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2496 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2500 IndividualForm.Release;
2503 // *************************************************************************
2504 //!
\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
2505 // *************************************************************************
2506 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2508 IndividualForm :TIndividualAbonForm;
2509 ThreadItem : TThreadItem;
2511 ReadList : TStringList;
2512 wordCount : TWordCount;
2513 {$IFDEF SPAM_FILTER_ENABLED}
2517 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2519 ThreadItem := GikoForm.GetActiveContent(True);
2520 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2521 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2522 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2523 if (IndividualForm.ShowModal = mrOK) then begin
2524 ReadList := TStringList.Create;
2525 wordCount := TWordCount.Create;
2527 {$IFDEF SPAM_FILTER_ENABLED}
2528 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2529 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2530 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2531 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2532 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2533 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2536 if IndividualForm.FRepaint then begin
2537 GikoForm.ActiveContent.Repaint := true;
2538 GikoForm.InsertBrowserTab( ThreadItem, True );
2546 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2547 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2551 IndividualForm.Release;
2554 // *************************************************************************
2555 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2556 // *************************************************************************
2557 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2559 GikoForm.IndividualAbonID(1);
2561 // *************************************************************************
2562 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2563 // *************************************************************************
2564 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2566 GikoForm.IndividualAbonID(0);
2568 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2569 // *************************************************************************
2570 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2571 // *************************************************************************
2572 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2574 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2576 // *************************************************************************
2577 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2578 // *************************************************************************
2579 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2581 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2583 // *************************************************************************
2584 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2585 // *************************************************************************
2586 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2588 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2590 // *************************************************************************
2591 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2592 // *************************************************************************
2593 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2595 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2597 // *************************************************************************
2598 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2599 // *************************************************************************
2600 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2604 Dlg := TAboutDialog.Create(GikoForm);
2611 // *************************************************************************
2612 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2613 // *************************************************************************
2614 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2618 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2619 if not FileExists(FileName) then begin
2622 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2623 '
\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 +
2624 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2629 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2631 // *************************************************************************
2632 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2633 // *************************************************************************
2634 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2636 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2638 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2639 // *************************************************************************
2640 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2641 // *************************************************************************
2642 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2644 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2645 GikoForm.ListView.Refresh;
2647 // *************************************************************************
2648 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2649 // *************************************************************************
2650 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2652 if GikoForm.GetActiveList is TBoard then begin
2653 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2654 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2655 end else if GikoForm.GetActiveList is TCategory then begin
2656 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2659 // *************************************************************************
2660 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2661 // *************************************************************************
2662 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2664 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS) and
2665 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
2667 // *************************************************************************
2668 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2669 // *************************************************************************
2670 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2672 case GikoForm.ListView.ViewStyle of
2673 vsIcon: SmallIconAction.Execute;
2674 vsSmallIcon: ListIconAction.Execute;
2675 vsList: DetailIconAction.Execute;
2676 vsReport: LargeIconAction.Execute;
2679 // *************************************************************************
2680 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2681 // *************************************************************************
2682 procedure TGikoDM.ClearSelectComboBox;
2684 if GikoForm.SelectComboBoxPanel.Visible then begin
2685 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2686 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2687 GikoForm.ListView.SetFocus;
2690 // *************************************************************************
2691 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2692 // *************************************************************************
2693 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2696 if GikoForm.ViewType <> gvtAll then
2697 GikoForm.SetListViewType(gvtAll);
2698 GikoSys.Setting.ThreadRange := gtrAll;
2699 AllItemAction.Checked := True;
2700 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2701 GikoForm.ModifySelectList;
2702 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2703 ClearSelectComboBox;
2707 // *************************************************************************
2708 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2709 // *************************************************************************
2710 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2713 if GikoForm.ViewType <> gvtLog then
2714 GikoForm.SetListViewType(gvtLog);
2715 GikoSys.Setting.ThreadRange := gtrLog;
2716 LogItemAction.Checked := True;
2717 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2718 GikoForm.ModifySelectList;
2719 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2720 ClearSelectComboBox;
2724 // *************************************************************************
2725 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2726 // *************************************************************************
2727 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2731 if GikoForm.ViewType <> gvtNew then
2732 GikoForm.SetListViewType(gvtNew);
2733 GikoSys.Setting.ThreadRange := gtrNew;
2734 NewItemAction.Checked := True;
2735 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2736 GikoForm.ModifySelectList;
2737 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2738 ClearSelectComboBox;
2742 // *************************************************************************
2743 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2744 // *************************************************************************
2745 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2748 if GikoForm.ViewType <> gvtArch then
2749 GikoForm.SetListViewType(gvtArch);
2750 GikoSys.Setting.ThreadRange := gtrArch;
2751 ArchiveItemAction.Checked := True;
2752 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2753 GikoForm.ModifySelectList;
2754 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2755 ClearSelectComboBox;
2759 // *************************************************************************
2760 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2761 // *************************************************************************
2762 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2765 if GikoForm.ViewType <> gvtLive then
2766 GikoForm.SetListViewType(gvtLive);
2767 GikoSys.Setting.ThreadRange := gtrLive;
2768 LiveItemAction.Checked := True;
2769 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2770 GikoForm.ModifySelectList;
2771 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2772 ClearSelectComboBox;
2777 // *************************************************************************
2778 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2779 // *************************************************************************
2780 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2782 case GikoSys.Setting.ThreadRange of
2783 gtrAll: AllItemAction.Execute;
2784 gtrLog: LogItemAction.Execute;
2785 gtrNew: NewItemAction.Execute;
2786 gtrArch: ArchiveItemAction.Execute;
2787 gtrLive: LiveItemAction.Execute;
2790 // *************************************************************************
2791 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2792 // *************************************************************************
2793 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2796 Dlg: TListSelectDialog;
2799 if GikoForm.SelectComboBoxPanel.Visible then begin
2800 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2801 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2802 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2803 if GikoSys.Setting.ListWidthState = glsMax then
2804 BrowserMinAction.Execute;
2806 if GikoSys.Setting.ListHeightState = glsMax then
2807 BrowserMinAction.Execute;
2809 GikoForm.SelectComboBox.SetFocus;
2816 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2817 GikoForm.SelectComboBox.Text := '';
2818 GikoForm.SelectComboBox.Color := clWindow;
2821 AllItemAction.Checked := False;
2822 LogItemAction.Checked := False;
2823 NewItemAction.Checked := False;
2824 //SelectItemAction.Checked := True;
2825 GikoForm.ModifySelectList;
2826 Dlg := TListSelectDialog.Create(GikoForm);
2828 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2829 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2831 if Dlg.ModalResult = mrCancel then begin
2832 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2833 AllItemAction.Checked := True;
2834 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2835 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2838 if GikoForm.GetActiveList is TBoard then
2839 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2841 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2843 GikoSys.Setting.SelectTextList.Delete(idx);
2844 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2845 while Dlg.SelectComboBox.Items.Count > 100 do begin
2846 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2849 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2850 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2851 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2853 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2854 GikoForm.SelectComboBox.Color := clWindow;
2856 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2862 // *************************************************************************
2863 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2864 // *************************************************************************
2865 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2867 Editor: TEditorForm;
2869 if not (GikoForm.GetActiveList is TBoard) then
2871 Editor := TEditorForm.Create(GikoForm);
2872 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2874 Editor.BodyEdit.SetFocus;
2876 // *************************************************************************
2877 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2878 // *************************************************************************
2879 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2883 if GikoForm.GetActiveList is TBoard then begin
2884 URL := TBoard(GikoForm.GetActiveList).URL;
2885 GikoSys.OpenBrowser(URL, gbtAuto);
2888 // *************************************************************************
2889 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2890 // *************************************************************************
2891 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2898 List := TList.Create;
2900 GikoForm.SelectListItem(List);
2901 for i := 0 to List.Count - 1 do begin
2902 if TObject(List[i]) is TBoard then
2903 s := s + TBoard(List[i]).URL + #13#10
2904 else if TObject(List[i]) is TThreadItem then
2905 s := s + TThreadItem(List[i]).URL + #13#10;
2908 Clipboard.AsText := s;
2913 // *************************************************************************
2914 //!
\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
2915 // *************************************************************************
2916 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2918 if ((GikoForm.GetActiveList is TBoard) or
2919 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2920 TAction(Sender).Enabled := True
2922 TAction(Sender).Enabled := False;
2924 // *************************************************************************
2925 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2926 // *************************************************************************
2927 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2934 List := TList.Create;
2936 GikoForm.SelectListItem(List);
2937 for i := 0 to List.Count - 1 do begin
2938 if TObject(List[i]) is TCategory then
2939 s := s + TCategory(List[i]).Title + #13#10
2940 else if TObject(List[i]) is TBoard then
2941 s := s + TBoard(List[i]).Title + #13#10
2942 else if TObject(List[i]) is TThreadItem then
2943 s := s + TThreadItem(List[i]).Title + #13#10;
2946 Clipboard.AsText := s;
2951 // *************************************************************************
2952 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2953 // *************************************************************************
2954 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2956 if ((GikoForm.GetActiveList is TBBS) or
2957 (GikoForm.GetActiveList is TBoard) or
2958 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2959 TAction(Sender).Enabled := True
2961 TAction(Sender).Enabled := False;
2963 // *************************************************************************
2964 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2965 // *************************************************************************
2966 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2973 List := TList.Create;
2975 GikoForm.SelectListItem(List);
2976 for i := 0 to List.Count - 1 do begin
2977 if TObject(List[i]) is TBoard then
2978 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2979 else if TObject(List[i]) is TThreadItem then
2980 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
2983 Clipboard.AsText := s;
2988 // *************************************************************************
2989 //!
\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é
2990 // *************************************************************************
2991 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
2998 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2999 GikoForm.ActiveListColumnSave;
3000 if GikoForm.GetActiveList is TCategory then begin
3001 List := TList.Create;
3003 GikoForm.SelectListItem(List);
3004 if List.Count > 5 then begin
3005 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3006 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3007 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3010 for i := 0 to List.Count - 1 do begin
3011 if TObject(List[i]) is TBoard then
3012 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
3017 end else if GikoForm.GetActiveList is TBoard then begin
3018 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
3021 // *************************************************************************
3022 //!
\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
3023 // *************************************************************************
3024 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
3026 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3027 TAction(Sender).Enabled := True
3028 else if GikoForm.GetActiveList is TBoard then begin
3029 TAction(Sender).Enabled :=
3030 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
3032 TAction(Sender).Enabled := False;
3034 // *************************************************************************
3035 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3036 // *************************************************************************
3037 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3044 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3045 List := TList.Create;
3047 GikoForm.SelectListItem(List);
3048 if List.Count > 10 then begin
3049 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3050 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3051 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3054 for i := 0 to List.Count - 1 do begin
3055 if TObject(List[i]) is TThreadItem then
3056 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3062 // *************************************************************************
3063 //!
\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
3064 // *************************************************************************
3065 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3067 TAction(Sender).Enabled :=
3068 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3070 // *************************************************************************
3071 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3072 // *************************************************************************
3073 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3075 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3076 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3078 // *************************************************************************
3079 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3080 // *************************************************************************
3081 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3086 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3087 List := TList.Create;
3089 GikoForm.SelectListItem(List);
3090 for i := 0 to List.Count - 1 do begin
3091 if TObject(List[i]) is TThreadItem then begin
3092 if TThreadItem(List[i]).IsLogFile then begin
3093 SelectReservAction.Enabled := True;
3098 SelectReservAction.Enabled := False;
3102 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3103 SelectReservAction.Enabled := True
3105 SelectReservAction.Enabled := False;
3107 // *************************************************************************
3108 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3109 // *************************************************************************
3110 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3113 Dlg: TRoundNameDialog;
3117 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3118 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3121 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3122 cnt := RoundList.Count[grtBoard];
3123 cnt := cnt + RoundList.Count[grtItem];
3124 if cnt > 500 then begin
3125 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3129 Dlg := TRoundNameDialog.Create(GikoForm);
3132 if Dlg.ModalResult <> mrCancel then begin
3133 s := Trim(Dlg.RoundNameEdit.Text);
3134 if (Sender is TMenuItem) then begin
3135 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3136 end else if (Sender is TAction) then begin
3137 if (GikoForm.ListView.Selected <> nil) then begin
3138 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3139 GikoForm.SetSelectItemRound(True, s,
3140 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3141 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3142 GikoForm.SetSelectItemRound(True, s,
3143 TBoard(GikoForm.ListView.Selected.Data).Title);
3147 GikoForm.ListView.Refresh;
3153 // *************************************************************************
3154 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3155 // *************************************************************************
3156 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3160 if (Sender is TMenuItem) then begin
3162 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3165 end else if (Sender is TAction) then begin
3167 if GikoForm.ListView.Selected <> nil then begin
3168 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3169 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3170 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3171 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3173 GikoForm.SetSelectItemRound(False, '', s);
3179 GikoForm.ListView.Refresh;
3181 // *************************************************************************
3182 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3183 // *************************************************************************
3184 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3186 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3187 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3189 // *************************************************************************
3190 //!
\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
3191 // *************************************************************************
3192 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3194 BoardFavoriteAddAction.Enabled :=
3195 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3197 // *************************************************************************
3198 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3199 // *************************************************************************
3200 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3204 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3205 (GikoSys.Setting.ListHeightState = glsMax)) or
3206 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3207 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3208 if(GikoForm.GetActiveContent <> nil) then begin
3209 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3211 end else if GikoForm.GetActiveList is TCategory then begin
3212 List := TList.Create;
3214 GikoForm.SelectListItem(List);
3215 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3219 end else if GikoForm.GetActiveList is TBoard then begin
3220 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3224 // *************************************************************************
3225 //! 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Ê
3226 // *************************************************************************
3227 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3229 if (((GikoForm.GetActiveList is TBoard) and
3230 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard))
3231 or (GikoForm.GetActiveList is TCategory))
3232 and (GikoForm.ListView.SelCount > 0) then
3233 TAction(Sender).Enabled := True
3235 TAction(Sender).Enabled := False;
3237 // *************************************************************************
3238 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3239 // *************************************************************************
3240 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3242 RefURL, URL : string;
3246 if GikoForm.GetActiveList is TCategory then begin
3247 List := TList.Create;
3249 GikoForm.SelectListItem(List);
3250 RefURL := TBoard(List[0]).URL;
3254 end else if GikoForm.GetActiveList is TBoard then begin
3255 RefURL := TBoard(GikoForm.GetActiveList).URL
3257 if RefURL <> '' then begin
3258 if RefURL[Length(RefURL)] <> '/' then
3259 URL := RefURL + '/' + 'head.txt'
3261 URL := RefURL + 'head.txt';
3263 GikoForm.MoveToURL(URL);
3265 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3269 // *************************************************************************
3270 //!
\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é
3271 // *************************************************************************
3272 function TGikoDM.GetSortProperties(List: TObject;
3273 var vSortOrder: Boolean): Boolean;
3276 if (List <> nil) then begin
3277 if (List is TBBS) then begin
3278 vSortOrder := GikoSys.Setting.BBSSortOrder;
3279 end else if (List is TCategory) then begin
3280 vSortOrder := GikoSys.Setting.CategorySortOrder;
3281 end else if (List is TBoard) then begin
3282 vSortOrder := GikoSys.Setting.BoardSortOrder;
3290 // *************************************************************************
3291 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3292 // *************************************************************************
3293 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3298 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3299 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3300 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3301 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3303 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3304 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3311 // *************************************************************************
3312 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3313 // *************************************************************************
3314 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3318 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3319 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3320 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3322 if id > GikoForm.ListView.Columns.Count - 1 then
3324 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3325 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3331 // *************************************************************************
3332 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3333 // *************************************************************************
3334 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3338 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3339 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3340 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3343 id := GikoForm.ListView.Columns.Count - 1;
3344 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3345 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3351 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3352 // *************************************************************************
3353 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3354 // *************************************************************************
3355 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3357 CoolBand: TCoolBand;
3359 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3360 if CoolBand = nil then
3362 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3363 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3364 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3366 // *************************************************************************
3367 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3368 // *************************************************************************
3369 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3371 CoolBand: TCoolBand;
3373 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3374 if CoolBand = nil then
3376 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3377 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3378 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3380 // *************************************************************************
3381 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3382 // *************************************************************************
3383 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3385 CoolBand: TCoolBand;
3387 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3388 if CoolBand = nil then
3390 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3391 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3392 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3394 // *************************************************************************
3395 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3396 // *************************************************************************
3397 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3399 CoolBand: TCoolBand;
3401 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3402 if CoolBand = nil then
3404 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3405 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3407 // *************************************************************************
3408 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3409 // *************************************************************************
3410 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3412 CoolBand: TCoolBand;
3414 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3415 if CoolBand = nil then
3417 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3418 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3420 // *************************************************************************
3421 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3422 // *************************************************************************
3423 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3425 CoolBand: TCoolBand;
3427 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3428 if CoolBand = nil then
3430 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3431 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3433 // *************************************************************************
3434 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3435 // *************************************************************************
3436 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3438 CoolBand: TCoolBand;
3440 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3441 if CoolBand = nil then
3443 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3444 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3446 // *************************************************************************
3447 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3448 // *************************************************************************
3449 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3451 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3452 GikoForm.MessagePanel.Top :=
3453 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3454 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3455 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3456 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3458 // *************************************************************************
3459 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3460 // *************************************************************************
3461 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3463 MsgBarVisibleAction.Execute;
3465 // *************************************************************************
3466 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3467 // *************************************************************************
3468 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3470 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3471 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3473 // *************************************************************************
3474 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3475 // *************************************************************************
3476 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3479 if GikoForm.CabinetPanel.Visible then begin
3480 if GikoForm.TreeType = gtt2ch then begin
3481 GikoForm.CabinetVisible( False );
3483 CabinetBBSAction.Checked := False;
3485 CabinetBBSAction.Checked := True;
3488 GikoForm.CabinetVisible( True );
3489 CabinetBBSAction.Checked := True;
3492 if GikoForm.ActiveBBS = nil then
3493 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3495 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3498 // *************************************************************************
3499 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3500 // *************************************************************************
3501 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3503 GikoForm.ShowHistoryTree;
3505 // *************************************************************************
3506 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3507 // *************************************************************************
3508 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3514 if GikoForm.CabinetPanel.Visible then begin
3515 if GikoForm.TreeType = gttFavorite then begin
3516 GikoForm.CabinetVisible( False );
3517 CabinetFavoriteAction.Checked := False;
3519 CabinetFavoriteAction.Checked := True;
3522 GikoForm.CabinetVisible( True );
3523 CabinetFavoriteAction.Checked := True;
3526 // BBS...BBS, History, Favorite
3527 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3529 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3530 for i := 0 to b do begin
3531 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3532 if item is TBBSMenuItem then begin
3533 item.Checked := False;
3534 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3535 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3539 //
\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Ö
3540 GikoForm.HistoryToolBar.Hide;
3541 GikoForm.FavoriteToolBar.Show;
3542 GikoForm.TreeView.Visible := False;
3543 GikoForm.FavoriteTreeView.Visible := True;
3545 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3546 GikoForm.TreeType := gttFavorite;
3548 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3549 CabinetBBSAction.Checked := False;
3550 CabinetHistoryAction.Checked := False;
3552 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3553 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3556 // *************************************************************************
3557 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3558 // *************************************************************************
3559 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3561 case GikoForm.TreeType of
3562 gttHistory: CabinetHistoryAction.Execute;
3563 gttFavorite: CabinetFavoriteAction.Execute;
3565 CabinetBBSAction.Execute;
3568 // *************************************************************************
3569 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3570 // *************************************************************************
3571 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3573 //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ã
3575 // *************************************************************************
3576 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3577 // *************************************************************************
3578 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3580 GikoForm.ListView.ViewStyle := vsIcon;
3581 LargeIconAction.Checked := True;
3583 // *************************************************************************
3584 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3585 // *************************************************************************
3586 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3588 GikoForm.ListView.ViewStyle := vsSmallIcon;
3589 SmallIconAction.Checked := True;
3591 // *************************************************************************
3592 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3593 // *************************************************************************
3594 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3596 GikoForm.ListView.ViewStyle := vsList;
3597 ListIconAction.Checked := True;
3599 // *************************************************************************
3600 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3601 // *************************************************************************
3602 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3604 GikoForm.ListView.ViewStyle := vsReport;
3605 DetailIconAction.Checked := True;
3607 // *************************************************************************
3608 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3609 // *************************************************************************
3610 procedure TGikoDM.StopActionExecute(Sender: TObject);
3612 GikoForm.FControlThread.DownloadAbort;
3613 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3615 GikoForm.Animate.Active := False;
3618 GikoForm.ScreenCursor := crDefault;
3620 // *************************************************************************
3621 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3622 // *************************************************************************
3623 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3625 if ArrangeAction.Checked then begin
3627 GikoForm.ViewPanel.Align := alNone;
3628 GikoForm.ListSplitter.Align := alNone;
3629 GikoForm.ThreadPanel.Align := alNone;
3631 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3632 GikoForm.ViewPanel.Align := alLeft;
3634 GikoForm.ListSplitter.Width := 5;
3635 GikoForm.ListSplitter.Align := alLeft;
3637 GikoForm.ViewPanel.Left := -10;
3639 GikoForm.ThreadPanel.Align := alClient;
3641 GikoSys.Setting.ListOrientation := gloHorizontal;
3642 case GikoSys.Setting.ListWidthState of
3644 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3645 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3646 GikoForm.ViewPanel.Width := 1;
3649 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3650 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3653 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3654 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3655 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3660 GikoForm.ViewPanel.Align := alNone;
3661 GikoForm.ListSplitter.Align := alNone;
3662 GikoForm.ThreadPanel.Align := alNone;
3664 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3665 GikoForm.ViewPanel.Align := alTop;
3667 GikoForm.ListSplitter.Height := 5;
3668 GikoForm.ListSplitter.Align := alTop;
3670 GikoForm.ViewPanel.Top := -10;
3672 GikoForm.ThreadPanel.Align := alClient;
3673 GikoSys.Setting.ListOrientation := gloVertical;
3674 case GikoSys.Setting.ListHeightState of
3676 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3677 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3678 GikoForm.ViewPanel.Height := 1;
3681 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3682 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3685 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3686 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3687 GikoForm.ViewPanel.Height :=
3688 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3693 // *************************************************************************
3694 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3695 // *************************************************************************
3696 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3698 GikoForm.CabinetPanel.Width := 150;
3699 GikoForm.MessagePanel.Height := 40;
3701 GikoForm.BrowserSizeWidth := 200;
3702 GikoForm.BrowserSizeHeight := 200;
3703 if ArrangeAction.Checked then begin
3704 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3706 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3708 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3709 if GikoSys.Setting.ListHeightState = glsMax then begin
3710 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3711 GikoSys.Setting.ListHeightState := glsNormal;
3714 if GikoSys.Setting.ListWidthState = glsMax then begin
3715 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3716 GikoSys.Setting.ListWidthState := glsNormal;
3720 // *************************************************************************
3721 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3722 // *************************************************************************
3723 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3725 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3726 GikoForm.SetBrowserTabState;
3728 // *************************************************************************
3729 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3730 // *************************************************************************
3731 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3733 BrowserTabBottomAction.Checked := False;
3734 BrowserTabTopAction.Checked := True;
3735 GikoSys.Setting.BrowserTabPosition := gtpTop;
3736 GikoForm.SetBrowserTabState;
3738 // *************************************************************************
3739 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3740 // *************************************************************************
3741 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3743 BrowserTabTopAction.Checked := False;
3744 BrowserTabBottomAction.Checked := True;
3745 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3746 GikoForm.SetBrowserTabState;
3748 // *************************************************************************
3749 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3750 // *************************************************************************
3751 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3753 BrowserTabButtonStyleAction.Checked := False;
3754 BrowserTabFlatStyleAction.Checked := False;
3755 BrowserTabTabStyleAction.Checked := True;
3756 GikoSys.Setting.BrowserTabStyle := gtsTab;
3757 GikoForm.SetBrowserTabState;
3759 // *************************************************************************
3760 //!
\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é
3761 // *************************************************************************
3762 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3764 BrowserTabTabStyleAction.Checked := False;
3765 BrowserTabFlatStyleAction.Checked := False;
3766 BrowserTabButtonStyleAction.Checked := True;
3767 GikoSys.Setting.BrowserTabStyle := gtsButton;
3768 GikoForm.SetBrowserTabState;
3770 // *************************************************************************
3771 //!
\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é
3772 // *************************************************************************
3773 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3775 BrowserTabFlatStyleAction.Checked := True;
3776 BrowserTabTabStyleAction.Checked := False;
3777 BrowserTabButtonStyleAction.Checked := False;
3778 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3779 GikoForm.SetBrowserTabState;
3781 // *************************************************************************
3782 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3783 // *************************************************************************
3784 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3786 GikoForm.ActiveContent.Browser.SetFocus;
3788 // *************************************************************************
3789 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3790 // *************************************************************************
3791 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3793 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3794 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3795 TAction(Sender).Enabled := true
3797 TAction(Sender).Enabled := false;
3799 // *************************************************************************
3800 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3801 // *************************************************************************
3802 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3804 if GikoForm.ActiveContent <> nil then
3805 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3806 GikoForm.ListView.SetFocus;
3808 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3809 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é
3811 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3812 if (GikoForm.ListView.ItemFocused <> nil) then begin
3813 GikoForm.ListView.ItemFocused.MakeVisible(False);
3816 // *************************************************************************
3817 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3818 // *************************************************************************
3819 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3821 if GikoForm.ActiveContent <> nil then
3822 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3823 if GikoForm.TreeView.Visible then begin
3824 GikoForm.TreeView.SetFocus;
3825 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3826 GikoForm.TreeView.Items.Item[0].Selected := true;
3827 end else if GikoForm.FavoriteTreeView.Visible then begin
3828 GikoForm.FavoriteTreeView.SetFocus;
3829 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3830 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3833 // *************************************************************************
3834 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3835 // *************************************************************************
3836 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3838 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3840 // *************************************************************************
3841 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3842 // *************************************************************************
3843 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3845 BrowserMinAction.Execute;
3846 SetFocusForThreadListAction.Execute;
3848 // *************************************************************************
3849 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3850 // *************************************************************************
3851 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3853 BrowserMaxAction.Execute;
3854 SetFocusForBrowserAction.Execute;
3856 // *************************************************************************
3857 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3858 // *************************************************************************
3859 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3861 if GikoForm.ListView.Selected <> nil then begin
3862 GikoForm.ListView.Selected.Focused := True;
3863 GikoForm.ListView.Selected := nil;
3866 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3867 // *************************************************************************
3868 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3869 // *************************************************************************
3870 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3872 SetThreadReadProperty(true);
3874 // *************************************************************************
3875 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3876 // *************************************************************************
3877 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3879 SetThreadReadProperty(false);
3881 // *************************************************************************
3882 //!
\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Ç
3883 // *************************************************************************
3884 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3889 List := TList.Create;
3891 GikoForm.SelectListItem(List);
3892 for i := 0 to List.Count - 1 do begin
3893 if TObject(List[i]) is TThreadItem then begin
3894 if (TThreadItem(List[i]).IsLogFile) then begin
3895 TThreadItem(List[i]).UnRead := not read;
3899 if GikoForm.TreeView.Visible then
3900 GikoForm.TreeView.Refresh;
3901 if GikoForm.ListView.Visible then
3902 GikoForm.ListView.Refresh;
3907 // *************************************************************************
3908 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3909 // *************************************************************************
3910 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3912 GikoForm.ListViewAllSelect;
3914 // *************************************************************************
3915 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3916 // *************************************************************************
3917 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3919 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3921 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3922 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3923 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3925 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 +
3926 '
\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' +
3927 '
\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';
3928 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3931 limitSize : Integer;
3934 {
\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Í
3935 \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
3936 \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õ
3937 è
\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
3938 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3940 if MsgBox(GikoForm.Handle, RECALC_MES,
3941 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3942 //è
\87\92l
\82Ì
\8am
\94F
3943 limitSize := LIMIT_SIZE;
3944 limitStr := IntToStr(limitSize);
3945 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
3946 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3947 if (limitSize < 0) then begin
3948 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3949 ThreadSizeCalcForFileActionExecute(nil);
3951 RecalcThreadSize(limitSize);
3956 //! 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
3957 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3959 i, j, tmpSize : Integer;
3962 Thread: TThreadItem;
3965 //
\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
3966 GikoForm.ScreenCursor := crHourGlass;
3968 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3969 for i := 0 to BoardGroups[0].Count - 1 do begin
3970 Obj := BoardGroups[0].Objects[i];
3971 if (Obj <> nil) then begin
3972 Board := TBoard(Obj);
3973 if not Board.IsThreadDatRead then begin
3974 GikoSys.ReadSubjectFile(Board);
3976 for j := 0 to Board.Count - 1 do begin
3977 Thread := Board.Items[j];
3978 if (Thread <> nil) and (Thread.IsLogFile)
3979 and (Thread.Size <= limit) then begin
3980 dat := TStringList.Create;
3982 tmpSize := Thread.Size;
3984 dat.LoadFromFile(Thread.GetThreadFileName);
3985 tmpSize := Length(dat.Text);
3986 tmpSize := tmpSize - dat.Count;
3989 Thread.Size := tmpSize;
3996 GikoForm.ProgressBar.StepBy(1);
3999 GikoForm.ScreenCursor := crDefault;
4001 GikoForm.ProgressBar.Position := 0;
4002 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
4004 // *************************************************************************
4005 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
4006 // *************************************************************************
4007 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
4009 form : TInputAssistForm;
4011 form := TInputAssistForm.Create(GikoForm);
4019 // *************************************************************************
4020 //!
\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é
4021 // *************************************************************************
4022 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
4024 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
4025 GikoForm.ActiveContent.OpenFindDialog;
4029 // *************************************************************************
4030 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
4031 // *************************************************************************
4032 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
4035 if GikoForm.ClickNode = nil then Exit;
4038 GikoForm.ClickNode.Text + #13#10;
4041 // *************************************************************************
4042 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4043 // *************************************************************************
4044 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4048 if ( EditorFormExists ) then begin
4049 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4050 for i := Screen.CustomFormCount - 1 downto 0 do begin
4051 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4052 TEditorForm(Screen.CustomForms[i]).Close;
4057 // *************************************************************************
4058 //!
\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é
4059 // *************************************************************************
4060 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4062 if (Sender is TAction) then begin
4063 TAction(Sender).Enabled := EditorFormExists;
4066 // *************************************************************************
4067 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4068 // *************************************************************************
4069 function TGikoDM.EditorFormExists(): boolean;
4074 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4075 for i := Screen.CustomFormCount - 1 downto 0 do begin
4076 if (Screen.CustomForms[i] is TEditorForm) then begin
4083 // *************************************************************************
4084 //!
\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é
4085 // *************************************************************************
4086 procedure TGikoDM.ClearNameTextAllEditor();
4090 for i := 0 to Screen.CustomFormCount - 1 do begin
4091 if (Screen.CustomForms[i] is TEditorForm) then begin
4092 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4096 // *************************************************************************
4097 //!
\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é
4098 // *************************************************************************
4099 procedure TGikoDM.ClearMailAllEditor();
4103 for i := 0 to Screen.CustomFormCount - 1 do begin
4104 if TObject(Screen.CustomForms[i]) is TEditorForm then
4105 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4109 // *************************************************************************
4110 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4111 // *************************************************************************
4112 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4114 PrevMoveHistory.Enabled :=
4115 (MoveHisotryManager.HisotryIndex > 0)
4117 // *************************************************************************
4118 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4119 // *************************************************************************
4120 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4122 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4123 BackToHistory(MoveHisotryManager.getPrevItem
4124 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4125 .Objects[GikoForm.BrowserTab.TabIndex])));
4127 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4130 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4131 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4133 browser : TWebBrowser;
4134 doc : IHTMLDocument2;
4136 if ( item <> nil ) then begin
4137 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4138 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4139 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4140 if (browser <> nil) then begin
4142 doc := browser.ControlInterface.Document as IHTMLDocument2;
4143 (doc.body as IHTMLElement2).ScrollTop := item.ScrollTop;
4149 MoveURLWithHistory(item.ThreadItem.URL, True);
4153 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4154 procedure TGikoDM.MoveURLWithHistory(URL : String; KeyMask: Boolean = False);
4159 GikoForm.MoveToURL(URL, KeyMask);
4160 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4161 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4162 if idx = -1 then begin
4163 GikoForm.AddressComboBox.Items.Insert(0, URL);
4164 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4165 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4167 GikoForm.AddressComboBox.Items.Delete(idx);
4168 GikoForm.AddressComboBox.Items.Insert(0, URL);
4171 // *************************************************************************
4172 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4173 // *************************************************************************
4174 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4176 NextMoveHistory.Enabled :=
4177 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4179 // *************************************************************************
4180 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4181 // *************************************************************************
4182 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4184 BackToHistory(MoveHisotryManager.getNextItem);
4186 // *************************************************************************
4187 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4188 // *************************************************************************
4189 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4191 browser : TWebBrowser;
4192 elem : IHTMLElement;
4193 doc : IHTMLDocument2;
4195 if (GikoForm.GetActiveContent <> nil) then begin
4196 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4197 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4198 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4199 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4200 if (browser <> nil) then begin
4202 doc := browser.ControlInterface.Document as IHTMLDocument2;
4203 if Assigned(doc) then begin
4204 elem := doc.activeElement;
4205 if Assigned(elem) then begin
4216 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4217 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4219 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4220 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4222 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4223 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4225 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4226 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4228 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4229 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4231 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4232 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4234 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4235 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4237 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4238 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4240 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4241 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4243 GikoForm.StoredTaskTray;
4244 StoredTaskTrayAction.Tag := -1;
4248 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4249 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4251 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4253 links : IHTMLElementCollection;
4254 urls, exts : TStringList;
4256 links := GetActiveThreadLinks;
4257 if (links <> nil) then begin
4258 urls := TStringList.Create;
4259 exts := TStringList.Create;
4261 exts.CaseSensitive := False;
4262 exts.Sorted := True;
4263 exts.Delimiter := ';';
4264 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4265 GetLinkURLs(links, urls, 0, exts);
4266 Clipboard.SetTextBuf(urls.GetText);
4275 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4276 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4278 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4280 links : IHTMLElementCollection;
4281 urls, exts : TStringList;
4282 ThreadItem : TThreadItem;
4284 ThreadItem := GikoForm.GetActiveContent;
4285 links := GetActiveThreadLinks;
4286 if (ThreadItem <> nil) and (links <> nil) then begin
4287 urls := TStringList.Create;
4288 exts := TStringList.Create;
4290 exts.CaseSensitive := False;
4291 exts.Sorted := True;
4292 exts.Delimiter := ';';
4293 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4295 GetLinkURLs(links, urls,
4296 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4297 Clipboard.SetTextBuf(urls.GetText);
4305 \breif
\83\8a\83\93\83NURL
\8eæ
\93¾
4306 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4308 procedure TGikoDM.AllLinkToClipboardActionExecute(Sender: TObject);
4310 links : IHTMLElementCollection;
4311 urls, exts : TStringList;
4313 links := GetActiveThreadLinks;
4314 if (links <> nil) then begin
4315 urls := TStringList.Create;
4316 exts := TStringList.Create;
4318 exts.CaseSensitive := False;
4319 exts.Sorted := True;
4320 exts.Delimiter := ';';
4321 exts.DelimitedText :=
4322 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4323 GetLinkURLs(links, urls, 0, exts);
4324 Clipboard.SetTextBuf(urls.GetText);
4332 \breif
\90V
\92\85\83\8c\83X
\83\8a\83\93\83NURL
\8eæ
\93¾
4333 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4335 procedure TGikoDM.NewLinkToClipboardActionExecute(Sender: TObject);
4337 links : IHTMLElementCollection;
4338 urls, exts : TStringList;
4339 ThreadItem : TThreadItem;
4341 ThreadItem := GikoForm.GetActiveContent;
4342 links := GetActiveThreadLinks;
4343 if (ThreadItem <> nil) and (links <> nil) then begin
4344 urls := TStringList.Create;
4345 exts := TStringList.Create;
4347 exts.CaseSensitive := False;
4348 exts.Sorted := True;
4349 exts.Delimiter := ';';
4350 exts.DelimitedText :=
4351 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4352 GetLinkURLs(links, urls,
4353 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4354 Clipboard.SetTextBuf(urls.GetText);
4363 \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
4364 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4366 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4368 browser : TWebBrowser;
4369 doc : IHTMLDocument2;
4372 if (GikoForm.GetActiveContent <> nil) then begin
4373 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4374 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4375 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4376 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4377 if (browser <> nil) then begin
4379 doc := browser.ControlInterface.Document as IHTMLDocument2;
4380 if Assigned(doc) then begin
4381 Result := doc.links;
4392 \brief
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4393 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4394 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4395 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4396 \param Exts
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\8ag
\92£
\8eq
4398 procedure TGikoDM.GetLinkURLs(links : IHTMLElementCollection;
4399 URLs : TStringList; const Start: Integer; Exts : TStringList);
4401 index ,i, j : Integer;
4402 item : IHTMLElement;
4405 if (links <> nil) then begin
4407 for i := 0 to links.length - 1 do begin
4408 item := links.item(i, 0) as IHTMLElement;
4409 if (item <> nil) then begin
4410 url := item.getAttribute('href', 0);
4411 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4412 if (Pos('menu:', url) > 0) then begin
4413 index := StrToInt64Def(
4414 Copy(url, 6, Length(url)), index + 1
4417 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4418 if (index >= Start) then begin
4419 ext := ExtractFileExt( AnsiLowerCase(url) );
4420 //
\8ag
\92£
\8eq
\82ð
\83`
\83F
\83b
\83N
4421 if Exts.Find(ext, j) then begin
4431 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4432 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4434 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4436 if ( GikoForm.AddressToolBar.Visible ) then begin
4437 GikoForm.AddressComboBox.SetFocus;
4441 \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é
4443 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4445 form : TNewBoardURLForm;
4448 if (EditorFormExists) then begin
4449 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4450 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4453 form := TNewBoardURLForm.Create(Self);
4460 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4461 procedure TGikoDM.ScrollPageDownActionExecute(Sender: TObject);
4463 GikoForm.BrowserMovement(GikoForm.BrowserPanel.Height);
4465 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4466 procedure TGikoDM.ScrollPageUpActionExecute(Sender: TObject);
4468 GikoForm.BrowserMovement(-GikoForm.BrowserPanel.Height);
4472 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
\81i
\93§
\96¾)
4473 procedure TGikoDM.AddIDtoNGWord0ActionExecute(Sender: TObject);
4475 GikoForm.AddIDtoNGWord(true);
4477 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
4478 procedure TGikoDM.AddIDtoNGWord1ActionExecute(Sender: TObject);
4480 GikoForm.AddIDtoNGWord(false);
4482 //!
\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¦
4483 procedure TGikoDM.ExtractSameIDActionExecute(Sender: TObject);
4487 ID := Trim(Clipboard.AsText);
4488 if (Length(ID) > 0) then begin
4489 if not IsNoValidID(ID) then begin
4490 GikoForm.ShowSameIDAncher(ID);
4494 //!
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82·
\82é
4495 procedure TGikoDM.ShowTabListActionExecute(Sender: TObject);
4499 GikoForm.ListView.Items.BeginUpdate;
4500 GikoForm.ListView.Items.Clear;
4501 BoardGroup.SpecialBoard.Clear;
4502 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
4503 BoardGroup.SpecialBoard.Add(
4504 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Thread);
4506 GikoForm.ListView.Items.EndUpdate;
4507 GikoForm.SetActiveList(BoardGroup.SpecialBoard);
4509 //!
\8bt
\8eQ
\8fÆ
\82µ
\82Ä
\82¢
\82é
\83\8c\83X
\82ð
\92Ç
\89Á
\82·
\82é
4510 procedure TGikoDM.DereferenceResActionExecute(Sender: TObject);
4512 i, currentNo, No : Integer;
4513 links : IHTMLElementCollection;
4514 threadItem : TThreadItem;
4515 item : IHTMLElement;
4517 resNo : TStringList;
4518 alreadyExist : Boolean;
4521 No := GikoForm.KokoPopupMenu.Tag;
4522 if No = 0 then Exit;
4524 ThreadItem := GikoForm.KokoPopupThreadItem;
4525 //
\83A
\83N
\83e
\83B
\83u
\83^
\83u
\82©
\82ç
\91S
\82Ä
\82Ì
\83\8a\83\93\83N
\82ð
\8eæ
\93¾
\82·
\82é
4526 links := GetActiveThreadLinks;
4527 if (ThreadItem <> nil) and (links <> nil) then begin
4528 resNo := TStringList.Create;
4531 alreadyExist := False;
4532 //
\83\8a\83\93\83N
\82ð
\91S
\82Ä
\91\96\8d¸
\82·
\82é
4533 for i := 0 to links.length - 1 do begin
4534 item := links.item(i, 0) as IHTMLElement;
4535 if (item <> nil) then begin
4536 url := item.getAttribute('href', 0);
4537 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4538 if (Pos('menu:', url) > 0) then begin
4539 currentNo := StrToInt64Def(
4540 Copy(url, 6, Length(url)), currentNo + 1
4542 alreadyExist := False;
4543 end else if (currentNo <> -1) and (not alreadyExist) then begin
4545 if Pos('about:..', url) = 1 then begin
4546 url := 'about:blank..' + Copy( url, Length('about:..')+1, Length(url) )
4548 //
\8e©
\95ª
\82Ö
\82Ì
\83\8a\83\93\83N
\82©
\82ç
\83\8c\83X
\83|
\83b
\83v
\97p
\82Ì
\94Ô
\8d\86\8eæ
\93¾
4549 if Pos('about:blank..', url) = 1 then begin
4550 // No
\94Ô
\82Ö
\82Ì
\83\8a\83\93\83N
\82ª
\82 \82ê
\82Î
\8eQ
\8fÆ
\82 \82è
4551 url2 := THTMLCreate.GetRespopupURL(url, ThreadItem.URL);
4552 PathRec := Gikosys.Parse2chURL2(url2);
4553 if (not PathRec.FNoParam) then begin
4554 Gikosys.GetPopupResNumber(url2,PathRec.FSt,PathRec.FTo);
4556 //
\91Î
\8fÛ
\83\8c\83X
\82à
\82µ
\82
\82Í
\82»
\82ê
\82ð
\8aÜ
\82Þ
\82È
\82ç
\8eQ
\8fÆ
\82 \82è
\82Æ
\82·
\82é
4557 if (PathRec.FSt = No) or
4558 ((PathRec.FSt <= No) and (PathRec.FTo >= No)) then begin
4559 alreadyExist := True;
4560 resNo.Add(IntToStr(currentNo));
4566 //
\96³
\90§
\8cÀ
\82È
\82Ì
\82Å-1
\8cÅ
\92è
4567 GikoForm.ActiveContent.IDAnchorPopup(
4568 GikoSys.CreateResAnchor(resNo, ThreadItem, -1));
4576 procedure TGikoDM.UpdateGikonaviActionExecute(Sender: TObject);
4578 form : TUpdateCheckForm;
4582 if (EditorFormExists) then begin
4583 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4584 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4587 GikoForm.UpdateExePath := '';
4588 GikoForm.UpdateExeArgs := '';
4589 form := TUpdateCheckForm.Create(Self);
4592 shutdown := form.Allowshutdown;
4593 if shutdown then begin
4594 GikoForm.UpdateExePath := form.ExecPath;
4595 GikoForm.UpdateExeArgs := form.ExecArgs;
4600 if shutdown then begin
4601 //
\83M
\83R
\83i
\83r
\8fI
\97¹
4606 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iPATH_INFO)
4607 procedure TGikoDM.konoURLPATHActionExecute(Sender: TObject);
4610 ThreadItem : TThreadItem;
4611 URL, Protocol, Host, Path, Document, Port, Bookmark : String;
4613 No := GikoForm.KokoPopupMenu.Tag;
4614 if No = 0 then Exit;
4616 ThreadItem := GikoForm.KokoPopupThreadItem;
4617 if (ThreadItem.ParentBoard.Is2ch) or not (Pos('?', ThreadItem.URL) > 0) then begin
4618 GikoSys.ParseURI(ThreadItem.URL,Protocol, Host, Path, Document, Port, Bookmark);
4619 URL := Protocol + '://' + Host + Path + IntToStr(No);
4621 if Pos('?', ThreadItem.URL) > 0 then begin
4622 URL := Copy(ThreadItem.URL, 1, Pos('?', ThreadItem.URL)-1);
4623 //
\82Ü
\82¿BBS
\97p
\8f\88\92u
4624 URL := MojuUtils.CustomStringReplace(URL, 'read.pl', 'read.cgi');
4625 URL := URL + '/' + ThreadItem.ParentBoard.BBSID + '/' + ChangeFileExt(ThreadItem.FileName, '') + '/' + IntToStr(No);
4628 Clipboard.SetTextBuf( PChar(URL) );
4630 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iQuery_STRING)
4631 procedure TGikoDM.konoURLQueryActionExecute(Sender: TObject);
4634 ThreadItem : TThreadItem;
4635 URL, Protocol, Host, Path, Document, Port, Bookmark : String;
4637 No := GikoForm.KokoPopupMenu.Tag;
4638 if No = 0 then Exit;
4640 ThreadItem := GikoForm.KokoPopupThreadItem;
4641 // 2ch
\82Æ
\82µ
\82½
\82ç
\82Î
\82Í
\81A
\83\8c\83X
\94Ô
\8d\86\82ð
\82¤
\82Ü
\82
\8f\88\97\9d\82µ
\82Ä
\82
\82ê
\82È
\82¢
\82Ì
\82Å
\97\98\97p
\95s
\89Â
4642 if ThreadItem.ParentBoard.Is2ch or not (Pos('?', ThreadItem.URL) > 0) then begin
4643 GikoSys.ParseURI(ThreadItem.URL, Protocol, Host, Path, Document, Port, Bookmark);
4644 URL := Protocol + '://' + Host + '/test/read.cgi?bbs=' + ThreadItem.ParentBoard.BBSID
4645 + '&key=' + ChangeFileExt(ThreadItem.FileName, '') + '&st=' + IntToStr(No) + '&to=' + IntToStr(No);
4647 URL := ThreadItem.URL;
4649 if Pos('&LAST=', URL) > 0 then begin
4650 URL := Copy(URL, 1, Pos('&LAST=', URL) - 1);
4651 URL := URL + '&START=' + IntToStr(No) + '&END=' + IntToStr(No);
4653 //
\82»
\82Ì
\91¼
\8aO
\95\94\94Â
4654 if Pos('&ls=', URL) > 0 then begin
4655 URL := Copy(URL, 1, Pos('&ls=', URL) - 1);
4656 URL := URL + '&st=' + IntToStr(No) + '&to=' + IntToStr(No);
4660 Clipboard.SetTextBuf( PChar(URL) );
4662 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iQuery_STRING
\81j
\82Ì
\97\98\97p
\83`
\83F
\83b
\83N
4663 procedure TGikoDM.konoURLQueryActionUpdate(Sender: TObject);
4665 LIVEDOOR_URL = 'http://jbbs.livedoor.jp/';
4667 // 2ch
\82Æ
\82µ
\82½
\82ç
\82Î
\82Í
\97\98\97p
\82Å
\82«
\82È
\82¢
\82æ
\82¤
\82É
\82·
\82é
\81i
\82¤
\82Ü
\82
\83\8c\83X
\8ew
\92è
\82Å
\82«
\82È
\82¢
\82Ì
\82Å
\81j
4668 konoURLQueryAction.Enabled := false;
4669 if (GikoForm.KokoPopupThreadItem <> nil) then begin
4670 konoURLQueryAction.Enabled := not GikoForm.KokoPopupThreadItem.ParentBoard.Is2ch;
4671 if konoURLQueryAction.Enabled then begin
4672 konoURLQueryAction.Enabled := not (Pos(LIVEDOOR_URL, GikoForm.KokoPopupThreadItem.URL) = 1);
4676 //!
\83|
\83b
\83v
\83A
\83b
\83v
\83\81\83j
\83\85\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
4677 procedure TGikoDM.PopupMenuSettingActionExecute(Sender: TObject);
4679 Dlg: TPopupMenuSettingDialog;
4681 Dlg := TPopupMenuSettingDialog.Create(GikoForm, GikoFormActionList);