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 procedure EditNGActionExecute(Sender: TObject);
249 procedure ReloadActionExecute(Sender: TObject);
250 procedure GoFowardActionExecute(Sender: TObject);
251 procedure GoBackActionExecute(Sender: TObject);
252 procedure MoveToActionExecute(Sender: TObject);
253 procedure FavoriteAddActionExecute(Sender: TObject);
254 procedure FavoriteArrangeActionExecute(Sender: TObject);
255 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
256 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
257 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
258 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
259 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
260 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
261 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
262 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
263 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
264 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
265 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
266 procedure OnlyAHundredResActionExecute(Sender: TObject);
267 procedure OnlyKokoResActionExecute(Sender: TObject);
268 procedure OnlyNewResActionExecute(Sender: TObject);
269 procedure BrowserMaxActionExecute(Sender: TObject);
270 procedure BrowserMinActionExecute(Sender: TObject);
271 procedure ScrollTopActionExecute(Sender: TObject);
272 procedure ScrollLastActionExecute(Sender: TObject);
273 procedure ScrollNewActionExecute(Sender: TObject);
274 procedure ScrollKokoActionExecute(Sender: TObject);
275 procedure ScrollKokoActionUpdate(Sender: TObject);
276 procedure EditorActionExecute(Sender: TObject);
277 procedure IEActionExecute(Sender: TObject);
278 procedure ShowThreadActionExecute(Sender: TObject);
279 procedure ShowBoardActionExecute(Sender: TObject);
280 procedure URLCopyActionExecute(Sender: TObject);
281 procedure NameCopyActionExecute(Sender: TObject);
282 procedure NameURLCopyActionExecute(Sender: TObject);
283 procedure ItemReloadActionExecute(Sender: TObject);
284 procedure BrowserTabCloseActionExecute(Sender: TObject);
285 procedure BrowserTabCloseActionUpdate(Sender: TObject);
286 procedure NotSelectTabCloseActionExecute(Sender: TObject);
287 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
288 procedure AllTabCloseActionExecute(Sender: TObject);
289 procedure ActiveLogDeleteActionExecute(Sender: TObject);
290 procedure LeftmostTabSelectActionExecute(Sender: TObject);
291 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
292 procedure LeftTabSelectActionExecute(Sender: TObject);
293 procedure RightTabSelectActionExecute(Sender: TObject);
294 procedure RightTabSelectActionUpdate(Sender: TObject);
295 procedure RightmostTabSelectActionExecute(Sender: TObject);
296 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
297 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
298 procedure SelectResActionExecute(Sender: TObject);
299 procedure AllResActionExecute(Sender: TObject);
300 procedure ResRangeActionExecute(Sender: TObject);
301 procedure UpBoardActionExecute(Sender: TObject);
302 procedure JumpToNumOfResActionExecute(Sender: TObject);
303 procedure RightTabCloseActionExecute(Sender: TObject);
304 procedure RightTabCloseActionUpdate(Sender: TObject);
305 procedure LeftTabCloseActionExecute(Sender: TObject);
306 procedure DataModuleCreate(Sender: TObject);
307 procedure SearchActionExecute(Sender: TObject);
308 procedure OptionActionExecute(Sender: TObject);
309 procedure RoundActionExecute(Sender: TObject);
310 procedure KeySettingActionExecute(Sender: TObject);
311 procedure KotehanActionExecute(Sender: TObject);
312 procedure ToolBarSettingActionExecute(Sender: TObject);
313 procedure MuteActionExecute(Sender: TObject);
314 procedure TreeSelectBoradReloadExecute(Sender: TObject);
315 procedure TreeSelectThreadReloadExecute(Sender: TObject);
316 procedure TreeSelectURLCopyExecute(Sender: TObject);
317 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
318 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
319 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
320 procedure TreeSelectNameCopyExecute(Sender: TObject);
321 procedure LoginActionExecute(Sender: TObject);
322 procedure NewBoardActionExecute(Sender: TObject);
323 procedure LogDeleteActionExecute(Sender: TObject);
324 procedure LogDeleteActionUpdate(Sender: TObject);
325 procedure SelectTextClearActionExecute(Sender: TObject);
326 procedure NameTextClearActionExecute(Sender: TObject);
327 procedure MailTextClearActionExecute(Sender: TObject);
328 procedure ExitActionExecute(Sender: TObject);
329 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
330 procedure ExportFavoriteFileAccept(Sender: TObject);
331 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
332 procedure SelectItemSaveForDatExecute(Sender: TObject);
333 procedure TabsSaveActionExecute(Sender: TObject);
334 procedure TabsOpenActionExecute(Sender: TObject);
335 procedure BeLogInOutActionExecute(Sender: TObject);
336 procedure BeLogInOutActionUpdate(Sender: TObject);
337 procedure KokomadeActionExecute(Sender: TObject);
338 procedure ZenbuActionExecute(Sender: TObject);
339 procedure KokoResActionExecute(Sender: TObject);
340 procedure KoreCopyExecute(Sender: TObject);
341 procedure SameIDResAnchorActionExecute(Sender: TObject);
342 procedure IndividualAbon1ActionExecute(Sender: TObject);
343 procedure IndividualAbon0ActionExecute(Sender: TObject);
344 procedure AntiIndividualAbonActionExecute(Sender: TObject);
345 procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
346 procedure IndividualAbonID1ActionExecute(Sender: TObject);
347 procedure IndividualAbonID0ActionExecute(Sender: TObject);
348 procedure GikoNaviWebPageActionExecute(Sender: TObject);
349 procedure MonazillaWebPageActionExecute(Sender: TObject);
350 procedure BBS2chWebPageActionExecute(Sender: TObject);
351 procedure GikoFolderOpenActionExecute(Sender: TObject);
352 procedure AboutActionExecute(Sender: TObject);
353 procedure GikoHelpActionExecute(Sender: TObject);
354 procedure WikiFAQWebPageActionExecute(Sender: TObject);
355 procedure ListNumberVisibleActionExecute(Sender: TObject);
356 procedure UpFolderActionExecute(Sender: TObject);
357 procedure UpFolderActionUpdate(Sender: TObject);
358 procedure IconStyleExecute(Sender: TObject);
359 procedure AllItemActionExecute(Sender: TObject);
360 procedure LogItemActionExecute(Sender: TObject);
361 procedure NewItemActionExecute(Sender: TObject);
362 procedure ThreadRangeActionExecute(Sender: TObject);
363 procedure SelectItemActionExecute(Sender: TObject);
364 procedure ThreadEditorActionExecute(Sender: TObject);
365 procedure BoardIEActionExecute(Sender: TObject);
366 procedure SelectItemURLCopyActionExecute(Sender: TObject);
367 procedure SelectItemURLCopyActionUpdate(Sender: TObject);
368 procedure SelectItemNameCopyActionExecute(Sender: TObject);
369 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
370 procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
371 procedure SelectListReloadActionExecute(Sender: TObject);
372 procedure SelectListReloadActionUpdate(Sender: TObject);
373 procedure SelectThreadReloadActionExecute(Sender: TObject);
374 procedure SelectThreadReloadActionUpdate(Sender: TObject);
375 procedure SelectReservActionExecute(Sender: TObject);
376 procedure SelectReservActionUpdate(Sender: TObject);
377 procedure SelectNewRoundNameExecute(Sender: TObject);
378 procedure SelectDeleteRoundExecute(Sender: TObject);
379 procedure BoardFavoriteAddActionExecute(Sender: TObject);
380 procedure BoardFavoriteAddActionUpdate(Sender: TObject);
381 procedure LogFolderOpenActionExecute(Sender: TObject);
382 procedure LogFolderOpenActionUpdate(Sender: TObject);
383 procedure BrowsBoradHeadActionExecute(Sender: TObject);
384 procedure SortActiveColumnActionExecute(Sender: TObject);
385 procedure SortNextColumnActionExecute(Sender: TObject);
386 procedure SortPrevColumnActionExecute(Sender: TObject);
387 procedure StdToolBarVisibleActionExecute(Sender: TObject);
388 procedure AddressBarVisibleActionExecute(Sender: TObject);
389 procedure LinkBarVisibleActionExecute(Sender: TObject);
390 procedure ListToolBarVisibleActionExecute(Sender: TObject);
391 procedure ListNameBarVisibleActionExecute(Sender: TObject);
392 procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
393 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
394 procedure MsgBarVisibleActionExecute(Sender: TObject);
395 procedure MsgBarCloseActionExecute(Sender: TObject);
396 procedure StatusBarVisibleActionExecute(Sender: TObject);
397 procedure CabinetBBSActionExecute(Sender: TObject);
398 procedure CabinetHistoryActionExecute(Sender: TObject);
399 procedure CabinetFavoriteActionExecute(Sender: TObject);
400 procedure CabinetVisibleActionExecute(Sender: TObject);
401 procedure CabinetCloseActionExecute(Sender: TObject);
402 procedure LargeIconActionExecute(Sender: TObject);
403 procedure SmallIconActionExecute(Sender: TObject);
404 procedure ListIconActionExecute(Sender: TObject);
405 procedure DetailIconActionExecute(Sender: TObject);
406 procedure StopActionExecute(Sender: TObject);
407 procedure ArrangeActionExecute(Sender: TObject);
408 procedure PaneInitActionExecute(Sender: TObject);
409 procedure BrowserTabVisibleActionExecute(Sender: TObject);
410 procedure BrowserTabTopActionExecute(Sender: TObject);
411 procedure BrowserTabBottomActionExecute(Sender: TObject);
412 procedure BrowserTabTabStyleActionExecute(Sender: TObject);
413 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
414 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
415 procedure SetFocusForBrowserActionExecute(Sender: TObject);
416 procedure SetFocusForBrowserActionUpdate(Sender: TObject);
417 procedure SetFocusForThreadListActionExecute(Sender: TObject);
418 procedure SetFocusForCabinetActionExecute(Sender: TObject);
419 procedure SetFocusForCabinetActionUpdate(Sender: TObject);
420 procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
421 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
422 procedure UnSelectedListViewActionExecute(Sender: TObject);
423 procedure KidokuActionExecute(Sender: TObject);
424 procedure MidokuActionExecute(Sender: TObject);
425 procedure AllSelectActionExecute(Sender: TObject);
426 procedure AllSelectActionUpdate(Sender: TObject);
427 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
428 procedure SetInputAssistActionExecute(Sender: TObject);
429 procedure OpenFindDialogActionExecute(Sender: TObject);
430 procedure ArchiveItemActionExecute(Sender: TObject);
431 procedure LiveItemActionExecute(Sender: TObject);
432 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
433 procedure CloseAllEditorActionExecute(Sender: TObject);
434 procedure CloseAllEditorActionUpdate(Sender: TObject);
435 procedure PrevMoveHistoryUpdate(Sender: TObject);
436 procedure PrevMoveHistoryExecute(Sender: TObject);
437 procedure NextMoveHistoryUpdate(Sender: TObject);
438 procedure NextMoveHistoryExecute(Sender: TObject);
439 procedure ClickActiveElementActionExecute(Sender: TObject);
440 procedure VKDownActionExecute(Sender: TObject);
441 procedure VKUpActionExecute(Sender: TObject);
442 procedure VKRightActionExecute(Sender: TObject);
443 procedure VKLeftActionExecute(Sender: TObject);
444 procedure StoredTaskTrayActionExecute(Sender: TObject);
445 procedure LeftTabSelectActionUpdate(Sender: TObject);
446 procedure RightmostTabSelectActionUpdate(Sender: TObject);
447 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
448 procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
449 procedure SetForcusForAddresBarActionExecute(Sender: TObject);
450 procedure NewBoardSearchActionExecute(Sender: TObject);
451 procedure ScrollPageDownActionExecute(Sender: TObject);
452 procedure ScrollPageUpActionExecute(Sender: TObject);
453 procedure AllLinkToClipboardActionExecute(Sender: TObject);
454 procedure NewLinkToClipboardActionExecute(Sender: TObject);
455 procedure AddIDtoNGWord0ActionExecute(Sender: TObject);
456 procedure AddIDtoNGWord1ActionExecute(Sender: TObject);
457 procedure ExtractSameIDActionExecute(Sender: TObject);
458 procedure ShowTabListActionExecute(Sender: TObject);
459 procedure DereferenceResActionExecute(Sender: TObject);
460 procedure UpdateGikonaviActionExecute(Sender: TObject);
461 procedure konoURLPATHActionExecute(Sender: TObject);
462 procedure konoURLQueryActionExecute(Sender: TObject);
463 procedure konoURLQueryActionUpdate(Sender: TObject);
466 procedure ClearResFilter;
467 procedure SetResRange(range: Integer);
468 procedure SetThreadAreaHorNormal;
469 procedure SetThreadAreaHorizontal(gls : TGikoListState);
470 procedure SetThreadAreaVerNormal;
471 procedure SetThreadAreaVertical(gls : TGikoListState);
472 procedure SetThreadReadProperty(read: Boolean);
473 procedure SelectThreadSaveToFile(dat: Boolean);
474 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
475 procedure RecalcThreadSize(limit : Integer);
476 procedure ClearSelectComboBox;
477 procedure ClearMailAllEditor();
478 procedure ClearNameTextAllEditor();
479 procedure MoveURLWithHistory(URL : String; KeyMask: Boolean = False);
480 procedure BackToHistory(item: TMoveHistoryItem);
481 function GetActiveThreadLinks : IHTMLElementCollection;
482 procedure GetLinkURLs(links : IHTMLElementCollection;
483 URLs : TStringList; const Start: Integer; Exts : TStringList);
486 procedure RepaintStatusBar;
487 function EditorFormExists(): boolean;
488 procedure GetTabURLs(AStringList: TStringList);
489 procedure OpenURLs(AStringList: TStringList);
491 { Published
\90é
\8c¾ }
492 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
493 procedure DependActiveCntentActionUpdate(Sender: TObject);
494 //! 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é
495 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
496 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
497 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
498 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
499 procedure DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
509 Windows, Math, Clipbrd,
510 Giko, GikoUtil, BoardGroup,
511 FavoriteArrange, Favorite, MojuUtils,
512 Editor, ListSelect, Search, Option, Round,
513 KeySetting, Gesture, Kotehan, ToolBarSetting,
514 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
515 GikoBayesian, About, ShellAPI,
516 RoundName, RoundData, Menus, ListViewUtils,
517 ThreadControl, GikoMessage, InputAssist,
518 DefaultFileManager, Forms, NewBoardURL, UpdateCheck;
521 MSG_ERROR : string = '
\83G
\83\89\81[';
524 // *************************************************************************
525 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
526 // *************************************************************************
527 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
529 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
531 // *************************************************************************
532 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
533 // *************************************************************************
534 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
536 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
537 and (GikoForm.GetActiveContent.IsLogFile);
539 // *************************************************************************
540 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
541 // *************************************************************************
542 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
544 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard) and
545 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
547 // *************************************************************************
548 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
549 // *************************************************************************
550 procedure TGikoDM.DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
552 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
554 // *************************************************************************
555 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
556 // *************************************************************************
557 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
559 //
\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
560 GikoSys.FAbon.EditNGwords;
562 // *************************************************************************
563 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
564 // *************************************************************************
565 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
567 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
568 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
569 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½',
570 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
572 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
573 GikoForm.RepaintAllTabsBrowser();
576 // *************************************************************************
577 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
578 // *************************************************************************
579 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
581 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
582 if GikoSys.FAbon.GoBack =false then begin
583 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½',
584 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
586 //
\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
588 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
589 GikoForm.RepaintAllTabsBrowser();
592 // *************************************************************************
593 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
594 // *************************************************************************
595 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
597 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
598 if GikoSys.FAbon.GoForward =false then begin
599 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½',
600 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
602 //
\83X
\83e
\81[
\83^
\83X
\82É
\95\
\8e¦
\82³
\82ê
\82éNG
\83\8f\81[
\83h
\83t
\83@
\83C
\83\8b\96¼
\82ð
\8dX
\90V
604 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
605 GikoForm.RepaintAllTabsBrowser();
608 // *************************************************************************
609 //! NG
\83\8f\81[
\83h
\82ð
\95Ï
\8dX
\82µ
\82½
\8cã
\82Ì
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\8dX
\90V
\8f\88\97\9d
610 // *************************************************************************
611 procedure TGikoDM.RepaintStatusBar;
615 //
\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
616 s := GikoSys.FAbon.NGwordname;
617 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
618 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
619 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
620 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
621 GikoForm.StatusBarResize(nil);
623 // *************************************************************************
624 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
625 // *************************************************************************
626 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
628 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
630 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
632 // *************************************************************************
633 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
634 // *************************************************************************
635 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
637 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
639 // *************************************************************************
640 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
641 // *************************************************************************
642 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
644 Dlg: TFavoriteArrangeDialog;
646 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
652 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
653 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
655 // *************************************************************************
656 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
657 // *************************************************************************
658 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
662 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
664 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
665 while node <> nil do begin
666 if node.HasChildren then
667 node.Expanded := False;
668 node := node.GetNext;
673 // *************************************************************************
674 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
675 // *************************************************************************
676 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
681 if GikoForm.ClickNode = nil then
683 if GikoForm.ClickNode.IsFirstNode then
685 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
687 GikoForm.FavoriteTreeView.ReadOnly := False;
688 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
689 node := GikoForm.ClickNode.Parent;
690 while node <> nil do begin
691 node.Expanded := True;
694 GikoForm.ClickNode.EditText;
696 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 );
698 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
699 FavoriteDM.Modified := true;
702 // *************************************************************************
703 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
704 // *************************************************************************
705 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
707 NewFavFolder: TFavoriteFolder;
711 if GikoForm.ClickNode = nil then
715 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
716 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
717 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
720 NewFavFolder := TFavoriteFolder.Create;
721 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
722 Node.ImageIndex := 14;
723 Node.SelectedIndex := 14;
724 // FClickNode.Selected.Expanded := True;
725 GikoForm.FavoriteTreeView.Selected := Node;
726 GikoForm.ClickNode := Node;
727 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
728 FavoriteDM.Modified := true;
729 FavoriteTreeViewRenameAction.Execute;
734 // *************************************************************************
735 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
736 // *************************************************************************
737 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
739 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';
740 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
741 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
744 if GikoForm.ClickNode = nil then
746 if GikoForm.ClickNode.IsFirstNode then
748 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
749 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
750 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
753 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
758 GikoForm.ClickNode.Delete;
759 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
760 FavoriteDM.Modified := true;
765 // *************************************************************************
766 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
767 // *************************************************************************
768 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
771 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
773 // *************************************************************************
774 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
775 // *************************************************************************
776 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
778 FavThread: TFavoriteThreadItem;
779 FavBoard: TFavoriteBoardItem;
782 if (GikoForm.ClickNode = nil) then Exit;
784 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
786 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
787 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
788 if FavThread.Item <> nil then
789 GikoForm.DownloadContent(FavThread.Item, shiftDown);
790 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
791 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
792 GikoForm.DownloadList(FavBoard.Item, shiftDown);
796 // *************************************************************************
797 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
798 // *************************************************************************
799 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
802 if GikoForm.ClickNode = nil then Exit;
804 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
805 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
808 // *************************************************************************
809 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
810 // *************************************************************************
811 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
814 if GikoForm.ClickNode = nil then Exit;
816 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
818 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
821 GikoForm.ClickNode.Text + #13#10;
825 // *************************************************************************
826 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
827 // *************************************************************************
828 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
831 favItem : TFavoriteItem;
834 if GikoForm.ClickNode = nil then Exit;
836 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
837 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
838 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
839 favItem.URL + #13#10;
843 // *************************************************************************
844 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
845 // *************************************************************************
846 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
848 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';
849 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
851 ThreadItem: TThreadItem;
852 FavThread: TFavoriteThreadItem;
855 if GikoForm.ClickNode = nil then Exit;
856 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
858 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
859 ThreadItem := FavThread.Item;
862 if GikoSys.Setting.DeleteMsg then begin
863 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
864 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
868 GikoForm.DeleteHistory(ThreadItem);
869 GikoForm.DeleteTab(ThreadItem);
870 ThreadItem.DeleteLogFile;
872 GikoForm.ListView.Refresh;
877 // *************************************************************************
878 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
879 // *************************************************************************
880 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
883 threadItem : TThreadItem;
886 if GikoForm.ClickNode = nil then Exit;
888 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
890 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
891 if threadItem = nil then
893 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
897 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
898 procedure TGikoDM.ClearResFilter;
900 FilterList : TStringList;
902 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
903 FilterList := TStringList.Create;
905 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
906 GikoSys.FSelectResFilter.Reverse := False;
910 GikoForm.SelectResWord := '';
912 // *************************************************************************
913 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
914 // *************************************************************************
915 procedure TGikoDM.SetResRange(range: Integer);
917 if GikoSys.ResRange <> range then begin
918 GikoSys.ResRange := range;
919 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
921 GikoForm.RepaintAllTabsBrowser();
924 // *************************************************************************
925 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
926 // *************************************************************************
927 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
929 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
930 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
932 GikoForm.ResRangeMenuSelect := 100;
933 OnlyAHundredResAction.Checked := True;
934 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
\81B
\90Ý
\92è
\92l
\82©
\82ç
\82Æ
\82Á
\82Ä
\82
\82é
\81B
935 SetResRange(GikoSys.Setting.ResRangeExCount);
937 // *************************************************************************
938 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
939 // *************************************************************************
940 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
942 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
943 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
945 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
946 OnlyKokoResAction.Checked := True;
948 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
949 SetResRange(Ord( grrKoko ));
951 // *************************************************************************
952 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
953 // *************************************************************************
954 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
956 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
957 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
959 GikoForm.ResRangeMenuSelect := Ord( grrNew );
960 OnlyNewResAction.Checked := True;
962 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
963 SetResRange(Ord( grrNew ));
965 // *************************************************************************
966 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
967 // *************************************************************************
968 procedure TGikoDM.SetThreadAreaHorNormal;
970 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
971 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
972 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
973 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
974 GikoSys.Setting.ListWidthState := glsNormal;
976 // *************************************************************************
977 //!
\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@
978 // *************************************************************************
979 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
981 if GikoSys.Setting.ListWidthState = glsNormal then
982 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
984 if (gls = glsMax) then begin
985 GikoForm.ViewPanel.Width := 1;
986 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
987 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
988 GikoSys.Setting.ListWidthState := glsMax;
989 end else if (gls = glsMin) then begin
990 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
991 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
992 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
993 GikoSys.Setting.ListWidthState := glsMin;
996 // *************************************************************************
997 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
998 // *************************************************************************
999 procedure TGikoDM.SetThreadAreaVerNormal;
1001 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1002 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
1003 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1004 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1005 GikoSys.Setting.ListHeightState := glsNormal;
1007 // *************************************************************************
1008 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
1009 // *************************************************************************
1010 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
1012 if GikoSys.Setting.ListHeightState = glsNormal then
1013 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
1014 if (gls = glsMin) then begin
1015 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
1016 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1017 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1018 GikoSys.Setting.ListHeightState := glsMin;
1019 end else if (gls = glsMax) then begin
1020 GikoForm.ViewPanel.Height := 1;
1021 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1022 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1023 GikoSys.Setting.ListHeightState := glsMax;
1026 // *************************************************************************
1027 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
1028 // *************************************************************************
1029 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
1031 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1032 case GikoSys.Setting.ListWidthState of
1034 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1035 SetThreadAreaHorNormal;
1037 glsMin, glsNormal: begin
1038 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1039 SetThreadAreaHorizontal(glsMax);
1043 case GikoSys.Setting.ListHeightState of
1045 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1046 SetThreadAreaVerNormal;
1048 glsMin, glsNormal: begin
1049 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1050 SetThreadAreaVertical(glsMax);
1055 // *************************************************************************
1056 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1057 // *************************************************************************
1058 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1060 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1061 case GikoSys.Setting.ListWidthState of
1062 glsMax, glsNormal: begin
1063 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1064 SetThreadAreaHorizontal(glsMin);
1067 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1068 SetThreadAreaHorNormal;
1072 case GikoSys.Setting.ListHeightState of
1073 glsMax, glsNormal: begin
1074 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1075 SetThreadAreaVertical(glsMin);
1078 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1079 SetThreadAreaVerNormal;
1084 // *************************************************************************
1085 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1086 // *************************************************************************
1087 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1089 GikoForm.BrowserMovement('top');
1091 // *************************************************************************
1092 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1093 // *************************************************************************
1094 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1096 GikoForm.BrowserMovement('bottom');
1098 // *************************************************************************
1099 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1100 // *************************************************************************
1101 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1103 GikoForm.BrowserMovement('new');
1105 // *************************************************************************
1106 //!
\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é
1107 // *************************************************************************
1108 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1110 GikoForm.BrowserMovement('koko');
1112 // *************************************************************************
1113 //!
\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
1114 // *************************************************************************
1115 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1117 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1118 and (GikoForm.GetActiveContent.IsLogFile)
1119 and (GikoForm.GetActiveContent.Kokomade <> -1);
1121 // *************************************************************************
1122 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1123 // *************************************************************************
1124 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1126 Editor: TEditorForm;
1129 Item := GikoForm.GetActiveContent;
1130 if Item = nil then Exit;
1131 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1132 Editor.SetThreadItem(Item);
1134 Editor.BodyEdit.SetFocus;
1136 // *************************************************************************
1137 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1138 // *************************************************************************
1139 procedure TGikoDM.IEActionExecute(Sender: TObject);
1141 ShowThreadAction.Execute;
1143 // *************************************************************************
1144 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1145 // *************************************************************************
1146 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1148 ThreadItem: TThreadItem;
1150 ThreadItem := GikoForm.GetActiveContent;
1151 if ThreadItem = nil then Exit;
1152 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1154 // *************************************************************************
1155 //!
\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é
1156 // *************************************************************************
1157 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1159 ThreadItem: TThreadItem;
1161 ThreadItem := GikoForm.GetActiveContent;
1162 if ThreadItem = nil then Exit;
1163 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1165 // *************************************************************************
1166 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1167 // *************************************************************************
1168 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1173 if TObject(GikoForm.GetActiveContent) is TBoard then
1174 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1175 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1176 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1178 Clipboard.AsText := s;
1180 // *************************************************************************
1181 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1182 // *************************************************************************
1183 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1188 if TObject(GikoForm.GetActiveContent) is TBoard then
1189 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1190 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1191 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1193 Clipboard.AsText := s;
1195 // *************************************************************************
1196 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1197 // *************************************************************************
1198 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1203 if TObject(GikoForm.GetActiveContent) is TBoard then
1204 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1205 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1206 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1208 Clipboard.AsText := s;
1210 // *************************************************************************
1211 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1212 // *************************************************************************
1213 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1215 ThreadItem: TThreadItem;
1218 ThreadItem := GikoForm.GetActiveContent;
1219 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1220 if ThreadItem <> nil then
1221 GikoForm.DownloadContent(ThreadItem, shiftDown);
1223 // *************************************************************************
1224 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1225 // *************************************************************************
1226 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1230 idx := GikoForm.BrowserTab.TabIndex;
1231 if idx <> -1 then begin
1232 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1233 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1237 // *************************************************************************
1238 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1239 // *************************************************************************
1240 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1242 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1244 // *************************************************************************
1245 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1246 // *************************************************************************
1247 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1252 idx := GikoForm.BrowserTab.TabIndex;
1253 if idx = -1 then Exit;
1254 GikoForm.BrowserTab.Tabs.BeginUpdate;
1255 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1256 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1257 GikoForm.BrowserTab.Tabs.Delete(i);
1259 if idx > 0 then begin
1260 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1261 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1262 GikoForm.BrowserTab.Tabs.Delete(i);
1265 GikoForm.BrowserTab.Tabs.EndUpdate;
1267 // *************************************************************************
1268 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1269 // *************************************************************************
1270 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1272 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1274 // *************************************************************************
1275 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1276 // *************************************************************************
1277 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1281 if GikoSys.Setting.ShowDialogForAllTabClose then
1282 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
1285 GikoForm.ActiveContent := nil;
1286 GikoForm.BrowserNullTab.Thread := nil;
1287 GikoForm.BrowserTab.OnChange := nil;
1288 GikoForm.BrowserTab.Tabs.BeginUpdate;
1289 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1290 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1292 GikoForm.BrowserTab.Tabs.Clear;
1293 GikoForm.BrowserTab.Tabs.EndUpdate;
1294 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1295 GikoForm.SetContent(GikoForm.BrowserNullTab);
1296 GikoForm.Caption := CAPTION_NAME ;
1298 // *************************************************************************
1299 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1300 // *************************************************************************
1301 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1303 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';
1304 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1307 ThreadItem: TThreadItem;
1309 idx := GikoForm.BrowserTab.TabIndex;
1310 if idx <> -1 then begin
1311 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1312 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1313 if GikoSys.Setting.DeleteMsg then
1314 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1315 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1317 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1318 GikoForm.DeleteHistory(ThreadItem);
1319 ThreadItem.DeleteLogFile;
1320 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1321 GikoForm.ListView.Refresh;
1325 // *************************************************************************
1326 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1327 // *************************************************************************
1328 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1330 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1331 GikoForm.BrowserTab.TabIndex := 0;
1332 GikoForm.BrowserTab.OnChange(nil);
1335 // *************************************************************************
1336 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1337 // *************************************************************************
1338 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1340 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1341 LeftmostTabSelectActionUpdate(Sender);
1343 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1347 // *************************************************************************
1348 //!
\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
1349 // *************************************************************************
1350 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1352 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1353 and (GikoForm.BrowserTab.TabIndex <> 0);
1355 // *************************************************************************
1356 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1357 // *************************************************************************
1358 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1360 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1361 if GikoForm.BrowserTab.TabIndex = -1 then begin
1362 GikoForm.BrowserTab.TabIndex := 0;
1363 GikoForm.BrowserTab.OnChange(nil);
1364 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1365 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1366 GikoForm.BrowserTab.OnChange(nil);
1368 if (GikoSys.Setting.LoopBrowserTabs) and
1369 (GikoForm.BrowserTab.TabIndex = 0) then begin
1370 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1371 GikoForm.BrowserTab.OnChange(nil);
1376 // *************************************************************************
1377 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1378 // *************************************************************************
1379 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1381 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1382 if GikoForm.BrowserTab.TabIndex = -1 then begin
1383 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1384 GikoForm.BrowserTab.OnChange(nil);
1385 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1386 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1387 GikoForm.BrowserTab.OnChange(nil);
1389 if (GikoSys.Setting.LoopBrowserTabs) and
1390 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1391 GikoForm.BrowserTab.TabIndex := 0;
1392 GikoForm.BrowserTab.OnChange(nil);
1397 // *************************************************************************
1398 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1399 // *************************************************************************
1400 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1402 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1403 RightmostTabSelectActionUpdate(Sender);
1405 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1409 // *************************************************************************
1410 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1411 // *************************************************************************
1412 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1414 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1415 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1416 GikoForm.BrowserTab.OnChange(nil);
1419 // *************************************************************************
1420 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1421 // *************************************************************************
1422 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1424 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1425 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1428 // *************************************************************************
1429 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1430 // *************************************************************************
1431 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1433 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1434 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1436 // *************************************************************************
1437 //!
\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
1438 // *************************************************************************
1439 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1441 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1442 and (GikoForm.ListView.SelCount > 0);
1444 // *************************************************************************
1445 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1446 // *************************************************************************
1447 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1449 Dlg: TListSelectDialog;
1450 FilterList : TStringList;
1453 Dlg := TListSelectDialog.Create(GikoForm);
1455 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1456 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1458 if Dlg.ModalResult = mrOK then begin
1459 SelectResAction.Checked := True;
1460 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1461 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1462 ResRangeAction.Execute;
1464 GikoSys.ResRange := Ord( grrSelect );
1466 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1467 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1469 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1470 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1472 GikoSys.Setting.SelectTextList.Delete(idx);
1473 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1474 while Dlg.SelectComboBox.Items.Count > 100 do begin
1475 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1479 if GikoForm.SelectComboBoxPanel.Visible then
1480 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1484 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1485 FilterList := TStringList.Create;
1487 GikoSys.FSelectResFilter.Reverse := True;
1488 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1489 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1491 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1495 GikoForm.RepaintAllTabsBrowser();
1498 //
\83L
\83\83\83\93\83Z
\83\8b
1499 if GikoSys.ResRange <> Ord( grrSelect ) then
1500 ResRangeAction.Execute;
1507 // *************************************************************************
1508 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1509 // *************************************************************************
1510 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1512 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1513 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1515 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1516 AllResAction.Checked := True;
1518 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1519 SetResRange(Ord( grrAll ));
1521 // *************************************************************************
1522 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1523 // *************************************************************************
1524 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1526 case GikoForm.ResRangeMenuSelect of
1527 Ord( grrAll ): AllResAction.Execute;
1528 Ord( grrKoko ): OnlyKokoResAction.Execute;
1529 Ord( grrNew ): OnlyNewResAction.Execute;
1530 100: OnlyAHundredResAction.Execute;
1534 // *************************************************************************
1535 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1536 // *************************************************************************
1537 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1539 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1541 // *************************************************************************
1542 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1543 // *************************************************************************
1544 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1550 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
1551 str := ZenToHan(str);
1552 res := StrToIntDef(str, -1);
1553 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1554 GikoForm.ActiveContent.Move(IntToStr(res));
1555 SetFocusForBrowserAction.Execute;
1556 end else if res > GikoForm.GetActiveContent.Count then begin
1557 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1558 SetFocusForBrowserAction.Execute;
1562 // *************************************************************************
1563 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1564 // *************************************************************************
1565 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1570 idx := GikoForm.BrowserTab.TabIndex;
1571 if idx = -1 then Exit;
1572 GikoForm.BrowserTab.Tabs.BeginUpdate;
1573 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1574 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1575 GikoForm.BrowserTab.Tabs.Delete(i);
1577 GikoForm.BrowserTab.Tabs.EndUpdate;
1579 // *************************************************************************
1580 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1581 // *************************************************************************
1582 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1584 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1586 // *************************************************************************
1587 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1588 // *************************************************************************
1589 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1594 idx := GikoForm.BrowserTab.TabIndex;
1595 if idx = -1 then Exit;
1596 GikoForm.BrowserTab.Tabs.BeginUpdate;
1597 if idx > 0 then begin
1598 for i := idx - 1 downto 0 do begin
1599 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1600 GikoForm.BrowserTab.Tabs.Delete(i);
1603 GikoForm.BrowserTab.Tabs.EndUpdate;
1605 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1606 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1608 // 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
1609 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1610 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1611 TDefaultFileManager.CopyDefaultFiles(
1612 GikoSys.GetAppDir + 'defaultFiles.ini');
1614 // *************************************************************************
1615 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1616 // *************************************************************************
1617 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1622 if GikoForm.SearchDialog = nil then begin
1623 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1624 chk := GikoForm.GetActiveList
1628 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1629 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1633 GikoForm.SearchDialog.Show;
1637 // *************************************************************************
1638 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1639 // *************************************************************************
1640 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1644 Dlg := TOptionDialog.Create(GikoForm);
1651 // *************************************************************************
1652 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1653 // *************************************************************************
1654 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1658 Dlg := TRoundDialog.Create(GikoForm);
1665 // *************************************************************************
1666 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1667 // *************************************************************************
1668 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1670 Dlg: TKeySettingForm;
1672 Dlg := TKeySettingForm.Create(GikoForm);
1674 if Dlg.ShowModal = mrOk then begin
1675 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1676 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1677 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1682 MouseGesture.UnHook;
1683 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1684 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1685 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1686 if GikoSys.Setting.GestureEnabled then begin
1687 GikoSys.Setting.Gestures.ClearGesture;
1688 GikoSys.Setting.Gestures.LoadGesture(
1689 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1690 MouseGesture.SetHook( GikoForm.Handle );
1694 // *************************************************************************
1695 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1696 // *************************************************************************
1697 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1699 Dlg: TKotehanDialog;
1701 Dlg := TKotehanDialog.Create(GikoForm);
1708 // *************************************************************************
1709 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1710 // *************************************************************************
1711 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1713 Dlg: TToolBarSettingDialog;
1716 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1718 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1719 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1720 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1721 case GikoForm.ToolBarSettingSender of
1722 tssMain: Dlg.ToolBarIndex := 0;
1723 tssList: Dlg.ToolBarIndex := 1;
1724 tssBrowser: Dlg.ToolBarIndex := 2;
1726 if Dlg.ShowModal = mrOK then begin
1727 GikoForm.SetToolBarPopup;
1729 //
\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é
1730 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1731 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1732 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1733 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1734 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1736 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1737 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1738 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1739 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1740 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1742 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1743 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1744 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1745 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1746 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1749 SaveToolBarSetting(GikoForm.StdToolBar);
1750 SaveToolBarSetting(GikoForm.ListToolBar);
1751 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1752 GikoForm.SetSelectComboBox;
1753 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1754 SaveToolBarSetting(GikoForm.BrowserToolBar);
1758 GikoForm.ToolBarSettingSender := tssNone;
1761 // *************************************************************************
1762 //!
\83~
\83\85\81[
\83g
1763 // *************************************************************************
1764 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1766 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1768 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1769 // *************************************************************************
1770 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1771 // *************************************************************************
1772 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1775 TmpTreeNode: TTreeNode;
1777 TmpTreeNode := GikoForm.ClickNode;
1778 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1781 if TObject(TmpTreeNode.Data) is TBoard then
1782 Board := TBoard(TmpTreeNode.Data)
1783 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1784 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1786 if Board <> nil then
1787 GikoForm.DownloadList(Board);
1789 // *************************************************************************
1790 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1791 // *************************************************************************
1792 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1794 ThreadItem: TThreadItem;
1795 TmpTreeNode: TTreeNode;
1797 TmpTreeNode := GikoForm.ClickNode;
1798 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1801 if TObject(TmpTreeNode.Data) is TThreadItem then
1802 ThreadItem := TThreadItem(TmpTreeNode.Data)
1803 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1804 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1806 if ThreadItem <> nil then
1807 GikoForm.DownloadContent(ThreadItem);
1809 // *************************************************************************
1810 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1811 // *************************************************************************
1812 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1814 TmpTreeNode: TTreeNode;
1817 TmpTreeNode := GikoForm.ClickNode;
1818 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1819 if TObject(TmpTreeNode.Data) is TBoard then begin
1820 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1821 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1822 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1823 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1824 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1825 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1826 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1828 Clipboard.AsText := s;
1830 // *************************************************************************
1831 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1832 // *************************************************************************
1833 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1835 TmpTreeNode: TTreeNode;
1838 TmpTreeNode := GikoForm.ClickNode;
1839 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1840 if TObject(TmpTreeNode.Data) is TBoard then begin
1841 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1842 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1843 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1844 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1845 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1846 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1847 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1849 Clipboard.AsText := s;
1851 // *************************************************************************
1852 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1853 // *************************************************************************
1854 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1856 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1858 // *************************************************************************
1859 //!
\94Â
\96¼
\8c\9f\8dõ
1860 // *************************************************************************
1861 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1865 CurItem : TTreeNode;
1868 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1871 if GikoForm.TreeView.Selected = nil then
1872 CurItem := GikoForm.TreeView.Items.GetFirstNode
1874 CurItem := GikoForm.TreeView.Selected.GetNext;
1875 if CurItem = nil then
1876 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1878 while CurItem <> nil do begin
1879 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1882 CurItem := CurItem.GetNext;
1885 if CurItem = nil then begin
1886 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1887 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1888 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1892 GikoForm.TreeView.Select(CurItem);
1893 GikoForm.TreeView.SetFocus;
1895 GikoForm.TreeView.Select(CurItem);
1896 GikoForm.TreeView.SetFocus;
1897 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1898 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1911 // *************************************************************************
1912 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1913 // *************************************************************************
1914 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1918 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1919 s := GikoForm.ClickNode.Text;
1920 Clipboard.AsText := s;
1922 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1923 // *************************************************************************
1924 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1925 // *************************************************************************
1926 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1931 if GikoSys.Dolib.Connected then begin
1932 //
\83\8d\83O
\83A
\83E
\83g
1933 GikoSys.Dolib.Disconnect;
1934 LoginAction.Checked := False;
1935 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1936 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1938 TmpCursor := GikoForm.ScreenCursor;
1939 GikoForm.ScreenCursor := crHourGlass;
1941 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1942 if not GikoSys.Setting.ForcedLogin then begin
1943 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1944 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1945 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1946 if GikoSys.Setting.ReadProxy then begin
1947 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1948 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1950 GikoSys.Dolib.ProxyAddress := '';
1951 GikoSys.Dolib.ProxyPort := 0;
1953 if GikoSys.Dolib.Connect then begin
1954 LoginAction.Checked := True;
1955 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1956 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1957 //LoginToolButton.Style := tbsCheck;
1959 // 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);
1960 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1961 GikoForm.PlaySound('Error');
1962 LoginAction.Checked := False;
1963 //LoginToolButton.Down := False;
1964 ///LoginToolButton.Style := tbsButton;
1967 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
1968 + '
\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
1969 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1970 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1971 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1972 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1973 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1974 if GikoSys.Setting.ReadProxy then begin
1975 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1976 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1978 GikoSys.Dolib.ProxyAddress := '';
1979 GikoSys.Dolib.ProxyPort := 0;
1981 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1982 GikoSys.Dolib.ForcedConnect;
1983 if GikoSys.Dolib.Connect then begin
1984 LoginAction.Checked := True;
1985 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1986 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1987 //LoginToolButton.Style := tbsCheck;
1989 // 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);
1990 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1991 GikoForm.PlaySound('Error');
1992 LoginAction.Checked := False;
1993 //LoginToolButton.Down := False;
1994 //LoginToolButton.Style := tbsButton;
1997 LoginAction.Checked := False;
1998 //LoginToolButton.Down := False;
1999 //LoginToolButton.Style := tbsButton;
2003 GikoForm.ScreenCursor := TmpCursor;
2007 // *************************************************************************
2008 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2009 // *************************************************************************
2010 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
2012 Dlg: TNewBoardDialog;
2015 if (EditorFormExists) then begin
2016 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
2017 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
2020 Dlg := TNewBoardDialog.Create(GikoForm);
2027 // *************************************************************************
2028 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
2029 // *************************************************************************
2030 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
2032 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';
2033 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';
2034 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2036 ThreadItem: TThreadItem;
2037 TmpListItem: TListItem;
2041 List := TList.Create;
2043 TmpListItem := GikoForm.ListView.Selected;
2044 while TmpListItem <> nil do begin
2045 if TObject(TmpListItem.Data) is TThreadItem then begin
2046 ThreadItem := TThreadItem(TmpListItem.Data);
2047 if ThreadItem.IsLogFile then
2048 List.Add(ThreadItem);
2050 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2053 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2054 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2055 if List.Count = 1 then begin
2056 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
2059 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
2065 for i := 0 to List.Count - 1 do begin
2066 ThreadItem := TThreadItem(List[i]);
2067 GikoForm.DeleteHistory(ThreadItem);
2068 GikoForm.DeleteTab(ThreadItem);
2069 ThreadItem.DeleteLogFile;
2071 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2072 GikoForm.ListView.Refresh;
2077 // *************************************************************************
2078 //! 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Ê
2079 // *************************************************************************
2080 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2082 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2083 and (GikoForm.ListView.SelCount > 0);
2085 // *************************************************************************
2086 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2087 // *************************************************************************
2088 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2090 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';
2091 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2093 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2094 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2096 GikoSys.Setting.SelectTextList.Clear;
2097 GikoForm.SelectComboBox.Items.Clear;
2098 GikoForm.SelectComboBox.Text := '';
2099 GikoForm.SetListViewType( gvtAll );
2101 // *************************************************************************
2102 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2103 // *************************************************************************
2104 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2106 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';
2107 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2109 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2110 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2112 GikoSys.Setting.NameList.Clear;
2113 ClearNameTextAllEditor
2115 // *************************************************************************
2116 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2117 // *************************************************************************
2118 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2120 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';
2121 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2123 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2124 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2126 GikoSys.Setting.MailList.Clear;
2129 // *************************************************************************
2130 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2131 // *************************************************************************
2132 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2136 // *************************************************************************
2137 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2138 // *************************************************************************
2139 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2141 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2143 // *************************************************************************
2144 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2145 // *************************************************************************
2146 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2148 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2149 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2151 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2154 // *************************************************************************
2155 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2156 // *************************************************************************
2157 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2164 List := TList.Create;
2166 GikoForm.ScreenCursor := crHourGlass;
2167 GikoForm.SelectListItem(List);
2168 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2169 (GikoSys.Setting.ListHeightState = glsMax)) or
2170 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2171 (GikoSys.Setting.ListWidthState = glsMax)) then
2172 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2173 else if(List.Count = 0) then
2174 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2177 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2178 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2180 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2181 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2183 for i := 0 to List.Count - 1 do begin
2184 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2186 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2188 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2190 if SaveDialog.Execute then begin
2192 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2193 PChar(SaveDialog.FileName), true);
2195 html := TStringList.Create;
2196 title := TThreadItem(List[i]).Title;
2198 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2199 html.SaveToFile(SaveDialog.FileName);
2200 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2210 GikoForm.ScreenCursor := crDefault;
2214 // *************************************************************************
2215 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2216 // *************************************************************************
2217 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2219 SelectThreadSaveToFile(false);
2221 // *************************************************************************
2222 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2223 // *************************************************************************
2224 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2226 SelectThreadSaveToFile(true);
2228 // *************************************************************************
2229 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2230 // *************************************************************************
2231 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2233 Filename = 'tab.sav';
2234 bFilename = '~tab.sav';
2236 SaveStringList: TStringList;
2238 SaveStringList := TStringList.Create;
2240 GetTabURLs(SaveStringList);
2242 if FileExists( GikoSys.GetAppDir + Filename) then begin
2243 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2244 PChar(GikoSys.GetAppDir + bFilename), False);
2248 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2250 SaveStringList.Free;
2253 // *************************************************************************
2254 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2255 // *************************************************************************
2256 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2258 rec : TBrowserRecord;
2261 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2263 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2264 if( rec <> nil) and (rec.Thread <> nil) then
2265 AStringList.Add( rec.Thread.URL );
2270 // *************************************************************************
2271 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2272 // *************************************************************************
2273 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2275 GikoTab : TGikoTabAppend;
2279 if (AStringList <> nil) then begin
2280 GikoTab := GikoSys.Setting.BrowserTabAppend;
2282 bound := AStringList.Count - 1;
2283 if bound > -1 then begin
2284 GikoSys.Setting.BrowserTabAppend := gtaLast;
2285 for i := 0 to bound do begin
2286 item := BBSsFindThreadFromURL( AStringList[ i ] );
2288 GikoForm.InsertBrowserTab( item, false );
2290 //
\8dÅ
\8f\89\82Ì
\82P
\96\87\82É
\90Ý
\92è
2291 if (GikoSys.Setting.URLDisplay) and
2292 (GikoForm.BrowserTab.Tabs.Count > 0) then begin
2293 GikoForm.AddressComboBox.Text :=
2294 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[0]).Thread.URL;
2298 GikoSys.Setting.BrowserTabAppend := GikoTab;
2302 // *************************************************************************
2303 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2304 // *************************************************************************
2305 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2307 TABFILE = 'tab.sav';
2312 URLs := TStringList.Create();
2314 fileName := GikoSys.GetAppDir + TABFILE;
2315 if FileExists(fileName) then begin
2317 URLs.LoadFromFile(fileName);
2318 if (URLs.Count = 0) then begin
2319 //
\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
2320 SysUtils.DeleteFile(fileName);
2325 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2332 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2333 (TabsOpenAction.Tag <> 1) then begin
2334 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2337 // *************************************************************************
2338 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2339 // *************************************************************************
2340 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2342 GikoSys.Setting.BeLogin := not GikoSys.Setting.BeLogin;
2344 // *************************************************************************
2345 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
2346 // *************************************************************************
2347 procedure TGikoDM.BeLogInOutActionUpdate(Sender: TObject);
2349 if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
2350 if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
2351 else BeLogInOutAction.Checked := false;
2352 BeLogInOutAction.Enabled := true
2354 BeLogInOutAction.Enabled := false;
2356 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2357 // *************************************************************************
2358 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2359 // *************************************************************************
2360 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2363 ThreadItem: TThreadItem;
2365 No := GikoForm.KokoPopupMenu.Tag;
2368 ThreadItem := GikoForm.KokoPopupThreadItem;
2369 if not Assigned(ThreadItem) then
2371 ThreadItem.Kokomade := No;
2372 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2373 GikoForm.ActiveContent.Repaint := true;
2374 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2375 //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é
2376 //Application.ProcessMessages;
2378 // *************************************************************************
2379 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2380 // *************************************************************************
2381 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2383 ThreadItem: TThreadItem;
2385 ThreadItem := GikoForm.GetActiveContent(True);
2386 if ThreadItem = nil then Exit;
2387 ThreadItem.Kokomade := -1;
2388 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2389 GikoForm.ActiveContent.Repaint := true;
2390 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2391 //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é
2392 //Application.ProcessMessages;
2394 // *************************************************************************
2395 //!
\83R
\83R
\82É
\83\8c\83X
2396 // *************************************************************************
2397 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2399 Editor: TEditorForm;
2403 Number := GikoForm.KokoPopupMenu.Tag;
2404 if Number = 0 then Exit;
2405 Item := GikoForm.KokoPopupThreadItem;
2406 if Item = nil then Exit;
2408 Editor := TEditorForm.Create(GikoForm);
2409 Editor.SetThreadItem(Item);
2410 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2412 Editor.BodyEdit.SetFocus;
2414 // *************************************************************************
2415 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2416 // *************************************************************************
2417 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2419 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2421 // *************************************************************************
2422 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2423 // *************************************************************************
2424 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2428 ThreadItem : TThreadItem;
2432 No := GikoForm.KokoPopupMenu.Tag;
2433 if No = 0 then Exit;
2434 ThreadItem := GikoForm.KokoPopupThreadItem;
2435 if ThreadItem = nil then Exit;
2437 AID := GikoSys.GetResID(No, ThreadItem);
2438 if not IsNoValidID(AID) then begin
2439 GikoForm.ShowSameIDAncher(AID);
2442 // *************************************************************************
2443 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2444 // *************************************************************************
2445 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2447 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2449 // *************************************************************************
2450 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2451 // *************************************************************************
2452 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2454 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2456 // *************************************************************************
2457 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2458 // *************************************************************************
2459 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2461 IndividualForm :TIndividualAbonForm;
2462 ThreadItem : TThreadItem;
2464 ReadList : TStringList;
2465 wordCount : TWordCount;
2467 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2469 ThreadItem := GikoForm.GetActiveContent(True);
2470 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2471 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2472 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2473 ReadList := TStringList.Create;
2474 wordCount := TWordCount.Create;
2476 {$IFDEF SPAM_FILTER_ENABLED}
2477 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2478 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2479 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2480 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2481 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2483 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2484 GikoForm.ActiveContent.Repaint := true;
2485 GikoForm.InsertBrowserTab( ThreadItem, True );
2492 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2493 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2497 IndividualForm.Release;
2500 // *************************************************************************
2501 //!
\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
2502 // *************************************************************************
2503 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2505 IndividualForm :TIndividualAbonForm;
2506 ThreadItem : TThreadItem;
2508 ReadList : TStringList;
2509 wordCount : TWordCount;
2510 {$IFDEF SPAM_FILTER_ENABLED}
2514 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2516 ThreadItem := GikoForm.GetActiveContent(True);
2517 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2518 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2519 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2520 if (IndividualForm.ShowModal = mrOK) then begin
2521 ReadList := TStringList.Create;
2522 wordCount := TWordCount.Create;
2524 {$IFDEF SPAM_FILTER_ENABLED}
2525 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2526 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2527 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2528 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2529 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2530 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2533 if IndividualForm.FRepaint then begin
2534 GikoForm.ActiveContent.Repaint := true;
2535 GikoForm.InsertBrowserTab( ThreadItem, True );
2543 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2544 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2548 IndividualForm.Release;
2551 // *************************************************************************
2552 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2553 // *************************************************************************
2554 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2556 GikoForm.IndividualAbonID(1);
2558 // *************************************************************************
2559 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2560 // *************************************************************************
2561 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2563 GikoForm.IndividualAbonID(0);
2565 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2566 // *************************************************************************
2567 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2568 // *************************************************************************
2569 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2571 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2573 // *************************************************************************
2574 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2575 // *************************************************************************
2576 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2578 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2580 // *************************************************************************
2581 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2582 // *************************************************************************
2583 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2585 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2587 // *************************************************************************
2588 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2589 // *************************************************************************
2590 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2592 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2594 // *************************************************************************
2595 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2596 // *************************************************************************
2597 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2601 Dlg := TAboutDialog.Create(GikoForm);
2608 // *************************************************************************
2609 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2610 // *************************************************************************
2611 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2615 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2616 if not FileExists(FileName) then begin
2619 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2620 '
\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 +
2621 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2626 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2628 // *************************************************************************
2629 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2630 // *************************************************************************
2631 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2633 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2635 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2636 // *************************************************************************
2637 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2638 // *************************************************************************
2639 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2641 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2642 GikoForm.ListView.Refresh;
2644 // *************************************************************************
2645 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2646 // *************************************************************************
2647 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2649 if GikoForm.GetActiveList is TBoard then begin
2650 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2651 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2652 end else if GikoForm.GetActiveList is TCategory then begin
2653 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2656 // *************************************************************************
2657 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2658 // *************************************************************************
2659 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2661 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS) and
2662 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
2664 // *************************************************************************
2665 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2666 // *************************************************************************
2667 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2669 case GikoForm.ListView.ViewStyle of
2670 vsIcon: SmallIconAction.Execute;
2671 vsSmallIcon: ListIconAction.Execute;
2672 vsList: DetailIconAction.Execute;
2673 vsReport: LargeIconAction.Execute;
2676 // *************************************************************************
2677 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2678 // *************************************************************************
2679 procedure TGikoDM.ClearSelectComboBox;
2681 if GikoForm.SelectComboBoxPanel.Visible then begin
2682 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2683 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2684 GikoForm.ListView.SetFocus;
2687 // *************************************************************************
2688 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2689 // *************************************************************************
2690 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2693 if GikoForm.ViewType <> gvtAll then
2694 GikoForm.SetListViewType(gvtAll);
2695 GikoSys.Setting.ThreadRange := gtrAll;
2696 AllItemAction.Checked := True;
2697 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2698 GikoForm.ModifySelectList;
2699 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2700 ClearSelectComboBox;
2704 // *************************************************************************
2705 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2706 // *************************************************************************
2707 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2710 if GikoForm.ViewType <> gvtLog then
2711 GikoForm.SetListViewType(gvtLog);
2712 GikoSys.Setting.ThreadRange := gtrLog;
2713 LogItemAction.Checked := True;
2714 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2715 GikoForm.ModifySelectList;
2716 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2717 ClearSelectComboBox;
2721 // *************************************************************************
2722 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2723 // *************************************************************************
2724 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2728 if GikoForm.ViewType <> gvtNew then
2729 GikoForm.SetListViewType(gvtNew);
2730 GikoSys.Setting.ThreadRange := gtrNew;
2731 NewItemAction.Checked := True;
2732 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2733 GikoForm.ModifySelectList;
2734 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2735 ClearSelectComboBox;
2739 // *************************************************************************
2740 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2741 // *************************************************************************
2742 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2745 if GikoForm.ViewType <> gvtArch then
2746 GikoForm.SetListViewType(gvtArch);
2747 GikoSys.Setting.ThreadRange := gtrArch;
2748 ArchiveItemAction.Checked := True;
2749 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2750 GikoForm.ModifySelectList;
2751 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2752 ClearSelectComboBox;
2756 // *************************************************************************
2757 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2758 // *************************************************************************
2759 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2762 if GikoForm.ViewType <> gvtLive then
2763 GikoForm.SetListViewType(gvtLive);
2764 GikoSys.Setting.ThreadRange := gtrLive;
2765 LiveItemAction.Checked := True;
2766 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2767 GikoForm.ModifySelectList;
2768 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2769 ClearSelectComboBox;
2774 // *************************************************************************
2775 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2776 // *************************************************************************
2777 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2779 case GikoSys.Setting.ThreadRange of
2780 gtrAll: AllItemAction.Execute;
2781 gtrLog: LogItemAction.Execute;
2782 gtrNew: NewItemAction.Execute;
2783 gtrArch: ArchiveItemAction.Execute;
2784 gtrLive: LiveItemAction.Execute;
2787 // *************************************************************************
2788 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2789 // *************************************************************************
2790 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2793 Dlg: TListSelectDialog;
2796 if GikoForm.SelectComboBoxPanel.Visible then begin
2797 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2798 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2799 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2800 if GikoSys.Setting.ListWidthState = glsMax then
2801 BrowserMinAction.Execute;
2803 if GikoSys.Setting.ListHeightState = glsMax then
2804 BrowserMinAction.Execute;
2806 GikoForm.SelectComboBox.SetFocus;
2813 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2814 GikoForm.SelectComboBox.Text := '';
2815 GikoForm.SelectComboBox.Color := clWindow;
2818 AllItemAction.Checked := False;
2819 LogItemAction.Checked := False;
2820 NewItemAction.Checked := False;
2821 //SelectItemAction.Checked := True;
2822 GikoForm.ModifySelectList;
2823 Dlg := TListSelectDialog.Create(GikoForm);
2825 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2826 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2828 if Dlg.ModalResult = mrCancel then begin
2829 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2830 AllItemAction.Checked := True;
2831 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2832 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2835 if GikoForm.GetActiveList is TBoard then
2836 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2838 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2840 GikoSys.Setting.SelectTextList.Delete(idx);
2841 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2842 while Dlg.SelectComboBox.Items.Count > 100 do begin
2843 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2846 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2847 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2848 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2850 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2851 GikoForm.SelectComboBox.Color := clWindow;
2853 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2859 // *************************************************************************
2860 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2861 // *************************************************************************
2862 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2864 Editor: TEditorForm;
2866 if not (GikoForm.GetActiveList is TBoard) then
2868 Editor := TEditorForm.Create(GikoForm);
2869 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2871 Editor.BodyEdit.SetFocus;
2873 // *************************************************************************
2874 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2875 // *************************************************************************
2876 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2880 if GikoForm.GetActiveList is TBoard then begin
2881 URL := TBoard(GikoForm.GetActiveList).URL;
2882 GikoSys.OpenBrowser(URL, gbtAuto);
2885 // *************************************************************************
2886 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2887 // *************************************************************************
2888 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2895 List := TList.Create;
2897 GikoForm.SelectListItem(List);
2898 for i := 0 to List.Count - 1 do begin
2899 if TObject(List[i]) is TBoard then
2900 s := s + TBoard(List[i]).URL + #13#10
2901 else if TObject(List[i]) is TThreadItem then
2902 s := s + TThreadItem(List[i]).URL + #13#10;
2905 Clipboard.AsText := s;
2910 // *************************************************************************
2911 //!
\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
2912 // *************************************************************************
2913 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2915 if ((GikoForm.GetActiveList is TBoard) or
2916 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2917 TAction(Sender).Enabled := True
2919 TAction(Sender).Enabled := False;
2921 // *************************************************************************
2922 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2923 // *************************************************************************
2924 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2931 List := TList.Create;
2933 GikoForm.SelectListItem(List);
2934 for i := 0 to List.Count - 1 do begin
2935 if TObject(List[i]) is TCategory then
2936 s := s + TCategory(List[i]).Title + #13#10
2937 else if TObject(List[i]) is TBoard then
2938 s := s + TBoard(List[i]).Title + #13#10
2939 else if TObject(List[i]) is TThreadItem then
2940 s := s + TThreadItem(List[i]).Title + #13#10;
2943 Clipboard.AsText := s;
2948 // *************************************************************************
2949 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2950 // *************************************************************************
2951 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2953 if ((GikoForm.GetActiveList is TBBS) or
2954 (GikoForm.GetActiveList is TBoard) or
2955 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2956 TAction(Sender).Enabled := True
2958 TAction(Sender).Enabled := False;
2960 // *************************************************************************
2961 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2962 // *************************************************************************
2963 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2970 List := TList.Create;
2972 GikoForm.SelectListItem(List);
2973 for i := 0 to List.Count - 1 do begin
2974 if TObject(List[i]) is TBoard then
2975 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2976 else if TObject(List[i]) is TThreadItem then
2977 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
2980 Clipboard.AsText := s;
2985 // *************************************************************************
2986 //!
\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é
2987 // *************************************************************************
2988 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
2995 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2996 GikoForm.ActiveListColumnSave;
2997 if GikoForm.GetActiveList is TCategory then begin
2998 List := TList.Create;
3000 GikoForm.SelectListItem(List);
3001 if List.Count > 5 then begin
3002 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3003 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3004 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3007 for i := 0 to List.Count - 1 do begin
3008 if TObject(List[i]) is TBoard then
3009 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
3014 end else if GikoForm.GetActiveList is TBoard then begin
3015 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
3018 // *************************************************************************
3019 //!
\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
3020 // *************************************************************************
3021 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
3023 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3024 TAction(Sender).Enabled := True
3025 else if GikoForm.GetActiveList is TBoard then begin
3026 TAction(Sender).Enabled :=
3027 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
3029 TAction(Sender).Enabled := False;
3031 // *************************************************************************
3032 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3033 // *************************************************************************
3034 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3041 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3042 List := TList.Create;
3044 GikoForm.SelectListItem(List);
3045 if List.Count > 10 then begin
3046 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3047 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3048 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3051 for i := 0 to List.Count - 1 do begin
3052 if TObject(List[i]) is TThreadItem then
3053 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3059 // *************************************************************************
3060 //!
\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
3061 // *************************************************************************
3062 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3064 TAction(Sender).Enabled :=
3065 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3067 // *************************************************************************
3068 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3069 // *************************************************************************
3070 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3072 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3073 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3075 // *************************************************************************
3076 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3077 // *************************************************************************
3078 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3083 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3084 List := TList.Create;
3086 GikoForm.SelectListItem(List);
3087 for i := 0 to List.Count - 1 do begin
3088 if TObject(List[i]) is TThreadItem then begin
3089 if TThreadItem(List[i]).IsLogFile then begin
3090 SelectReservAction.Enabled := True;
3095 SelectReservAction.Enabled := False;
3099 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3100 SelectReservAction.Enabled := True
3102 SelectReservAction.Enabled := False;
3104 // *************************************************************************
3105 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3106 // *************************************************************************
3107 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3110 Dlg: TRoundNameDialog;
3114 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3115 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3118 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3119 cnt := RoundList.Count[grtBoard];
3120 cnt := cnt + RoundList.Count[grtItem];
3121 if cnt > 500 then begin
3122 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3126 Dlg := TRoundNameDialog.Create(GikoForm);
3129 if Dlg.ModalResult <> mrCancel then begin
3130 s := Trim(Dlg.RoundNameEdit.Text);
3131 if (Sender is TMenuItem) then begin
3132 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3133 end else if (Sender is TAction) then begin
3134 if (GikoForm.ListView.Selected <> nil) then begin
3135 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3136 GikoForm.SetSelectItemRound(True, s,
3137 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3138 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3139 GikoForm.SetSelectItemRound(True, s,
3140 TBoard(GikoForm.ListView.Selected.Data).Title);
3144 GikoForm.ListView.Refresh;
3150 // *************************************************************************
3151 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3152 // *************************************************************************
3153 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3157 if (Sender is TMenuItem) then begin
3159 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3162 end else if (Sender is TAction) then begin
3164 if GikoForm.ListView.Selected <> nil then begin
3165 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3166 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3167 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3168 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3170 GikoForm.SetSelectItemRound(False, '', s);
3176 GikoForm.ListView.Refresh;
3178 // *************************************************************************
3179 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3180 // *************************************************************************
3181 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3183 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3184 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3186 // *************************************************************************
3187 //!
\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
3188 // *************************************************************************
3189 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3191 BoardFavoriteAddAction.Enabled :=
3192 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3194 // *************************************************************************
3195 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3196 // *************************************************************************
3197 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3201 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3202 (GikoSys.Setting.ListHeightState = glsMax)) or
3203 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3204 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3205 if(GikoForm.GetActiveContent <> nil) then begin
3206 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3208 end else if GikoForm.GetActiveList is TCategory then begin
3209 List := TList.Create;
3211 GikoForm.SelectListItem(List);
3212 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3216 end else if GikoForm.GetActiveList is TBoard then begin
3217 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3221 // *************************************************************************
3222 //! 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Ê
3223 // *************************************************************************
3224 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3226 if (((GikoForm.GetActiveList is TBoard) and
3227 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard))
3228 or (GikoForm.GetActiveList is TCategory))
3229 and (GikoForm.ListView.SelCount > 0) then
3230 TAction(Sender).Enabled := True
3232 TAction(Sender).Enabled := False;
3234 // *************************************************************************
3235 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3236 // *************************************************************************
3237 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3239 RefURL, URL : string;
3243 if GikoForm.GetActiveList is TCategory then begin
3244 List := TList.Create;
3246 GikoForm.SelectListItem(List);
3247 RefURL := TBoard(List[0]).URL;
3251 end else if GikoForm.GetActiveList is TBoard then begin
3252 RefURL := TBoard(GikoForm.GetActiveList).URL
3254 if RefURL <> '' then begin
3255 if RefURL[Length(RefURL)] <> '/' then
3256 URL := RefURL + '/' + 'head.txt'
3258 URL := RefURL + 'head.txt';
3260 GikoForm.MoveToURL(URL);
3262 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3266 // *************************************************************************
3267 //!
\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é
3268 // *************************************************************************
3269 function TGikoDM.GetSortProperties(List: TObject;
3270 var vSortOrder: Boolean): Boolean;
3273 if (List <> nil) then begin
3274 if (List is TBBS) then begin
3275 vSortOrder := GikoSys.Setting.BBSSortOrder;
3276 end else if (List is TCategory) then begin
3277 vSortOrder := GikoSys.Setting.CategorySortOrder;
3278 end else if (List is TBoard) then begin
3279 vSortOrder := GikoSys.Setting.BoardSortOrder;
3287 // *************************************************************************
3288 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3289 // *************************************************************************
3290 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3295 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3296 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3297 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3298 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3300 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3301 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3308 // *************************************************************************
3309 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3310 // *************************************************************************
3311 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3315 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3316 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3317 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3319 if id > GikoForm.ListView.Columns.Count - 1 then
3321 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3322 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3328 // *************************************************************************
3329 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3330 // *************************************************************************
3331 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3335 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3336 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3337 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3340 id := GikoForm.ListView.Columns.Count - 1;
3341 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3342 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3348 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3349 // *************************************************************************
3350 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3351 // *************************************************************************
3352 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3354 CoolBand: TCoolBand;
3356 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3357 if CoolBand = nil then
3359 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3360 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3361 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3363 // *************************************************************************
3364 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3365 // *************************************************************************
3366 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3368 CoolBand: TCoolBand;
3370 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3371 if CoolBand = nil then
3373 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3374 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3375 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3377 // *************************************************************************
3378 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3379 // *************************************************************************
3380 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3382 CoolBand: TCoolBand;
3384 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3385 if CoolBand = nil then
3387 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3388 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3389 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3391 // *************************************************************************
3392 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3393 // *************************************************************************
3394 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3396 CoolBand: TCoolBand;
3398 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3399 if CoolBand = nil then
3401 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3402 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3404 // *************************************************************************
3405 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3406 // *************************************************************************
3407 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3409 CoolBand: TCoolBand;
3411 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3412 if CoolBand = nil then
3414 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3415 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3417 // *************************************************************************
3418 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3419 // *************************************************************************
3420 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3422 CoolBand: TCoolBand;
3424 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3425 if CoolBand = nil then
3427 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3428 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3430 // *************************************************************************
3431 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3432 // *************************************************************************
3433 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3435 CoolBand: TCoolBand;
3437 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3438 if CoolBand = nil then
3440 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3441 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3443 // *************************************************************************
3444 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3445 // *************************************************************************
3446 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3448 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3449 GikoForm.MessagePanel.Top :=
3450 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3451 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3452 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3453 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3455 // *************************************************************************
3456 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3457 // *************************************************************************
3458 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3460 MsgBarVisibleAction.Execute;
3462 // *************************************************************************
3463 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3464 // *************************************************************************
3465 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3467 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3468 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3470 // *************************************************************************
3471 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3472 // *************************************************************************
3473 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3476 if GikoForm.CabinetPanel.Visible then begin
3477 if GikoForm.TreeType = gtt2ch then begin
3478 GikoForm.CabinetVisible( False );
3480 CabinetBBSAction.Checked := False;
3482 CabinetBBSAction.Checked := True;
3485 GikoForm.CabinetVisible( True );
3486 CabinetBBSAction.Checked := True;
3489 if GikoForm.ActiveBBS = nil then
3490 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3492 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3495 // *************************************************************************
3496 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3497 // *************************************************************************
3498 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3500 GikoForm.ShowHistoryTree;
3502 // *************************************************************************
3503 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3504 // *************************************************************************
3505 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3511 if GikoForm.CabinetPanel.Visible then begin
3512 if GikoForm.TreeType = gttFavorite then begin
3513 GikoForm.CabinetVisible( False );
3514 CabinetFavoriteAction.Checked := False;
3516 CabinetFavoriteAction.Checked := True;
3519 GikoForm.CabinetVisible( True );
3520 CabinetFavoriteAction.Checked := True;
3523 // BBS...BBS, History, Favorite
3524 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3526 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3527 for i := 0 to b do begin
3528 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3529 if item is TBBSMenuItem then begin
3530 item.Checked := False;
3531 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3532 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3536 //
\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Ö
3537 GikoForm.HistoryToolBar.Hide;
3538 GikoForm.FavoriteToolBar.Show;
3539 GikoForm.TreeView.Visible := False;
3540 GikoForm.FavoriteTreeView.Visible := True;
3542 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3543 GikoForm.TreeType := gttFavorite;
3545 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3546 CabinetBBSAction.Checked := False;
3547 CabinetHistoryAction.Checked := False;
3549 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3550 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3553 // *************************************************************************
3554 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3555 // *************************************************************************
3556 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3558 case GikoForm.TreeType of
3559 gttHistory: CabinetHistoryAction.Execute;
3560 gttFavorite: CabinetFavoriteAction.Execute;
3562 CabinetBBSAction.Execute;
3565 // *************************************************************************
3566 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3567 // *************************************************************************
3568 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3570 //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ã
3572 // *************************************************************************
3573 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3574 // *************************************************************************
3575 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3577 GikoForm.ListView.ViewStyle := vsIcon;
3578 LargeIconAction.Checked := True;
3580 // *************************************************************************
3581 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3582 // *************************************************************************
3583 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3585 GikoForm.ListView.ViewStyle := vsSmallIcon;
3586 SmallIconAction.Checked := True;
3588 // *************************************************************************
3589 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3590 // *************************************************************************
3591 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3593 GikoForm.ListView.ViewStyle := vsList;
3594 ListIconAction.Checked := True;
3596 // *************************************************************************
3597 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3598 // *************************************************************************
3599 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3601 GikoForm.ListView.ViewStyle := vsReport;
3602 DetailIconAction.Checked := True;
3604 // *************************************************************************
3605 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3606 // *************************************************************************
3607 procedure TGikoDM.StopActionExecute(Sender: TObject);
3609 GikoForm.FControlThread.DownloadAbort;
3610 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3612 GikoForm.Animate.Active := False;
3615 GikoForm.ScreenCursor := crDefault;
3617 // *************************************************************************
3618 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3619 // *************************************************************************
3620 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3622 if ArrangeAction.Checked then begin
3624 GikoForm.ViewPanel.Align := alNone;
3625 GikoForm.ListSplitter.Align := alNone;
3626 GikoForm.ThreadPanel.Align := alNone;
3628 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3629 GikoForm.ViewPanel.Align := alLeft;
3631 GikoForm.ListSplitter.Width := 5;
3632 GikoForm.ListSplitter.Align := alLeft;
3634 GikoForm.ViewPanel.Left := -10;
3636 GikoForm.ThreadPanel.Align := alClient;
3638 GikoSys.Setting.ListOrientation := gloHorizontal;
3639 case GikoSys.Setting.ListWidthState of
3641 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3642 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3643 GikoForm.ViewPanel.Width := 1;
3646 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3647 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3650 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3651 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3652 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3657 GikoForm.ViewPanel.Align := alNone;
3658 GikoForm.ListSplitter.Align := alNone;
3659 GikoForm.ThreadPanel.Align := alNone;
3661 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3662 GikoForm.ViewPanel.Align := alTop;
3664 GikoForm.ListSplitter.Height := 5;
3665 GikoForm.ListSplitter.Align := alTop;
3667 GikoForm.ViewPanel.Top := -10;
3669 GikoForm.ThreadPanel.Align := alClient;
3670 GikoSys.Setting.ListOrientation := gloVertical;
3671 case GikoSys.Setting.ListHeightState of
3673 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3674 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3675 GikoForm.ViewPanel.Height := 1;
3678 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3679 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3682 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3683 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3684 GikoForm.ViewPanel.Height :=
3685 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3690 // *************************************************************************
3691 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3692 // *************************************************************************
3693 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3695 GikoForm.CabinetPanel.Width := 150;
3696 GikoForm.MessagePanel.Height := 40;
3698 GikoForm.BrowserSizeWidth := 200;
3699 GikoForm.BrowserSizeHeight := 200;
3700 if ArrangeAction.Checked then begin
3701 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3703 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3705 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3706 if GikoSys.Setting.ListHeightState = glsMax then begin
3707 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3708 GikoSys.Setting.ListHeightState := glsNormal;
3711 if GikoSys.Setting.ListWidthState = glsMax then begin
3712 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3713 GikoSys.Setting.ListWidthState := glsNormal;
3717 // *************************************************************************
3718 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3719 // *************************************************************************
3720 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3722 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3723 GikoForm.SetBrowserTabState;
3725 // *************************************************************************
3726 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3727 // *************************************************************************
3728 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3730 BrowserTabBottomAction.Checked := False;
3731 BrowserTabTopAction.Checked := True;
3732 GikoSys.Setting.BrowserTabPosition := gtpTop;
3733 GikoForm.SetBrowserTabState;
3735 // *************************************************************************
3736 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3737 // *************************************************************************
3738 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3740 BrowserTabTopAction.Checked := False;
3741 BrowserTabBottomAction.Checked := True;
3742 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3743 GikoForm.SetBrowserTabState;
3745 // *************************************************************************
3746 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3747 // *************************************************************************
3748 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3750 BrowserTabButtonStyleAction.Checked := False;
3751 BrowserTabFlatStyleAction.Checked := False;
3752 BrowserTabTabStyleAction.Checked := True;
3753 GikoSys.Setting.BrowserTabStyle := gtsTab;
3754 GikoForm.SetBrowserTabState;
3756 // *************************************************************************
3757 //!
\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é
3758 // *************************************************************************
3759 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3761 BrowserTabTabStyleAction.Checked := False;
3762 BrowserTabFlatStyleAction.Checked := False;
3763 BrowserTabButtonStyleAction.Checked := True;
3764 GikoSys.Setting.BrowserTabStyle := gtsButton;
3765 GikoForm.SetBrowserTabState;
3767 // *************************************************************************
3768 //!
\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é
3769 // *************************************************************************
3770 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3772 BrowserTabFlatStyleAction.Checked := True;
3773 BrowserTabTabStyleAction.Checked := False;
3774 BrowserTabButtonStyleAction.Checked := False;
3775 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3776 GikoForm.SetBrowserTabState;
3778 // *************************************************************************
3779 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3780 // *************************************************************************
3781 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3783 GikoForm.ActiveContent.Browser.SetFocus;
3785 // *************************************************************************
3786 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3787 // *************************************************************************
3788 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3790 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3791 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3792 TAction(Sender).Enabled := true
3794 TAction(Sender).Enabled := false;
3796 // *************************************************************************
3797 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3798 // *************************************************************************
3799 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3801 if GikoForm.ActiveContent <> nil then
3802 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3803 GikoForm.ListView.SetFocus;
3805 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3806 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é
3808 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3809 if (GikoForm.ListView.ItemFocused <> nil) then begin
3810 GikoForm.ListView.ItemFocused.MakeVisible(False);
3813 // *************************************************************************
3814 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3815 // *************************************************************************
3816 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3818 if GikoForm.ActiveContent <> nil then
3819 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3820 if GikoForm.TreeView.Visible then begin
3821 GikoForm.TreeView.SetFocus;
3822 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3823 GikoForm.TreeView.Items.Item[0].Selected := true;
3824 end else if GikoForm.FavoriteTreeView.Visible then begin
3825 GikoForm.FavoriteTreeView.SetFocus;
3826 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3827 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3830 // *************************************************************************
3831 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3832 // *************************************************************************
3833 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3835 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3837 // *************************************************************************
3838 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3839 // *************************************************************************
3840 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3842 BrowserMinAction.Execute;
3843 SetFocusForThreadListAction.Execute;
3845 // *************************************************************************
3846 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3847 // *************************************************************************
3848 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3850 BrowserMaxAction.Execute;
3851 SetFocusForBrowserAction.Execute;
3853 // *************************************************************************
3854 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3855 // *************************************************************************
3856 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3858 if GikoForm.ListView.Selected <> nil then begin
3859 GikoForm.ListView.Selected.Focused := True;
3860 GikoForm.ListView.Selected := nil;
3863 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3864 // *************************************************************************
3865 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3866 // *************************************************************************
3867 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3869 SetThreadReadProperty(true);
3871 // *************************************************************************
3872 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3873 // *************************************************************************
3874 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3876 SetThreadReadProperty(false);
3878 // *************************************************************************
3879 //!
\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Ç
3880 // *************************************************************************
3881 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3886 List := TList.Create;
3888 GikoForm.SelectListItem(List);
3889 for i := 0 to List.Count - 1 do begin
3890 if TObject(List[i]) is TThreadItem then begin
3891 if (TThreadItem(List[i]).IsLogFile) then begin
3892 TThreadItem(List[i]).UnRead := not read;
3896 if GikoForm.TreeView.Visible then
3897 GikoForm.TreeView.Refresh;
3898 if GikoForm.ListView.Visible then
3899 GikoForm.ListView.Refresh;
3904 // *************************************************************************
3905 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3906 // *************************************************************************
3907 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3909 GikoForm.ListViewAllSelect;
3911 // *************************************************************************
3912 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3913 // *************************************************************************
3914 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3916 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3918 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3919 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3920 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3922 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 +
3923 '
\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' +
3924 '
\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';
3925 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3928 limitSize : Integer;
3931 {
\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Í
3932 \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
3933 \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õ
3934 è
\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
3935 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3937 if MsgBox(GikoForm.Handle, RECALC_MES,
3938 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3939 //è
\87\92l
\82Ì
\8am
\94F
3940 limitSize := LIMIT_SIZE;
3941 limitStr := IntToStr(limitSize);
3942 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
3943 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3944 if (limitSize < 0) then begin
3945 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3946 ThreadSizeCalcForFileActionExecute(nil);
3948 RecalcThreadSize(limitSize);
3953 //! 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
3954 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3956 i, j, tmpSize : Integer;
3959 Thread: TThreadItem;
3962 //
\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
3963 GikoForm.ScreenCursor := crHourGlass;
3965 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3966 for i := 0 to BoardGroups[0].Count - 1 do begin
3967 Obj := BoardGroups[0].Objects[i];
3968 if (Obj <> nil) then begin
3969 Board := TBoard(Obj);
3970 if not Board.IsThreadDatRead then begin
3971 GikoSys.ReadSubjectFile(Board);
3973 for j := 0 to Board.Count - 1 do begin
3974 Thread := Board.Items[j];
3975 if (Thread <> nil) and (Thread.IsLogFile)
3976 and (Thread.Size <= limit) then begin
3977 dat := TStringList.Create;
3979 tmpSize := Thread.Size;
3981 dat.LoadFromFile(Thread.GetThreadFileName);
3982 tmpSize := Length(dat.Text);
3983 tmpSize := tmpSize - dat.Count;
3986 Thread.Size := tmpSize;
3993 GikoForm.ProgressBar.StepBy(1);
3996 GikoForm.ScreenCursor := crDefault;
3998 GikoForm.ProgressBar.Position := 0;
3999 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
4001 // *************************************************************************
4002 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
4003 // *************************************************************************
4004 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
4006 form : TInputAssistForm;
4008 form := TInputAssistForm.Create(GikoForm);
4016 // *************************************************************************
4017 //!
\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é
4018 // *************************************************************************
4019 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
4021 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
4022 GikoForm.ActiveContent.OpenFindDialog;
4026 // *************************************************************************
4027 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
4028 // *************************************************************************
4029 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
4032 if GikoForm.ClickNode = nil then Exit;
4035 GikoForm.ClickNode.Text + #13#10;
4038 // *************************************************************************
4039 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4040 // *************************************************************************
4041 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4045 if ( EditorFormExists ) then begin
4046 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4047 for i := Screen.CustomFormCount - 1 downto 0 do begin
4048 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4049 TEditorForm(Screen.CustomForms[i]).Close;
4054 // *************************************************************************
4055 //!
\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é
4056 // *************************************************************************
4057 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4059 if (Sender is TAction) then begin
4060 TAction(Sender).Enabled := EditorFormExists;
4063 // *************************************************************************
4064 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4065 // *************************************************************************
4066 function TGikoDM.EditorFormExists(): boolean;
4071 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4072 for i := Screen.CustomFormCount - 1 downto 0 do begin
4073 if (Screen.CustomForms[i] is TEditorForm) then begin
4080 // *************************************************************************
4081 //!
\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é
4082 // *************************************************************************
4083 procedure TGikoDM.ClearNameTextAllEditor();
4087 for i := 0 to Screen.CustomFormCount - 1 do begin
4088 if (Screen.CustomForms[i] is TEditorForm) then begin
4089 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4093 // *************************************************************************
4094 //!
\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é
4095 // *************************************************************************
4096 procedure TGikoDM.ClearMailAllEditor();
4100 for i := 0 to Screen.CustomFormCount - 1 do begin
4101 if TObject(Screen.CustomForms[i]) is TEditorForm then
4102 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4106 // *************************************************************************
4107 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4108 // *************************************************************************
4109 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4111 PrevMoveHistory.Enabled :=
4112 (MoveHisotryManager.HisotryIndex > 0)
4114 // *************************************************************************
4115 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4116 // *************************************************************************
4117 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4119 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4120 BackToHistory(MoveHisotryManager.getPrevItem
4121 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4122 .Objects[GikoForm.BrowserTab.TabIndex])));
4124 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4127 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4128 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4130 browser : TWebBrowser;
4131 doc : IHTMLDocument2;
4133 if ( item <> nil ) then begin
4134 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4135 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4136 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4137 if (browser <> nil) then begin
4139 doc := browser.ControlInterface.Document as IHTMLDocument2;
4140 (doc.body as IHTMLElement2).ScrollTop := item.ScrollTop;
4146 MoveURLWithHistory(item.ThreadItem.URL, True);
4150 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4151 procedure TGikoDM.MoveURLWithHistory(URL : String; KeyMask: Boolean = False);
4156 GikoForm.MoveToURL(URL, KeyMask);
4157 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4158 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4159 if idx = -1 then begin
4160 GikoForm.AddressComboBox.Items.Insert(0, URL);
4161 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4162 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4164 GikoForm.AddressComboBox.Items.Delete(idx);
4165 GikoForm.AddressComboBox.Items.Insert(0, URL);
4168 // *************************************************************************
4169 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4170 // *************************************************************************
4171 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4173 NextMoveHistory.Enabled :=
4174 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4176 // *************************************************************************
4177 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4178 // *************************************************************************
4179 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4181 BackToHistory(MoveHisotryManager.getNextItem);
4183 // *************************************************************************
4184 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4185 // *************************************************************************
4186 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4188 browser : TWebBrowser;
4189 elem : IHTMLElement;
4190 doc : IHTMLDocument2;
4192 if (GikoForm.GetActiveContent <> nil) then begin
4193 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4194 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4195 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4196 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4197 if (browser <> nil) then begin
4199 doc := browser.ControlInterface.Document as IHTMLDocument2;
4200 if Assigned(doc) then begin
4201 elem := doc.activeElement;
4202 if Assigned(elem) then begin
4213 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4214 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4216 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4217 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4219 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4220 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4222 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4223 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4225 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4226 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4228 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4229 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4231 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4232 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4234 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4235 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4237 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4238 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4240 GikoForm.StoredTaskTray;
4241 StoredTaskTrayAction.Tag := -1;
4245 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4246 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4248 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4250 links : IHTMLElementCollection;
4251 urls, exts : TStringList;
4253 links := GetActiveThreadLinks;
4254 if (links <> nil) then begin
4255 urls := TStringList.Create;
4256 exts := TStringList.Create;
4258 exts.CaseSensitive := False;
4259 exts.Sorted := True;
4260 exts.Delimiter := ';';
4261 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4262 GetLinkURLs(links, urls, 0, exts);
4263 Clipboard.SetTextBuf(urls.GetText);
4272 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4273 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4275 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4277 links : IHTMLElementCollection;
4278 urls, exts : TStringList;
4279 ThreadItem : TThreadItem;
4281 ThreadItem := GikoForm.GetActiveContent;
4282 links := GetActiveThreadLinks;
4283 if (ThreadItem <> nil) and (links <> nil) then begin
4284 urls := TStringList.Create;
4285 exts := TStringList.Create;
4287 exts.CaseSensitive := False;
4288 exts.Sorted := True;
4289 exts.Delimiter := ';';
4290 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4292 GetLinkURLs(links, urls,
4293 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4294 Clipboard.SetTextBuf(urls.GetText);
4302 \breif
\83\8a\83\93\83NURL
\8eæ
\93¾
4303 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4305 procedure TGikoDM.AllLinkToClipboardActionExecute(Sender: TObject);
4307 links : IHTMLElementCollection;
4308 urls, exts : TStringList;
4310 links := GetActiveThreadLinks;
4311 if (links <> nil) then begin
4312 urls := TStringList.Create;
4313 exts := TStringList.Create;
4315 exts.CaseSensitive := False;
4316 exts.Sorted := True;
4317 exts.Delimiter := ';';
4318 exts.DelimitedText :=
4319 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4320 GetLinkURLs(links, urls, 0, exts);
4321 Clipboard.SetTextBuf(urls.GetText);
4329 \breif
\90V
\92\85\83\8c\83X
\83\8a\83\93\83NURL
\8eæ
\93¾
4330 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4332 procedure TGikoDM.NewLinkToClipboardActionExecute(Sender: TObject);
4334 links : IHTMLElementCollection;
4335 urls, exts : TStringList;
4336 ThreadItem : TThreadItem;
4338 ThreadItem := GikoForm.GetActiveContent;
4339 links := GetActiveThreadLinks;
4340 if (ThreadItem <> nil) and (links <> nil) then begin
4341 urls := TStringList.Create;
4342 exts := TStringList.Create;
4344 exts.CaseSensitive := False;
4345 exts.Sorted := True;
4346 exts.Delimiter := ';';
4347 exts.DelimitedText :=
4348 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4349 GetLinkURLs(links, urls,
4350 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4351 Clipboard.SetTextBuf(urls.GetText);
4360 \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
4361 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4363 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4365 browser : TWebBrowser;
4366 doc : IHTMLDocument2;
4369 if (GikoForm.GetActiveContent <> nil) then begin
4370 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4371 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4372 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4373 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4374 if (browser <> nil) then begin
4376 doc := browser.ControlInterface.Document as IHTMLDocument2;
4377 if Assigned(doc) then begin
4378 Result := doc.links;
4389 \brief
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4390 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4391 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4392 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4393 \param Exts
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\8ag
\92£
\8eq
4395 procedure TGikoDM.GetLinkURLs(links : IHTMLElementCollection;
4396 URLs : TStringList; const Start: Integer; Exts : TStringList);
4398 index ,i, j : Integer;
4399 item : IHTMLElement;
4402 if (links <> nil) then begin
4404 for i := 0 to links.length - 1 do begin
4405 item := links.item(i, 0) as IHTMLElement;
4406 if (item <> nil) then begin
4407 url := item.getAttribute('href', 0);
4408 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4409 if (Pos('menu:', url) > 0) then begin
4410 index := StrToInt64Def(
4411 Copy(url, 6, Length(url)), index + 1
4414 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4415 if (index >= Start) then begin
4416 ext := ExtractFileExt( AnsiLowerCase(url) );
4417 //
\8ag
\92£
\8eq
\82ð
\83`
\83F
\83b
\83N
4418 if Exts.Find(ext, j) then begin
4428 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4429 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4431 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4433 if ( GikoForm.AddressToolBar.Visible ) then begin
4434 GikoForm.AddressComboBox.SetFocus;
4438 \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é
4440 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4442 form : TNewBoardURLForm;
4445 if (EditorFormExists) then begin
4446 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4447 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4450 form := TNewBoardURLForm.Create(Self);
4457 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4458 procedure TGikoDM.ScrollPageDownActionExecute(Sender: TObject);
4460 GikoForm.BrowserMovement(GikoForm.BrowserPanel.Height);
4462 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4463 procedure TGikoDM.ScrollPageUpActionExecute(Sender: TObject);
4465 GikoForm.BrowserMovement(-GikoForm.BrowserPanel.Height);
4469 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
\81i
\93§
\96¾)
4470 procedure TGikoDM.AddIDtoNGWord0ActionExecute(Sender: TObject);
4472 GikoForm.AddIDtoNGWord(true);
4474 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
4475 procedure TGikoDM.AddIDtoNGWord1ActionExecute(Sender: TObject);
4477 GikoForm.AddIDtoNGWord(false);
4479 //!
\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¦
4480 procedure TGikoDM.ExtractSameIDActionExecute(Sender: TObject);
4484 ID := Trim(Clipboard.AsText);
4485 if (Length(ID) > 0) then begin
4486 if not IsNoValidID(ID) then begin
4487 GikoForm.ShowSameIDAncher(ID);
4491 //!
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82·
\82é
4492 procedure TGikoDM.ShowTabListActionExecute(Sender: TObject);
4496 GikoForm.ListView.Items.BeginUpdate;
4497 GikoForm.ListView.Items.Clear;
4498 BoardGroup.SpecialBoard.Clear;
4499 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
4500 BoardGroup.SpecialBoard.Add(
4501 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Thread);
4503 GikoForm.ListView.Items.EndUpdate;
4504 GikoForm.SetActiveList(BoardGroup.SpecialBoard);
4506 //!
\8bt
\8eQ
\8fÆ
\82µ
\82Ä
\82¢
\82é
\83\8c\83X
\82ð
\92Ç
\89Á
\82·
\82é
4507 procedure TGikoDM.DereferenceResActionExecute(Sender: TObject);
4509 i, currentNo, No : Integer;
4510 links : IHTMLElementCollection;
4511 threadItem : TThreadItem;
4512 item : IHTMLElement;
4514 resNo : TStringList;
4515 alreadyExist : Boolean;
4518 No := GikoForm.KokoPopupMenu.Tag;
4519 if No = 0 then Exit;
4521 ThreadItem := GikoForm.KokoPopupThreadItem;
4522 //
\83A
\83N
\83e
\83B
\83u
\83^
\83u
\82©
\82ç
\91S
\82Ä
\82Ì
\83\8a\83\93\83N
\82ð
\8eæ
\93¾
\82·
\82é
4523 links := GetActiveThreadLinks;
4524 if (ThreadItem <> nil) and (links <> nil) then begin
4525 resNo := TStringList.Create;
4528 alreadyExist := False;
4529 //
\83\8a\83\93\83N
\82ð
\91S
\82Ä
\91\96\8d¸
\82·
\82é
4530 for i := 0 to links.length - 1 do begin
4531 item := links.item(i, 0) as IHTMLElement;
4532 if (item <> nil) then begin
4533 url := item.getAttribute('href', 0);
4534 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4535 if (Pos('menu:', url) > 0) then begin
4536 currentNo := StrToInt64Def(
4537 Copy(url, 6, Length(url)), currentNo + 1
4539 alreadyExist := False;
4540 end else if (currentNo <> -1) and (not alreadyExist) then begin
4542 if Pos('about:..', url) = 1 then begin
4543 url := 'about:blank..' + Copy( url, Length('about:..')+1, Length(url) )
4545 //
\8e©
\95ª
\82Ö
\82Ì
\83\8a\83\93\83N
\82©
\82ç
\83\8c\83X
\83|
\83b
\83v
\97p
\82Ì
\94Ô
\8d\86\8eæ
\93¾
4546 if Pos('about:blank..', url) = 1 then begin
4547 // No
\94Ô
\82Ö
\82Ì
\83\8a\83\93\83N
\82ª
\82 \82ê
\82Î
\8eQ
\8fÆ
\82 \82è
4548 url2 := THTMLCreate.GetRespopupURL(url, ThreadItem.URL);
4549 PathRec := Gikosys.Parse2chURL2(url2);
4550 if (not PathRec.FNoParam) then begin
4551 Gikosys.GetPopupResNumber(url2,PathRec.FSt,PathRec.FTo);
4553 //
\91Î
\8fÛ
\83\8c\83X
\82à
\82µ
\82
\82Í
\82»
\82ê
\82ð
\8aÜ
\82Þ
\82È
\82ç
\8eQ
\8fÆ
\82 \82è
\82Æ
\82·
\82é
4554 if (PathRec.FSt = No) or
4555 ((PathRec.FSt <= No) and (PathRec.FTo >= No)) then begin
4556 alreadyExist := True;
4557 resNo.Add(IntToStr(currentNo));
4563 //
\96³
\90§
\8cÀ
\82È
\82Ì
\82Å-1
\8cÅ
\92è
4564 GikoForm.ActiveContent.IDAnchorPopup(
4565 GikoSys.CreateResAnchor(resNo, ThreadItem, -1));
4573 procedure TGikoDM.UpdateGikonaviActionExecute(Sender: TObject);
4575 form : TUpdateCheckForm;
4579 if (EditorFormExists) then begin
4580 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4581 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4584 GikoForm.UpdateExePath := '';
4585 GikoForm.UpdateExeArgs := '';
4586 form := TUpdateCheckForm.Create(Self);
4589 shutdown := form.Allowshutdown;
4590 if shutdown then begin
4591 GikoForm.UpdateExePath := form.ExecPath;
4592 GikoForm.UpdateExeArgs := form.ExecArgs;
4597 if shutdown then begin
4598 //
\83M
\83R
\83i
\83r
\8fI
\97¹
4603 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iPATH_INFO)
4604 procedure TGikoDM.konoURLPATHActionExecute(Sender: TObject);
4607 ThreadItem : TThreadItem;
4608 URL, Protocol, Host, Path, Document, Port, Bookmark : String;
4610 No := GikoForm.KokoPopupMenu.Tag;
4611 if No = 0 then Exit;
4613 ThreadItem := GikoForm.KokoPopupThreadItem;
4614 if (ThreadItem.ParentBoard.Is2ch) or not (Pos('?', ThreadItem.URL) > 0) then begin
4615 GikoSys.ParseURI(ThreadItem.URL,Protocol, Host, Path, Document, Port, Bookmark);
4616 URL := Protocol + '://' + Host + Path + IntToStr(No);
4618 if Pos('?', ThreadItem.URL) > 0 then begin
4619 URL := Copy(ThreadItem.URL, 1, Pos('?', ThreadItem.URL)-1);
4620 //
\82Ü
\82¿BBS
\97p
\8f\88\92u
4621 URL := MojuUtils.CustomStringReplace(URL, 'read.pl', 'read.cgi');
4622 URL := URL + '/' + ThreadItem.ParentBoard.BBSID + '/' + ChangeFileExt(ThreadItem.FileName, '') + '/' + IntToStr(No);
4625 Clipboard.SetTextBuf( PChar(URL) );
4627 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iQuery_STRING)
4628 procedure TGikoDM.konoURLQueryActionExecute(Sender: TObject);
4631 ThreadItem : TThreadItem;
4632 URL, Protocol, Host, Path, Document, Port, Bookmark : String;
4634 No := GikoForm.KokoPopupMenu.Tag;
4635 if No = 0 then Exit;
4637 ThreadItem := GikoForm.KokoPopupThreadItem;
4638 // 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Â
4639 if ThreadItem.ParentBoard.Is2ch or not (Pos('?', ThreadItem.URL) > 0) then begin
4640 GikoSys.ParseURI(ThreadItem.URL, Protocol, Host, Path, Document, Port, Bookmark);
4641 URL := Protocol + '://' + Host + '/test/read.cgi?bbs=' + ThreadItem.ParentBoard.BBSID
4642 + '&key=' + ChangeFileExt(ThreadItem.FileName, '') + '&st=' + IntToStr(No) + '&to=' + IntToStr(No);
4644 URL := ThreadItem.URL;
4646 if Pos('&LAST=', URL) > 0 then begin
4647 URL := Copy(URL, 1, Pos('&LAST=', URL) - 1);
4648 URL := URL + '&START=' + IntToStr(No) + '&END=' + IntToStr(No);
4650 //
\82»
\82Ì
\91¼
\8aO
\95\94\94Â
4651 if Pos('&ls=', URL) > 0 then begin
4652 URL := Copy(URL, 1, Pos('&ls=', URL) - 1);
4653 URL := URL + '&st=' + IntToStr(No) + '&to=' + IntToStr(No);
4657 Clipboard.SetTextBuf( PChar(URL) );
4659 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iQuery_STRING
\81j
\82Ì
\97\98\97p
\83`
\83F
\83b
\83N
4660 procedure TGikoDM.konoURLQueryActionUpdate(Sender: TObject);
4662 LIVEDOOR_URL = 'http://jbbs.livedoor.jp/';
4664 // 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
4665 konoURLQueryAction.Enabled := false;
4666 if (GikoForm.KokoPopupThreadItem <> nil) then begin
4667 konoURLQueryAction.Enabled := not GikoForm.KokoPopupThreadItem.ParentBoard.Is2ch;
4668 if konoURLQueryAction.Enabled then begin
4669 konoURLQueryAction.Enabled := not (Pos(LIVEDOOR_URL, GikoForm.KokoPopupThreadItem.URL) = 1);