6 SysUtils, Classes, ExtActns, StdActns, ActnList, ImgList, Controls,
14 ComCtrls, BrowserRecord, Graphics, Messages, Setting, Dialogs,
15 ActiveX, GikoSystem, MoveHistoryItem, HistoryList;
18 CAPTION_NAME: string = '
\83M
\83R
\83i
\83r';
19 USER_SETLINKBAR = WM_USER + 2003;
21 ITEM_ICON_SORT1 = 12; //!<
\83\
\81[
\83g
\83A
\83C
\83R
\83\93
22 ITEM_ICON_SORT2 = 13; //!<
\83\
\81[
\83g
\83A
\83C
\83R
\83\93
24 //
\83c
\81[
\83\8b\83o
\81[
\83A
\83C
\83R
\83\93
25 TOOL_ICON_HEIGHT_MAX = 16; //!<
\8d\82\82³
\8dÅ
\91å
\83A
\83C
\83R
\83\93
26 TOOL_ICON_HEIGHT_MIN = 17; //!<
\8d\82\82³
\8dÅ
\8f¬
\83A
\83C
\83R
\83\93
27 TOOL_ICON_HEIGHT_NORMAL = 18; //!<
\8d\82\82³
\95W
\8f\80\83A
\83C
\83R
\83\93
28 TOOL_ICON_WIDTH_MAX = 19; //!<
\95\9d\8dÅ
\91å
\83A
\83C
\83R
\83\93
29 TOOL_ICON_WIDTH_MIN = 20; //!<
\95\9d\8dÅ
\8f¬
\83A
\83C
\83R
\83\93
30 TOOL_ICON_WIDTH_NORMAL = 21; //!<
\95\9d\95W
\8f\80\83A
\83C
\83R
\83\93
32 TOOL_ICON_FAV_FOLDER = 30; //!<
\82¨
\8bC
\82É
\93ü
\82è
\83t
\83H
\83\8b\83_
\83A
\83C
\83R
\83\93
33 TOOL_ICON_FAV_BOARD = 31; //!<
\82¨
\8bC
\82É
\93ü
\82è
\94Â
\83A
\83C
\83R
\83\93
34 TOOL_ICON_FAV_THREAD = 32; //!<
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83A
\83C
\83R
\83\93
37 PROTOCOL_HTTP : string = 'http://';
38 //!
\83M
\83R
\83i
\83r
\83T
\83C
\83g
\82ÌURL
39 URL_GIKONAVI: string = 'gikonavi.sourceforge.jp/';
40 //! Monazilla
\83T
\83C
\83g
\82ÌURL
41 URL_MONAZILLA: string = 'www.monazilla.org/';
42 //! 2
\82¿
\82á
\82ñ
\82Ë
\82é
\82ÌURL
43 URL_2ch: string = 'www.2ch.net/';
44 //!
\83M
\83R
\83i
\83rWiki
\82ÌURL
45 URL_Wiki: string = 'gikowiki.dyndns.info/index.php?FAQ';
47 SELECTCOMBOBOX_NAME: string = ''; // '
\83X
\83\8c\83b
\83h
\8di
\8d\9e\8c\9f\8dõ';
48 SELECTCOMBOBOX_COLOR: TColor = clWindow;
53 TGikoDM = class(TDataModule)
54 GikoFormActionList: TActionList;
55 OnlyAHundredResAction: TAction;
56 OnlyKokoResAction: TAction;
58 NewBoardAction: TAction;
59 LogDeleteAction: TAction;
60 KidokuAction: TAction;
61 StdToolBarVisibleAction: TAction;
62 AddressBarVisibleAction: TAction;
63 LinkBarVisibleAction: TAction;
64 ListToolBarVisibleAction: TAction;
65 SearchAction: TAction;
66 GikoNaviWebPageAction: TAction;
67 MonazillaWebPageAction: TAction;
68 BBS2chWebPageAction: TAction;
69 GikoFolderOpenAction: TAction;
71 SelectTextClearAction: TAction;
72 NameTextClearAction: TAction;
73 MailTextClearAction: TAction;
75 ListNameBarVisibleAction: TAction;
76 BrowserToolBarVisibleAction: TAction;
77 BrowserNameBarVisibleAction: TAction;
78 MsgBarVisibleAction: TAction;
79 MsgBarCloseAction: TAction;
80 StatusBarVisibleAction: TAction;
81 CabinetBBSAction: TAction;
82 CabinetHistoryAction: TAction;
83 OnlyNewResAction: TAction;
84 CabinetFavoriteAction: TAction;
85 CabinetVisibleAction: TAction;
86 ListNumberVisibleAction: TAction;
87 UpFolderAction: TAction;
88 CabinetCloseAction: TAction;
90 LargeIconAction: TAction;
91 SmallIconAction: TAction;
92 ListIconAction: TAction;
93 DetailIconAction: TAction;
94 MidokuAction: TAction;
95 AllSelectAction: TAction;
96 AllItemAction: TAction;
97 LogItemAction: TAction;
98 NewItemAction: TAction;
99 ThreadRangeAction: TAction;
100 SelectItemAction: TAction;
102 OptionAction: TAction;
103 RoundAction: TAction;
104 BrowserMaxAction: TAction;
105 BrowserMinAction: TAction;
106 ScrollTopAction: TAction;
107 ScrollLastAction: TAction;
108 ScrollNewAction: TAction;
109 ScrollKokoAction: TAction;
110 EditorAction: TAction;
112 ShowThreadAction: TAction;
113 ShowBoardAction: TAction;
114 URLCopyAction: TAction;
115 NameCopyAction: TAction;
116 NameURLCopyAction: TAction;
117 ItemReloadAction: TAction;
118 ThreadEditorAction: TAction;
119 BoardIEAction: TAction;
120 SelectItemURLCopyAction: TAction;
121 SelectItemNameCopyAction: TAction;
122 SelectItemNameURLCopyAction: TAction;
123 SelectListReloadAction: TAction;
124 SelectThreadReloadAction: TAction;
125 BrowserTabCloseAction: TAction;
126 NotSelectTabCloseAction: TAction;
127 AllTabCloseAction: TAction;
128 KokomadeAction: TAction;
129 ZenbuAction: TAction;
130 KokoResAction: TAction;
131 TreeSelectBoradReload: TAction;
132 TreeSelectThreadReload: TAction;
133 TreeSelectURLCopy: TAction;
134 SelectReservAction: TAction;
135 SelectNewRoundName: TAction;
136 SelectDeleteRound: TAction;
137 KeySettingAction: TAction;
138 ArrangeAction: TAction;
139 ActiveLogDeleteAction: TAction;
140 TreeSelectNameURLCopy: TAction;
141 PaneInitAction: TAction;
142 LeftmostTabSelectAction: TAction;
143 LeftTabSelectAction: TAction;
144 RightTabSelectAction: TAction;
145 RightmostTabSelectAction: TAction;
146 FavoriteAddAction: TAction;
147 BoardFavoriteAddAction: TAction;
148 ThreadFavoriteAddAction: TAction;
149 TreeSelectFavoriteAddAction: TAction;
150 FavoriteArrangeAction: TAction;
151 MoveToAction: TAction;
152 BrowserTabVisibleAction: TAction;
153 BrowserTabTopAction: TAction;
154 BrowserTabBottomAction: TAction;
155 BrowserTabTabStyleAction: TAction;
156 BrowserTabButtonStyleAction: TAction;
157 BrowserTabFlatStyleAction: TAction;
158 GikoHelpAction: TAction;
159 KotehanAction: TAction;
160 ToolBarSettingAction: TAction;
161 SelectResAction: TAction;
162 AllResAction: TAction;
163 EditNGAction: TAction;
164 ReloadAction: TAction;
165 GoFowardAction: TAction;
166 GoBackAction: TAction;
167 TreeSelectSearchBoardName: TAction;
168 FavoriteTreeViewRenameAction: TAction;
169 FavoriteTreeViewNewFolderAction: TAction;
170 FavoriteTreeViewDeleteAction: TAction;
171 FavoriteTreeViewBrowseFolderAction: TAction;
172 FavoriteTreeViewReloadAction: TAction;
173 FavoriteTreeViewURLCopyAction: TAction;
174 FavoriteTreeViewNameCopyAction: TAction;
175 FavoriteTreeViewNameURLCopyAction: TAction;
176 FavoriteTreeViewLogDeleteAction: TAction;
177 ResRangeAction: TAction;
178 ExportFavoriteFile: TFileSaveAs;
179 FavoriteTreeViewBrowseBoardAction: TAction;
180 FavoriteTreeViewBrowseThreadAction: TAction;
181 UpBoardAction: TAction;
183 TreeSelectNameCopy: TAction;
184 SetFocusForBrowserAction: TAction;
185 SetFocusForThreadListAction: TAction;
186 SetFocusForCabinetAction: TAction;
188 ThreadlistMaxAndFocusAction: TAction;
189 BrowserMaxAndFocusAction: TAction;
190 SelectItemSaveForHTML: TAction;
191 SelectItemSaveForDat: TAction;
192 LogFolderOpenAction: TAction;
193 TabsSaveAction: TAction;
194 TabsOpenAction: TAction;
195 BrowsBoradHeadAction: TAction;
196 JumpToNumOfResAction: TAction;
197 FavoriteTreeViewCollapseAction: TAction;
198 RightTabCloseAction: TAction;
199 LeftTabCloseAction: TAction;
200 SameIDResAnchorAction: TAction;
201 IndividualAbon1Action: TAction;
202 IndividualAbon0Action: TAction;
203 AntiIndividualAbonAction: TAction;
204 AntiIndividualAbonDlgAction: TAction;
205 IndividualAbonID1Action: TAction;
206 IndividualAbonID0Action: TAction;
208 SortActiveColumnAction: TAction;
209 SortNextColumnAction: TAction;
210 SortPrevColumnAction: TAction;
211 BeLogInOutAction: TAction;
212 UnSelectedListViewAction: TAction;
213 WikiFAQWebPageAction: TAction;
214 ToobarImageList: TImageList;
215 SaveDialog: TSaveDialog;
216 ThreadSizeCalcForFileAction: TAction;
217 SetInputAssistAction: TAction;
218 OpenFindDialogAction: TAction;
219 ArchiveItemAction: TAction;
220 LiveItemAction: TAction;
221 FavoriteTreeViewItemNameCopyAction: TAction;
222 CloseAllEditorAction: TAction;
223 PrevMoveHistory: TAction;
224 NextMoveHistory: TAction;
225 ClickActiveElementAction: TAction;
226 VKDownAction: TAction;
228 VKRightAction: TAction;
229 VKLeftAction: TAction;
230 StoredTaskTrayAction: TAction;
231 AllImageLinkToClipbordAction: TAction;
232 NewImageLinkToClipBoardAction: TAction;
233 SetForcusForAddresBarAction: TAction;
234 NewBoardSearchAction: TAction;
235 NGWordEditFormAction: TAction;
236 ScrollPageDownAction: TAction;
237 ScrollPageUpAction: TAction;
238 AllLinkToClipboardAction: TAction;
239 NewLinkToClipboardAction: TAction;
240 AddIDtoNGWord0Action: TAction;
241 AddIDtoNGWord1Action: TAction;
242 ExtractSameIDAction: TAction;
243 ShowTabListAction: TAction;
244 DereferenceResAction: TAction;
245 procedure EditNGActionExecute(Sender: TObject);
246 procedure ReloadActionExecute(Sender: TObject);
247 procedure GoFowardActionExecute(Sender: TObject);
248 procedure GoBackActionExecute(Sender: TObject);
249 procedure MoveToActionExecute(Sender: TObject);
250 procedure FavoriteAddActionExecute(Sender: TObject);
251 procedure FavoriteArrangeActionExecute(Sender: TObject);
252 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
253 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
254 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
255 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
256 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
257 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
258 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
259 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
260 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
261 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
262 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
263 procedure OnlyAHundredResActionExecute(Sender: TObject);
264 procedure OnlyKokoResActionExecute(Sender: TObject);
265 procedure OnlyNewResActionExecute(Sender: TObject);
266 procedure BrowserMaxActionExecute(Sender: TObject);
267 procedure BrowserMinActionExecute(Sender: TObject);
268 procedure ScrollTopActionExecute(Sender: TObject);
269 procedure ScrollLastActionExecute(Sender: TObject);
270 procedure ScrollNewActionExecute(Sender: TObject);
271 procedure ScrollKokoActionExecute(Sender: TObject);
272 procedure ScrollKokoActionUpdate(Sender: TObject);
273 procedure EditorActionExecute(Sender: TObject);
274 procedure IEActionExecute(Sender: TObject);
275 procedure ShowThreadActionExecute(Sender: TObject);
276 procedure ShowBoardActionExecute(Sender: TObject);
277 procedure URLCopyActionExecute(Sender: TObject);
278 procedure NameCopyActionExecute(Sender: TObject);
279 procedure NameURLCopyActionExecute(Sender: TObject);
280 procedure ItemReloadActionExecute(Sender: TObject);
281 procedure BrowserTabCloseActionExecute(Sender: TObject);
282 procedure BrowserTabCloseActionUpdate(Sender: TObject);
283 procedure NotSelectTabCloseActionExecute(Sender: TObject);
284 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
285 procedure AllTabCloseActionExecute(Sender: TObject);
286 procedure ActiveLogDeleteActionExecute(Sender: TObject);
287 procedure LeftmostTabSelectActionExecute(Sender: TObject);
288 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
289 procedure LeftTabSelectActionExecute(Sender: TObject);
290 procedure RightTabSelectActionExecute(Sender: TObject);
291 procedure RightTabSelectActionUpdate(Sender: TObject);
292 procedure RightmostTabSelectActionExecute(Sender: TObject);
293 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
294 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
295 procedure SelectResActionExecute(Sender: TObject);
296 procedure AllResActionExecute(Sender: TObject);
297 procedure ResRangeActionExecute(Sender: TObject);
298 procedure UpBoardActionExecute(Sender: TObject);
299 procedure JumpToNumOfResActionExecute(Sender: TObject);
300 procedure RightTabCloseActionExecute(Sender: TObject);
301 procedure RightTabCloseActionUpdate(Sender: TObject);
302 procedure LeftTabCloseActionExecute(Sender: TObject);
303 procedure DataModuleCreate(Sender: TObject);
304 procedure SearchActionExecute(Sender: TObject);
305 procedure OptionActionExecute(Sender: TObject);
306 procedure RoundActionExecute(Sender: TObject);
307 procedure KeySettingActionExecute(Sender: TObject);
308 procedure KotehanActionExecute(Sender: TObject);
309 procedure ToolBarSettingActionExecute(Sender: TObject);
310 procedure MuteActionExecute(Sender: TObject);
311 procedure TreeSelectBoradReloadExecute(Sender: TObject);
312 procedure TreeSelectThreadReloadExecute(Sender: TObject);
313 procedure TreeSelectURLCopyExecute(Sender: TObject);
314 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
315 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
316 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
317 procedure TreeSelectNameCopyExecute(Sender: TObject);
318 procedure LoginActionExecute(Sender: TObject);
319 procedure NewBoardActionExecute(Sender: TObject);
320 procedure LogDeleteActionExecute(Sender: TObject);
321 procedure LogDeleteActionUpdate(Sender: TObject);
322 procedure SelectTextClearActionExecute(Sender: TObject);
323 procedure NameTextClearActionExecute(Sender: TObject);
324 procedure MailTextClearActionExecute(Sender: TObject);
325 procedure ExitActionExecute(Sender: TObject);
326 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
327 procedure ExportFavoriteFileAccept(Sender: TObject);
328 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
329 procedure SelectItemSaveForDatExecute(Sender: TObject);
330 procedure TabsSaveActionExecute(Sender: TObject);
331 procedure TabsOpenActionExecute(Sender: TObject);
332 procedure BeLogInOutActionExecute(Sender: TObject);
333 procedure BeLogInOutActionUpdate(Sender: TObject);
334 procedure KokomadeActionExecute(Sender: TObject);
335 procedure ZenbuActionExecute(Sender: TObject);
336 procedure KokoResActionExecute(Sender: TObject);
337 procedure KoreCopyExecute(Sender: TObject);
338 procedure SameIDResAnchorActionExecute(Sender: TObject);
339 procedure IndividualAbon1ActionExecute(Sender: TObject);
340 procedure IndividualAbon0ActionExecute(Sender: TObject);
341 procedure AntiIndividualAbonActionExecute(Sender: TObject);
342 procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
343 procedure IndividualAbonID1ActionExecute(Sender: TObject);
344 procedure IndividualAbonID0ActionExecute(Sender: TObject);
345 procedure GikoNaviWebPageActionExecute(Sender: TObject);
346 procedure MonazillaWebPageActionExecute(Sender: TObject);
347 procedure BBS2chWebPageActionExecute(Sender: TObject);
348 procedure GikoFolderOpenActionExecute(Sender: TObject);
349 procedure AboutActionExecute(Sender: TObject);
350 procedure GikoHelpActionExecute(Sender: TObject);
351 procedure WikiFAQWebPageActionExecute(Sender: TObject);
352 procedure ListNumberVisibleActionExecute(Sender: TObject);
353 procedure UpFolderActionExecute(Sender: TObject);
354 procedure UpFolderActionUpdate(Sender: TObject);
355 procedure IconStyleExecute(Sender: TObject);
356 procedure AllItemActionExecute(Sender: TObject);
357 procedure LogItemActionExecute(Sender: TObject);
358 procedure NewItemActionExecute(Sender: TObject);
359 procedure ThreadRangeActionExecute(Sender: TObject);
360 procedure SelectItemActionExecute(Sender: TObject);
361 procedure ThreadEditorActionExecute(Sender: TObject);
362 procedure BoardIEActionExecute(Sender: TObject);
363 procedure SelectItemURLCopyActionExecute(Sender: TObject);
364 procedure SelectItemURLCopyActionUpdate(Sender: TObject);
365 procedure SelectItemNameCopyActionExecute(Sender: TObject);
366 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
367 procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
368 procedure SelectListReloadActionExecute(Sender: TObject);
369 procedure SelectListReloadActionUpdate(Sender: TObject);
370 procedure SelectThreadReloadActionExecute(Sender: TObject);
371 procedure SelectThreadReloadActionUpdate(Sender: TObject);
372 procedure SelectReservActionExecute(Sender: TObject);
373 procedure SelectReservActionUpdate(Sender: TObject);
374 procedure SelectNewRoundNameExecute(Sender: TObject);
375 procedure SelectDeleteRoundExecute(Sender: TObject);
376 procedure BoardFavoriteAddActionExecute(Sender: TObject);
377 procedure BoardFavoriteAddActionUpdate(Sender: TObject);
378 procedure LogFolderOpenActionExecute(Sender: TObject);
379 procedure LogFolderOpenActionUpdate(Sender: TObject);
380 procedure BrowsBoradHeadActionExecute(Sender: TObject);
381 procedure SortActiveColumnActionExecute(Sender: TObject);
382 procedure SortNextColumnActionExecute(Sender: TObject);
383 procedure SortPrevColumnActionExecute(Sender: TObject);
384 procedure StdToolBarVisibleActionExecute(Sender: TObject);
385 procedure AddressBarVisibleActionExecute(Sender: TObject);
386 procedure LinkBarVisibleActionExecute(Sender: TObject);
387 procedure ListToolBarVisibleActionExecute(Sender: TObject);
388 procedure ListNameBarVisibleActionExecute(Sender: TObject);
389 procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
390 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
391 procedure MsgBarVisibleActionExecute(Sender: TObject);
392 procedure MsgBarCloseActionExecute(Sender: TObject);
393 procedure StatusBarVisibleActionExecute(Sender: TObject);
394 procedure CabinetBBSActionExecute(Sender: TObject);
395 procedure CabinetHistoryActionExecute(Sender: TObject);
396 procedure CabinetFavoriteActionExecute(Sender: TObject);
397 procedure CabinetVisibleActionExecute(Sender: TObject);
398 procedure CabinetCloseActionExecute(Sender: TObject);
399 procedure LargeIconActionExecute(Sender: TObject);
400 procedure SmallIconActionExecute(Sender: TObject);
401 procedure ListIconActionExecute(Sender: TObject);
402 procedure DetailIconActionExecute(Sender: TObject);
403 procedure StopActionExecute(Sender: TObject);
404 procedure ArrangeActionExecute(Sender: TObject);
405 procedure PaneInitActionExecute(Sender: TObject);
406 procedure BrowserTabVisibleActionExecute(Sender: TObject);
407 procedure BrowserTabTopActionExecute(Sender: TObject);
408 procedure BrowserTabBottomActionExecute(Sender: TObject);
409 procedure BrowserTabTabStyleActionExecute(Sender: TObject);
410 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
411 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
412 procedure SetFocusForBrowserActionExecute(Sender: TObject);
413 procedure SetFocusForBrowserActionUpdate(Sender: TObject);
414 procedure SetFocusForThreadListActionExecute(Sender: TObject);
415 procedure SetFocusForCabinetActionExecute(Sender: TObject);
416 procedure SetFocusForCabinetActionUpdate(Sender: TObject);
417 procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
418 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
419 procedure UnSelectedListViewActionExecute(Sender: TObject);
420 procedure KidokuActionExecute(Sender: TObject);
421 procedure MidokuActionExecute(Sender: TObject);
422 procedure AllSelectActionExecute(Sender: TObject);
423 procedure AllSelectActionUpdate(Sender: TObject);
424 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
425 procedure SetInputAssistActionExecute(Sender: TObject);
426 procedure OpenFindDialogActionExecute(Sender: TObject);
427 procedure ArchiveItemActionExecute(Sender: TObject);
428 procedure LiveItemActionExecute(Sender: TObject);
429 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
430 procedure CloseAllEditorActionExecute(Sender: TObject);
431 procedure CloseAllEditorActionUpdate(Sender: TObject);
432 procedure PrevMoveHistoryUpdate(Sender: TObject);
433 procedure PrevMoveHistoryExecute(Sender: TObject);
434 procedure NextMoveHistoryUpdate(Sender: TObject);
435 procedure NextMoveHistoryExecute(Sender: TObject);
436 procedure ClickActiveElementActionExecute(Sender: TObject);
437 procedure VKDownActionExecute(Sender: TObject);
438 procedure VKUpActionExecute(Sender: TObject);
439 procedure VKRightActionExecute(Sender: TObject);
440 procedure VKLeftActionExecute(Sender: TObject);
441 procedure StoredTaskTrayActionExecute(Sender: TObject);
442 procedure LeftTabSelectActionUpdate(Sender: TObject);
443 procedure RightmostTabSelectActionUpdate(Sender: TObject);
444 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
445 procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
446 procedure SetForcusForAddresBarActionExecute(Sender: TObject);
447 procedure NewBoardSearchActionExecute(Sender: TObject);
448 procedure ScrollPageDownActionExecute(Sender: TObject);
449 procedure ScrollPageUpActionExecute(Sender: TObject);
450 procedure AllLinkToClipboardActionExecute(Sender: TObject);
451 procedure NewLinkToClipboardActionExecute(Sender: TObject);
452 procedure AddIDtoNGWord0ActionExecute(Sender: TObject);
453 procedure AddIDtoNGWord1ActionExecute(Sender: TObject);
454 procedure ExtractSameIDActionExecute(Sender: TObject);
455 procedure ShowTabListActionExecute(Sender: TObject);
456 procedure DereferenceResActionExecute(Sender: TObject);
459 procedure ClearResFilter;
460 procedure SetResRange(range: Integer);
461 procedure SetThreadAreaHorNormal;
462 procedure SetThreadAreaHorizontal(gls : TGikoListState);
463 procedure SetThreadAreaVerNormal;
464 procedure SetThreadAreaVertical(gls : TGikoListState);
465 procedure SetThreadReadProperty(read: Boolean);
466 procedure SelectThreadSaveToFile(dat: Boolean);
467 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
468 procedure RecalcThreadSize(limit : Integer);
469 procedure ClearSelectComboBox;
470 procedure ClearMailAllEditor();
471 procedure ClearNameTextAllEditor();
472 procedure MoveURLWithHistory(URL : String);
473 procedure BackToHistory(item: TMoveHistoryItem);
474 function GetActiveThreadLinks : IHTMLElementCollection;
475 procedure GetLinkURLs(links : IHTMLElementCollection;
476 URLs : TStringList; const Start: Integer; Exts : TStringList);
479 procedure RepaintStatusBar;
480 function EditorFormExists(): boolean;
481 procedure GetTabURLs(AStringList: TStringList);
482 procedure OpenURLs(AStringList: TStringList);
484 { Published
\90é
\8c¾ }
485 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
486 procedure DependActiveCntentActionUpdate(Sender: TObject);
487 //! 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é
488 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
489 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
490 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
491 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
492 procedure DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
502 Windows, Math, Clipbrd,
503 Giko, GikoUtil, BoardGroup,
504 FavoriteArrange, Favorite, MojuUtils,
505 Editor, ListSelect, Search, Option, Round,
506 KeySetting, Gesture, Kotehan, ToolBarSetting,
507 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
508 GikoBayesian, About, ShellAPI,
509 RoundName, RoundData, Menus, ListViewUtils,
510 ThreadControl, GikoMessage, InputAssist,
511 DefaultFileManager, Forms, NewBoardURL;
514 MSG_ERROR : string = '
\83G
\83\89\81[';
517 // *************************************************************************
518 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
519 // *************************************************************************
520 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
522 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
524 // *************************************************************************
525 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
526 // *************************************************************************
527 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
529 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
530 and (GikoForm.GetActiveContent.IsLogFile);
532 // *************************************************************************
533 //! TAction
\82ÅActiveList
\82ªTBoard(
\94ñ
\93Á
\8eê
\94Â)
\82Å
\97L
\8cø
\82É
\82È
\82é
534 // *************************************************************************
535 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
537 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard) and
538 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
540 // *************************************************************************
541 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
542 // *************************************************************************
543 procedure TGikoDM.DependActiveListTBoardWithSpeciapActionUpdate(Sender: TObject);
545 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
547 // *************************************************************************
548 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
549 // *************************************************************************
550 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
552 //
\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
553 GikoSys.FAbon.EditNGwords;
555 // *************************************************************************
556 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
557 // *************************************************************************
558 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
560 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
561 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
562 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½',
563 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
565 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
566 GikoForm.RepaintAllTabsBrowser();
569 // *************************************************************************
570 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
571 // *************************************************************************
572 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
574 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
575 if GikoSys.FAbon.GoBack =false then begin
576 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½',
577 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
579 //
\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
581 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
582 GikoForm.RepaintAllTabsBrowser();
585 // *************************************************************************
586 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
587 // *************************************************************************
588 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
590 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
591 if GikoSys.FAbon.GoForward =false then begin
592 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½',
593 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
595 //
\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
597 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
598 GikoForm.RepaintAllTabsBrowser();
601 // *************************************************************************
602 //! 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
603 // *************************************************************************
604 procedure TGikoDM.RepaintStatusBar;
608 //
\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
609 s := GikoSys.FAbon.NGwordname;
610 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
611 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
612 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
613 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
614 GikoForm.StatusBarResize(nil);
616 // *************************************************************************
617 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
618 // *************************************************************************
619 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
621 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
623 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
625 // *************************************************************************
626 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
627 // *************************************************************************
628 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
630 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
632 // *************************************************************************
633 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
634 // *************************************************************************
635 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
637 Dlg: TFavoriteArrangeDialog;
639 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
645 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
646 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
648 // *************************************************************************
649 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
650 // *************************************************************************
651 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
655 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
657 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
658 while node <> nil do begin
659 if node.HasChildren then
660 node.Expanded := False;
661 node := node.GetNext;
666 // *************************************************************************
667 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
668 // *************************************************************************
669 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
674 if GikoForm.ClickNode = nil then
676 if GikoForm.ClickNode.IsFirstNode then
678 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
680 GikoForm.FavoriteTreeView.ReadOnly := False;
681 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
682 node := GikoForm.ClickNode.Parent;
683 while node <> nil do begin
684 node.Expanded := True;
687 GikoForm.ClickNode.EditText;
689 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 );
691 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
692 FavoriteDM.Modified := true;
695 // *************************************************************************
696 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
697 // *************************************************************************
698 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
700 NewFavFolder: TFavoriteFolder;
704 if GikoForm.ClickNode = nil then
708 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
709 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
710 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
713 NewFavFolder := TFavoriteFolder.Create;
714 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
715 Node.ImageIndex := 14;
716 Node.SelectedIndex := 14;
717 // FClickNode.Selected.Expanded := True;
718 GikoForm.FavoriteTreeView.Selected := Node;
719 GikoForm.ClickNode := Node;
720 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
721 FavoriteDM.Modified := true;
722 FavoriteTreeViewRenameAction.Execute;
727 // *************************************************************************
728 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
729 // *************************************************************************
730 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
732 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';
733 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
734 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
737 if GikoForm.ClickNode = nil then
739 if GikoForm.ClickNode.IsFirstNode then
741 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
742 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
743 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
746 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
751 GikoForm.ClickNode.Delete;
752 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
753 FavoriteDM.Modified := true;
758 // *************************************************************************
759 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
760 // *************************************************************************
761 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
764 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
766 // *************************************************************************
767 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
768 // *************************************************************************
769 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
771 FavThread: TFavoriteThreadItem;
772 FavBoard: TFavoriteBoardItem;
775 if (GikoForm.ClickNode = nil) then Exit;
777 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
779 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
780 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
781 if FavThread.Item <> nil then
782 GikoForm.DownloadContent(FavThread.Item, shiftDown);
783 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
784 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
785 GikoForm.DownloadList(FavBoard.Item, shiftDown);
789 // *************************************************************************
790 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
791 // *************************************************************************
792 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
795 if GikoForm.ClickNode = nil then Exit;
797 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
798 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
801 // *************************************************************************
802 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
803 // *************************************************************************
804 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
807 if GikoForm.ClickNode = nil then Exit;
809 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
811 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
814 GikoForm.ClickNode.Text + #13#10;
818 // *************************************************************************
819 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
820 // *************************************************************************
821 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
824 favItem : TFavoriteItem;
827 if GikoForm.ClickNode = nil then Exit;
829 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
830 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
831 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
832 favItem.URL + #13#10;
836 // *************************************************************************
837 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
838 // *************************************************************************
839 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
841 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';
842 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
844 ThreadItem: TThreadItem;
845 FavThread: TFavoriteThreadItem;
848 if GikoForm.ClickNode = nil then Exit;
849 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
851 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
852 ThreadItem := FavThread.Item;
855 if GikoSys.Setting.DeleteMsg then begin
856 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
857 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
861 GikoForm.DeleteHistory(ThreadItem);
862 GikoForm.DeleteTab(ThreadItem);
863 ThreadItem.DeleteLogFile;
865 GikoForm.ListView.Refresh;
870 // *************************************************************************
871 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
872 // *************************************************************************
873 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
876 threadItem : TThreadItem;
879 if GikoForm.ClickNode = nil then Exit;
881 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
883 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
884 if threadItem = nil then
886 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
890 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
891 procedure TGikoDM.ClearResFilter;
893 FilterList : TStringList;
895 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
896 FilterList := TStringList.Create;
898 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
899 GikoSys.FSelectResFilter.Reverse := False;
903 GikoForm.SelectResWord := '';
905 // *************************************************************************
906 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
907 // *************************************************************************
908 procedure TGikoDM.SetResRange(range: Integer);
910 if GikoSys.ResRange <> range then begin
911 GikoSys.ResRange := range;
912 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
914 GikoForm.RepaintAllTabsBrowser();
917 // *************************************************************************
918 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
919 // *************************************************************************
920 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
922 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
923 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
925 GikoForm.ResRangeMenuSelect := 100;
926 OnlyAHundredResAction.Checked := True;
927 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
930 // *************************************************************************
931 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
932 // *************************************************************************
933 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
935 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
936 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
938 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
939 OnlyKokoResAction.Checked := True;
941 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
942 SetResRange(Ord( grrKoko ));
944 // *************************************************************************
945 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
946 // *************************************************************************
947 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
949 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
950 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
952 GikoForm.ResRangeMenuSelect := Ord( grrNew );
953 OnlyNewResAction.Checked := True;
955 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
956 SetResRange(Ord( grrNew ));
958 // *************************************************************************
959 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
960 // *************************************************************************
961 procedure TGikoDM.SetThreadAreaHorNormal;
963 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
964 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
965 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
966 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
967 GikoSys.Setting.ListWidthState := glsNormal;
969 // *************************************************************************
970 //!
\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@
971 // *************************************************************************
972 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
974 if GikoSys.Setting.ListWidthState = glsNormal then
975 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
977 if (gls = glsMax) then begin
978 GikoForm.ViewPanel.Width := 1;
979 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
980 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
981 GikoSys.Setting.ListWidthState := glsMax;
982 end else if (gls = glsMin) then begin
983 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
984 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
985 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
986 GikoSys.Setting.ListWidthState := glsMin;
989 // *************************************************************************
990 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
991 // *************************************************************************
992 procedure TGikoDM.SetThreadAreaVerNormal;
994 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
995 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
996 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
997 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
998 GikoSys.Setting.ListHeightState := glsNormal;
1000 // *************************************************************************
1001 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
1002 // *************************************************************************
1003 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
1005 if GikoSys.Setting.ListHeightState = glsNormal then
1006 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
1007 if (gls = glsMin) then begin
1008 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
1009 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
1010 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1011 GikoSys.Setting.ListHeightState := glsMin;
1012 end else if (gls = glsMax) then begin
1013 GikoForm.ViewPanel.Height := 1;
1014 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
1015 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1016 GikoSys.Setting.ListHeightState := glsMax;
1019 // *************************************************************************
1020 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
1021 // *************************************************************************
1022 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
1024 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1025 case GikoSys.Setting.ListWidthState of
1027 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1028 SetThreadAreaHorNormal;
1030 glsMin, glsNormal: begin
1031 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1032 SetThreadAreaHorizontal(glsMax);
1036 case GikoSys.Setting.ListHeightState of
1038 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1039 SetThreadAreaVerNormal;
1041 glsMin, glsNormal: begin
1042 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1043 SetThreadAreaVertical(glsMax);
1048 // *************************************************************************
1049 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1050 // *************************************************************************
1051 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1053 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1054 case GikoSys.Setting.ListWidthState of
1055 glsMax, glsNormal: begin
1056 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1057 SetThreadAreaHorizontal(glsMin);
1060 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1061 SetThreadAreaHorNormal;
1065 case GikoSys.Setting.ListHeightState of
1066 glsMax, glsNormal: begin
1067 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1068 SetThreadAreaVertical(glsMin);
1071 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1072 SetThreadAreaVerNormal;
1077 // *************************************************************************
1078 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1079 // *************************************************************************
1080 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1082 GikoForm.BrowserMovement('top');
1084 // *************************************************************************
1085 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1086 // *************************************************************************
1087 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1089 GikoForm.BrowserMovement('bottom');
1091 // *************************************************************************
1092 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1093 // *************************************************************************
1094 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1096 GikoForm.BrowserMovement('new');
1098 // *************************************************************************
1099 //!
\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é
1100 // *************************************************************************
1101 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1103 GikoForm.BrowserMovement('koko');
1105 // *************************************************************************
1106 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
\82Ö
\88Ú
\93®
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1107 // *************************************************************************
1108 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1110 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1111 and (GikoForm.GetActiveContent.IsLogFile)
1112 and (GikoForm.GetActiveContent.Kokomade <> -1);
1114 // *************************************************************************
1115 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1116 // *************************************************************************
1117 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1119 Editor: TEditorForm;
1122 Item := GikoForm.GetActiveContent;
1123 if Item = nil then Exit;
1124 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1125 Editor.SetThreadItem(Item);
1127 Editor.BodyEdit.SetFocus;
1129 // *************************************************************************
1130 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1131 // *************************************************************************
1132 procedure TGikoDM.IEActionExecute(Sender: TObject);
1134 ShowThreadAction.Execute;
1136 // *************************************************************************
1137 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1138 // *************************************************************************
1139 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1141 ThreadItem: TThreadItem;
1143 ThreadItem := GikoForm.GetActiveContent;
1144 if ThreadItem = nil then Exit;
1145 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1147 // *************************************************************************
1148 //!
\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é
1149 // *************************************************************************
1150 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1152 ThreadItem: TThreadItem;
1154 ThreadItem := GikoForm.GetActiveContent;
1155 if ThreadItem = nil then Exit;
1156 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1158 // *************************************************************************
1159 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1160 // *************************************************************************
1161 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1166 if TObject(GikoForm.GetActiveContent) is TBoard then
1167 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1168 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1169 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1171 Clipboard.AsText := s;
1173 // *************************************************************************
1174 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1175 // *************************************************************************
1176 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1181 if TObject(GikoForm.GetActiveContent) is TBoard then
1182 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1183 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1184 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1186 Clipboard.AsText := s;
1188 // *************************************************************************
1189 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1190 // *************************************************************************
1191 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1196 if TObject(GikoForm.GetActiveContent) is TBoard then
1197 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1198 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1199 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1201 Clipboard.AsText := s;
1203 // *************************************************************************
1204 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1205 // *************************************************************************
1206 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1208 ThreadItem: TThreadItem;
1211 ThreadItem := GikoForm.GetActiveContent;
1212 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1213 if ThreadItem <> nil then
1214 GikoForm.DownloadContent(ThreadItem, shiftDown);
1216 // *************************************************************************
1217 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1218 // *************************************************************************
1219 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1223 idx := GikoForm.BrowserTab.TabIndex;
1224 if idx <> -1 then begin
1225 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1226 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1230 // *************************************************************************
1231 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1232 // *************************************************************************
1233 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1235 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1237 // *************************************************************************
1238 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1239 // *************************************************************************
1240 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1245 idx := GikoForm.BrowserTab.TabIndex;
1246 if idx = -1 then Exit;
1247 GikoForm.BrowserTab.Tabs.BeginUpdate;
1248 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1249 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1250 GikoForm.BrowserTab.Tabs.Delete(i);
1252 if idx > 0 then begin
1253 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1254 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1255 GikoForm.BrowserTab.Tabs.Delete(i);
1258 GikoForm.BrowserTab.Tabs.EndUpdate;
1260 // *************************************************************************
1261 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1262 // *************************************************************************
1263 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1265 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1267 // *************************************************************************
1268 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1269 // *************************************************************************
1270 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1274 if GikoSys.Setting.ShowDialogForAllTabClose then
1275 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
1278 GikoForm.ActiveContent := nil;
1279 GikoForm.BrowserNullTab.Thread := nil;
1280 GikoForm.BrowserTab.OnChange := nil;
1281 GikoForm.BrowserTab.Tabs.BeginUpdate;
1282 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1283 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1285 GikoForm.BrowserTab.Tabs.Clear;
1286 GikoForm.BrowserTab.Tabs.EndUpdate;
1287 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1288 GikoForm.SetContent(GikoForm.BrowserNullTab);
1289 GikoForm.Caption := CAPTION_NAME ;
1291 // *************************************************************************
1292 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1293 // *************************************************************************
1294 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1296 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';
1297 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1300 ThreadItem: TThreadItem;
1302 idx := GikoForm.BrowserTab.TabIndex;
1303 if idx <> -1 then begin
1304 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1305 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1306 if GikoSys.Setting.DeleteMsg then
1307 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1308 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1310 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1311 GikoForm.DeleteHistory(ThreadItem);
1312 ThreadItem.DeleteLogFile;
1313 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1314 GikoForm.ListView.Refresh;
1318 // *************************************************************************
1319 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1320 // *************************************************************************
1321 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1323 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1324 GikoForm.BrowserTab.TabIndex := 0;
1325 GikoForm.BrowserTab.OnChange(nil);
1328 // *************************************************************************
1329 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1330 // *************************************************************************
1331 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1333 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1334 LeftmostTabSelectActionUpdate(Sender);
1336 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1340 // *************************************************************************
1341 //!
\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
1342 // *************************************************************************
1343 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1345 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1346 and (GikoForm.BrowserTab.TabIndex <> 0);
1348 // *************************************************************************
1349 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1350 // *************************************************************************
1351 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1353 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1354 if GikoForm.BrowserTab.TabIndex = -1 then begin
1355 GikoForm.BrowserTab.TabIndex := 0;
1356 GikoForm.BrowserTab.OnChange(nil);
1357 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1358 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1359 GikoForm.BrowserTab.OnChange(nil);
1361 if (GikoSys.Setting.LoopBrowserTabs) and
1362 (GikoForm.BrowserTab.TabIndex = 0) then begin
1363 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1364 GikoForm.BrowserTab.OnChange(nil);
1369 // *************************************************************************
1370 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1371 // *************************************************************************
1372 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1374 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1375 if GikoForm.BrowserTab.TabIndex = -1 then begin
1376 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1377 GikoForm.BrowserTab.OnChange(nil);
1378 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1379 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1380 GikoForm.BrowserTab.OnChange(nil);
1382 if (GikoSys.Setting.LoopBrowserTabs) and
1383 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1384 GikoForm.BrowserTab.TabIndex := 0;
1385 GikoForm.BrowserTab.OnChange(nil);
1390 // *************************************************************************
1391 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1392 // *************************************************************************
1393 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1395 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1396 RightmostTabSelectActionUpdate(Sender);
1398 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1402 // *************************************************************************
1403 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1404 // *************************************************************************
1405 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1407 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1408 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1409 GikoForm.BrowserTab.OnChange(nil);
1412 // *************************************************************************
1413 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1414 // *************************************************************************
1415 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1417 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1418 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1421 // *************************************************************************
1422 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1423 // *************************************************************************
1424 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1426 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1427 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1429 // *************************************************************************
1430 //!
\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
1431 // *************************************************************************
1432 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1434 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1435 and (GikoForm.ListView.SelCount > 0);
1437 // *************************************************************************
1438 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1439 // *************************************************************************
1440 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1442 Dlg: TListSelectDialog;
1443 FilterList : TStringList;
1446 Dlg := TListSelectDialog.Create(GikoForm);
1448 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1449 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1451 if Dlg.ModalResult = mrOK then begin
1452 SelectResAction.Checked := True;
1453 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1454 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1455 ResRangeAction.Execute;
1457 GikoSys.ResRange := Ord( grrSelect );
1459 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1460 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1462 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1463 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1465 GikoSys.Setting.SelectTextList.Delete(idx);
1466 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1467 while Dlg.SelectComboBox.Items.Count > 100 do begin
1468 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1472 if GikoForm.SelectComboBoxPanel.Visible then
1473 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1477 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1478 FilterList := TStringList.Create;
1480 GikoSys.FSelectResFilter.Reverse := True;
1481 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1482 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1484 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1488 GikoForm.RepaintAllTabsBrowser();
1491 //
\83L
\83\83\83\93\83Z
\83\8b
1492 if GikoSys.ResRange <> Ord( grrSelect ) then
1493 ResRangeAction.Execute;
1500 // *************************************************************************
1501 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1502 // *************************************************************************
1503 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1505 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1506 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1508 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1509 AllResAction.Checked := True;
1511 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1512 SetResRange(Ord( grrAll ));
1514 // *************************************************************************
1515 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1516 // *************************************************************************
1517 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1519 case GikoForm.ResRangeMenuSelect of
1520 Ord( grrAll ): AllResAction.Execute;
1521 Ord( grrKoko ): OnlyKokoResAction.Execute;
1522 Ord( grrNew ): OnlyNewResAction.Execute;
1523 100: OnlyAHundredResAction.Execute;
1527 // *************************************************************************
1528 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1529 // *************************************************************************
1530 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1532 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1534 // *************************************************************************
1535 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1536 // *************************************************************************
1537 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1543 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
1544 str := ZenToHan(str);
1545 res := StrToIntDef(str, -1);
1546 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1547 GikoForm.ActiveContent.Move(IntToStr(res));
1548 SetFocusForBrowserAction.Execute;
1549 end else if res > GikoForm.GetActiveContent.Count then begin
1550 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1551 SetFocusForBrowserAction.Execute;
1555 // *************************************************************************
1556 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1557 // *************************************************************************
1558 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1563 idx := GikoForm.BrowserTab.TabIndex;
1564 if idx = -1 then Exit;
1565 GikoForm.BrowserTab.Tabs.BeginUpdate;
1566 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1567 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1568 GikoForm.BrowserTab.Tabs.Delete(i);
1570 GikoForm.BrowserTab.Tabs.EndUpdate;
1572 // *************************************************************************
1573 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1574 // *************************************************************************
1575 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1577 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1579 // *************************************************************************
1580 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1581 // *************************************************************************
1582 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1587 idx := GikoForm.BrowserTab.TabIndex;
1588 if idx = -1 then Exit;
1589 GikoForm.BrowserTab.Tabs.BeginUpdate;
1590 if idx > 0 then begin
1591 for i := idx - 1 downto 0 do begin
1592 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1593 GikoForm.BrowserTab.Tabs.Delete(i);
1596 GikoForm.BrowserTab.Tabs.EndUpdate;
1598 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1599 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1601 // 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
1602 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1603 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1604 TDefaultFileManager.CopyDefaultFiles(
1605 GikoSys.GetAppDir + 'defaultFiles.ini');
1607 // *************************************************************************
1608 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1609 // *************************************************************************
1610 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1615 if GikoForm.SearchDialog = nil then begin
1616 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1617 chk := GikoForm.GetActiveList
1621 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1622 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1626 GikoForm.SearchDialog.Show;
1630 // *************************************************************************
1631 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1632 // *************************************************************************
1633 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1637 Dlg := TOptionDialog.Create(GikoForm);
1644 // *************************************************************************
1645 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1646 // *************************************************************************
1647 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1651 Dlg := TRoundDialog.Create(GikoForm);
1658 // *************************************************************************
1659 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1660 // *************************************************************************
1661 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1663 Dlg: TKeySettingForm;
1665 Dlg := TKeySettingForm.Create(GikoForm);
1667 if Dlg.ShowModal = mrOk then begin
1668 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1669 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1670 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1675 MouseGesture.UnHook;
1676 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1677 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1678 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1679 if GikoSys.Setting.GestureEnabled then begin
1680 GikoSys.Setting.Gestures.ClearGesture;
1681 GikoSys.Setting.Gestures.LoadGesture(
1682 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1683 MouseGesture.SetHook( GikoForm.Handle );
1687 // *************************************************************************
1688 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1689 // *************************************************************************
1690 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1692 Dlg: TKotehanDialog;
1694 Dlg := TKotehanDialog.Create(GikoForm);
1701 // *************************************************************************
1702 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1703 // *************************************************************************
1704 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1706 Dlg: TToolBarSettingDialog;
1709 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1711 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1712 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1713 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1714 case GikoForm.ToolBarSettingSender of
1715 tssMain: Dlg.ToolBarIndex := 0;
1716 tssList: Dlg.ToolBarIndex := 1;
1717 tssBrowser: Dlg.ToolBarIndex := 2;
1719 if Dlg.ShowModal = mrOK then begin
1720 GikoForm.SetToolBarPopup;
1722 //
\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é
1723 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1724 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1725 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1726 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1727 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1729 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1730 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1731 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1732 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1733 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1735 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1736 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1737 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1738 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1739 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1742 SaveToolBarSetting(GikoForm.StdToolBar);
1743 SaveToolBarSetting(GikoForm.ListToolBar);
1744 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1745 GikoForm.SetSelectComboBox;
1746 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1747 SaveToolBarSetting(GikoForm.BrowserToolBar);
1751 GikoForm.ToolBarSettingSender := tssNone;
1754 // *************************************************************************
1755 //!
\83~
\83\85\81[
\83g
1756 // *************************************************************************
1757 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1759 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1761 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1762 // *************************************************************************
1763 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1764 // *************************************************************************
1765 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1768 TmpTreeNode: TTreeNode;
1770 TmpTreeNode := GikoForm.ClickNode;
1771 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1774 if TObject(TmpTreeNode.Data) is TBoard then
1775 Board := TBoard(TmpTreeNode.Data)
1776 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1777 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1779 if Board <> nil then
1780 GikoForm.DownloadList(Board);
1782 // *************************************************************************
1783 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1784 // *************************************************************************
1785 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1787 ThreadItem: TThreadItem;
1788 TmpTreeNode: TTreeNode;
1790 TmpTreeNode := GikoForm.ClickNode;
1791 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1794 if TObject(TmpTreeNode.Data) is TThreadItem then
1795 ThreadItem := TThreadItem(TmpTreeNode.Data)
1796 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1797 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1799 if ThreadItem <> nil then
1800 GikoForm.DownloadContent(ThreadItem);
1802 // *************************************************************************
1803 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1804 // *************************************************************************
1805 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1807 TmpTreeNode: TTreeNode;
1810 TmpTreeNode := GikoForm.ClickNode;
1811 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1812 if TObject(TmpTreeNode.Data) is TBoard then begin
1813 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1814 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1815 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1816 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1817 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1818 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1819 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1821 Clipboard.AsText := s;
1823 // *************************************************************************
1824 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1825 // *************************************************************************
1826 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1828 TmpTreeNode: TTreeNode;
1831 TmpTreeNode := GikoForm.ClickNode;
1832 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1833 if TObject(TmpTreeNode.Data) is TBoard then begin
1834 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1835 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1836 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1837 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1838 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1839 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1840 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1842 Clipboard.AsText := s;
1844 // *************************************************************************
1845 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1846 // *************************************************************************
1847 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1849 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1851 // *************************************************************************
1852 //!
\94Â
\96¼
\8c\9f\8dõ
1853 // *************************************************************************
1854 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1858 CurItem : TTreeNode;
1861 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1864 if GikoForm.TreeView.Selected = nil then
1865 CurItem := GikoForm.TreeView.Items.GetFirstNode
1867 CurItem := GikoForm.TreeView.Selected.GetNext;
1868 if CurItem = nil then
1869 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1871 while CurItem <> nil do begin
1872 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1875 CurItem := CurItem.GetNext;
1878 if CurItem = nil then begin
1879 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1880 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1881 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1885 GikoForm.TreeView.Select(CurItem);
1886 GikoForm.TreeView.SetFocus;
1888 GikoForm.TreeView.Select(CurItem);
1889 GikoForm.TreeView.SetFocus;
1890 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1891 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1904 // *************************************************************************
1905 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1906 // *************************************************************************
1907 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1911 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1912 s := GikoForm.ClickNode.Text;
1913 Clipboard.AsText := s;
1915 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1916 // *************************************************************************
1917 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1918 // *************************************************************************
1919 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1924 if GikoSys.Dolib.Connected then begin
1925 //
\83\8d\83O
\83A
\83E
\83g
1926 GikoSys.Dolib.Disconnect;
1927 LoginAction.Checked := False;
1928 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1929 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1931 TmpCursor := GikoForm.ScreenCursor;
1932 GikoForm.ScreenCursor := crHourGlass;
1934 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1935 if not GikoSys.Setting.ForcedLogin then begin
1936 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1937 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1938 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1939 if GikoSys.Setting.ReadProxy then begin
1940 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1941 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1943 GikoSys.Dolib.ProxyAddress := '';
1944 GikoSys.Dolib.ProxyPort := 0;
1946 if GikoSys.Dolib.Connect then begin
1947 LoginAction.Checked := True;
1948 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1949 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1950 //LoginToolButton.Style := tbsCheck;
1952 // 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);
1953 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1954 GikoForm.PlaySound('Error');
1955 LoginAction.Checked := False;
1956 //LoginToolButton.Down := False;
1957 ///LoginToolButton.Style := tbsButton;
1960 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
1961 + '
\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
1962 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1963 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1964 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1965 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1966 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1967 if GikoSys.Setting.ReadProxy then begin
1968 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1969 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1971 GikoSys.Dolib.ProxyAddress := '';
1972 GikoSys.Dolib.ProxyPort := 0;
1974 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1975 GikoSys.Dolib.ForcedConnect;
1976 if GikoSys.Dolib.Connect then begin
1977 LoginAction.Checked := True;
1978 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1979 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1980 //LoginToolButton.Style := tbsCheck;
1982 // 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);
1983 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1984 GikoForm.PlaySound('Error');
1985 LoginAction.Checked := False;
1986 //LoginToolButton.Down := False;
1987 //LoginToolButton.Style := tbsButton;
1990 LoginAction.Checked := False;
1991 //LoginToolButton.Down := False;
1992 //LoginToolButton.Style := tbsButton;
1996 GikoForm.ScreenCursor := TmpCursor;
2000 // *************************************************************************
2001 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2002 // *************************************************************************
2003 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
2005 Dlg: TNewBoardDialog;
2008 if (EditorFormExists) then begin
2009 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
2010 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
2013 Dlg := TNewBoardDialog.Create(GikoForm);
2020 // *************************************************************************
2021 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
2022 // *************************************************************************
2023 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
2025 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';
2026 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';
2027 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2029 ThreadItem: TThreadItem;
2030 TmpListItem: TListItem;
2034 List := TList.Create;
2036 TmpListItem := GikoForm.ListView.Selected;
2037 while TmpListItem <> nil do begin
2038 if TObject(TmpListItem.Data) is TThreadItem then begin
2039 ThreadItem := TThreadItem(TmpListItem.Data);
2040 if ThreadItem.IsLogFile then
2041 List.Add(ThreadItem);
2043 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2046 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2047 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2048 if List.Count = 1 then begin
2049 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
2052 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
2058 for i := 0 to List.Count - 1 do begin
2059 ThreadItem := TThreadItem(List[i]);
2060 GikoForm.DeleteHistory(ThreadItem);
2061 GikoForm.DeleteTab(ThreadItem);
2062 ThreadItem.DeleteLogFile;
2064 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2065 GikoForm.ListView.Refresh;
2070 // *************************************************************************
2071 //! 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Ê
2072 // *************************************************************************
2073 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2075 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2076 and (GikoForm.ListView.SelCount > 0);
2078 // *************************************************************************
2079 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2080 // *************************************************************************
2081 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2083 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';
2084 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2086 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2087 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2089 GikoSys.Setting.SelectTextList.Clear;
2090 GikoForm.SelectComboBox.Items.Clear;
2091 GikoForm.SelectComboBox.Text := '';
2092 GikoForm.SetListViewType( gvtAll );
2094 // *************************************************************************
2095 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2096 // *************************************************************************
2097 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2099 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';
2100 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2102 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2103 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2105 GikoSys.Setting.NameList.Clear;
2106 ClearNameTextAllEditor
2108 // *************************************************************************
2109 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2110 // *************************************************************************
2111 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2113 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';
2114 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2116 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2117 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2119 GikoSys.Setting.MailList.Clear;
2122 // *************************************************************************
2123 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2124 // *************************************************************************
2125 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2129 // *************************************************************************
2130 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2131 // *************************************************************************
2132 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2134 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2136 // *************************************************************************
2137 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2138 // *************************************************************************
2139 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2141 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2142 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2144 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2147 // *************************************************************************
2148 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2149 // *************************************************************************
2150 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2157 List := TList.Create;
2159 GikoForm.ScreenCursor := crHourGlass;
2160 GikoForm.SelectListItem(List);
2161 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2162 (GikoSys.Setting.ListHeightState = glsMax)) or
2163 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2164 (GikoSys.Setting.ListWidthState = glsMax)) then
2165 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2166 else if(List.Count = 0) then
2167 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2170 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2171 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2173 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2174 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2176 for i := 0 to List.Count - 1 do begin
2177 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2179 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2181 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2183 if SaveDialog.Execute then begin
2185 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2186 PChar(SaveDialog.FileName), true);
2188 html := TStringList.Create;
2189 title := TThreadItem(List[i]).Title;
2191 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2192 html.SaveToFile(SaveDialog.FileName);
2193 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2203 GikoForm.ScreenCursor := crDefault;
2207 // *************************************************************************
2208 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2209 // *************************************************************************
2210 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2212 SelectThreadSaveToFile(false);
2214 // *************************************************************************
2215 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2216 // *************************************************************************
2217 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2219 SelectThreadSaveToFile(true);
2221 // *************************************************************************
2222 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2223 // *************************************************************************
2224 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2226 Filename = 'tab.sav';
2227 bFilename = '~tab.sav';
2229 SaveStringList: TStringList;
2231 SaveStringList := TStringList.Create;
2233 GetTabURLs(SaveStringList);
2235 if FileExists( GikoSys.GetAppDir + Filename) then begin
2236 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2237 PChar(GikoSys.GetAppDir + bFilename), False);
2241 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2243 SaveStringList.Free;
2246 // *************************************************************************
2247 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2248 // *************************************************************************
2249 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2251 rec : TBrowserRecord;
2254 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2256 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2257 if( rec <> nil) and (rec.Thread <> nil) then
2258 AStringList.Add( rec.Thread.URL );
2263 // *************************************************************************
2264 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2265 // *************************************************************************
2266 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2268 GikoTab : TGikoTabAppend;
2272 if (AStringList <> nil) then begin
2273 GikoTab := GikoSys.Setting.BrowserTabAppend;
2275 bound := AStringList.Count - 1;
2276 if bound > -1 then begin
2277 GikoSys.Setting.BrowserTabAppend := gtaLast;
2278 for i := 0 to bound do begin
2279 item := BBSsFindThreadFromURL( AStringList[ i ] );
2281 GikoForm.InsertBrowserTab( item, false );
2283 //
\8dÅ
\8f\89\82Ì
\82P
\96\87\82É
\90Ý
\92è
2284 if (GikoSys.Setting.URLDisplay) and
2285 (GikoForm.BrowserTab.Tabs.Count > 0) then begin
2286 GikoForm.AddressComboBox.Text :=
2287 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[0]).Thread.URL;
2291 GikoSys.Setting.BrowserTabAppend := GikoTab;
2295 // *************************************************************************
2296 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2297 // *************************************************************************
2298 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2300 TABFILE = 'tab.sav';
2305 URLs := TStringList.Create();
2307 fileName := GikoSys.GetAppDir + TABFILE;
2308 if FileExists(fileName) then begin
2310 URLs.LoadFromFile(fileName);
2311 if (URLs.Count = 0) then begin
2312 //
\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
2313 SysUtils.DeleteFile(fileName);
2318 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2325 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2326 (TabsOpenAction.Tag <> 1) then begin
2327 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2330 // *************************************************************************
2331 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2332 // *************************************************************************
2333 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2335 GikoSys.Setting.BeLogin := not GikoSys.Setting.BeLogin;
2337 // *************************************************************************
2338 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
2339 // *************************************************************************
2340 procedure TGikoDM.BeLogInOutActionUpdate(Sender: TObject);
2342 if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
2343 if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
2344 else BeLogInOutAction.Checked := false;
2345 BeLogInOutAction.Enabled := true
2347 BeLogInOutAction.Enabled := false;
2349 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2350 // *************************************************************************
2351 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2352 // *************************************************************************
2353 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2356 ThreadItem: TThreadItem;
2358 No := GikoForm.KokoPopupMenu.Tag;
2361 ThreadItem := GikoForm.GetActiveContent(True);
2362 if not Assigned(ThreadItem) then
2364 ThreadItem.Kokomade := No;
2365 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2366 GikoForm.ActiveContent.Repaint := true;
2367 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2368 //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é
2369 //Application.ProcessMessages;
2371 // *************************************************************************
2372 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2373 // *************************************************************************
2374 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2376 ThreadItem: TThreadItem;
2378 ThreadItem := GikoForm.GetActiveContent(True);
2379 if ThreadItem = nil then Exit;
2380 ThreadItem.Kokomade := -1;
2381 GikoForm.ActiveContent.Thread.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2382 GikoForm.ActiveContent.Repaint := true;
2383 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2384 //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é
2385 //Application.ProcessMessages;
2387 // *************************************************************************
2388 //!
\83R
\83R
\82É
\83\8c\83X
2389 // *************************************************************************
2390 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2392 Editor: TEditorForm;
2396 Number := GikoForm.KokoPopupMenu.Tag;
2397 if Number = 0 then Exit;
2398 Item := GikoForm.GetActiveContent(True);
2399 if Item = nil then Exit;
2401 Editor := TEditorForm.Create(GikoForm);
2402 Editor.SetThreadItem(Item);
2403 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2405 Editor.BodyEdit.SetFocus;
2407 // *************************************************************************
2408 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2409 // *************************************************************************
2410 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2412 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2414 // *************************************************************************
2415 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2416 // *************************************************************************
2417 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2421 ThreadItem : TThreadItem;
2425 No := GikoForm.KokoPopupMenu.Tag;
2426 if No = 0 then Exit;
2427 ThreadItem := GikoForm.GetActiveContent(True);
2428 if ThreadItem = nil then Exit;
2430 AID := GikoSys.GetResID(No, ThreadItem);
2431 if not IsNoValidID(AID) then begin
2432 GikoForm.ShowSameIDAncher(AID);
2435 // *************************************************************************
2436 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2437 // *************************************************************************
2438 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2440 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2442 // *************************************************************************
2443 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2444 // *************************************************************************
2445 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2447 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2449 // *************************************************************************
2450 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2451 // *************************************************************************
2452 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2454 IndividualForm :TIndividualAbonForm;
2455 ThreadItem : TThreadItem;
2457 ReadList : TStringList;
2458 wordCount : TWordCount;
2460 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2462 ThreadItem := GikoForm.GetActiveContent(True);
2463 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2464 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2465 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2466 ReadList := TStringList.Create;
2467 wordCount := TWordCount.Create;
2469 {$IFDEF SPAM_FILTER_ENABLED}
2470 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2471 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2472 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2473 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2474 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2476 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2477 GikoForm.ActiveContent.Repaint := true;
2478 GikoForm.InsertBrowserTab( ThreadItem, True );
2485 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2486 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2490 IndividualForm.Release;
2493 // *************************************************************************
2494 //!
\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
2495 // *************************************************************************
2496 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2498 IndividualForm :TIndividualAbonForm;
2499 ThreadItem : TThreadItem;
2501 ReadList : TStringList;
2502 wordCount : TWordCount;
2503 {$IFDEF SPAM_FILTER_ENABLED}
2507 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2509 ThreadItem := GikoForm.GetActiveContent(True);
2510 ThreadItem.ScrollTop := GikoForm.ActiveContent.Browser.OleObject.Document.Body.ScrollTop;
2511 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2512 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2513 if (IndividualForm.ShowModal = mrOK) then begin
2514 ReadList := TStringList.Create;
2515 wordCount := TWordCount.Create;
2517 {$IFDEF SPAM_FILTER_ENABLED}
2518 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2519 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2520 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2521 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2522 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2523 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2526 if IndividualForm.FRepaint then begin
2527 GikoForm.ActiveContent.Repaint := true;
2528 GikoForm.InsertBrowserTab( ThreadItem, True );
2536 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2537 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2541 IndividualForm.Release;
2544 // *************************************************************************
2545 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2546 // *************************************************************************
2547 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2549 GikoForm.IndividualAbonID(1);
2551 // *************************************************************************
2552 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2553 // *************************************************************************
2554 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2556 GikoForm.IndividualAbonID(0);
2558 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2559 // *************************************************************************
2560 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2561 // *************************************************************************
2562 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2564 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2566 // *************************************************************************
2567 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2568 // *************************************************************************
2569 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2571 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2573 // *************************************************************************
2574 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2575 // *************************************************************************
2576 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2578 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2580 // *************************************************************************
2581 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2582 // *************************************************************************
2583 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2585 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2587 // *************************************************************************
2588 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2589 // *************************************************************************
2590 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2594 Dlg := TAboutDialog.Create(GikoForm);
2601 // *************************************************************************
2602 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2603 // *************************************************************************
2604 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2608 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2609 if not FileExists(FileName) then begin
2612 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2613 '
\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 +
2614 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2619 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2621 // *************************************************************************
2622 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2623 // *************************************************************************
2624 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2626 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2628 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2629 // *************************************************************************
2630 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2631 // *************************************************************************
2632 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2634 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2635 GikoForm.ListView.Refresh;
2637 // *************************************************************************
2638 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2639 // *************************************************************************
2640 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2642 if GikoForm.GetActiveList is TBoard then begin
2643 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2644 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2645 end else if GikoForm.GetActiveList is TCategory then begin
2646 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2649 // *************************************************************************
2650 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2651 // *************************************************************************
2652 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2654 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS) and
2655 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
2657 // *************************************************************************
2658 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2659 // *************************************************************************
2660 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2662 case GikoForm.ListView.ViewStyle of
2663 vsIcon: SmallIconAction.Execute;
2664 vsSmallIcon: ListIconAction.Execute;
2665 vsList: DetailIconAction.Execute;
2666 vsReport: LargeIconAction.Execute;
2669 // *************************************************************************
2670 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2671 // *************************************************************************
2672 procedure TGikoDM.ClearSelectComboBox;
2674 if GikoForm.SelectComboBoxPanel.Visible then begin
2675 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2676 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2677 GikoForm.ListView.SetFocus;
2680 // *************************************************************************
2681 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2682 // *************************************************************************
2683 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2686 if GikoForm.ViewType <> gvtAll then
2687 GikoForm.SetListViewType(gvtAll);
2688 GikoSys.Setting.ThreadRange := gtrAll;
2689 AllItemAction.Checked := True;
2690 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2691 GikoForm.ModifySelectList;
2692 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2693 ClearSelectComboBox;
2697 // *************************************************************************
2698 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2699 // *************************************************************************
2700 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2703 if GikoForm.ViewType <> gvtLog then
2704 GikoForm.SetListViewType(gvtLog);
2705 GikoSys.Setting.ThreadRange := gtrLog;
2706 LogItemAction.Checked := True;
2707 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2708 GikoForm.ModifySelectList;
2709 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2710 ClearSelectComboBox;
2714 // *************************************************************************
2715 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2716 // *************************************************************************
2717 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2721 if GikoForm.ViewType <> gvtNew then
2722 GikoForm.SetListViewType(gvtNew);
2723 GikoSys.Setting.ThreadRange := gtrNew;
2724 NewItemAction.Checked := True;
2725 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2726 GikoForm.ModifySelectList;
2727 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2728 ClearSelectComboBox;
2732 // *************************************************************************
2733 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2734 // *************************************************************************
2735 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2738 if GikoForm.ViewType <> gvtArch then
2739 GikoForm.SetListViewType(gvtArch);
2740 GikoSys.Setting.ThreadRange := gtrArch;
2741 ArchiveItemAction.Checked := True;
2742 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2743 GikoForm.ModifySelectList;
2744 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2745 ClearSelectComboBox;
2749 // *************************************************************************
2750 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2751 // *************************************************************************
2752 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2755 if GikoForm.ViewType <> gvtLive then
2756 GikoForm.SetListViewType(gvtLive);
2757 GikoSys.Setting.ThreadRange := gtrLive;
2758 LiveItemAction.Checked := True;
2759 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2760 GikoForm.ModifySelectList;
2761 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2762 ClearSelectComboBox;
2767 // *************************************************************************
2768 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2769 // *************************************************************************
2770 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2772 case GikoSys.Setting.ThreadRange of
2773 gtrAll: AllItemAction.Execute;
2774 gtrLog: LogItemAction.Execute;
2775 gtrNew: NewItemAction.Execute;
2776 gtrArch: ArchiveItemAction.Execute;
2777 gtrLive: LiveItemAction.Execute;
2780 // *************************************************************************
2781 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2782 // *************************************************************************
2783 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2786 Dlg: TListSelectDialog;
2789 if GikoForm.SelectComboBoxPanel.Visible then begin
2790 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2791 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2792 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2793 if GikoSys.Setting.ListWidthState = glsMax then
2794 BrowserMinAction.Execute;
2796 if GikoSys.Setting.ListHeightState = glsMax then
2797 BrowserMinAction.Execute;
2799 GikoForm.SelectComboBox.SetFocus;
2806 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2807 GikoForm.SelectComboBox.Text := '';
2808 GikoForm.SelectComboBox.Color := clWindow;
2811 AllItemAction.Checked := False;
2812 LogItemAction.Checked := False;
2813 NewItemAction.Checked := False;
2814 //SelectItemAction.Checked := True;
2815 GikoForm.ModifySelectList;
2816 Dlg := TListSelectDialog.Create(GikoForm);
2818 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2819 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2821 if Dlg.ModalResult = mrCancel then begin
2822 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2823 AllItemAction.Checked := True;
2824 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2825 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2828 if GikoForm.GetActiveList is TBoard then
2829 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2831 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2833 GikoSys.Setting.SelectTextList.Delete(idx);
2834 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2835 while Dlg.SelectComboBox.Items.Count > 100 do begin
2836 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2839 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2840 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2841 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2843 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2844 GikoForm.SelectComboBox.Color := clWindow;
2846 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2852 // *************************************************************************
2853 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2854 // *************************************************************************
2855 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2857 Editor: TEditorForm;
2859 if not (GikoForm.GetActiveList is TBoard) then
2861 Editor := TEditorForm.Create(GikoForm);
2862 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2864 Editor.BodyEdit.SetFocus;
2866 // *************************************************************************
2867 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2868 // *************************************************************************
2869 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2873 if GikoForm.GetActiveList is TBoard then begin
2874 URL := TBoard(GikoForm.GetActiveList).URL;
2875 GikoSys.OpenBrowser(URL, gbtAuto);
2878 // *************************************************************************
2879 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2880 // *************************************************************************
2881 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2888 List := TList.Create;
2890 GikoForm.SelectListItem(List);
2891 for i := 0 to List.Count - 1 do begin
2892 if TObject(List[i]) is TBoard then
2893 s := s + TBoard(List[i]).URL + #13#10
2894 else if TObject(List[i]) is TThreadItem then
2895 s := s + TThreadItem(List[i]).URL + #13#10;
2898 Clipboard.AsText := s;
2903 // *************************************************************************
2904 //!
\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
2905 // *************************************************************************
2906 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2908 if ((GikoForm.GetActiveList is TBoard) or
2909 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2910 TAction(Sender).Enabled := True
2912 TAction(Sender).Enabled := False;
2914 // *************************************************************************
2915 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2916 // *************************************************************************
2917 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2924 List := TList.Create;
2926 GikoForm.SelectListItem(List);
2927 for i := 0 to List.Count - 1 do begin
2928 if TObject(List[i]) is TCategory then
2929 s := s + TCategory(List[i]).Title + #13#10
2930 else if TObject(List[i]) is TBoard then
2931 s := s + TBoard(List[i]).Title + #13#10
2932 else if TObject(List[i]) is TThreadItem then
2933 s := s + TThreadItem(List[i]).Title + #13#10;
2936 Clipboard.AsText := s;
2941 // *************************************************************************
2942 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2943 // *************************************************************************
2944 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2946 if ((GikoForm.GetActiveList is TBBS) or
2947 (GikoForm.GetActiveList is TBoard) or
2948 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2949 TAction(Sender).Enabled := True
2951 TAction(Sender).Enabled := False;
2953 // *************************************************************************
2954 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2955 // *************************************************************************
2956 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2963 List := TList.Create;
2965 GikoForm.SelectListItem(List);
2966 for i := 0 to List.Count - 1 do begin
2967 if TObject(List[i]) is TBoard then
2968 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2969 else if TObject(List[i]) is TThreadItem then
2970 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
2973 Clipboard.AsText := s;
2978 // *************************************************************************
2979 //!
\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é
2980 // *************************************************************************
2981 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
2988 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2989 GikoForm.ActiveListColumnSave;
2990 if GikoForm.GetActiveList is TCategory then begin
2991 List := TList.Create;
2993 GikoForm.SelectListItem(List);
2994 if List.Count > 5 then begin
2995 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
2996 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
2997 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3000 for i := 0 to List.Count - 1 do begin
3001 if TObject(List[i]) is TBoard then
3002 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
3007 end else if GikoForm.GetActiveList is TBoard then begin
3008 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
3011 // *************************************************************************
3012 //!
\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
3013 // *************************************************************************
3014 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
3016 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3017 TAction(Sender).Enabled := True
3018 else if GikoForm.GetActiveList is TBoard then begin
3019 TAction(Sender).Enabled :=
3020 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard);
3022 TAction(Sender).Enabled := False;
3024 // *************************************************************************
3025 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3026 // *************************************************************************
3027 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3034 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3035 List := TList.Create;
3037 GikoForm.SelectListItem(List);
3038 if List.Count > 10 then begin
3039 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3040 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3041 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3044 for i := 0 to List.Count - 1 do begin
3045 if TObject(List[i]) is TThreadItem then
3046 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3052 // *************************************************************************
3053 //!
\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
3054 // *************************************************************************
3055 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3057 TAction(Sender).Enabled :=
3058 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3060 // *************************************************************************
3061 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3062 // *************************************************************************
3063 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3065 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3066 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3068 // *************************************************************************
3069 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3070 // *************************************************************************
3071 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3076 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3077 List := TList.Create;
3079 GikoForm.SelectListItem(List);
3080 for i := 0 to List.Count - 1 do begin
3081 if TObject(List[i]) is TThreadItem then begin
3082 if TThreadItem(List[i]).IsLogFile then begin
3083 SelectReservAction.Enabled := True;
3088 SelectReservAction.Enabled := False;
3092 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3093 SelectReservAction.Enabled := True
3095 SelectReservAction.Enabled := False;
3097 // *************************************************************************
3098 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3099 // *************************************************************************
3100 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3103 Dlg: TRoundNameDialog;
3107 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3108 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3111 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3112 cnt := RoundList.Count[grtBoard];
3113 cnt := cnt + RoundList.Count[grtItem];
3114 if cnt > 500 then begin
3115 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3119 Dlg := TRoundNameDialog.Create(GikoForm);
3122 if Dlg.ModalResult <> mrCancel then begin
3123 s := Trim(Dlg.RoundNameEdit.Text);
3124 if (Sender is TMenuItem) then begin
3125 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3126 end else if (Sender is TAction) then begin
3127 if (GikoForm.ListView.Selected <> nil) then begin
3128 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3129 GikoForm.SetSelectItemRound(True, s,
3130 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3131 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3132 GikoForm.SetSelectItemRound(True, s,
3133 TBoard(GikoForm.ListView.Selected.Data).Title);
3137 GikoForm.ListView.Refresh;
3143 // *************************************************************************
3144 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3145 // *************************************************************************
3146 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3150 if (Sender is TMenuItem) then begin
3152 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3155 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 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3160 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3161 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3163 GikoForm.SetSelectItemRound(False, '', s);
3169 GikoForm.ListView.Refresh;
3171 // *************************************************************************
3172 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3173 // *************************************************************************
3174 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3176 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3177 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3179 // *************************************************************************
3180 //!
\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
3181 // *************************************************************************
3182 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3184 BoardFavoriteAddAction.Enabled :=
3185 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3187 // *************************************************************************
3188 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3189 // *************************************************************************
3190 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3194 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3195 (GikoSys.Setting.ListHeightState = glsMax)) or
3196 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3197 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3198 if(GikoForm.GetActiveContent <> nil) then begin
3199 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3201 end else if GikoForm.GetActiveList is TCategory then begin
3202 List := TList.Create;
3204 GikoForm.SelectListItem(List);
3205 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3209 end else if GikoForm.GetActiveList is TBoard then begin
3210 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3214 // *************************************************************************
3215 //! 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Ê
3216 // *************************************************************************
3217 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3219 if (((GikoForm.GetActiveList is TBoard) and
3220 (GikoForm.GetActiveList <> BoardGroup.SpecialBoard))
3221 or (GikoForm.GetActiveList is TCategory))
3222 and (GikoForm.ListView.SelCount > 0) then
3223 TAction(Sender).Enabled := True
3225 TAction(Sender).Enabled := False;
3227 // *************************************************************************
3228 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3229 // *************************************************************************
3230 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3232 RefURL, URL : string;
3236 if GikoForm.GetActiveList is TCategory then begin
3237 List := TList.Create;
3239 GikoForm.SelectListItem(List);
3240 RefURL := TBoard(List[0]).URL;
3244 end else if GikoForm.GetActiveList is TBoard then begin
3245 RefURL := TBoard(GikoForm.GetActiveList).URL
3247 if RefURL <> '' then begin
3248 if RefURL[Length(RefURL)] <> '/' then
3249 URL := RefURL + '/' + 'head.txt'
3251 URL := RefURL + 'head.txt';
3253 GikoForm.MoveToURL(URL);
3255 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3259 // *************************************************************************
3260 //!
\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é
3261 // *************************************************************************
3262 function TGikoDM.GetSortProperties(List: TObject;
3263 var vSortOrder: Boolean): Boolean;
3266 if (List <> nil) then begin
3267 if (List is TBBS) then begin
3268 vSortOrder := GikoSys.Setting.BBSSortOrder;
3269 end else if (List is TCategory) then begin
3270 vSortOrder := GikoSys.Setting.CategorySortOrder;
3271 end else if (List is TBoard) then begin
3272 vSortOrder := GikoSys.Setting.BoardSortOrder;
3280 // *************************************************************************
3281 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3282 // *************************************************************************
3283 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3288 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3289 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3290 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3291 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3293 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3294 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3301 // *************************************************************************
3302 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3303 // *************************************************************************
3304 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3308 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3309 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3310 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3312 if id > GikoForm.ListView.Columns.Count - 1 then
3314 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3315 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3321 // *************************************************************************
3322 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3323 // *************************************************************************
3324 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3328 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3329 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3330 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3333 id := GikoForm.ListView.Columns.Count - 1;
3334 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3335 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3341 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3342 // *************************************************************************
3343 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3344 // *************************************************************************
3345 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3347 CoolBand: TCoolBand;
3349 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3350 if CoolBand = nil then
3352 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3353 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3354 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3356 // *************************************************************************
3357 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3358 // *************************************************************************
3359 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3361 CoolBand: TCoolBand;
3363 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3364 if CoolBand = nil then
3366 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3367 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3368 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3370 // *************************************************************************
3371 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3372 // *************************************************************************
3373 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3375 CoolBand: TCoolBand;
3377 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3378 if CoolBand = nil then
3380 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3381 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3382 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3384 // *************************************************************************
3385 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3386 // *************************************************************************
3387 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3389 CoolBand: TCoolBand;
3391 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3392 if CoolBand = nil then
3394 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3395 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3397 // *************************************************************************
3398 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3399 // *************************************************************************
3400 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3402 CoolBand: TCoolBand;
3404 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3405 if CoolBand = nil then
3407 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3408 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3410 // *************************************************************************
3411 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3412 // *************************************************************************
3413 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3415 CoolBand: TCoolBand;
3417 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3418 if CoolBand = nil then
3420 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3421 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3423 // *************************************************************************
3424 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3425 // *************************************************************************
3426 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3428 CoolBand: TCoolBand;
3430 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3431 if CoolBand = nil then
3433 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3434 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3436 // *************************************************************************
3437 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3438 // *************************************************************************
3439 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3441 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3442 GikoForm.MessagePanel.Top :=
3443 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3444 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3445 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3446 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3448 // *************************************************************************
3449 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3450 // *************************************************************************
3451 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3453 MsgBarVisibleAction.Execute;
3455 // *************************************************************************
3456 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3457 // *************************************************************************
3458 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3460 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3461 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3463 // *************************************************************************
3464 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3465 // *************************************************************************
3466 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3469 if GikoForm.CabinetPanel.Visible then begin
3470 if GikoForm.TreeType = gtt2ch then begin
3471 GikoForm.CabinetVisible( False );
3473 CabinetBBSAction.Checked := False;
3475 CabinetBBSAction.Checked := True;
3478 GikoForm.CabinetVisible( True );
3479 CabinetBBSAction.Checked := True;
3482 if GikoForm.ActiveBBS = nil then
3483 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3485 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3488 // *************************************************************************
3489 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3490 // *************************************************************************
3491 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3493 GikoForm.ShowHistoryTree;
3495 // *************************************************************************
3496 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3497 // *************************************************************************
3498 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3504 if GikoForm.CabinetPanel.Visible then begin
3505 if GikoForm.TreeType = gttFavorite then begin
3506 GikoForm.CabinetVisible( False );
3507 CabinetFavoriteAction.Checked := False;
3509 CabinetFavoriteAction.Checked := True;
3512 GikoForm.CabinetVisible( True );
3513 CabinetFavoriteAction.Checked := True;
3516 // BBS...BBS, History, Favorite
3517 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3519 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3520 for i := 0 to b do begin
3521 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3522 if item is TBBSMenuItem then begin
3523 item.Checked := False;
3524 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3525 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3529 //
\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Ö
3530 GikoForm.HistoryToolBar.Hide;
3531 GikoForm.FavoriteToolBar.Show;
3532 GikoForm.TreeView.Visible := False;
3533 GikoForm.FavoriteTreeView.Visible := True;
3535 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3536 GikoForm.TreeType := gttFavorite;
3538 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3539 CabinetBBSAction.Checked := False;
3540 CabinetHistoryAction.Checked := False;
3542 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3543 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3546 // *************************************************************************
3547 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3548 // *************************************************************************
3549 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3551 case GikoForm.TreeType of
3552 gttHistory: CabinetHistoryAction.Execute;
3553 gttFavorite: CabinetFavoriteAction.Execute;
3555 CabinetBBSAction.Execute;
3558 // *************************************************************************
3559 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3560 // *************************************************************************
3561 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3563 //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ã
3565 // *************************************************************************
3566 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3567 // *************************************************************************
3568 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3570 GikoForm.ListView.ViewStyle := vsIcon;
3571 LargeIconAction.Checked := True;
3573 // *************************************************************************
3574 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3575 // *************************************************************************
3576 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3578 GikoForm.ListView.ViewStyle := vsSmallIcon;
3579 SmallIconAction.Checked := True;
3581 // *************************************************************************
3582 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3583 // *************************************************************************
3584 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3586 GikoForm.ListView.ViewStyle := vsList;
3587 ListIconAction.Checked := True;
3589 // *************************************************************************
3590 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3591 // *************************************************************************
3592 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3594 GikoForm.ListView.ViewStyle := vsReport;
3595 DetailIconAction.Checked := True;
3597 // *************************************************************************
3598 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3599 // *************************************************************************
3600 procedure TGikoDM.StopActionExecute(Sender: TObject);
3602 GikoForm.FControlThread.DownloadAbort;
3603 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3605 GikoForm.Animate.Active := False;
3608 GikoForm.ScreenCursor := crDefault;
3610 // *************************************************************************
3611 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3612 // *************************************************************************
3613 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3615 if ArrangeAction.Checked then begin
3617 GikoForm.ViewPanel.Align := alNone;
3618 GikoForm.ListSplitter.Align := alNone;
3619 GikoForm.ThreadPanel.Align := alNone;
3621 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3622 GikoForm.ViewPanel.Align := alLeft;
3624 GikoForm.ListSplitter.Width := 5;
3625 GikoForm.ListSplitter.Align := alLeft;
3627 GikoForm.ViewPanel.Left := -10;
3629 GikoForm.ThreadPanel.Align := alClient;
3631 GikoSys.Setting.ListOrientation := gloHorizontal;
3632 case GikoSys.Setting.ListWidthState of
3634 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3635 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3636 GikoForm.ViewPanel.Width := 1;
3639 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3640 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3643 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3644 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3645 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3650 GikoForm.ViewPanel.Align := alNone;
3651 GikoForm.ListSplitter.Align := alNone;
3652 GikoForm.ThreadPanel.Align := alNone;
3654 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3655 GikoForm.ViewPanel.Align := alTop;
3657 GikoForm.ListSplitter.Height := 5;
3658 GikoForm.ListSplitter.Align := alTop;
3660 GikoForm.ViewPanel.Top := -10;
3662 GikoForm.ThreadPanel.Align := alClient;
3663 GikoSys.Setting.ListOrientation := gloVertical;
3664 case GikoSys.Setting.ListHeightState of
3666 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3667 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3668 GikoForm.ViewPanel.Height := 1;
3671 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3672 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3675 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3676 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3677 GikoForm.ViewPanel.Height :=
3678 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3683 // *************************************************************************
3684 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3685 // *************************************************************************
3686 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3688 GikoForm.CabinetPanel.Width := 150;
3689 GikoForm.MessagePanel.Height := 40;
3691 GikoForm.BrowserSizeWidth := 200;
3692 GikoForm.BrowserSizeHeight := 200;
3693 if ArrangeAction.Checked then begin
3694 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3696 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3698 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3699 if GikoSys.Setting.ListHeightState = glsMax then begin
3700 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3701 GikoSys.Setting.ListHeightState := glsNormal;
3704 if GikoSys.Setting.ListWidthState = glsMax then begin
3705 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3706 GikoSys.Setting.ListWidthState := glsNormal;
3710 // *************************************************************************
3711 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3712 // *************************************************************************
3713 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3715 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3716 GikoForm.SetBrowserTabState;
3718 // *************************************************************************
3719 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3720 // *************************************************************************
3721 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3723 BrowserTabBottomAction.Checked := False;
3724 BrowserTabTopAction.Checked := True;
3725 GikoSys.Setting.BrowserTabPosition := gtpTop;
3726 GikoForm.SetBrowserTabState;
3728 // *************************************************************************
3729 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3730 // *************************************************************************
3731 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3733 BrowserTabTopAction.Checked := False;
3734 BrowserTabBottomAction.Checked := True;
3735 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3736 GikoForm.SetBrowserTabState;
3738 // *************************************************************************
3739 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3740 // *************************************************************************
3741 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3743 BrowserTabButtonStyleAction.Checked := False;
3744 BrowserTabFlatStyleAction.Checked := False;
3745 BrowserTabTabStyleAction.Checked := True;
3746 GikoSys.Setting.BrowserTabStyle := gtsTab;
3747 GikoForm.SetBrowserTabState;
3749 // *************************************************************************
3750 //!
\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é
3751 // *************************************************************************
3752 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3754 BrowserTabTabStyleAction.Checked := False;
3755 BrowserTabFlatStyleAction.Checked := False;
3756 BrowserTabButtonStyleAction.Checked := True;
3757 GikoSys.Setting.BrowserTabStyle := gtsButton;
3758 GikoForm.SetBrowserTabState;
3760 // *************************************************************************
3761 //!
\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é
3762 // *************************************************************************
3763 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3765 BrowserTabFlatStyleAction.Checked := True;
3766 BrowserTabTabStyleAction.Checked := False;
3767 BrowserTabButtonStyleAction.Checked := False;
3768 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3769 GikoForm.SetBrowserTabState;
3771 // *************************************************************************
3772 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3773 // *************************************************************************
3774 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3776 GikoForm.ActiveContent.Browser.SetFocus;
3778 // *************************************************************************
3779 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3780 // *************************************************************************
3781 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3783 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3784 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3785 TAction(Sender).Enabled := true
3787 TAction(Sender).Enabled := false;
3789 // *************************************************************************
3790 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3791 // *************************************************************************
3792 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3794 if GikoForm.ActiveContent <> nil then
3795 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3796 GikoForm.ListView.SetFocus;
3798 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3799 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é
3801 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3802 if (GikoForm.ListView.ItemFocused <> nil) then begin
3803 GikoForm.ListView.ItemFocused.MakeVisible(False);
3806 // *************************************************************************
3807 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3808 // *************************************************************************
3809 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3811 if GikoForm.ActiveContent <> nil then
3812 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3813 if GikoForm.TreeView.Visible then begin
3814 GikoForm.TreeView.SetFocus;
3815 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3816 GikoForm.TreeView.Items.Item[0].Selected := true;
3817 end else if GikoForm.FavoriteTreeView.Visible then begin
3818 GikoForm.FavoriteTreeView.SetFocus;
3819 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3820 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3823 // *************************************************************************
3824 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3825 // *************************************************************************
3826 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3828 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3830 // *************************************************************************
3831 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3832 // *************************************************************************
3833 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3835 BrowserMinAction.Execute;
3836 SetFocusForThreadListAction.Execute;
3838 // *************************************************************************
3839 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3840 // *************************************************************************
3841 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3843 BrowserMaxAction.Execute;
3844 SetFocusForBrowserAction.Execute;
3846 // *************************************************************************
3847 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3848 // *************************************************************************
3849 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3851 if GikoForm.ListView.Selected <> nil then begin
3852 GikoForm.ListView.Selected.Focused := True;
3853 GikoForm.ListView.Selected := nil;
3856 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3857 // *************************************************************************
3858 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3859 // *************************************************************************
3860 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3862 SetThreadReadProperty(true);
3864 // *************************************************************************
3865 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3866 // *************************************************************************
3867 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3869 SetThreadReadProperty(false);
3871 // *************************************************************************
3872 //!
\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Ç
3873 // *************************************************************************
3874 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3879 List := TList.Create;
3881 GikoForm.SelectListItem(List);
3882 for i := 0 to List.Count - 1 do begin
3883 if TObject(List[i]) is TThreadItem then begin
3884 if (TThreadItem(List[i]).IsLogFile) then begin
3885 TThreadItem(List[i]).UnRead := not read;
3889 if GikoForm.TreeView.Visible then
3890 GikoForm.TreeView.Refresh;
3891 if GikoForm.ListView.Visible then
3892 GikoForm.ListView.Refresh;
3897 // *************************************************************************
3898 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3899 // *************************************************************************
3900 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3902 GikoForm.ListViewAllSelect;
3904 // *************************************************************************
3905 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3906 // *************************************************************************
3907 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3909 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3911 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3912 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3913 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3915 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 +
3916 '
\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' +
3917 '
\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';
3918 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3921 limitSize : Integer;
3924 {
\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Í
3925 \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
3926 \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õ
3927 è
\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
3928 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3930 if MsgBox(GikoForm.Handle, RECALC_MES,
3931 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3932 //è
\87\92l
\82Ì
\8am
\94F
3933 limitSize := LIMIT_SIZE;
3934 limitStr := IntToStr(limitSize);
3935 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
3936 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3937 if (limitSize < 0) then begin
3938 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3939 ThreadSizeCalcForFileActionExecute(nil);
3941 RecalcThreadSize(limitSize);
3946 //! 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
3947 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3949 i, j, tmpSize : Integer;
3952 Thread: TThreadItem;
3955 //
\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
3956 GikoForm.ScreenCursor := crHourGlass;
3958 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3959 for i := 0 to BoardGroups[0].Count - 1 do begin
3960 Obj := BoardGroups[0].Objects[i];
3961 if (Obj <> nil) then begin
3962 Board := TBoard(Obj);
3963 if not Board.IsThreadDatRead then begin
3964 GikoSys.ReadSubjectFile(Board);
3966 for j := 0 to Board.Count - 1 do begin
3967 Thread := Board.Items[j];
3968 if (Thread <> nil) and (Thread.IsLogFile)
3969 and (Thread.Size <= limit) then begin
3970 dat := TStringList.Create;
3972 tmpSize := Thread.Size;
3974 dat.LoadFromFile(Thread.GetThreadFileName);
3975 tmpSize := Length(dat.Text);
3976 tmpSize := tmpSize - dat.Count;
3979 Thread.Size := tmpSize;
3986 GikoForm.ProgressBar.StepBy(1);
3989 GikoForm.ScreenCursor := crDefault;
3991 GikoForm.ProgressBar.Position := 0;
3992 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
3994 // *************************************************************************
3995 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
3996 // *************************************************************************
3997 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
3999 form : TInputAssistForm;
4001 form := TInputAssistForm.Create(GikoForm);
4009 // *************************************************************************
4010 //!
\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é
4011 // *************************************************************************
4012 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
4014 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
4015 GikoForm.ActiveContent.OpenFindDialog;
4019 // *************************************************************************
4020 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
4021 // *************************************************************************
4022 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
4025 if GikoForm.ClickNode = nil then Exit;
4028 GikoForm.ClickNode.Text + #13#10;
4031 // *************************************************************************
4032 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4033 // *************************************************************************
4034 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4038 if ( EditorFormExists ) then begin
4039 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4040 for i := Screen.CustomFormCount - 1 downto 0 do begin
4041 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4042 TEditorForm(Screen.CustomForms[i]).Close;
4047 // *************************************************************************
4048 //!
\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é
4049 // *************************************************************************
4050 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4052 if (Sender is TAction) then begin
4053 TAction(Sender).Enabled := EditorFormExists;
4056 // *************************************************************************
4057 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4058 // *************************************************************************
4059 function TGikoDM.EditorFormExists(): boolean;
4064 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4065 for i := Screen.CustomFormCount - 1 downto 0 do begin
4066 if (Screen.CustomForms[i] is TEditorForm) then begin
4073 // *************************************************************************
4074 //!
\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é
4075 // *************************************************************************
4076 procedure TGikoDM.ClearNameTextAllEditor();
4080 for i := 0 to Screen.CustomFormCount - 1 do begin
4081 if (Screen.CustomForms[i] is TEditorForm) then begin
4082 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4086 // *************************************************************************
4087 //!
\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é
4088 // *************************************************************************
4089 procedure TGikoDM.ClearMailAllEditor();
4093 for i := 0 to Screen.CustomFormCount - 1 do begin
4094 if TObject(Screen.CustomForms[i]) is TEditorForm then
4095 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4099 // *************************************************************************
4100 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4101 // *************************************************************************
4102 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4104 PrevMoveHistory.Enabled :=
4105 (MoveHisotryManager.HisotryIndex > 0)
4107 // *************************************************************************
4108 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4109 // *************************************************************************
4110 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4112 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4113 BackToHistory(MoveHisotryManager.getPrevItem
4114 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4115 .Objects[GikoForm.BrowserTab.TabIndex])));
4117 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4120 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4121 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4123 browser : TWebBrowser;
4124 doc : IHTMLDocument2;
4126 if ( item <> nil ) then begin
4127 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4128 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4129 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4130 if (browser <> nil) then begin
4132 doc := browser.ControlInterface.Document as IHTMLDocument2;
4133 (doc.body as IHTMLElement2).ScrollTop := item.ScrollTop;
4139 MoveURLWithHistory(item.ThreadItem.URL);
4143 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4144 procedure TGikoDM.MoveURLWithHistory(URL : String);
4149 GikoForm.MoveToURL(URL);
4150 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4151 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4152 if idx = -1 then begin
4153 GikoForm.AddressComboBox.Items.Insert(0, URL);
4154 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4155 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4157 GikoForm.AddressComboBox.Items.Delete(idx);
4158 GikoForm.AddressComboBox.Items.Insert(0, URL);
4161 // *************************************************************************
4162 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4163 // *************************************************************************
4164 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4166 NextMoveHistory.Enabled :=
4167 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4169 // *************************************************************************
4170 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4171 // *************************************************************************
4172 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4174 BackToHistory(MoveHisotryManager.getNextItem);
4176 // *************************************************************************
4177 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4178 // *************************************************************************
4179 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4181 browser : TWebBrowser;
4182 elem : IHTMLElement;
4183 doc : IHTMLDocument2;
4185 if (GikoForm.GetActiveContent <> nil) then begin
4186 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4187 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4188 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4189 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4190 if (browser <> nil) then begin
4192 doc := browser.ControlInterface.Document as IHTMLDocument2;
4193 if Assigned(doc) then begin
4194 elem := doc.activeElement;
4195 if Assigned(elem) then begin
4206 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4207 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4209 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4210 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4212 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4213 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4215 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4216 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4218 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4219 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4221 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4222 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4224 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4225 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4227 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4228 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4230 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4231 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4233 GikoForm.StoredTaskTray;
4234 StoredTaskTrayAction.Tag := -1;
4238 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4239 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4241 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4243 links : IHTMLElementCollection;
4244 urls, exts : TStringList;
4246 links := GetActiveThreadLinks;
4247 if (links <> nil) then begin
4248 urls := TStringList.Create;
4249 exts := TStringList.Create;
4251 exts.CaseSensitive := False;
4252 exts.Sorted := True;
4253 exts.Delimiter := ';';
4254 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4255 GetLinkURLs(links, urls, 0, exts);
4256 Clipboard.SetTextBuf(urls.GetText);
4265 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4266 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4268 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4270 links : IHTMLElementCollection;
4271 urls, exts : TStringList;
4272 ThreadItem : TThreadItem;
4274 ThreadItem := GikoForm.GetActiveContent;
4275 links := GetActiveThreadLinks;
4276 if (ThreadItem <> nil) and (links <> nil) then begin
4277 urls := TStringList.Create;
4278 exts := TStringList.Create;
4280 exts.CaseSensitive := False;
4281 exts.Sorted := True;
4282 exts.Delimiter := ';';
4283 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4285 GetLinkURLs(links, urls,
4286 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4287 Clipboard.SetTextBuf(urls.GetText);
4295 \breif
\83\8a\83\93\83NURL
\8eæ
\93¾
4296 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4298 procedure TGikoDM.AllLinkToClipboardActionExecute(Sender: TObject);
4300 links : IHTMLElementCollection;
4301 urls, exts : TStringList;
4303 links := GetActiveThreadLinks;
4304 if (links <> nil) then begin
4305 urls := TStringList.Create;
4306 exts := TStringList.Create;
4308 exts.CaseSensitive := False;
4309 exts.Sorted := True;
4310 exts.Delimiter := ';';
4311 exts.DelimitedText :=
4312 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4313 GetLinkURLs(links, urls, 0, exts);
4314 Clipboard.SetTextBuf(urls.GetText);
4322 \breif
\90V
\92\85\83\8c\83X
\83\8a\83\93\83NURL
\8eæ
\93¾
4323 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4325 procedure TGikoDM.NewLinkToClipboardActionExecute(Sender: TObject);
4327 links : IHTMLElementCollection;
4328 urls, exts : TStringList;
4329 ThreadItem : TThreadItem;
4331 ThreadItem := GikoForm.GetActiveContent;
4332 links := GetActiveThreadLinks;
4333 if (ThreadItem <> nil) and (links <> nil) then begin
4334 urls := TStringList.Create;
4335 exts := TStringList.Create;
4337 exts.CaseSensitive := False;
4338 exts.Sorted := True;
4339 exts.Delimiter := ';';
4340 exts.DelimitedText :=
4341 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4342 GetLinkURLs(links, urls,
4343 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4344 Clipboard.SetTextBuf(urls.GetText);
4353 \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
4354 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4356 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4358 browser : TWebBrowser;
4359 doc : IHTMLDocument2;
4362 if (GikoForm.GetActiveContent <> nil) then begin
4363 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4364 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4365 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4366 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4367 if (browser <> nil) then begin
4369 doc := browser.ControlInterface.Document as IHTMLDocument2;
4370 if Assigned(doc) then begin
4371 Result := doc.links;
4382 \brief
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4383 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4384 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4385 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4386 \param Exts
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\8ag
\92£
\8eq
4388 procedure TGikoDM.GetLinkURLs(links : IHTMLElementCollection;
4389 URLs : TStringList; const Start: Integer; Exts : TStringList);
4391 index ,i, j : Integer;
4392 item : IHTMLElement;
4395 if (links <> nil) then begin
4397 for i := 0 to links.length - 1 do begin
4398 item := links.item(i, 0) as IHTMLElement;
4399 if (item <> nil) then begin
4400 url := item.getAttribute('href', 0);
4401 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4402 if (Pos('menu:', url) > 0) then begin
4403 index := StrToInt64Def(
4404 Copy(url, 6, Length(url)), index + 1
4407 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4408 if (index >= Start) then begin
4409 ext := ExtractFileExt( AnsiLowerCase(url) );
4410 //
\8ag
\92£
\8eq
\82ð
\83`
\83F
\83b
\83N
4411 if Exts.Find(ext, j) then begin
4421 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4422 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4424 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4426 if ( GikoForm.AddressToolBar.Visible ) then begin
4427 GikoForm.AddressComboBox.SetFocus;
4431 \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é
4433 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4435 form : TNewBoardURLForm;
4438 if (EditorFormExists) then begin
4439 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4440 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4443 form := TNewBoardURLForm.Create(Self);
4450 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4451 procedure TGikoDM.ScrollPageDownActionExecute(Sender: TObject);
4453 GikoForm.BrowserMovement(GikoForm.BrowserPanel.Height);
4455 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4456 procedure TGikoDM.ScrollPageUpActionExecute(Sender: TObject);
4458 GikoForm.BrowserMovement(-GikoForm.BrowserPanel.Height);
4462 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
\81i
\93§
\96¾)
4463 procedure TGikoDM.AddIDtoNGWord0ActionExecute(Sender: TObject);
4465 GikoForm.AddIDtoNGWord(true);
4467 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
4468 procedure TGikoDM.AddIDtoNGWord1ActionExecute(Sender: TObject);
4470 GikoForm.AddIDtoNGWord(false);
4472 //!
\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¦
4473 procedure TGikoDM.ExtractSameIDActionExecute(Sender: TObject);
4477 ID := Trim(Clipboard.AsText);
4478 if (Length(ID) > 0) then begin
4479 if not IsNoValidID(ID) then begin
4480 GikoForm.ShowSameIDAncher(ID);
4484 //!
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82·
\82é
4485 procedure TGikoDM.ShowTabListActionExecute(Sender: TObject);
4489 GikoForm.ListView.Items.BeginUpdate;
4490 GikoForm.ListView.Items.Clear;
4491 BoardGroup.SpecialBoard.Clear;
4492 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
4493 BoardGroup.SpecialBoard.Add(
4494 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Thread);
4496 GikoForm.ListView.Items.EndUpdate;
4497 GikoForm.SetActiveList(BoardGroup.SpecialBoard);
4499 //!
\8bt
\8eQ
\8fÆ
\82µ
\82Ä
\82¢
\82é
\83\8c\83X
\82ð
\92Ç
\89Á
\82·
\82é
4500 procedure TGikoDM.DereferenceResActionExecute(Sender: TObject);
4502 i, currentNo, No : Integer;
4503 links : IHTMLElementCollection;
4504 threadItem : TThreadItem;
4505 item : IHTMLElement;
4507 resNo : TStringList;
4508 alreadyExist : Boolean;
4511 No := GikoForm.KokoPopupMenu.Tag;
4512 if No = 0 then Exit;
4514 ThreadItem := GikoForm.GetActiveContent;
4515 //
\83A
\83N
\83e
\83B
\83u
\83^
\83u
\82©
\82ç
\91S
\82Ä
\82Ì
\83\8a\83\93\83N
\82ð
\8eæ
\93¾
\82·
\82é
4516 links := GetActiveThreadLinks;
4517 if (ThreadItem <> nil) and (links <> nil) then begin
4518 resNo := TStringList.Create;
4521 alreadyExist := False;
4522 //
\83\8a\83\93\83N
\82ð
\91S
\82Ä
\91\96\8d¸
\82·
\82é
4523 for i := 0 to links.length - 1 do begin
4524 item := links.item(i, 0) as IHTMLElement;
4525 if (item <> nil) then begin
4526 url := item.getAttribute('href', 0);
4527 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4528 if (Pos('menu:', url) > 0) then begin
4529 currentNo := StrToInt64Def(
4530 Copy(url, 6, Length(url)), currentNo + 1
4532 alreadyExist := False;
4533 end else if (currentNo <> -1) and (not alreadyExist) then begin
4535 if Pos('about:..', url) = 1 then begin
4536 url := 'about:blank..' + Copy( url, Length('about:..')+1, Length(url) )
4538 //
\8e©
\95ª
\82Ö
\82Ì
\83\8a\83\93\83N
\82©
\82ç
\83\8c\83X
\83|
\83b
\83v
\97p
\82Ì
\94Ô
\8d\86\8eæ
\93¾
4539 if Pos('about:blank..', url) = 1 then begin
4540 // No
\94Ô
\82Ö
\82Ì
\83\8a\83\93\83N
\82ª
\82 \82ê
\82Î
\8eQ
\8fÆ
\82 \82è
4541 url2 := THTMLCreate.GetRespopupURL(url, ThreadItem.URL);
4542 PathRec := Gikosys.Parse2chURL2(url2);
4543 if (not PathRec.FNoParam) then begin
4544 Gikosys.GetPopupResNumber(url2,PathRec.FSt,PathRec.FTo);
4546 //
\91Î
\8fÛ
\83\8c\83X
\82à
\82µ
\82
\82Í
\82»
\82ê
\82ð
\8aÜ
\82Þ
\82È
\82ç
\8eQ
\8fÆ
\82 \82è
\82Æ
\82·
\82é
4547 if (PathRec.FSt = No) or
4548 ((PathRec.FSt <= No) and (PathRec.FTo >= No)) then begin
4549 alreadyExist := True;
4550 resNo.Add(IntToStr(currentNo));
4556 //
\96³
\90§
\8cÀ
\82È
\82Ì
\82Å-1
\8cÅ
\92è
4557 GikoForm.ActiveContent.IDAnchorPopup(
4558 GikoSys.CreateResAnchor(resNo, ThreadItem, -1));