6 SysUtils, Classes, ExtActns, StdActns, ActnList, ImgList, Controls,
14 ComCtrls, BrowserRecord, Graphics, Messages, Setting, Dialogs,
15 ActiveX, GikoSystem, MoveHistoryItem, HistoryList;
18 CAPTION_NAME: string = '
\83M
\83R
\83i
\83r';
19 USER_SETLINKBAR = WM_USER + 2003;
21 ITEM_ICON_SORT1 = 12; //!<
\83\
\81[
\83g
\83A
\83C
\83R
\83\93
22 ITEM_ICON_SORT2 = 13; //!<
\83\
\81[
\83g
\83A
\83C
\83R
\83\93
24 //
\83c
\81[
\83\8b\83o
\81[
\83A
\83C
\83R
\83\93
25 TOOL_ICON_HEIGHT_MAX = 16; //!<
\8d\82\82³
\8dÅ
\91å
\83A
\83C
\83R
\83\93
26 TOOL_ICON_HEIGHT_MIN = 17; //!<
\8d\82\82³
\8dÅ
\8f¬
\83A
\83C
\83R
\83\93
27 TOOL_ICON_HEIGHT_NORMAL = 18; //!<
\8d\82\82³
\95W
\8f\80\83A
\83C
\83R
\83\93
28 TOOL_ICON_WIDTH_MAX = 19; //!<
\95\9d\8dÅ
\91å
\83A
\83C
\83R
\83\93
29 TOOL_ICON_WIDTH_MIN = 20; //!<
\95\9d\8dÅ
\8f¬
\83A
\83C
\83R
\83\93
30 TOOL_ICON_WIDTH_NORMAL = 21; //!<
\95\9d\95W
\8f\80\83A
\83C
\83R
\83\93
32 TOOL_ICON_FAV_FOLDER = 30; //!<
\82¨
\8bC
\82É
\93ü
\82è
\83t
\83H
\83\8b\83_
\83A
\83C
\83R
\83\93
33 TOOL_ICON_FAV_BOARD = 31; //!<
\82¨
\8bC
\82É
\93ü
\82è
\94Â
\83A
\83C
\83R
\83\93
34 TOOL_ICON_FAV_THREAD = 32; //!<
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83A
\83C
\83R
\83\93
37 PROTOCOL_HTTP : string = 'http://';
38 //!
\83M
\83R
\83i
\83r
\83T
\83C
\83g
\82ÌURL
39 URL_GIKONAVI: string = 'gikonavi.sourceforge.jp/';
40 //! Monazilla
\83T
\83C
\83g
\82ÌURL
41 URL_MONAZILLA: string = 'www.monazilla.org/';
42 //! 2
\82¿
\82á
\82ñ
\82Ë
\82é
\82ÌURL
43 URL_2ch: string = 'www.2ch.net/';
44 //!
\83M
\83R
\83i
\83rWiki
\82ÌURL
45 URL_Wiki: string = 'sourceforge.jp/projects/gikonavi/wiki/FAQ';
47 SELECTCOMBOBOX_NAME: string = ''; // '
\83X
\83\8c\83b
\83h
\8di
\8d\9e\8c\9f\8dõ';
48 SELECTCOMBOBOX_COLOR: TColor = clWindow;
53 TGikoDM = class(TDataModule)
54 GikoFormActionList: TActionList;
55 OnlyAHundredResAction: TAction;
56 OnlyKokoResAction: TAction;
58 NewBoardAction: TAction;
59 LogDeleteAction: TAction;
60 KidokuAction: TAction;
61 StdToolBarVisibleAction: TAction;
62 AddressBarVisibleAction: TAction;
63 LinkBarVisibleAction: TAction;
64 ListToolBarVisibleAction: TAction;
65 SearchAction: TAction;
66 GikoNaviWebPageAction: TAction;
67 MonazillaWebPageAction: TAction;
68 BBS2chWebPageAction: TAction;
69 GikoFolderOpenAction: TAction;
71 SelectTextClearAction: TAction;
72 NameTextClearAction: TAction;
73 MailTextClearAction: TAction;
75 ListNameBarVisibleAction: TAction;
76 BrowserToolBarVisibleAction: TAction;
77 BrowserNameBarVisibleAction: TAction;
78 MsgBarVisibleAction: TAction;
79 MsgBarCloseAction: TAction;
80 StatusBarVisibleAction: TAction;
81 CabinetBBSAction: TAction;
82 CabinetHistoryAction: TAction;
83 OnlyNewResAction: TAction;
84 CabinetFavoriteAction: TAction;
85 CabinetVisibleAction: TAction;
86 ListNumberVisibleAction: TAction;
87 UpFolderAction: TAction;
88 CabinetCloseAction: TAction;
90 LargeIconAction: TAction;
91 SmallIconAction: TAction;
92 ListIconAction: TAction;
93 DetailIconAction: TAction;
94 MidokuAction: TAction;
95 AllSelectAction: TAction;
96 AllItemAction: TAction;
97 LogItemAction: TAction;
98 NewItemAction: TAction;
99 ThreadRangeAction: TAction;
100 SelectItemAction: TAction;
102 OptionAction: TAction;
103 RoundAction: TAction;
104 BrowserMaxAction: TAction;
105 BrowserMinAction: TAction;
106 ScrollTopAction: TAction;
107 ScrollLastAction: TAction;
108 ScrollNewAction: TAction;
109 ScrollKokoAction: TAction;
110 EditorAction: TAction;
112 ShowThreadAction: TAction;
113 ShowBoardAction: TAction;
114 URLCopyAction: TAction;
115 NameCopyAction: TAction;
116 NameURLCopyAction: TAction;
117 ItemReloadAction: TAction;
118 ThreadEditorAction: TAction;
119 BoardIEAction: TAction;
120 SelectItemURLCopyAction: TAction;
121 SelectItemNameCopyAction: TAction;
122 SelectItemNameURLCopyAction: TAction;
123 SelectListReloadAction: TAction;
124 SelectThreadReloadAction: TAction;
125 BrowserTabCloseAction: TAction;
126 NotSelectTabCloseAction: TAction;
127 AllTabCloseAction: TAction;
128 KokomadeAction: TAction;
129 ZenbuAction: TAction;
130 KokoResAction: TAction;
131 TreeSelectBoradReload: TAction;
132 TreeSelectThreadReload: TAction;
133 TreeSelectURLCopy: TAction;
134 SelectReservAction: TAction;
135 SelectNewRoundName: TAction;
136 SelectDeleteRound: TAction;
137 KeySettingAction: TAction;
138 ArrangeAction: TAction;
139 ActiveLogDeleteAction: TAction;
140 TreeSelectNameURLCopy: TAction;
141 PaneInitAction: TAction;
142 LeftmostTabSelectAction: TAction;
143 LeftTabSelectAction: TAction;
144 RightTabSelectAction: TAction;
145 RightmostTabSelectAction: TAction;
146 FavoriteAddAction: TAction;
147 BoardFavoriteAddAction: TAction;
148 ThreadFavoriteAddAction: TAction;
149 TreeSelectFavoriteAddAction: TAction;
150 FavoriteArrangeAction: TAction;
151 MoveToAction: TAction;
152 BrowserTabVisibleAction: TAction;
153 BrowserTabTopAction: TAction;
154 BrowserTabBottomAction: TAction;
155 BrowserTabTabStyleAction: TAction;
156 BrowserTabButtonStyleAction: TAction;
157 BrowserTabFlatStyleAction: TAction;
158 GikoHelpAction: TAction;
159 KotehanAction: TAction;
160 ToolBarSettingAction: TAction;
161 SelectResAction: TAction;
162 AllResAction: TAction;
163 EditNGAction: TAction;
164 ReloadAction: TAction;
165 GoFowardAction: TAction;
166 GoBackAction: TAction;
167 TreeSelectSearchBoardName: TAction;
168 FavoriteTreeViewRenameAction: TAction;
169 FavoriteTreeViewNewFolderAction: TAction;
170 FavoriteTreeViewDeleteAction: TAction;
171 FavoriteTreeViewBrowseFolderAction: TAction;
172 FavoriteTreeViewReloadAction: TAction;
173 FavoriteTreeViewURLCopyAction: TAction;
174 FavoriteTreeViewNameCopyAction: TAction;
175 FavoriteTreeViewNameURLCopyAction: TAction;
176 FavoriteTreeViewLogDeleteAction: TAction;
177 ResRangeAction: TAction;
178 ExportFavoriteFile: TFileSaveAs;
179 FavoriteTreeViewBrowseBoardAction: TAction;
180 FavoriteTreeViewBrowseThreadAction: TAction;
181 UpBoardAction: TAction;
183 TreeSelectNameCopy: TAction;
184 SetFocusForBrowserAction: TAction;
185 SetFocusForThreadListAction: TAction;
186 SetFocusForCabinetAction: TAction;
188 ThreadlistMaxAndFocusAction: TAction;
189 BrowserMaxAndFocusAction: TAction;
190 SelectItemSaveForHTML: TAction;
191 SelectItemSaveForDat: TAction;
192 LogFolderOpenAction: TAction;
193 TabsSaveAction: TAction;
194 TabsOpenAction: TAction;
195 BrowsBoradHeadAction: TAction;
196 JumpToNumOfResAction: TAction;
197 FavoriteTreeViewCollapseAction: TAction;
198 RightTabCloseAction: TAction;
199 LeftTabCloseAction: TAction;
200 SameIDResAnchorAction: TAction;
201 IndividualAbon1Action: TAction;
202 IndividualAbon0Action: TAction;
203 AntiIndividualAbonAction: TAction;
204 AntiIndividualAbonDlgAction: TAction;
205 IndividualAbonID1Action: TAction;
206 IndividualAbonID0Action: TAction;
208 SortActiveColumnAction: TAction;
209 SortNextColumnAction: TAction;
210 SortPrevColumnAction: TAction;
211 BeLogInOutAction: TAction;
212 UnSelectedListViewAction: TAction;
213 WikiFAQWebPageAction: TAction;
214 ToobarImageList: TImageList;
215 SaveDialog: TSaveDialog;
216 ThreadSizeCalcForFileAction: TAction;
217 SetInputAssistAction: TAction;
218 OpenFindDialogAction: TAction;
219 ArchiveItemAction: TAction;
220 LiveItemAction: TAction;
221 FavoriteTreeViewItemNameCopyAction: TAction;
222 CloseAllEditorAction: TAction;
223 PrevMoveHistory: TAction;
224 NextMoveHistory: TAction;
225 ClickActiveElementAction: TAction;
226 VKDownAction: TAction;
228 VKRightAction: TAction;
229 VKLeftAction: TAction;
230 StoredTaskTrayAction: TAction;
231 AllImageLinkToClipbordAction: TAction;
232 NewImageLinkToClipBoardAction: TAction;
233 SetForcusForAddresBarAction: TAction;
234 NewBoardSearchAction: TAction;
235 NGWordEditFormAction: TAction;
236 ScrollPageDownAction: TAction;
237 ScrollPageUpAction: TAction;
238 AllLinkToClipboardAction: TAction;
239 NewLinkToClipboardAction: TAction;
240 AddIDtoNGWord0Action: TAction;
241 AddIDtoNGWord1Action: TAction;
242 ExtractSameIDAction: TAction;
243 ShowTabListAction: TAction;
244 DereferenceResAction: TAction;
245 UpdateGikonaviAction: TAction;
246 konoURLPATHAction: TAction;
247 konoURLQueryAction: TAction;
248 PopupMenuSettingAction: TAction;
249 procedure EditNGActionExecute(Sender: TObject);
250 procedure ReloadActionExecute(Sender: TObject);
251 procedure GoFowardActionExecute(Sender: TObject);
252 procedure GoBackActionExecute(Sender: TObject);
253 procedure MoveToActionExecute(Sender: TObject);
254 procedure FavoriteAddActionExecute(Sender: TObject);
255 procedure FavoriteArrangeActionExecute(Sender: TObject);
256 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
257 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
258 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
259 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
260 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
261 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
262 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
263 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
264 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
265 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
266 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
267 procedure OnlyAHundredResActionExecute(Sender: TObject);
268 procedure OnlyKokoResActionExecute(Sender: TObject);
269 procedure OnlyNewResActionExecute(Sender: TObject);
270 procedure BrowserMaxActionExecute(Sender: TObject);
271 procedure BrowserMinActionExecute(Sender: TObject);
272 procedure ScrollTopActionExecute(Sender: TObject);
273 procedure ScrollLastActionExecute(Sender: TObject);
274 procedure ScrollNewActionExecute(Sender: TObject);
275 procedure ScrollKokoActionExecute(Sender: TObject);
276 procedure ScrollKokoActionUpdate(Sender: TObject);
277 procedure EditorActionExecute(Sender: TObject);
278 procedure IEActionExecute(Sender: TObject);
279 procedure ShowThreadActionExecute(Sender: TObject);
280 procedure ShowBoardActionExecute(Sender: TObject);
281 procedure URLCopyActionExecute(Sender: TObject);
282 procedure NameCopyActionExecute(Sender: TObject);
283 procedure NameURLCopyActionExecute(Sender: TObject);
284 procedure ItemReloadActionExecute(Sender: TObject);
285 procedure BrowserTabCloseActionExecute(Sender: TObject);
286 procedure BrowserTabCloseActionUpdate(Sender: TObject);
287 procedure NotSelectTabCloseActionExecute(Sender: TObject);
288 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
289 procedure AllTabCloseActionExecute(Sender: TObject);
290 procedure ActiveLogDeleteActionExecute(Sender: TObject);
291 procedure LeftmostTabSelectActionExecute(Sender: TObject);
292 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
293 procedure LeftTabSelectActionExecute(Sender: TObject);
294 procedure RightTabSelectActionExecute(Sender: TObject);
295 procedure RightTabSelectActionUpdate(Sender: TObject);
296 procedure RightmostTabSelectActionExecute(Sender: TObject);
297 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
298 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
299 procedure SelectResActionExecute(Sender: TObject);
300 procedure AllResActionExecute(Sender: TObject);
301 procedure ResRangeActionExecute(Sender: TObject);
302 procedure UpBoardActionExecute(Sender: TObject);
303 procedure JumpToNumOfResActionExecute(Sender: TObject);
304 procedure RightTabCloseActionExecute(Sender: TObject);
305 procedure RightTabCloseActionUpdate(Sender: TObject);
306 procedure LeftTabCloseActionExecute(Sender: TObject);
307 procedure DataModuleCreate(Sender: TObject);
308 procedure SearchActionExecute(Sender: TObject);
309 procedure OptionActionExecute(Sender: TObject);
310 procedure RoundActionExecute(Sender: TObject);
311 procedure KeySettingActionExecute(Sender: TObject);
312 procedure KotehanActionExecute(Sender: TObject);
313 procedure ToolBarSettingActionExecute(Sender: TObject);
314 procedure MuteActionExecute(Sender: TObject);
315 procedure TreeSelectBoradReloadExecute(Sender: TObject);
316 procedure TreeSelectThreadReloadExecute(Sender: TObject);
317 procedure TreeSelectURLCopyExecute(Sender: TObject);
318 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
319 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
320 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
321 procedure TreeSelectNameCopyExecute(Sender: TObject);
322 procedure LoginActionExecute(Sender: TObject);
323 procedure NewBoardActionExecute(Sender: TObject);
324 procedure LogDeleteActionExecute(Sender: TObject);
325 procedure LogDeleteActionUpdate(Sender: TObject);
326 procedure SelectTextClearActionExecute(Sender: TObject);
327 procedure NameTextClearActionExecute(Sender: TObject);
328 procedure MailTextClearActionExecute(Sender: TObject);
329 procedure ExitActionExecute(Sender: TObject);
330 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
331 procedure ExportFavoriteFileAccept(Sender: TObject);
332 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
333 procedure SelectItemSaveForDatExecute(Sender: TObject);
334 procedure TabsSaveActionExecute(Sender: TObject);
335 procedure TabsOpenActionExecute(Sender: TObject);
336 procedure BeLogInOutActionExecute(Sender: TObject);
337 procedure 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);
464 procedure PopupMenuSettingActionExecute(Sender: TObject);
467 procedure ClearResFilter;
468 procedure SetResRange(range: Integer);
469 procedure SetThreadAreaHorNormal;
470 procedure SetThreadAreaHorizontal(gls : TGikoListState);
471 procedure SetThreadAreaVerNormal;
472 procedure SetThreadAreaVertical(gls : TGikoListState);
473 procedure SetThreadReadProperty(read: Boolean);
474 procedure SelectThreadSaveToFile(dat: Boolean);
475 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
476 procedure RecalcThreadSize(limit : Integer);
477 procedure ClearSelectComboBox;
478 procedure ClearMailAllEditor();
479 procedure ClearNameTextAllEditor();
480 procedure MoveURLWithHistory(URL : String; KeyMask: Boolean = False);
481 procedure BackToHistory(item: TMoveHistoryItem);
482 function GetActiveThreadLinks : IHTMLElementCollection;
483 procedure GetLinkURLs(links : IHTMLElementCollection;
484 URLs : TStringList; const Start: Integer; Exts : TStringList);
487 procedure RepaintStatusBar;
488 function EditorFormExists(): boolean;
489 procedure GetTabURLs(AStringList: TStringList);
490 procedure OpenURLs(AStringList: TStringList);
492 { Published
\90é
\8c¾ }
493 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
494 procedure DependActiveCntentActionUpdate(Sender: TObject);
495 //! 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é
496 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
497 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
498 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
499 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
500 procedure DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
510 Windows, Math, Clipbrd,
511 Giko, GikoUtil, BoardGroup,
512 FavoriteArrange, Favorite, MojuUtils,
513 Editor, ListSelect, Search, Option, Round,
514 KeySetting, Gesture, Kotehan, ToolBarSetting,
515 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
516 GikoBayesian, About, ShellAPI,
517 RoundName, RoundData, Menus, ListViewUtils,
518 ThreadControl, GikoMessage, InputAssist,
519 DefaultFileManager, Forms, NewBoardURL, UpdateCheck,
523 MSG_ERROR : string = '
\83G
\83\89\81[';
526 // *************************************************************************
527 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
528 // *************************************************************************
529 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
531 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
533 // *************************************************************************
534 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
535 // *************************************************************************
536 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
538 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
539 and (GikoForm.GetActiveContent.IsLogFile);
541 // *************************************************************************
542 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
543 // *************************************************************************
544 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
546 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard) and
547 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
549 // *************************************************************************
550 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
551 // *************************************************************************
552 procedure TGikoDM.DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
554 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
556 // *************************************************************************
557 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
558 // *************************************************************************
559 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
561 //
\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
562 GikoSys.FAbon.EditNGwords;
564 // *************************************************************************
565 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
566 // *************************************************************************
567 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
569 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
570 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
571 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½',
572 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
574 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
575 GikoForm.RepaintAllTabsBrowser();
578 // *************************************************************************
579 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
580 // *************************************************************************
581 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
583 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
584 if GikoSys.FAbon.GoBack =false then begin
585 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½',
586 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
588 //
\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
590 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
591 GikoForm.RepaintAllTabsBrowser();
594 // *************************************************************************
595 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
596 // *************************************************************************
597 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
599 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
600 if GikoSys.FAbon.GoForward =false then begin
601 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½',
602 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
604 //
\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
606 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
607 GikoForm.RepaintAllTabsBrowser();
610 // *************************************************************************
611 //! 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
612 // *************************************************************************
613 procedure TGikoDM.RepaintStatusBar;
617 //
\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
618 s := GikoSys.FAbon.NGwordname;
619 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
620 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
621 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
622 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
623 GikoForm.StatusBarResize(nil);
625 // *************************************************************************
626 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
627 // *************************************************************************
628 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
630 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
632 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
634 // *************************************************************************
635 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
636 // *************************************************************************
637 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
639 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
641 // *************************************************************************
642 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
643 // *************************************************************************
644 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
646 Dlg: TFavoriteArrangeDialog;
648 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
654 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
655 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
657 // *************************************************************************
658 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
659 // *************************************************************************
660 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
664 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
666 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
667 while node <> nil do begin
668 if node.HasChildren then
669 node.Expanded := False;
670 node := node.GetNext;
675 // *************************************************************************
676 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
677 // *************************************************************************
678 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
683 if GikoForm.ClickNode = nil then
685 if GikoForm.ClickNode.IsFirstNode then
687 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
689 GikoForm.FavoriteTreeView.ReadOnly := False;
690 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
691 node := GikoForm.ClickNode.Parent;
692 while node <> nil do begin
693 node.Expanded := True;
696 GikoForm.ClickNode.EditText;
698 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 );
700 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
701 FavoriteDM.Modified := true;
704 // *************************************************************************
705 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
706 // *************************************************************************
707 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
709 NewFavFolder: TFavoriteFolder;
713 if GikoForm.ClickNode = nil then
717 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
718 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
719 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
722 NewFavFolder := TFavoriteFolder.Create;
723 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
724 Node.ImageIndex := 14;
725 Node.SelectedIndex := 14;
726 // FClickNode.Selected.Expanded := True;
727 GikoForm.FavoriteTreeView.Selected := Node;
728 GikoForm.ClickNode := Node;
729 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
730 FavoriteDM.Modified := true;
731 FavoriteTreeViewRenameAction.Execute;
736 // *************************************************************************
737 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
738 // *************************************************************************
739 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
741 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';
742 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
743 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
746 if GikoForm.ClickNode = nil then
748 if GikoForm.ClickNode.IsFirstNode then
750 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
751 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
752 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
755 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
760 GikoForm.ClickNode.Delete;
761 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
762 FavoriteDM.Modified := true;
767 // *************************************************************************
768 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
769 // *************************************************************************
770 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
773 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
775 // *************************************************************************
776 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
777 // *************************************************************************
778 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
780 FavThread: TFavoriteThreadItem;
781 FavBoard: TFavoriteBoardItem;
784 if (GikoForm.ClickNode = nil) then Exit;
786 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
788 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
789 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
790 if FavThread.Item <> nil then
791 GikoForm.DownloadContent(FavThread.Item, shiftDown);
792 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
793 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
794 GikoForm.DownloadList(FavBoard.Item, shiftDown);
798 // *************************************************************************
799 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
800 // *************************************************************************
801 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
804 if GikoForm.ClickNode = nil then Exit;
806 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
807 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
810 // *************************************************************************
811 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
812 // *************************************************************************
813 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
816 if GikoForm.ClickNode = nil then Exit;
818 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
820 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
823 GikoForm.ClickNode.Text + #13#10;
827 // *************************************************************************
828 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
829 // *************************************************************************
830 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
833 favItem : TFavoriteItem;
836 if GikoForm.ClickNode = nil then Exit;
838 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
839 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
840 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
841 favItem.URL + #13#10;
845 // *************************************************************************
846 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
847 // *************************************************************************
848 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
850 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';
851 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
853 ThreadItem: TThreadItem;
854 FavThread: TFavoriteThreadItem;
857 if GikoForm.ClickNode = nil then Exit;
858 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
860 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
861 ThreadItem := FavThread.Item;
864 if GikoSys.Setting.DeleteMsg then begin
865 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
866 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
870 GikoForm.DeleteHistory(ThreadItem);
871 GikoForm.DeleteTab(ThreadItem);
872 ThreadItem.DeleteLogFile;
874 GikoForm.ListView.Refresh;
879 // *************************************************************************
880 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
881 // *************************************************************************
882 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
885 threadItem : TThreadItem;
888 if GikoForm.ClickNode = nil then Exit;
890 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
892 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
893 if threadItem = nil then
895 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
899 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
900 procedure TGikoDM.ClearResFilter;
902 FilterList : TStringList;
904 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
905 FilterList := TStringList.Create;
907 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
908 GikoSys.FSelectResFilter.Reverse := False;
912 GikoForm.SelectResWord := '';
914 // *************************************************************************
915 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
916 // *************************************************************************
917 procedure TGikoDM.SetResRange(range: Integer);
919 if GikoSys.ResRange <> range then begin
920 GikoSys.ResRange := range;
921 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
923 GikoForm.RepaintAllTabsBrowser();
926 // *************************************************************************
927 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
928 // *************************************************************************
929 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
931 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
932 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
934 GikoForm.ResRangeMenuSelect := 100;
935 OnlyAHundredResAction.Checked := True;
936 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
\81B
\90Ý
\92è
\92l
\82©
\82ç
\82Æ
\82Á
\82Ä
\82
\82é
\81B
937 SetResRange(GikoSys.Setting.ResRangeExCount);
939 // *************************************************************************
940 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
941 // *************************************************************************
942 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
944 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
945 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
947 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
948 OnlyKokoResAction.Checked := True;
950 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
951 SetResRange(Ord( grrKoko ));
953 // *************************************************************************
954 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
955 // *************************************************************************
956 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
958 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
959 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
961 GikoForm.ResRangeMenuSelect := Ord( grrNew );
962 OnlyNewResAction.Checked := True;
964 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
965 SetResRange(Ord( grrNew ));
967 // *************************************************************************
968 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
969 // *************************************************************************
970 procedure TGikoDM.SetThreadAreaHorNormal;
972 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
973 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
974 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
975 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
976 GikoSys.Setting.ListWidthState := glsNormal;
978 // *************************************************************************
979 //!
\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@
980 // *************************************************************************
981 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
983 if GikoSys.Setting.ListWidthState = glsNormal then
984 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
986 if (gls = glsMax) then begin
987 GikoForm.ViewPanel.Width := 1;
988 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
989 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
990 GikoSys.Setting.ListWidthState := glsMax;
991 end else if (gls = glsMin) then begin
992 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
993 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
994 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
995 GikoSys.Setting.ListWidthState := glsMin;
998 // *************************************************************************
999 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
1000 // *************************************************************************
1001 procedure TGikoDM.SetThreadAreaVerNormal;
1003 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1004 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
1005 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1006 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1007 GikoSys.Setting.ListHeightState := glsNormal;
1009 // *************************************************************************
1010 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
1011 // *************************************************************************
1012 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
1014 if GikoSys.Setting.ListHeightState = glsNormal then
1015 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
1016 if (gls = glsMin) then begin
1017 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
1018 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1019 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1020 GikoSys.Setting.ListHeightState := glsMin;
1021 end else if (gls = glsMax) then begin
1022 GikoForm.ViewPanel.Height := 1;
1023 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1024 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1025 GikoSys.Setting.ListHeightState := glsMax;
1028 // *************************************************************************
1029 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
1030 // *************************************************************************
1031 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
1033 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1034 case GikoSys.Setting.ListWidthState of
1036 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1037 SetThreadAreaHorNormal;
1039 glsMin, glsNormal: begin
1040 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1041 SetThreadAreaHorizontal(glsMax);
1045 case GikoSys.Setting.ListHeightState of
1047 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1048 SetThreadAreaVerNormal;
1050 glsMin, glsNormal: begin
1051 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1052 SetThreadAreaVertical(glsMax);
1057 // *************************************************************************
1058 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1059 // *************************************************************************
1060 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1062 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1063 case GikoSys.Setting.ListWidthState of
1064 glsMax, glsNormal: begin
1065 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1066 SetThreadAreaHorizontal(glsMin);
1069 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1070 SetThreadAreaHorNormal;
1074 case GikoSys.Setting.ListHeightState of
1075 glsMax, glsNormal: begin
1076 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1077 SetThreadAreaVertical(glsMin);
1080 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1081 SetThreadAreaVerNormal;
1086 // *************************************************************************
1087 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1088 // *************************************************************************
1089 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1091 GikoForm.BrowserMovement('top');
1093 // *************************************************************************
1094 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1095 // *************************************************************************
1096 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1098 GikoForm.BrowserMovement('bottom');
1100 // *************************************************************************
1101 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1102 // *************************************************************************
1103 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1105 GikoForm.BrowserMovement('new');
1107 // *************************************************************************
1108 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
\82Ö
\88Ú
\93®
\82·
\82é
1109 // *************************************************************************
1110 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1112 GikoForm.BrowserMovement('koko');
1114 // *************************************************************************
1115 //!
\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
1116 // *************************************************************************
1117 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1119 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1120 and (GikoForm.GetActiveContent.IsLogFile)
1121 and (GikoForm.GetActiveContent.Kokomade <> -1);
1123 // *************************************************************************
1124 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1125 // *************************************************************************
1126 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1128 Editor: TEditorForm;
1131 Item := GikoForm.GetActiveContent;
1132 if Item = nil then Exit;
1133 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1134 Editor.SetThreadItem(Item);
1136 Editor.BodyEdit.SetFocus;
1138 // *************************************************************************
1139 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1140 // *************************************************************************
1141 procedure TGikoDM.IEActionExecute(Sender: TObject);
1143 ShowThreadAction.Execute;
1145 // *************************************************************************
1146 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1147 // *************************************************************************
1148 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1150 ThreadItem: TThreadItem;
1152 ThreadItem := GikoForm.GetActiveContent;
1153 if ThreadItem = nil then Exit;
1154 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1156 // *************************************************************************
1157 //!
\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é
1158 // *************************************************************************
1159 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1161 ThreadItem: TThreadItem;
1163 ThreadItem := GikoForm.GetActiveContent;
1164 if ThreadItem = nil then Exit;
1165 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1167 // *************************************************************************
1168 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1169 // *************************************************************************
1170 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1175 if TObject(GikoForm.GetActiveContent) is TBoard then
1176 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1177 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1178 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1180 Clipboard.AsText := s;
1182 // *************************************************************************
1183 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1184 // *************************************************************************
1185 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1190 if TObject(GikoForm.GetActiveContent) is TBoard then
1191 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1192 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1193 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1195 Clipboard.AsText := s;
1197 // *************************************************************************
1198 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1199 // *************************************************************************
1200 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1205 if TObject(GikoForm.GetActiveContent) is TBoard then
1206 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1207 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1208 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1210 Clipboard.AsText := s;
1212 // *************************************************************************
1213 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1214 // *************************************************************************
1215 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1217 ThreadItem: TThreadItem;
1220 ThreadItem := GikoForm.GetActiveContent;
1221 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1222 if ThreadItem <> nil then
1223 GikoForm.DownloadContent(ThreadItem, shiftDown);
1225 // *************************************************************************
1226 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1227 // *************************************************************************
1228 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1232 idx := GikoForm.BrowserTab.TabIndex;
1233 if idx <> -1 then begin
1234 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1235 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1239 // *************************************************************************
1240 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1241 // *************************************************************************
1242 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1244 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1246 // *************************************************************************
1247 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1248 // *************************************************************************
1249 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1254 idx := GikoForm.BrowserTab.TabIndex;
1255 if idx = -1 then Exit;
1256 GikoForm.BrowserTab.Tabs.BeginUpdate;
1257 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1258 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1259 GikoForm.BrowserTab.Tabs.Delete(i);
1261 if idx > 0 then begin
1262 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1263 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1264 GikoForm.BrowserTab.Tabs.Delete(i);
1267 GikoForm.BrowserTab.Tabs.EndUpdate;
1269 // *************************************************************************
1270 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1271 // *************************************************************************
1272 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1274 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1276 // *************************************************************************
1277 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1278 // *************************************************************************
1279 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1283 if GikoSys.Setting.ShowDialogForAllTabClose then
1284 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
1287 GikoForm.ActiveContent := nil;
1288 GikoForm.BrowserNullTab.Thread := nil;
1289 GikoForm.BrowserTab.OnChange := nil;
1290 GikoForm.BrowserTab.Tabs.BeginUpdate;
1291 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1292 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1294 GikoForm.BrowserTab.Tabs.Clear;
1295 GikoForm.BrowserTab.Tabs.EndUpdate;
1296 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1297 GikoForm.SetContent(GikoForm.BrowserNullTab);
1298 GikoForm.Caption := CAPTION_NAME ;
1300 // *************************************************************************
1301 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1302 // *************************************************************************
1303 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1305 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';
1306 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1309 ThreadItem: TThreadItem;
1311 idx := GikoForm.BrowserTab.TabIndex;
1312 if idx <> -1 then begin
1313 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1314 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1315 if GikoSys.Setting.DeleteMsg then
1316 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1317 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1319 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1320 GikoForm.DeleteHistory(ThreadItem);
1321 ThreadItem.DeleteLogFile;
1322 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1323 GikoForm.ListView.Refresh;
1327 // *************************************************************************
1328 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1329 // *************************************************************************
1330 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1332 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1333 GikoForm.BrowserTab.TabIndex := 0;
1334 GikoForm.BrowserTab.OnChange(nil);
1337 // *************************************************************************
1338 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1339 // *************************************************************************
1340 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1342 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1343 LeftmostTabSelectActionUpdate(Sender);
1345 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1349 // *************************************************************************
1350 //!
\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
1351 // *************************************************************************
1352 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1354 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1355 and (GikoForm.BrowserTab.TabIndex <> 0);
1357 // *************************************************************************
1358 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1359 // *************************************************************************
1360 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1362 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1363 if GikoForm.BrowserTab.TabIndex = -1 then begin
1364 GikoForm.BrowserTab.TabIndex := 0;
1365 GikoForm.BrowserTab.OnChange(nil);
1366 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1367 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1368 GikoForm.BrowserTab.OnChange(nil);
1370 if (GikoSys.Setting.LoopBrowserTabs) and
1371 (GikoForm.BrowserTab.TabIndex = 0) then begin
1372 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1373 GikoForm.BrowserTab.OnChange(nil);
1378 // *************************************************************************
1379 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1380 // *************************************************************************
1381 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1383 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1384 if GikoForm.BrowserTab.TabIndex = -1 then begin
1385 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1386 GikoForm.BrowserTab.OnChange(nil);
1387 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1388 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1389 GikoForm.BrowserTab.OnChange(nil);
1391 if (GikoSys.Setting.LoopBrowserTabs) and
1392 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1393 GikoForm.BrowserTab.TabIndex := 0;
1394 GikoForm.BrowserTab.OnChange(nil);
1399 // *************************************************************************
1400 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1401 // *************************************************************************
1402 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1404 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1405 RightmostTabSelectActionUpdate(Sender);
1407 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1411 // *************************************************************************
1412 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1413 // *************************************************************************
1414 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1416 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1417 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1418 GikoForm.BrowserTab.OnChange(nil);
1421 // *************************************************************************
1422 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1423 // *************************************************************************
1424 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1426 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1427 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1430 // *************************************************************************
1431 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1432 // *************************************************************************
1433 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1435 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1436 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1438 // *************************************************************************
1439 //!
\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
1440 // *************************************************************************
1441 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1443 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1444 and (GikoForm.ListView.SelCount > 0);
1446 // *************************************************************************
1447 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1448 // *************************************************************************
1449 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1451 Dlg: TListSelectDialog;
1452 FilterList : TStringList;
1455 Dlg := TListSelectDialog.Create(GikoForm);
1457 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1458 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1460 if Dlg.ModalResult = mrOK then begin
1461 SelectResAction.Checked := True;
1462 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1463 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1464 ResRangeAction.Execute;
1466 GikoSys.ResRange := Ord( grrSelect );
1468 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1469 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1471 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1472 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1474 GikoSys.Setting.SelectTextList.Delete(idx);
1475 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1476 while Dlg.SelectComboBox.Items.Count > 100 do begin
1477 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1481 if GikoForm.SelectComboBoxPanel.Visible then
1482 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1486 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1487 FilterList := TStringList.Create;
1489 GikoSys.FSelectResFilter.Reverse := True;
1490 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1491 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1493 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1497 GikoForm.RepaintAllTabsBrowser();
1500 //
\83L
\83\83\83\93\83Z
\83\8b
1501 if GikoSys.ResRange <> Ord( grrSelect ) then
1502 ResRangeAction.Execute;
1509 // *************************************************************************
1510 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1511 // *************************************************************************
1512 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1514 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1515 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1517 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1518 AllResAction.Checked := True;
1520 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1521 SetResRange(Ord( grrAll ));
1523 // *************************************************************************
1524 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1525 // *************************************************************************
1526 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1528 case GikoForm.ResRangeMenuSelect of
1529 Ord( grrAll ): AllResAction.Execute;
1530 Ord( grrKoko ): OnlyKokoResAction.Execute;
1531 Ord( grrNew ): OnlyNewResAction.Execute;
1532 100: OnlyAHundredResAction.Execute;
1536 // *************************************************************************
1537 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1538 // *************************************************************************
1539 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1541 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1543 // *************************************************************************
1544 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1545 // *************************************************************************
1546 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1552 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
1553 str := ZenToHan(str);
1554 res := StrToIntDef(str, -1);
1555 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1556 GikoForm.ActiveContent.Move(IntToStr(res));
1557 SetFocusForBrowserAction.Execute;
1558 end else if res > GikoForm.GetActiveContent.Count then begin
1559 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1560 SetFocusForBrowserAction.Execute;
1564 // *************************************************************************
1565 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1566 // *************************************************************************
1567 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1572 idx := GikoForm.BrowserTab.TabIndex;
1573 if idx = -1 then Exit;
1574 GikoForm.BrowserTab.Tabs.BeginUpdate;
1575 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1576 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1577 GikoForm.BrowserTab.Tabs.Delete(i);
1579 GikoForm.BrowserTab.Tabs.EndUpdate;
1581 // *************************************************************************
1582 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1583 // *************************************************************************
1584 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1586 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1588 // *************************************************************************
1589 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1590 // *************************************************************************
1591 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1596 idx := GikoForm.BrowserTab.TabIndex;
1597 if idx = -1 then Exit;
1598 GikoForm.BrowserTab.Tabs.BeginUpdate;
1599 if idx > 0 then begin
1600 for i := idx - 1 downto 0 do begin
1601 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1602 GikoForm.BrowserTab.Tabs.Delete(i);
1605 GikoForm.BrowserTab.Tabs.EndUpdate;
1607 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1608 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1610 // 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
1611 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1612 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1613 TDefaultFileManager.CopyDefaultFiles(
1614 GikoSys.GetAppDir + 'defaultFiles.ini');
1616 // *************************************************************************
1617 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1618 // *************************************************************************
1619 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1624 if GikoForm.SearchDialog = nil then begin
1625 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1626 chk := GikoForm.GetActiveList
1630 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1631 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1635 GikoForm.SearchDialog.Show;
1639 // *************************************************************************
1640 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1641 // *************************************************************************
1642 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1646 Dlg := TOptionDialog.Create(GikoForm);
1653 // *************************************************************************
1654 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1655 // *************************************************************************
1656 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1660 Dlg := TRoundDialog.Create(GikoForm);
1667 // *************************************************************************
1668 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1669 // *************************************************************************
1670 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1672 Dlg: TKeySettingForm;
1674 Dlg := TKeySettingForm.Create(GikoForm);
1676 if Dlg.ShowModal = mrOk then begin
1677 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1678 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1679 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1684 MouseGesture.UnHook;
1685 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1686 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1687 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1688 if GikoSys.Setting.GestureEnabled then begin
1689 GikoSys.Setting.Gestures.ClearGesture;
1690 GikoSys.Setting.Gestures.LoadGesture(
1691 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1692 MouseGesture.SetHook( GikoForm.Handle );
1696 // *************************************************************************
1697 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1698 // *************************************************************************
1699 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1701 Dlg: TKotehanDialog;
1703 Dlg := TKotehanDialog.Create(GikoForm);
1710 // *************************************************************************
1711 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1712 // *************************************************************************
1713 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1715 Dlg: TToolBarSettingDialog;
1718 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1720 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1721 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1722 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1723 case GikoForm.ToolBarSettingSender of
1724 tssMain: Dlg.ToolBarIndex := 0;
1725 tssList: Dlg.ToolBarIndex := 1;
1726 tssBrowser: Dlg.ToolBarIndex := 2;
1728 if Dlg.ShowModal = mrOK then begin
1729 GikoForm.SetToolBarPopup;
1731 //
\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é
1732 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1733 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1734 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1735 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1736 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1738 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1739 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1740 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1741 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1742 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1744 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1745 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1746 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1747 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1748 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1751 SaveToolBarSetting(GikoForm.StdToolBar);
1752 SaveToolBarSetting(GikoForm.ListToolBar);
1753 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1754 GikoForm.SetSelectComboBox;
1755 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1756 SaveToolBarSetting(GikoForm.BrowserToolBar);
1760 GikoForm.ToolBarSettingSender := tssNone;
1763 // *************************************************************************
1764 //!
\83~
\83\85\81[
\83g
1765 // *************************************************************************
1766 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1768 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1770 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1771 // *************************************************************************
1772 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1773 // *************************************************************************
1774 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1777 TmpTreeNode: TTreeNode;
1779 TmpTreeNode := GikoForm.ClickNode;
1780 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1783 if TObject(TmpTreeNode.Data) is TBoard then
1784 Board := TBoard(TmpTreeNode.Data)
1785 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1786 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1788 if Board <> nil then
1789 GikoForm.DownloadList(Board);
1791 // *************************************************************************
1792 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1793 // *************************************************************************
1794 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1796 ThreadItem: TThreadItem;
1797 TmpTreeNode: TTreeNode;
1799 TmpTreeNode := GikoForm.ClickNode;
1800 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1803 if TObject(TmpTreeNode.Data) is TThreadItem then
1804 ThreadItem := TThreadItem(TmpTreeNode.Data)
1805 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1806 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1808 if ThreadItem <> nil then
1809 GikoForm.DownloadContent(ThreadItem);
1811 // *************************************************************************
1812 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1813 // *************************************************************************
1814 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1816 TmpTreeNode: TTreeNode;
1819 TmpTreeNode := GikoForm.ClickNode;
1820 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1821 if TObject(TmpTreeNode.Data) is TBoard then begin
1822 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1823 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1824 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1825 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1826 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1827 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1828 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1830 Clipboard.AsText := s;
1832 // *************************************************************************
1833 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1834 // *************************************************************************
1835 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1837 TmpTreeNode: TTreeNode;
1840 TmpTreeNode := GikoForm.ClickNode;
1841 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1842 if TObject(TmpTreeNode.Data) is TBoard then begin
1843 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1844 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1845 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1846 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1847 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1848 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1849 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1851 Clipboard.AsText := s;
1853 // *************************************************************************
1854 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1855 // *************************************************************************
1856 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1858 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1860 // *************************************************************************
1861 //!
\94Â
\96¼
\8c\9f\8dõ
1862 // *************************************************************************
1863 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1867 CurItem : TTreeNode;
1870 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1873 if GikoForm.TreeView.Selected = nil then
1874 CurItem := GikoForm.TreeView.Items.GetFirstNode
1876 CurItem := GikoForm.TreeView.Selected.GetNext;
1877 if CurItem = nil then
1878 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1880 while CurItem <> nil do begin
1881 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1884 CurItem := CurItem.GetNext;
1887 if CurItem = nil then begin
1888 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1889 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1890 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1894 GikoForm.TreeView.Select(CurItem);
1895 GikoForm.TreeView.SetFocus;
1897 GikoForm.TreeView.Select(CurItem);
1898 GikoForm.TreeView.SetFocus;
1899 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1900 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1913 // *************************************************************************
1914 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1915 // *************************************************************************
1916 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1920 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1921 s := GikoForm.ClickNode.Text;
1922 Clipboard.AsText := s;
1924 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1925 // *************************************************************************
1926 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1927 // *************************************************************************
1928 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1933 if GikoSys.Dolib.Connected then begin
1934 //
\83\8d\83O
\83A
\83E
\83g
1935 GikoSys.Dolib.Disconnect;
1936 LoginAction.Checked := False;
1937 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1938 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1940 TmpCursor := GikoForm.ScreenCursor;
1941 GikoForm.ScreenCursor := crHourGlass;
1943 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1944 if not GikoSys.Setting.ForcedLogin then begin
1945 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1946 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1947 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1948 if GikoSys.Setting.ReadProxy then begin
1949 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1950 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1952 GikoSys.Dolib.ProxyAddress := '';
1953 GikoSys.Dolib.ProxyPort := 0;
1955 if GikoSys.Dolib.Connect then begin
1956 LoginAction.Checked := True;
1957 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1958 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1959 //LoginToolButton.Style := tbsCheck;
1961 // 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);
1962 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1963 GikoForm.PlaySound('Error');
1964 LoginAction.Checked := False;
1965 //LoginToolButton.Down := False;
1966 ///LoginToolButton.Style := tbsButton;
1969 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
1970 + '
\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
1971 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1972 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1973 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1974 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1975 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1976 if GikoSys.Setting.ReadProxy then begin
1977 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1978 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1980 GikoSys.Dolib.ProxyAddress := '';
1981 GikoSys.Dolib.ProxyPort := 0;
1983 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1984 GikoSys.Dolib.ForcedConnect;
1985 if GikoSys.Dolib.Connect then begin
1986 LoginAction.Checked := True;
1987 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1988 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1989 //LoginToolButton.Style := tbsCheck;
1991 // 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);
1992 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1993 GikoForm.PlaySound('Error');
1994 LoginAction.Checked := False;
1995 //LoginToolButton.Down := False;
1996 //LoginToolButton.Style := tbsButton;
1999 LoginAction.Checked := False;
2000 //LoginToolButton.Down := False;
2001 //LoginToolButton.Style := tbsButton;
2005 GikoForm.ScreenCursor := TmpCursor;
2009 // *************************************************************************
2010 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2011 // *************************************************************************
2012 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
2014 Dlg: TNewBoardDialog;
2017 if (EditorFormExists) then begin
2018 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
2019 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
2022 Dlg := TNewBoardDialog.Create(GikoForm);
2029 // *************************************************************************
2030 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
2031 // *************************************************************************
2032 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
2034 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';
2035 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';
2036 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2038 ThreadItem: TThreadItem;
2039 TmpListItem: TListItem;
2043 List := TList.Create;
2045 TmpListItem := GikoForm.ListView.Selected;
2046 while TmpListItem <> nil do begin
2047 if TObject(TmpListItem.Data) is TThreadItem then begin
2048 ThreadItem := TThreadItem(TmpListItem.Data);
2049 if ThreadItem.IsLogFile then
2050 List.Add(ThreadItem);
2052 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2055 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2056 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2057 if List.Count = 1 then begin
2058 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
2061 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
2067 for i := 0 to List.Count - 1 do begin
2068 ThreadItem := TThreadItem(List[i]);
2069 GikoForm.DeleteHistory(ThreadItem);
2070 GikoForm.DeleteTab(ThreadItem);
2071 ThreadItem.DeleteLogFile;
2073 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2074 GikoForm.ListView.Refresh;
2079 // *************************************************************************
2080 //! 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Ê
2081 // *************************************************************************
2082 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2084 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2085 and (GikoForm.ListView.SelCount > 0);
2087 // *************************************************************************
2088 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2089 // *************************************************************************
2090 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2092 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';
2093 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2095 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2096 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2098 GikoSys.Setting.SelectTextList.Clear;
2099 GikoForm.SelectComboBox.Items.Clear;
2100 GikoForm.SelectComboBox.Text := '';
2101 GikoForm.SetListViewType( gvtAll );
2103 // *************************************************************************
2104 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2105 // *************************************************************************
2106 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2108 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';
2109 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2111 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2112 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2114 GikoSys.Setting.NameList.Clear;
2115 ClearNameTextAllEditor
2117 // *************************************************************************
2118 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2119 // *************************************************************************
2120 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2122 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';
2123 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2125 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2126 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2128 GikoSys.Setting.MailList.Clear;
2131 // *************************************************************************
2132 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2133 // *************************************************************************
2134 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2138 // *************************************************************************
2139 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2140 // *************************************************************************
2141 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2143 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2145 // *************************************************************************
2146 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2147 // *************************************************************************
2148 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2150 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2151 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2153 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2156 // *************************************************************************
2157 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2158 // *************************************************************************
2159 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2166 List := TList.Create;
2168 GikoForm.ScreenCursor := crHourGlass;
2169 GikoForm.SelectListItem(List);
2170 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2171 (GikoSys.Setting.ListHeightState = glsMax)) or
2172 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2173 (GikoSys.Setting.ListWidthState = glsMax)) then
2174 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2175 else if(List.Count = 0) then
2176 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2179 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2180 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2182 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2183 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2185 for i := 0 to List.Count - 1 do begin
2186 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2188 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2190 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2192 if SaveDialog.Execute then begin
2194 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2195 PChar(SaveDialog.FileName), true);
2197 html := TStringList.Create;
2198 title := TThreadItem(List[i]).Title;
2200 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2201 html.SaveToFile(SaveDialog.FileName);
2202 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2212 GikoForm.ScreenCursor := crDefault;
2216 // *************************************************************************
2217 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2218 // *************************************************************************
2219 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2221 SelectThreadSaveToFile(false);
2223 // *************************************************************************
2224 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2225 // *************************************************************************
2226 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2228 SelectThreadSaveToFile(true);
2230 // *************************************************************************
2231 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2232 // *************************************************************************
2233 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2235 Filename = 'tab.sav';
2236 bFilename = '~tab.sav';
2238 SaveStringList: TStringList;
2240 SaveStringList := TStringList.Create;
2242 GetTabURLs(SaveStringList);
2244 if FileExists( GikoSys.GetAppDir + Filename) then begin
2245 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2246 PChar(GikoSys.GetAppDir + bFilename), False);
2250 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2252 SaveStringList.Free;
2255 // *************************************************************************
2256 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2257 // *************************************************************************
2258 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2260 rec : TBrowserRecord;
2263 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2265 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2266 if( rec <> nil) and (rec.Thread <> nil) then
2267 AStringList.Add( rec.Thread.URL );
2272 // *************************************************************************
2273 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2274 // *************************************************************************
2275 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2277 GikoTab : TGikoTabAppend;
2281 if (AStringList <> nil) then begin
2282 GikoTab := GikoSys.Setting.BrowserTabAppend;
2284 bound := AStringList.Count - 1;
2285 if bound > -1 then begin
2286 GikoSys.Setting.BrowserTabAppend := gtaLast;
2287 for i := 0 to bound do begin
2288 item := BBSsFindThreadFromURL( AStringList[ i ] );
2290 GikoForm.InsertBrowserTab( item, false );
2292 //
\8dÅ
\8f\89\82Ì
\82P
\96\87\82É
\90Ý
\92è
2293 if (GikoSys.Setting.URLDisplay) and
2294 (GikoForm.BrowserTab.Tabs.Count > 0) then begin
2295 GikoForm.AddressComboBox.Text :=
2296 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[0]).Thread.URL;
2300 GikoSys.Setting.BrowserTabAppend := GikoTab;
2304 // *************************************************************************
2305 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2306 // *************************************************************************
2307 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2309 TABFILE = 'tab.sav';
2314 URLs := TStringList.Create();
2316 fileName := GikoSys.GetAppDir + TABFILE;
2317 if FileExists(fileName) then begin
2319 URLs.LoadFromFile(fileName);
2320 if (URLs.Count = 0) then begin
2321 //
\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
2322 SysUtils.DeleteFile(fileName);
2327 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2334 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2335 (TabsOpenAction.Tag <> 1) then begin
2336 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2339 // *************************************************************************
2340 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2341 // *************************************************************************
2342 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2347 if GikoSys.Belib.Connected then begin
2348 //
\83\8d\83O
\83A
\83E
\83g
2349 GikoSys.Belib.Disconnect;
2350 BeLogInOutAction.Checked := False;
2351 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmBeLogout), nil, gmiOK);
2353 TmpCursor := GikoForm.ScreenCursor;
2354 GikoForm.ScreenCursor := crHourGlass;
2356 GikoSys.Belib.ClientUA := 'gikoNavi/1.00';
2357 GikoSys.Belib.UserName := GikoSys.Setting.BeUserID;
2358 GikoSys.Belib.Password := GikoSys.Setting.BePassword;
2359 if GikoSys.Setting.ReadProxy then begin
2360 GikoSys.Belib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
2361 GikoSys.Belib.ProxyPort := GikoSys.Setting.ReadProxyPort;
2363 GikoSys.Belib.ProxyAddress := '';
2364 GikoSys.Belib.ProxyPort := 0;
2366 if GikoSys.Belib.Connect then begin
2367 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmBeLogin) + GikoSys.Setting.BeUserID, nil, gmiOK);
2368 BeLogInOutAction.Checked := True;
2370 GikoForm.AddMessageList(GikoSys.Belib.ErrorMsg, nil, gmiNG);
2371 GikoForm.PlaySound('Error');
2372 BeLogInOutAction.Checked := False;
2375 GikoForm.ScreenCursor := TmpCursor;
2379 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2380 // *************************************************************************
2381 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2382 // *************************************************************************
2383 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2386 ThreadItem: TThreadItem;
2388 No := GikoForm.KokoPopupMenu.Tag;
2391 ThreadItem := GikoForm.KokoPopupThreadItem;
2392 if not Assigned(ThreadItem) then
2394 ThreadItem.Kokomade := No;
2395 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2396 GikoForm.ActiveContent.Repaint := true;
2397 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2398 //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é
2399 //Application.ProcessMessages;
2401 // *************************************************************************
2402 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2403 // *************************************************************************
2404 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2406 ThreadItem: TThreadItem;
2408 ThreadItem := GikoForm.GetActiveContent(True);
2409 if ThreadItem = nil then Exit;
2410 ThreadItem.Kokomade := -1;
2411 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2412 GikoForm.ActiveContent.Repaint := true;
2413 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2414 //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é
2415 //Application.ProcessMessages;
2417 // *************************************************************************
2418 //!
\83R
\83R
\82É
\83\8c\83X
2419 // *************************************************************************
2420 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2422 Editor: TEditorForm;
2426 Number := GikoForm.KokoPopupMenu.Tag;
2427 if Number = 0 then Exit;
2428 Item := GikoForm.KokoPopupThreadItem;
2429 if Item = nil then Exit;
2431 Editor := TEditorForm.Create(GikoForm);
2432 Editor.SetThreadItem(Item);
2433 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2435 Editor.BodyEdit.SetFocus;
2437 // *************************************************************************
2438 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2439 // *************************************************************************
2440 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2442 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2444 // *************************************************************************
2445 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2446 // *************************************************************************
2447 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2451 ThreadItem : TThreadItem;
2455 No := GikoForm.KokoPopupMenu.Tag;
2456 if No = 0 then Exit;
2457 ThreadItem := GikoForm.KokoPopupThreadItem;
2458 if ThreadItem = nil then Exit;
2460 AID := GikoSys.GetResID(No, ThreadItem);
2461 if not IsNoValidID(AID) then begin
2462 GikoForm.ShowSameIDAncher(AID);
2465 // *************************************************************************
2466 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2467 // *************************************************************************
2468 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2470 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2472 // *************************************************************************
2473 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2474 // *************************************************************************
2475 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2477 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2479 // *************************************************************************
2480 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2481 // *************************************************************************
2482 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2484 IndividualForm :TIndividualAbonForm;
2485 ThreadItem : TThreadItem;
2487 ReadList : TStringList;
2488 wordCount : TWordCount;
2490 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2492 ThreadItem := GikoForm.GetActiveContent(True);
2493 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2494 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2495 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2496 ReadList := TStringList.Create;
2497 wordCount := TWordCount.Create;
2499 {$IFDEF SPAM_FILTER_ENABLED}
2500 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2501 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2502 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2503 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2504 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2506 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2507 GikoForm.ActiveContent.Repaint := true;
2508 GikoForm.InsertBrowserTab( ThreadItem, True );
2515 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2516 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2520 IndividualForm.Release;
2523 // *************************************************************************
2524 //!
\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
2525 // *************************************************************************
2526 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2528 IndividualForm :TIndividualAbonForm;
2529 ThreadItem : TThreadItem;
2531 ReadList : TStringList;
2532 wordCount : TWordCount;
2533 {$IFDEF SPAM_FILTER_ENABLED}
2537 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2539 ThreadItem := GikoForm.GetActiveContent(True);
2540 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2541 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2542 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2543 if (IndividualForm.ShowModal = mrOK) then begin
2544 ReadList := TStringList.Create;
2545 wordCount := TWordCount.Create;
2547 {$IFDEF SPAM_FILTER_ENABLED}
2548 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2549 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2550 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2551 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2552 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2553 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2556 if IndividualForm.FRepaint then begin
2557 GikoForm.ActiveContent.Repaint := true;
2558 GikoForm.InsertBrowserTab( ThreadItem, True );
2566 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2567 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2571 IndividualForm.Release;
2574 // *************************************************************************
2575 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2576 // *************************************************************************
2577 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2579 GikoForm.IndividualAbonID(1);
2581 // *************************************************************************
2582 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2583 // *************************************************************************
2584 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2586 GikoForm.IndividualAbonID(0);
2588 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2589 // *************************************************************************
2590 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2591 // *************************************************************************
2592 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2594 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2596 // *************************************************************************
2597 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2598 // *************************************************************************
2599 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2601 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2603 // *************************************************************************
2604 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2605 // *************************************************************************
2606 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2608 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2610 // *************************************************************************
2611 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2612 // *************************************************************************
2613 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2615 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2617 // *************************************************************************
2618 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2619 // *************************************************************************
2620 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2624 Dlg := TAboutDialog.Create(GikoForm);
2631 // *************************************************************************
2632 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2633 // *************************************************************************
2634 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2638 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2639 if not FileExists(FileName) then begin
2642 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2643 '
\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 +
2644 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2649 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2651 // *************************************************************************
2652 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2653 // *************************************************************************
2654 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2656 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2658 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2659 // *************************************************************************
2660 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2661 // *************************************************************************
2662 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2664 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2665 GikoForm.ListView.Refresh;
2667 // *************************************************************************
2668 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2669 // *************************************************************************
2670 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2672 if GikoForm.GetActiveList is TBoard then begin
2673 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2674 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2675 end else if GikoForm.GetActiveList is TCategory then begin
2676 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2679 // *************************************************************************
2680 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2681 // *************************************************************************
2682 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2684 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS) and
2685 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
2687 // *************************************************************************
2688 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2689 // *************************************************************************
2690 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2692 case GikoForm.ListView.ViewStyle of
2693 vsIcon: SmallIconAction.Execute;
2694 vsSmallIcon: ListIconAction.Execute;
2695 vsList: DetailIconAction.Execute;
2696 vsReport: LargeIconAction.Execute;
2699 // *************************************************************************
2700 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2701 // *************************************************************************
2702 procedure TGikoDM.ClearSelectComboBox;
2704 if GikoForm.SelectComboBoxPanel.Visible then begin
2705 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2706 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2707 GikoForm.ListView.SetFocus;
2710 // *************************************************************************
2711 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2712 // *************************************************************************
2713 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2716 if GikoForm.ViewType <> gvtAll then
2717 GikoForm.SetListViewType(gvtAll);
2718 GikoSys.Setting.ThreadRange := gtrAll;
2719 AllItemAction.Checked := True;
2720 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2721 GikoForm.ModifySelectList;
2722 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2723 ClearSelectComboBox;
2727 // *************************************************************************
2728 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2729 // *************************************************************************
2730 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2733 if GikoForm.ViewType <> gvtLog then
2734 GikoForm.SetListViewType(gvtLog);
2735 GikoSys.Setting.ThreadRange := gtrLog;
2736 LogItemAction.Checked := True;
2737 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2738 GikoForm.ModifySelectList;
2739 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2740 ClearSelectComboBox;
2744 // *************************************************************************
2745 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2746 // *************************************************************************
2747 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2751 if GikoForm.ViewType <> gvtNew then
2752 GikoForm.SetListViewType(gvtNew);
2753 GikoSys.Setting.ThreadRange := gtrNew;
2754 NewItemAction.Checked := True;
2755 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2756 GikoForm.ModifySelectList;
2757 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2758 ClearSelectComboBox;
2762 // *************************************************************************
2763 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2764 // *************************************************************************
2765 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2768 if GikoForm.ViewType <> gvtArch then
2769 GikoForm.SetListViewType(gvtArch);
2770 GikoSys.Setting.ThreadRange := gtrArch;
2771 ArchiveItemAction.Checked := True;
2772 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2773 GikoForm.ModifySelectList;
2774 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2775 ClearSelectComboBox;
2779 // *************************************************************************
2780 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2781 // *************************************************************************
2782 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2785 if GikoForm.ViewType <> gvtLive then
2786 GikoForm.SetListViewType(gvtLive);
2787 GikoSys.Setting.ThreadRange := gtrLive;
2788 LiveItemAction.Checked := True;
2789 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2790 GikoForm.ModifySelectList;
2791 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2792 ClearSelectComboBox;
2797 // *************************************************************************
2798 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2799 // *************************************************************************
2800 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2802 case GikoSys.Setting.ThreadRange of
2803 gtrAll: AllItemAction.Execute;
2804 gtrLog: LogItemAction.Execute;
2805 gtrNew: NewItemAction.Execute;
2806 gtrArch: ArchiveItemAction.Execute;
2807 gtrLive: LiveItemAction.Execute;
2810 // *************************************************************************
2811 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2812 // *************************************************************************
2813 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2816 Dlg: TListSelectDialog;
2819 if GikoForm.SelectComboBoxPanel.Visible then begin
2820 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2821 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2822 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2823 if GikoSys.Setting.ListWidthState = glsMax then
2824 BrowserMinAction.Execute;
2826 if GikoSys.Setting.ListHeightState = glsMax then
2827 BrowserMinAction.Execute;
2829 GikoForm.SelectComboBox.SetFocus;
2836 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2837 GikoForm.SelectComboBox.Text := '';
2838 GikoForm.SelectComboBox.Color := clWindow;
2841 AllItemAction.Checked := False;
2842 LogItemAction.Checked := False;
2843 NewItemAction.Checked := False;
2844 //SelectItemAction.Checked := True;
2845 GikoForm.ModifySelectList;
2846 Dlg := TListSelectDialog.Create(GikoForm);
2848 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2849 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2851 if Dlg.ModalResult = mrCancel then begin
2852 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2853 AllItemAction.Checked := True;
2854 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2855 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2858 if GikoForm.GetActiveList is TBoard then
2859 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2861 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2863 GikoSys.Setting.SelectTextList.Delete(idx);
2864 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2865 while Dlg.SelectComboBox.Items.Count > 100 do begin
2866 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2869 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2870 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2871 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2873 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2874 GikoForm.SelectComboBox.Color := clWindow;
2876 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2882 // *************************************************************************
2883 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2884 // *************************************************************************
2885 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2887 Editor: TEditorForm;
2889 if not (GikoForm.GetActiveList is TBoard) then
2891 Editor := TEditorForm.Create(GikoForm);
2892 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2894 Editor.BodyEdit.SetFocus;
2896 // *************************************************************************
2897 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2898 // *************************************************************************
2899 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2903 if GikoForm.GetActiveList is TBoard then begin
2904 URL := TBoard(GikoForm.GetActiveList).URL;
2905 GikoSys.OpenBrowser(URL, gbtAuto);
2908 // *************************************************************************
2909 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2910 // *************************************************************************
2911 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2918 List := TList.Create;
2920 GikoForm.SelectListItem(List);
2921 for i := 0 to List.Count - 1 do begin
2922 if TObject(List[i]) is TBoard then
2923 s := s + TBoard(List[i]).URL + #13#10
2924 else if TObject(List[i]) is TThreadItem then
2925 s := s + TThreadItem(List[i]).URL + #13#10;
2928 Clipboard.AsText := s;
2933 // *************************************************************************
2934 //!
\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
2935 // *************************************************************************
2936 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2938 if ((GikoForm.GetActiveList is TBoard) or
2939 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2940 TAction(Sender).Enabled := True
2942 TAction(Sender).Enabled := False;
2944 // *************************************************************************
2945 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2946 // *************************************************************************
2947 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2954 List := TList.Create;
2956 GikoForm.SelectListItem(List);
2957 for i := 0 to List.Count - 1 do begin
2958 if TObject(List[i]) is TCategory then
2959 s := s + TCategory(List[i]).Title + #13#10
2960 else if TObject(List[i]) is TBoard then
2961 s := s + TBoard(List[i]).Title + #13#10
2962 else if TObject(List[i]) is TThreadItem then
2963 s := s + TThreadItem(List[i]).Title + #13#10;
2966 Clipboard.AsText := s;
2971 // *************************************************************************
2972 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2973 // *************************************************************************
2974 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2976 if ((GikoForm.GetActiveList is TBBS) or
2977 (GikoForm.GetActiveList is TBoard) or
2978 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2979 TAction(Sender).Enabled := True
2981 TAction(Sender).Enabled := False;
2983 // *************************************************************************
2984 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2985 // *************************************************************************
2986 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2993 List := TList.Create;
2995 GikoForm.SelectListItem(List);
2996 for i := 0 to List.Count - 1 do begin
2997 if TObject(List[i]) is TBoard then
2998 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2999 else if TObject(List[i]) is TThreadItem then
3000 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
3003 Clipboard.AsText := s;
3008 // *************************************************************************
3009 //!
\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é
3010 // *************************************************************************
3011 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
3018 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3019 GikoForm.ActiveListColumnSave;
3020 if GikoForm.GetActiveList is TCategory then begin
3021 List := TList.Create;
3023 GikoForm.SelectListItem(List);
3024 if List.Count > 5 then begin
3025 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3026 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3027 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3030 for i := 0 to List.Count - 1 do begin
3031 if TObject(List[i]) is TBoard then
3032 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
3037 end else if GikoForm.GetActiveList is TBoard then begin
3038 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
3041 // *************************************************************************
3042 //!
\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
3043 // *************************************************************************
3044 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
3046 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3047 TAction(Sender).Enabled := True
3048 else if GikoForm.GetActiveList is TBoard then begin
3049 TAction(Sender).Enabled :=
3050 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
3052 TAction(Sender).Enabled := False;
3054 // *************************************************************************
3055 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3056 // *************************************************************************
3057 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3064 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3065 List := TList.Create;
3067 GikoForm.SelectListItem(List);
3068 if List.Count > 10 then begin
3069 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3070 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3071 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3074 for i := 0 to List.Count - 1 do begin
3075 if TObject(List[i]) is TThreadItem then
3076 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3082 // *************************************************************************
3083 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3084 // *************************************************************************
3085 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3087 TAction(Sender).Enabled :=
3088 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3090 // *************************************************************************
3091 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3092 // *************************************************************************
3093 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3095 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3096 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3098 // *************************************************************************
3099 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3100 // *************************************************************************
3101 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3106 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3107 List := TList.Create;
3109 GikoForm.SelectListItem(List);
3110 for i := 0 to List.Count - 1 do begin
3111 if TObject(List[i]) is TThreadItem then begin
3112 if TThreadItem(List[i]).IsLogFile then begin
3113 SelectReservAction.Enabled := True;
3118 SelectReservAction.Enabled := False;
3122 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3123 SelectReservAction.Enabled := True
3125 SelectReservAction.Enabled := False;
3127 // *************************************************************************
3128 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3129 // *************************************************************************
3130 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3133 Dlg: TRoundNameDialog;
3137 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3138 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3141 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3142 cnt := RoundList.Count[grtBoard];
3143 cnt := cnt + RoundList.Count[grtItem];
3144 if cnt > 500 then begin
3145 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3149 Dlg := TRoundNameDialog.Create(GikoForm);
3152 if Dlg.ModalResult <> mrCancel then begin
3153 s := Trim(Dlg.RoundNameEdit.Text);
3154 if (Sender is TMenuItem) then begin
3155 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3156 end else if (Sender is TAction) then begin
3157 if (GikoForm.ListView.Selected <> nil) then begin
3158 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3159 GikoForm.SetSelectItemRound(True, s,
3160 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3161 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3162 GikoForm.SetSelectItemRound(True, s,
3163 TBoard(GikoForm.ListView.Selected.Data).Title);
3167 GikoForm.ListView.Refresh;
3173 // *************************************************************************
3174 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3175 // *************************************************************************
3176 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3180 if (Sender is TMenuItem) then begin
3182 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3185 end else if (Sender is TAction) then begin
3187 if GikoForm.ListView.Selected <> nil then begin
3188 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3189 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3190 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3191 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3193 GikoForm.SetSelectItemRound(False, '', s);
3199 GikoForm.ListView.Refresh;
3201 // *************************************************************************
3202 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3203 // *************************************************************************
3204 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3206 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3207 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3209 // *************************************************************************
3210 //!
\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
3211 // *************************************************************************
3212 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3214 BoardFavoriteAddAction.Enabled :=
3215 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3217 // *************************************************************************
3218 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3219 // *************************************************************************
3220 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3224 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3225 (GikoSys.Setting.ListHeightState = glsMax)) or
3226 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3227 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3228 if(GikoForm.GetActiveContent <> nil) then begin
3229 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3231 end else if GikoForm.GetActiveList is TCategory then begin
3232 List := TList.Create;
3234 GikoForm.SelectListItem(List);
3235 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3239 end else if GikoForm.GetActiveList is TBoard then begin
3240 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3244 // *************************************************************************
3245 //! 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Ê
3246 // *************************************************************************
3247 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3249 if (((GikoForm.GetActiveList is TBoard) and
3250 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard))
3251 or (GikoForm.GetActiveList is TCategory))
3252 and (GikoForm.ListView.SelCount > 0) then
3253 TAction(Sender).Enabled := True
3255 TAction(Sender).Enabled := False;
3257 // *************************************************************************
3258 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3259 // *************************************************************************
3260 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3262 RefURL, URL : string;
3266 if GikoForm.GetActiveList is TCategory then begin
3267 List := TList.Create;
3269 GikoForm.SelectListItem(List);
3270 RefURL := TBoard(List[0]).URL;
3274 end else if GikoForm.GetActiveList is TBoard then begin
3275 RefURL := TBoard(GikoForm.GetActiveList).URL
3277 if RefURL <> '' then begin
3278 if RefURL[Length(RefURL)] <> '/' then
3279 URL := RefURL + '/' + 'head.txt'
3281 URL := RefURL + 'head.txt';
3283 GikoForm.MoveToURL(URL);
3285 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3289 // *************************************************************************
3290 //!
\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é
3291 // *************************************************************************
3292 function TGikoDM.GetSortProperties(List: TObject;
3293 var vSortOrder: Boolean): Boolean;
3296 if (List <> nil) then begin
3297 if (List is TBBS) then begin
3298 vSortOrder := GikoSys.Setting.BBSSortOrder;
3299 end else if (List is TCategory) then begin
3300 vSortOrder := GikoSys.Setting.CategorySortOrder;
3301 end else if (List is TBoard) then begin
3302 vSortOrder := GikoSys.Setting.BoardSortOrder;
3310 // *************************************************************************
3311 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3312 // *************************************************************************
3313 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3318 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3319 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3320 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3321 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3323 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3324 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3331 // *************************************************************************
3332 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3333 // *************************************************************************
3334 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3338 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3339 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3340 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3342 if id > GikoForm.ListView.Columns.Count - 1 then
3344 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3345 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3351 // *************************************************************************
3352 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3353 // *************************************************************************
3354 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3358 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3359 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3360 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3363 id := GikoForm.ListView.Columns.Count - 1;
3364 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3365 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3371 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3372 // *************************************************************************
3373 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3374 // *************************************************************************
3375 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3377 CoolBand: TCoolBand;
3379 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3380 if CoolBand = nil then
3382 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3383 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3384 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3386 // *************************************************************************
3387 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3388 // *************************************************************************
3389 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3391 CoolBand: TCoolBand;
3393 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3394 if CoolBand = nil then
3396 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3397 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3398 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3400 // *************************************************************************
3401 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3402 // *************************************************************************
3403 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3405 CoolBand: TCoolBand;
3407 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3408 if CoolBand = nil then
3410 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3411 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3412 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3414 // *************************************************************************
3415 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3416 // *************************************************************************
3417 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3419 CoolBand: TCoolBand;
3421 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3422 if CoolBand = nil then
3424 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3425 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3427 // *************************************************************************
3428 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3429 // *************************************************************************
3430 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3432 CoolBand: TCoolBand;
3434 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3435 if CoolBand = nil then
3437 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3438 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3440 // *************************************************************************
3441 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3442 // *************************************************************************
3443 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3445 CoolBand: TCoolBand;
3447 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3448 if CoolBand = nil then
3450 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3451 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3453 // *************************************************************************
3454 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3455 // *************************************************************************
3456 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3458 CoolBand: TCoolBand;
3460 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3461 if CoolBand = nil then
3463 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3464 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3466 // *************************************************************************
3467 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3468 // *************************************************************************
3469 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3471 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3472 GikoForm.MessagePanel.Top :=
3473 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3474 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3475 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3476 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3478 // *************************************************************************
3479 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3480 // *************************************************************************
3481 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3483 MsgBarVisibleAction.Execute;
3485 // *************************************************************************
3486 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3487 // *************************************************************************
3488 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3490 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3491 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3493 // *************************************************************************
3494 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3495 // *************************************************************************
3496 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3499 if GikoForm.CabinetPanel.Visible then begin
3500 if GikoForm.TreeType = gtt2ch then begin
3501 GikoForm.CabinetVisible( False );
3503 CabinetBBSAction.Checked := False;
3505 CabinetBBSAction.Checked := True;
3508 GikoForm.CabinetVisible( True );
3509 CabinetBBSAction.Checked := True;
3512 if GikoForm.ActiveBBS = nil then
3513 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3515 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3518 // *************************************************************************
3519 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3520 // *************************************************************************
3521 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3523 GikoForm.ShowHistoryTree;
3525 // *************************************************************************
3526 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3527 // *************************************************************************
3528 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3534 if GikoForm.CabinetPanel.Visible then begin
3535 if GikoForm.TreeType = gttFavorite then begin
3536 GikoForm.CabinetVisible( False );
3537 CabinetFavoriteAction.Checked := False;
3539 CabinetFavoriteAction.Checked := True;
3542 GikoForm.CabinetVisible( True );
3543 CabinetFavoriteAction.Checked := True;
3546 // BBS...BBS, History, Favorite
3547 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3549 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3550 for i := 0 to b do begin
3551 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3552 if item is TBBSMenuItem then begin
3553 item.Checked := False;
3554 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3555 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3559 //
\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Ö
3560 GikoForm.HistoryToolBar.Hide;
3561 GikoForm.FavoriteToolBar.Show;
3562 GikoForm.TreeView.Visible := False;
3563 GikoForm.FavoriteTreeView.Visible := True;
3565 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3566 GikoForm.TreeType := gttFavorite;
3568 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3569 CabinetBBSAction.Checked := False;
3570 CabinetHistoryAction.Checked := False;
3572 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3573 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3576 // *************************************************************************
3577 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3578 // *************************************************************************
3579 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3581 case GikoForm.TreeType of
3582 gttHistory: CabinetHistoryAction.Execute;
3583 gttFavorite: CabinetFavoriteAction.Execute;
3585 CabinetBBSAction.Execute;
3588 // *************************************************************************
3589 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3590 // *************************************************************************
3591 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3593 //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ã
3595 // *************************************************************************
3596 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3597 // *************************************************************************
3598 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3600 GikoForm.ListView.ViewStyle := vsIcon;
3601 LargeIconAction.Checked := True;
3603 // *************************************************************************
3604 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3605 // *************************************************************************
3606 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3608 GikoForm.ListView.ViewStyle := vsSmallIcon;
3609 SmallIconAction.Checked := True;
3611 // *************************************************************************
3612 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3613 // *************************************************************************
3614 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3616 GikoForm.ListView.ViewStyle := vsList;
3617 ListIconAction.Checked := True;
3619 // *************************************************************************
3620 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3621 // *************************************************************************
3622 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3624 GikoForm.ListView.ViewStyle := vsReport;
3625 DetailIconAction.Checked := True;
3627 // *************************************************************************
3628 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3629 // *************************************************************************
3630 procedure TGikoDM.StopActionExecute(Sender: TObject);
3632 GikoForm.FControlThread.DownloadAbort;
3633 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3635 GikoForm.Animate.Active := False;
3638 GikoForm.ScreenCursor := crDefault;
3640 // *************************************************************************
3641 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3642 // *************************************************************************
3643 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3645 if ArrangeAction.Checked then begin
3647 GikoForm.ViewPanel.Align := alNone;
3648 GikoForm.ListSplitter.Align := alNone;
3649 GikoForm.ThreadPanel.Align := alNone;
3651 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3652 GikoForm.ViewPanel.Align := alLeft;
3654 GikoForm.ListSplitter.Width := 5;
3655 GikoForm.ListSplitter.Align := alLeft;
3657 GikoForm.ViewPanel.Left := -10;
3659 GikoForm.ThreadPanel.Align := alClient;
3661 GikoSys.Setting.ListOrientation := gloHorizontal;
3662 case GikoSys.Setting.ListWidthState of
3664 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3665 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3666 GikoForm.ViewPanel.Width := 1;
3669 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3670 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3673 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3674 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3675 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3680 GikoForm.ViewPanel.Align := alNone;
3681 GikoForm.ListSplitter.Align := alNone;
3682 GikoForm.ThreadPanel.Align := alNone;
3684 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3685 GikoForm.ViewPanel.Align := alTop;
3687 GikoForm.ListSplitter.Height := 5;
3688 GikoForm.ListSplitter.Align := alTop;
3690 GikoForm.ViewPanel.Top := -10;
3692 GikoForm.ThreadPanel.Align := alClient;
3693 GikoSys.Setting.ListOrientation := gloVertical;
3694 case GikoSys.Setting.ListHeightState of
3696 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3697 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3698 GikoForm.ViewPanel.Height := 1;
3701 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3702 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3705 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3706 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3707 GikoForm.ViewPanel.Height :=
3708 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3713 // *************************************************************************
3714 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3715 // *************************************************************************
3716 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3718 GikoForm.CabinetPanel.Width := 150;
3719 GikoForm.MessagePanel.Height := 40;
3721 GikoForm.BrowserSizeWidth := 200;
3722 GikoForm.BrowserSizeHeight := 200;
3723 if ArrangeAction.Checked then begin
3724 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3726 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3728 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3729 if GikoSys.Setting.ListHeightState = glsMax then begin
3730 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3731 GikoSys.Setting.ListHeightState := glsNormal;
3734 if GikoSys.Setting.ListWidthState = glsMax then begin
3735 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3736 GikoSys.Setting.ListWidthState := glsNormal;
3740 // *************************************************************************
3741 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3742 // *************************************************************************
3743 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3745 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3746 GikoForm.SetBrowserTabState;
3748 // *************************************************************************
3749 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3750 // *************************************************************************
3751 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3753 BrowserTabBottomAction.Checked := False;
3754 BrowserTabTopAction.Checked := True;
3755 GikoSys.Setting.BrowserTabPosition := gtpTop;
3756 GikoForm.SetBrowserTabState;
3758 // *************************************************************************
3759 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3760 // *************************************************************************
3761 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3763 BrowserTabTopAction.Checked := False;
3764 BrowserTabBottomAction.Checked := True;
3765 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3766 GikoForm.SetBrowserTabState;
3768 // *************************************************************************
3769 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3770 // *************************************************************************
3771 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3773 BrowserTabButtonStyleAction.Checked := False;
3774 BrowserTabFlatStyleAction.Checked := False;
3775 BrowserTabTabStyleAction.Checked := True;
3776 GikoSys.Setting.BrowserTabStyle := gtsTab;
3777 GikoForm.SetBrowserTabState;
3779 // *************************************************************************
3780 //!
\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é
3781 // *************************************************************************
3782 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3784 BrowserTabTabStyleAction.Checked := False;
3785 BrowserTabFlatStyleAction.Checked := False;
3786 BrowserTabButtonStyleAction.Checked := True;
3787 GikoSys.Setting.BrowserTabStyle := gtsButton;
3788 GikoForm.SetBrowserTabState;
3790 // *************************************************************************
3791 //!
\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é
3792 // *************************************************************************
3793 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3795 BrowserTabFlatStyleAction.Checked := True;
3796 BrowserTabTabStyleAction.Checked := False;
3797 BrowserTabButtonStyleAction.Checked := False;
3798 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3799 GikoForm.SetBrowserTabState;
3801 // *************************************************************************
3802 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3803 // *************************************************************************
3804 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3806 GikoForm.ActiveContent.Browser.SetFocus;
3808 // *************************************************************************
3809 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3810 // *************************************************************************
3811 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3813 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3814 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3815 TAction(Sender).Enabled := true
3817 TAction(Sender).Enabled := false;
3819 // *************************************************************************
3820 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3821 // *************************************************************************
3822 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3824 if GikoForm.ActiveContent <> nil then
3825 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3826 GikoForm.ListView.SetFocus;
3828 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3829 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é
3831 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3832 if (GikoForm.ListView.ItemFocused <> nil) then begin
3833 GikoForm.ListView.ItemFocused.MakeVisible(False);
3836 // *************************************************************************
3837 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3838 // *************************************************************************
3839 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3841 if GikoForm.ActiveContent <> nil then
3842 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3843 if GikoForm.TreeView.Visible then begin
3844 GikoForm.TreeView.SetFocus;
3845 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3846 GikoForm.TreeView.Items.Item[0].Selected := true;
3847 end else if GikoForm.FavoriteTreeView.Visible then begin
3848 GikoForm.FavoriteTreeView.SetFocus;
3849 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3850 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3853 // *************************************************************************
3854 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3855 // *************************************************************************
3856 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3858 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3860 // *************************************************************************
3861 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3862 // *************************************************************************
3863 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3865 BrowserMinAction.Execute;
3866 SetFocusForThreadListAction.Execute;
3868 // *************************************************************************
3869 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3870 // *************************************************************************
3871 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3873 BrowserMaxAction.Execute;
3874 SetFocusForBrowserAction.Execute;
3876 // *************************************************************************
3877 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3878 // *************************************************************************
3879 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3881 if GikoForm.ListView.Selected <> nil then begin
3882 GikoForm.ListView.Selected.Focused := True;
3883 GikoForm.ListView.Selected := nil;
3886 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3887 // *************************************************************************
3888 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3889 // *************************************************************************
3890 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3892 SetThreadReadProperty(true);
3894 // *************************************************************************
3895 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3896 // *************************************************************************
3897 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3899 SetThreadReadProperty(false);
3901 // *************************************************************************
3902 //!
\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Ç
3903 // *************************************************************************
3904 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3909 List := TList.Create;
3911 GikoForm.SelectListItem(List);
3912 for i := 0 to List.Count - 1 do begin
3913 if TObject(List[i]) is TThreadItem then begin
3914 if (TThreadItem(List[i]).IsLogFile) then begin
3915 TThreadItem(List[i]).UnRead := not read;
3919 if GikoForm.TreeView.Visible then
3920 GikoForm.TreeView.Refresh;
3921 if GikoForm.ListView.Visible then
3922 GikoForm.ListView.Refresh;
3927 // *************************************************************************
3928 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3929 // *************************************************************************
3930 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3932 GikoForm.ListViewAllSelect;
3934 // *************************************************************************
3935 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3936 // *************************************************************************
3937 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3939 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3941 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3942 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3943 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3945 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 +
3946 '
\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' +
3947 '
\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';
3948 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3951 limitSize : Integer;
3954 {
\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Í
3955 \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
3956 \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õ
3957 è
\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
3958 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3960 if MsgBox(GikoForm.Handle, RECALC_MES,
3961 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3962 //è
\87\92l
\82Ì
\8am
\94F
3963 limitSize := LIMIT_SIZE;
3964 limitStr := IntToStr(limitSize);
3965 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
3966 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3967 if (limitSize < 0) then begin
3968 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3969 ThreadSizeCalcForFileActionExecute(nil);
3971 RecalcThreadSize(limitSize);
3976 //! 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
3977 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3979 i, j, tmpSize : Integer;
3982 Thread: TThreadItem;
3985 //
\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
3986 GikoForm.ScreenCursor := crHourGlass;
3988 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3989 for i := 0 to BoardGroups[0].Count - 1 do begin
3990 Obj := BoardGroups[0].Objects[i];
3991 if (Obj <> nil) then begin
3992 Board := TBoard(Obj);
3993 if not Board.IsThreadDatRead then begin
3994 GikoSys.ReadSubjectFile(Board);
3996 for j := 0 to Board.Count - 1 do begin
3997 Thread := Board.Items[j];
3998 if (Thread <> nil) and (Thread.IsLogFile)
3999 and (Thread.Size <= limit) then begin
4000 dat := TStringList.Create;
4002 tmpSize := Thread.Size;
4004 dat.LoadFromFile(Thread.GetThreadFileName);
4005 tmpSize := Length(dat.Text);
4006 tmpSize := tmpSize - dat.Count;
4009 Thread.Size := tmpSize;
4016 GikoForm.ProgressBar.StepBy(1);
4019 GikoForm.ScreenCursor := crDefault;
4021 GikoForm.ProgressBar.Position := 0;
4022 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
4024 // *************************************************************************
4025 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
4026 // *************************************************************************
4027 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
4029 form : TInputAssistForm;
4031 form := TInputAssistForm.Create(GikoForm);
4039 // *************************************************************************
4040 //!
\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é
4041 // *************************************************************************
4042 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
4044 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
4045 GikoForm.ActiveContent.OpenFindDialog;
4049 // *************************************************************************
4050 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
4051 // *************************************************************************
4052 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
4055 if GikoForm.ClickNode = nil then Exit;
4058 GikoForm.ClickNode.Text + #13#10;
4061 // *************************************************************************
4062 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4063 // *************************************************************************
4064 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4068 if ( EditorFormExists ) then begin
4069 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4070 for i := Screen.CustomFormCount - 1 downto 0 do begin
4071 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4072 TEditorForm(Screen.CustomForms[i]).Close;
4077 // *************************************************************************
4078 //!
\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é
4079 // *************************************************************************
4080 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4082 if (Sender is TAction) then begin
4083 TAction(Sender).Enabled := EditorFormExists;
4086 // *************************************************************************
4087 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4088 // *************************************************************************
4089 function TGikoDM.EditorFormExists(): boolean;
4094 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4095 for i := Screen.CustomFormCount - 1 downto 0 do begin
4096 if (Screen.CustomForms[i] is TEditorForm) then begin
4103 // *************************************************************************
4104 //!
\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é
4105 // *************************************************************************
4106 procedure TGikoDM.ClearNameTextAllEditor();
4110 for i := 0 to Screen.CustomFormCount - 1 do begin
4111 if (Screen.CustomForms[i] is TEditorForm) then begin
4112 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4116 // *************************************************************************
4117 //!
\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é
4118 // *************************************************************************
4119 procedure TGikoDM.ClearMailAllEditor();
4123 for i := 0 to Screen.CustomFormCount - 1 do begin
4124 if TObject(Screen.CustomForms[i]) is TEditorForm then
4125 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4129 // *************************************************************************
4130 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4131 // *************************************************************************
4132 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4134 PrevMoveHistory.Enabled :=
4135 (MoveHisotryManager.HisotryIndex > 0)
4137 // *************************************************************************
4138 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4139 // *************************************************************************
4140 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4142 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4143 BackToHistory(MoveHisotryManager.getPrevItem
4144 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4145 .Objects[GikoForm.BrowserTab.TabIndex])));
4147 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4150 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4151 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4153 browser : TWebBrowser;
4154 doc : IHTMLDocument2;
4156 if ( item <> nil ) then begin
4157 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4158 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4159 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4160 if (browser <> nil) then begin
4162 doc := browser.ControlInterface.Document as IHTMLDocument2;
4163 (doc.body as IHTMLElement2).ScrollTop := item.ScrollTop;
4169 MoveURLWithHistory(item.ThreadItem.URL, True);
4173 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4174 procedure TGikoDM.MoveURLWithHistory(URL : String; KeyMask: Boolean = False);
4179 GikoForm.MoveToURL(URL, KeyMask);
4180 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4181 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4182 if idx = -1 then begin
4183 GikoForm.AddressComboBox.Items.Insert(0, URL);
4184 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4185 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4187 GikoForm.AddressComboBox.Items.Delete(idx);
4188 GikoForm.AddressComboBox.Items.Insert(0, URL);
4191 // *************************************************************************
4192 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4193 // *************************************************************************
4194 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4196 NextMoveHistory.Enabled :=
4197 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4199 // *************************************************************************
4200 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4201 // *************************************************************************
4202 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4204 BackToHistory(MoveHisotryManager.getNextItem);
4206 // *************************************************************************
4207 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4208 // *************************************************************************
4209 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4211 browser : TWebBrowser;
4212 elem : IHTMLElement;
4213 doc : IHTMLDocument2;
4215 if (GikoForm.GetActiveContent <> nil) then begin
4216 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4217 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4218 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4219 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4220 if (browser <> nil) then begin
4222 doc := browser.ControlInterface.Document as IHTMLDocument2;
4223 if Assigned(doc) then begin
4224 elem := doc.activeElement;
4225 if Assigned(elem) then begin
4236 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4237 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4239 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4240 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4242 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4243 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4245 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4246 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4248 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4249 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4251 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4252 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4254 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4255 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4257 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4258 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4260 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4261 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4263 GikoForm.StoredTaskTray;
4264 StoredTaskTrayAction.Tag := -1;
4268 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4269 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4271 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4273 links : IHTMLElementCollection;
4274 urls, exts : TStringList;
4276 links := GetActiveThreadLinks;
4277 if (links <> nil) then begin
4278 urls := TStringList.Create;
4279 exts := TStringList.Create;
4281 exts.CaseSensitive := False;
4282 exts.Sorted := True;
4283 exts.Delimiter := ';';
4284 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4285 GetLinkURLs(links, urls, 0, exts);
4286 Clipboard.SetTextBuf(urls.GetText);
4295 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4296 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4298 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4300 links : IHTMLElementCollection;
4301 urls, exts : TStringList;
4302 ThreadItem : TThreadItem;
4304 ThreadItem := GikoForm.GetActiveContent;
4305 links := GetActiveThreadLinks;
4306 if (ThreadItem <> nil) and (links <> nil) then begin
4307 urls := TStringList.Create;
4308 exts := TStringList.Create;
4310 exts.CaseSensitive := False;
4311 exts.Sorted := True;
4312 exts.Delimiter := ';';
4313 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4315 GetLinkURLs(links, urls,
4316 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4317 Clipboard.SetTextBuf(urls.GetText);
4325 \breif
\83\8a\83\93\83NURL
\8eæ
\93¾
4326 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4328 procedure TGikoDM.AllLinkToClipboardActionExecute(Sender: TObject);
4330 links : IHTMLElementCollection;
4331 urls, exts : TStringList;
4333 links := GetActiveThreadLinks;
4334 if (links <> nil) then begin
4335 urls := TStringList.Create;
4336 exts := TStringList.Create;
4338 exts.CaseSensitive := False;
4339 exts.Sorted := True;
4340 exts.Delimiter := ';';
4341 exts.DelimitedText :=
4342 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4343 GetLinkURLs(links, urls, 0, exts);
4344 Clipboard.SetTextBuf(urls.GetText);
4352 \breif
\90V
\92\85\83\8c\83X
\83\8a\83\93\83NURL
\8eæ
\93¾
4353 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4355 procedure TGikoDM.NewLinkToClipboardActionExecute(Sender: TObject);
4357 links : IHTMLElementCollection;
4358 urls, exts : TStringList;
4359 ThreadItem : TThreadItem;
4361 ThreadItem := GikoForm.GetActiveContent;
4362 links := GetActiveThreadLinks;
4363 if (ThreadItem <> nil) and (links <> nil) then begin
4364 urls := TStringList.Create;
4365 exts := TStringList.Create;
4367 exts.CaseSensitive := False;
4368 exts.Sorted := True;
4369 exts.Delimiter := ';';
4370 exts.DelimitedText :=
4371 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4372 GetLinkURLs(links, urls,
4373 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4374 Clipboard.SetTextBuf(urls.GetText);
4383 \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
4384 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4386 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4388 browser : TWebBrowser;
4389 doc : IHTMLDocument2;
4392 if (GikoForm.GetActiveContent <> nil) then begin
4393 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4394 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4395 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4396 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4397 if (browser <> nil) then begin
4399 doc := browser.ControlInterface.Document as IHTMLDocument2;
4400 if Assigned(doc) then begin
4401 Result := doc.links;
4412 \brief
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4413 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4414 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4415 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4416 \param Exts
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\8ag
\92£
\8eq
4418 procedure TGikoDM.GetLinkURLs(links : IHTMLElementCollection;
4419 URLs : TStringList; const Start: Integer; Exts : TStringList);
4421 index ,i, j : Integer;
4422 item : IHTMLElement;
4425 if (links <> nil) then begin
4427 for i := 0 to links.length - 1 do begin
4428 item := links.item(i, 0) as IHTMLElement;
4429 if (item <> nil) then begin
4430 url := item.getAttribute('href', 0);
4431 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4432 if (Pos('menu:', url) > 0) then begin
4433 index := StrToInt64Def(
4434 Copy(url, 6, Length(url)), index + 1
4437 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4438 if (index >= Start) then begin
4439 ext := ExtractFileExt( AnsiLowerCase(url) );
4440 //
\8ag
\92£
\8eq
\82ð
\83`
\83F
\83b
\83N
4441 if Exts.Find(ext, j) then begin
4451 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4452 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4454 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4456 if ( GikoForm.AddressToolBar.Visible ) then begin
4457 GikoForm.AddressComboBox.SetFocus;
4461 \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é
4463 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4465 form : TNewBoardURLForm;
4468 if (EditorFormExists) then begin
4469 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4470 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4473 form := TNewBoardURLForm.Create(Self);
4480 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4481 procedure TGikoDM.ScrollPageDownActionExecute(Sender: TObject);
4483 GikoForm.BrowserMovement(GikoForm.BrowserPanel.Height);
4485 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4486 procedure TGikoDM.ScrollPageUpActionExecute(Sender: TObject);
4488 GikoForm.BrowserMovement(-GikoForm.BrowserPanel.Height);
4492 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
\81i
\93§
\96¾)
4493 procedure TGikoDM.AddIDtoNGWord0ActionExecute(Sender: TObject);
4495 GikoForm.AddIDtoNGWord(true);
4497 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
4498 procedure TGikoDM.AddIDtoNGWord1ActionExecute(Sender: TObject);
4500 GikoForm.AddIDtoNGWord(false);
4502 //!
\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¦
4503 procedure TGikoDM.ExtractSameIDActionExecute(Sender: TObject);
4507 ID := Trim(Clipboard.AsText);
4508 if (Length(ID) > 0) then begin
4509 if not IsNoValidID(ID) then begin
4510 GikoForm.ShowSameIDAncher(ID);
4514 //!
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82·
\82é
4515 procedure TGikoDM.ShowTabListActionExecute(Sender: TObject);
4519 GikoForm.ListView.Items.BeginUpdate;
4520 GikoForm.ListView.Items.Clear;
4521 BoardGroup.SpecialBoard.Clear;
4522 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
4523 BoardGroup.SpecialBoard.Add(
4524 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Thread);
4526 GikoForm.ListView.Items.EndUpdate;
4527 GikoForm.SetActiveList(BoardGroup.SpecialBoard);
4529 //!
\8bt
\8eQ
\8fÆ
\82µ
\82Ä
\82¢
\82é
\83\8c\83X
\82ð
\92Ç
\89Á
\82·
\82é
4530 procedure TGikoDM.DereferenceResActionExecute(Sender: TObject);
4532 i, currentNo, No : Integer;
4533 links : IHTMLElementCollection;
4534 threadItem : TThreadItem;
4535 item : IHTMLElement;
4537 resNo : TStringList;
4538 alreadyExist : Boolean;
4541 No := GikoForm.KokoPopupMenu.Tag;
4542 if No = 0 then Exit;
4544 ThreadItem := GikoForm.KokoPopupThreadItem;
4545 //
\83A
\83N
\83e
\83B
\83u
\83^
\83u
\82©
\82ç
\91S
\82Ä
\82Ì
\83\8a\83\93\83N
\82ð
\8eæ
\93¾
\82·
\82é
4546 links := GetActiveThreadLinks;
4547 if (ThreadItem <> nil) and (links <> nil) then begin
4548 resNo := TStringList.Create;
4551 alreadyExist := False;
4552 //
\83\8a\83\93\83N
\82ð
\91S
\82Ä
\91\96\8d¸
\82·
\82é
4553 for i := 0 to links.length - 1 do begin
4554 item := links.item(i, 0) as IHTMLElement;
4555 if (item <> nil) then begin
4556 url := item.getAttribute('href', 0);
4557 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4558 if (Pos('menu:', url) > 0) then begin
4559 currentNo := StrToInt64Def(
4560 Copy(url, 6, Length(url)), currentNo + 1
4562 alreadyExist := False;
4563 end else if (currentNo <> -1) and (not alreadyExist) then begin
4565 if Pos('about:..', url) = 1 then begin
4566 url := 'about:blank..' + Copy( url, Length('about:..')+1, Length(url) )
4568 //
\8e©
\95ª
\82Ö
\82Ì
\83\8a\83\93\83N
\82©
\82ç
\83\8c\83X
\83|
\83b
\83v
\97p
\82Ì
\94Ô
\8d\86\8eæ
\93¾
4569 if Pos('about:blank..', url) = 1 then begin
4570 // No
\94Ô
\82Ö
\82Ì
\83\8a\83\93\83N
\82ª
\82 \82ê
\82Î
\8eQ
\8fÆ
\82 \82è
4571 url2 := THTMLCreate.GetRespopupURL(url, ThreadItem.URL);
4572 PathRec := Gikosys.Parse2chURL2(url2);
4573 if (not PathRec.FNoParam) then begin
4574 Gikosys.GetPopupResNumber(url2,PathRec.FSt,PathRec.FTo);
4576 //
\91Î
\8fÛ
\83\8c\83X
\82à
\82µ
\82
\82Í
\82»
\82ê
\82ð
\8aÜ
\82Þ
\82È
\82ç
\8eQ
\8fÆ
\82 \82è
\82Æ
\82·
\82é
4577 if (PathRec.FSt = No) or
4578 ((PathRec.FSt <= No) and (PathRec.FTo >= No)) then begin
4579 alreadyExist := True;
4580 resNo.Add(IntToStr(currentNo));
4586 //
\96³
\90§
\8cÀ
\82È
\82Ì
\82Å-1
\8cÅ
\92è
4587 GikoForm.ActiveContent.IDAnchorPopup(
4588 GikoSys.CreateResAnchor(resNo, ThreadItem, -1));
4596 procedure TGikoDM.UpdateGikonaviActionExecute(Sender: TObject);
4598 form : TUpdateCheckForm;
4602 if (EditorFormExists) then begin
4603 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4604 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4607 GikoForm.UpdateExePath := '';
4608 GikoForm.UpdateExeArgs := '';
4609 form := TUpdateCheckForm.Create(Self);
4612 shutdown := form.Allowshutdown;
4613 if shutdown then begin
4614 GikoForm.UpdateExePath := form.ExecPath;
4615 GikoForm.UpdateExeArgs := form.ExecArgs;
4620 if shutdown then begin
4621 //
\83M
\83R
\83i
\83r
\8fI
\97¹
4626 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iPATH_INFO)
4627 procedure TGikoDM.konoURLPATHActionExecute(Sender: TObject);
4630 ThreadItem : TThreadItem;
4631 URL, Protocol, Host, Path, Document, Port, Bookmark : String;
4633 No := GikoForm.KokoPopupMenu.Tag;
4634 if No = 0 then Exit;
4636 ThreadItem := GikoForm.KokoPopupThreadItem;
4637 if (ThreadItem.ParentBoard.Is2ch) or not (Pos('?', ThreadItem.URL) > 0) then begin
4638 GikoSys.ParseURI(ThreadItem.URL,Protocol, Host, Path, Document, Port, Bookmark);
4639 URL := Protocol + '://' + Host + Path + IntToStr(No);
4641 if Pos('?', ThreadItem.URL) > 0 then begin
4642 URL := Copy(ThreadItem.URL, 1, Pos('?', ThreadItem.URL)-1);
4643 //
\82Ü
\82¿BBS
\97p
\8f\88\92u
4644 URL := MojuUtils.CustomStringReplace(URL, 'read.pl', 'read.cgi');
4645 URL := URL + '/' + ThreadItem.ParentBoard.BBSID + '/' + ChangeFileExt(ThreadItem.FileName, '') + '/' + IntToStr(No);
4648 Clipboard.SetTextBuf( PChar(URL) );
4650 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iQuery_STRING)
4651 procedure TGikoDM.konoURLQueryActionExecute(Sender: TObject);
4654 ThreadItem : TThreadItem;
4655 URL, Protocol, Host, Path, Document, Port, Bookmark : String;
4657 No := GikoForm.KokoPopupMenu.Tag;
4658 if No = 0 then Exit;
4660 ThreadItem := GikoForm.KokoPopupThreadItem;
4661 // 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Â
4662 if ThreadItem.ParentBoard.Is2ch or not (Pos('?', ThreadItem.URL) > 0) then begin
4663 GikoSys.ParseURI(ThreadItem.URL, Protocol, Host, Path, Document, Port, Bookmark);
4664 URL := Protocol + '://' + Host + '/test/read.cgi?bbs=' + ThreadItem.ParentBoard.BBSID
4665 + '&key=' + ChangeFileExt(ThreadItem.FileName, '') + '&st=' + IntToStr(No) + '&to=' + IntToStr(No);
4667 URL := ThreadItem.URL;
4669 if Pos('&LAST=', URL) > 0 then begin
4670 URL := Copy(URL, 1, Pos('&LAST=', URL) - 1);
4671 URL := URL + '&START=' + IntToStr(No) + '&END=' + IntToStr(No);
4673 //
\82»
\82Ì
\91¼
\8aO
\95\94\94Â
4674 if Pos('&ls=', URL) > 0 then begin
4675 URL := Copy(URL, 1, Pos('&ls=', URL) - 1);
4676 URL := URL + '&st=' + IntToStr(No) + '&to=' + IntToStr(No);
4680 Clipboard.SetTextBuf( PChar(URL) );
4682 //!
\82±
\82Ì
\83\8c\83X
\82ÌURL
\83R
\83s
\81[
\81iQuery_STRING
\81j
\82Ì
\97\98\97p
\83`
\83F
\83b
\83N
4683 procedure TGikoDM.konoURLQueryActionUpdate(Sender: TObject);
4685 LIVEDOOR_URL = 'http://jbbs.livedoor.jp/';
4687 // 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
4688 konoURLQueryAction.Enabled := false;
4689 if (GikoForm.KokoPopupThreadItem <> nil) then begin
4690 konoURLQueryAction.Enabled := not GikoForm.KokoPopupThreadItem.ParentBoard.Is2ch;
4691 if konoURLQueryAction.Enabled then begin
4692 konoURLQueryAction.Enabled := not (Pos(LIVEDOOR_URL, GikoForm.KokoPopupThreadItem.URL) = 1);
4696 //!
\83|
\83b
\83v
\83A
\83b
\83v
\83\81\83j
\83\85\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
4697 procedure TGikoDM.PopupMenuSettingActionExecute(Sender: TObject);
4699 Dlg: TPopupMenuSettingDialog;
4701 Dlg := TPopupMenuSettingDialog.Create(GikoForm, GikoFormActionList);