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 procedure EditNGActionExecute(Sender: TObject);
243 procedure ReloadActionExecute(Sender: TObject);
244 procedure GoFowardActionExecute(Sender: TObject);
245 procedure GoBackActionExecute(Sender: TObject);
246 procedure MoveToActionExecute(Sender: TObject);
247 procedure FavoriteAddActionExecute(Sender: TObject);
248 procedure FavoriteArrangeActionExecute(Sender: TObject);
249 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
250 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
251 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
252 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
253 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
254 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
255 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
256 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
257 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
258 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
259 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
260 procedure OnlyAHundredResActionExecute(Sender: TObject);
261 procedure OnlyKokoResActionExecute(Sender: TObject);
262 procedure OnlyNewResActionExecute(Sender: TObject);
263 procedure BrowserMaxActionExecute(Sender: TObject);
264 procedure BrowserMinActionExecute(Sender: TObject);
265 procedure ScrollTopActionExecute(Sender: TObject);
266 procedure ScrollLastActionExecute(Sender: TObject);
267 procedure ScrollNewActionExecute(Sender: TObject);
268 procedure ScrollKokoActionExecute(Sender: TObject);
269 procedure ScrollKokoActionUpdate(Sender: TObject);
270 procedure EditorActionExecute(Sender: TObject);
271 procedure IEActionExecute(Sender: TObject);
272 procedure ShowThreadActionExecute(Sender: TObject);
273 procedure ShowBoardActionExecute(Sender: TObject);
274 procedure URLCopyActionExecute(Sender: TObject);
275 procedure NameCopyActionExecute(Sender: TObject);
276 procedure NameURLCopyActionExecute(Sender: TObject);
277 procedure ItemReloadActionExecute(Sender: TObject);
278 procedure BrowserTabCloseActionExecute(Sender: TObject);
279 procedure BrowserTabCloseActionUpdate(Sender: TObject);
280 procedure NotSelectTabCloseActionExecute(Sender: TObject);
281 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
282 procedure AllTabCloseActionExecute(Sender: TObject);
283 procedure ActiveLogDeleteActionExecute(Sender: TObject);
284 procedure LeftmostTabSelectActionExecute(Sender: TObject);
285 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
286 procedure LeftTabSelectActionExecute(Sender: TObject);
287 procedure RightTabSelectActionExecute(Sender: TObject);
288 procedure RightTabSelectActionUpdate(Sender: TObject);
289 procedure RightmostTabSelectActionExecute(Sender: TObject);
290 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
291 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
292 procedure SelectResActionExecute(Sender: TObject);
293 procedure AllResActionExecute(Sender: TObject);
294 procedure ResRangeActionExecute(Sender: TObject);
295 procedure UpBoardActionExecute(Sender: TObject);
296 procedure JumpToNumOfResActionExecute(Sender: TObject);
297 procedure RightTabCloseActionExecute(Sender: TObject);
298 procedure RightTabCloseActionUpdate(Sender: TObject);
299 procedure LeftTabCloseActionExecute(Sender: TObject);
300 procedure DataModuleCreate(Sender: TObject);
301 procedure SearchActionExecute(Sender: TObject);
302 procedure OptionActionExecute(Sender: TObject);
303 procedure RoundActionExecute(Sender: TObject);
304 procedure KeySettingActionExecute(Sender: TObject);
305 procedure KotehanActionExecute(Sender: TObject);
306 procedure ToolBarSettingActionExecute(Sender: TObject);
307 procedure MuteActionExecute(Sender: TObject);
308 procedure TreeSelectBoradReloadExecute(Sender: TObject);
309 procedure TreeSelectThreadReloadExecute(Sender: TObject);
310 procedure TreeSelectURLCopyExecute(Sender: TObject);
311 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
312 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
313 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
314 procedure TreeSelectNameCopyExecute(Sender: TObject);
315 procedure LoginActionExecute(Sender: TObject);
316 procedure NewBoardActionExecute(Sender: TObject);
317 procedure LogDeleteActionExecute(Sender: TObject);
318 procedure LogDeleteActionUpdate(Sender: TObject);
319 procedure SelectTextClearActionExecute(Sender: TObject);
320 procedure NameTextClearActionExecute(Sender: TObject);
321 procedure MailTextClearActionExecute(Sender: TObject);
322 procedure ExitActionExecute(Sender: TObject);
323 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
324 procedure ExportFavoriteFileAccept(Sender: TObject);
325 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
326 procedure SelectItemSaveForDatExecute(Sender: TObject);
327 procedure TabsSaveActionExecute(Sender: TObject);
328 procedure TabsOpenActionExecute(Sender: TObject);
329 procedure BeLogInOutActionExecute(Sender: TObject);
330 procedure BeLogInOutActionUpdate(Sender: TObject);
331 procedure KokomadeActionExecute(Sender: TObject);
332 procedure ZenbuActionExecute(Sender: TObject);
333 procedure KokoResActionExecute(Sender: TObject);
334 procedure KoreCopyExecute(Sender: TObject);
335 procedure SameIDResAnchorActionExecute(Sender: TObject);
336 procedure IndividualAbon1ActionExecute(Sender: TObject);
337 procedure IndividualAbon0ActionExecute(Sender: TObject);
338 procedure AntiIndividualAbonActionExecute(Sender: TObject);
339 procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
340 procedure IndividualAbonID1ActionExecute(Sender: TObject);
341 procedure IndividualAbonID0ActionExecute(Sender: TObject);
342 procedure GikoNaviWebPageActionExecute(Sender: TObject);
343 procedure MonazillaWebPageActionExecute(Sender: TObject);
344 procedure BBS2chWebPageActionExecute(Sender: TObject);
345 procedure GikoFolderOpenActionExecute(Sender: TObject);
346 procedure AboutActionExecute(Sender: TObject);
347 procedure GikoHelpActionExecute(Sender: TObject);
348 procedure WikiFAQWebPageActionExecute(Sender: TObject);
349 procedure ListNumberVisibleActionExecute(Sender: TObject);
350 procedure UpFolderActionExecute(Sender: TObject);
351 procedure UpFolderActionUpdate(Sender: TObject);
352 procedure IconStyleExecute(Sender: TObject);
353 procedure AllItemActionExecute(Sender: TObject);
354 procedure LogItemActionExecute(Sender: TObject);
355 procedure NewItemActionExecute(Sender: TObject);
356 procedure ThreadRangeActionExecute(Sender: TObject);
357 procedure SelectItemActionExecute(Sender: TObject);
358 procedure ThreadEditorActionExecute(Sender: TObject);
359 procedure BoardIEActionExecute(Sender: TObject);
360 procedure SelectItemURLCopyActionExecute(Sender: TObject);
361 procedure SelectItemURLCopyActionUpdate(Sender: TObject);
362 procedure SelectItemNameCopyActionExecute(Sender: TObject);
363 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
364 procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
365 procedure SelectListReloadActionExecute(Sender: TObject);
366 procedure SelectListReloadActionUpdate(Sender: TObject);
367 procedure SelectThreadReloadActionExecute(Sender: TObject);
368 procedure SelectThreadReloadActionUpdate(Sender: TObject);
369 procedure SelectReservActionExecute(Sender: TObject);
370 procedure SelectReservActionUpdate(Sender: TObject);
371 procedure SelectNewRoundNameExecute(Sender: TObject);
372 procedure SelectDeleteRoundExecute(Sender: TObject);
373 procedure BoardFavoriteAddActionExecute(Sender: TObject);
374 procedure BoardFavoriteAddActionUpdate(Sender: TObject);
375 procedure LogFolderOpenActionExecute(Sender: TObject);
376 procedure LogFolderOpenActionUpdate(Sender: TObject);
377 procedure BrowsBoradHeadActionExecute(Sender: TObject);
378 procedure SortActiveColumnActionExecute(Sender: TObject);
379 procedure SortNextColumnActionExecute(Sender: TObject);
380 procedure SortPrevColumnActionExecute(Sender: TObject);
381 procedure StdToolBarVisibleActionExecute(Sender: TObject);
382 procedure AddressBarVisibleActionExecute(Sender: TObject);
383 procedure LinkBarVisibleActionExecute(Sender: TObject);
384 procedure ListToolBarVisibleActionExecute(Sender: TObject);
385 procedure ListNameBarVisibleActionExecute(Sender: TObject);
386 procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
387 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
388 procedure MsgBarVisibleActionExecute(Sender: TObject);
389 procedure MsgBarCloseActionExecute(Sender: TObject);
390 procedure StatusBarVisibleActionExecute(Sender: TObject);
391 procedure CabinetBBSActionExecute(Sender: TObject);
392 procedure CabinetHistoryActionExecute(Sender: TObject);
393 procedure CabinetFavoriteActionExecute(Sender: TObject);
394 procedure CabinetVisibleActionExecute(Sender: TObject);
395 procedure CabinetCloseActionExecute(Sender: TObject);
396 procedure LargeIconActionExecute(Sender: TObject);
397 procedure SmallIconActionExecute(Sender: TObject);
398 procedure ListIconActionExecute(Sender: TObject);
399 procedure DetailIconActionExecute(Sender: TObject);
400 procedure StopActionExecute(Sender: TObject);
401 procedure ArrangeActionExecute(Sender: TObject);
402 procedure PaneInitActionExecute(Sender: TObject);
403 procedure BrowserTabVisibleActionExecute(Sender: TObject);
404 procedure BrowserTabTopActionExecute(Sender: TObject);
405 procedure BrowserTabBottomActionExecute(Sender: TObject);
406 procedure BrowserTabTabStyleActionExecute(Sender: TObject);
407 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
408 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
409 procedure SetFocusForBrowserActionExecute(Sender: TObject);
410 procedure SetFocusForBrowserActionUpdate(Sender: TObject);
411 procedure SetFocusForThreadListActionExecute(Sender: TObject);
412 procedure SetFocusForCabinetActionExecute(Sender: TObject);
413 procedure SetFocusForCabinetActionUpdate(Sender: TObject);
414 procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
415 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
416 procedure UnSelectedListViewActionExecute(Sender: TObject);
417 procedure KidokuActionExecute(Sender: TObject);
418 procedure MidokuActionExecute(Sender: TObject);
419 procedure AllSelectActionExecute(Sender: TObject);
420 procedure AllSelectActionUpdate(Sender: TObject);
421 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
422 procedure SetInputAssistActionExecute(Sender: TObject);
423 procedure OpenFindDialogActionExecute(Sender: TObject);
424 procedure ArchiveItemActionExecute(Sender: TObject);
425 procedure LiveItemActionExecute(Sender: TObject);
426 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
427 procedure CloseAllEditorActionExecute(Sender: TObject);
428 procedure CloseAllEditorActionUpdate(Sender: TObject);
429 procedure PrevMoveHistoryUpdate(Sender: TObject);
430 procedure PrevMoveHistoryExecute(Sender: TObject);
431 procedure NextMoveHistoryUpdate(Sender: TObject);
432 procedure NextMoveHistoryExecute(Sender: TObject);
433 procedure ClickActiveElementActionExecute(Sender: TObject);
434 procedure VKDownActionExecute(Sender: TObject);
435 procedure VKUpActionExecute(Sender: TObject);
436 procedure VKRightActionExecute(Sender: TObject);
437 procedure VKLeftActionExecute(Sender: TObject);
438 procedure StoredTaskTrayActionExecute(Sender: TObject);
439 procedure LeftTabSelectActionUpdate(Sender: TObject);
440 procedure RightmostTabSelectActionUpdate(Sender: TObject);
441 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
442 procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
443 procedure SetForcusForAddresBarActionExecute(Sender: TObject);
444 procedure NewBoardSearchActionExecute(Sender: TObject);
445 procedure ScrollPageDownActionExecute(Sender: TObject);
446 procedure ScrollPageUpActionExecute(Sender: TObject);
447 procedure AllLinkToClipboardActionExecute(Sender: TObject);
448 procedure NewLinkToClipboardActionExecute(Sender: TObject);
449 procedure AddIDtoNGWord0ActionExecute(Sender: TObject);
450 procedure AddIDtoNGWord1ActionExecute(Sender: TObject);
453 procedure ClearResFilter;
454 procedure SetResRange(range: Integer);
455 procedure SetThreadAreaHorNormal;
456 procedure SetThreadAreaHorizontal(gls : TGikoListState);
457 procedure SetThreadAreaVerNormal;
458 procedure SetThreadAreaVertical(gls : TGikoListState);
459 procedure SetThreadReadProperty(read: Boolean);
460 procedure SelectThreadSaveToFile(dat: Boolean);
461 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
462 procedure RecalcThreadSize(limit : Integer);
463 procedure ClearSelectComboBox;
464 procedure ClearMailAllEditor();
465 procedure ClearNameTextAllEditor();
466 procedure MoveURLWithHistory(URL : String);
467 procedure BackToHistory(item: TMoveHistoryItem);
468 function GetActiveThreadLinks : IHTMLElementCollection;
469 procedure GetLinkURLs(links : IHTMLElementCollection;
470 URLs : TStringList; const Start: Integer; Exts : TStringList);
473 procedure RepaintStatusBar;
474 function EditorFormExists(): boolean;
475 procedure GetTabURLs(AStringList: TStringList);
476 procedure OpenURLs(AStringList: TStringList);
478 { Published
\90é
\8c¾ }
479 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
480 procedure DependActiveCntentActionUpdate(Sender: TObject);
481 //! 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é
482 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
483 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
484 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
494 Windows, Math, Clipbrd,
495 Giko, GikoUtil, BoardGroup,
496 FavoriteArrange, Favorite, MojuUtils,
497 Editor, ListSelect, Search, Option, Round,
498 KeySetting, Gesture, Kotehan, ToolBarSetting,
499 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
500 GikoBayesian, About, ShellAPI,
501 RoundName, RoundData, Menus, ListViewUtils,
502 ThreadControl, GikoMessage, InputAssist,
503 DefaultFileManager, Forms, NewBoardURL;
506 MSG_ERROR : string = '
\83G
\83\89\81[';
509 // *************************************************************************
510 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
511 // *************************************************************************
512 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
514 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
516 // *************************************************************************
517 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
518 // *************************************************************************
519 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
521 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
522 and (GikoForm.GetActiveContent.IsLogFile);
524 // *************************************************************************
525 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
526 // *************************************************************************
527 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
529 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
531 // *************************************************************************
532 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
533 // *************************************************************************
534 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
536 //
\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
537 GikoSys.FAbon.EditNGwords;
539 // *************************************************************************
540 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
541 // *************************************************************************
542 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
544 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
545 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
546 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½',
547 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
549 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
550 GikoForm.RepaintAllTabsBrowser();
553 // *************************************************************************
554 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
555 // *************************************************************************
556 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
558 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
559 if GikoSys.FAbon.GoBack =false then begin
560 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½',
561 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
563 //
\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
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Â
\91O
\81j
571 // *************************************************************************
572 procedure TGikoDM.GoBackActionExecute(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.GoForward =false then begin
576 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½',
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
\82ð
\95Ï
\8dX
\82µ
\82½
\8cã
\82Ì
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\8dX
\90V
\8f\88\97\9d
587 // *************************************************************************
588 procedure TGikoDM.RepaintStatusBar;
592 //
\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
593 s := GikoSys.FAbon.NGwordname;
594 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
595 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
596 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
597 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
598 GikoForm.StatusBarResize(nil);
600 // *************************************************************************
601 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
602 // *************************************************************************
603 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
605 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
607 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
609 // *************************************************************************
610 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
611 // *************************************************************************
612 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
614 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
616 // *************************************************************************
617 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
618 // *************************************************************************
619 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
621 Dlg: TFavoriteArrangeDialog;
623 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
629 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
630 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
632 // *************************************************************************
633 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
634 // *************************************************************************
635 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
639 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
641 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
642 while node <> nil do begin
643 if node.HasChildren then
644 node.Expanded := False;
645 node := node.GetNext;
650 // *************************************************************************
651 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
652 // *************************************************************************
653 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
658 if GikoForm.ClickNode = nil then
660 if GikoForm.ClickNode.IsFirstNode then
662 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
664 GikoForm.FavoriteTreeView.ReadOnly := False;
665 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
666 node := GikoForm.ClickNode.Parent;
667 while node <> nil do begin
668 node.Expanded := True;
671 GikoForm.ClickNode.EditText;
673 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 );
675 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
676 FavoriteDM.Modified := true;
679 // *************************************************************************
680 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
681 // *************************************************************************
682 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
684 NewFavFolder: TFavoriteFolder;
688 if GikoForm.ClickNode = nil then
692 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
693 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
694 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
697 NewFavFolder := TFavoriteFolder.Create;
698 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
699 Node.ImageIndex := 14;
700 Node.SelectedIndex := 14;
701 // FClickNode.Selected.Expanded := True;
702 GikoForm.FavoriteTreeView.Selected := Node;
703 GikoForm.ClickNode := Node;
704 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
705 FavoriteDM.Modified := true;
706 FavoriteTreeViewRenameAction.Execute;
711 // *************************************************************************
712 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
713 // *************************************************************************
714 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
716 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';
717 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
718 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
721 if GikoForm.ClickNode = nil then
723 if GikoForm.ClickNode.IsFirstNode then
725 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
726 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
727 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
730 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
735 GikoForm.ClickNode.Delete;
736 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
737 FavoriteDM.Modified := true;
742 // *************************************************************************
743 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
744 // *************************************************************************
745 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
748 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
750 // *************************************************************************
751 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
752 // *************************************************************************
753 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
755 FavThread: TFavoriteThreadItem;
756 FavBoard: TFavoriteBoardItem;
759 if (GikoForm.ClickNode = nil) then Exit;
761 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
763 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
764 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
765 if FavThread.Item <> nil then
766 GikoForm.DownloadContent(FavThread.Item, shiftDown);
767 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
768 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
769 GikoForm.DownloadList(FavBoard.Item, shiftDown);
773 // *************************************************************************
774 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
775 // *************************************************************************
776 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
779 if GikoForm.ClickNode = nil then Exit;
781 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
782 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
785 // *************************************************************************
786 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
787 // *************************************************************************
788 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
791 if GikoForm.ClickNode = nil then Exit;
793 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
795 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
798 GikoForm.ClickNode.Text + #13#10;
802 // *************************************************************************
803 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
804 // *************************************************************************
805 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
808 favItem : TFavoriteItem;
811 if GikoForm.ClickNode = nil then Exit;
813 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
814 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
815 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
816 favItem.URL + #13#10;
820 // *************************************************************************
821 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
822 // *************************************************************************
823 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
825 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';
826 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
828 ThreadItem: TThreadItem;
829 FavThread: TFavoriteThreadItem;
832 if GikoForm.ClickNode = nil then Exit;
833 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
835 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
836 ThreadItem := FavThread.Item;
839 if GikoSys.Setting.DeleteMsg then begin
840 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
841 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
845 GikoForm.DeleteHistory(ThreadItem);
846 GikoForm.DeleteTab(ThreadItem);
847 ThreadItem.DeleteLogFile;
849 GikoForm.ListView.Refresh;
854 // *************************************************************************
855 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
856 // *************************************************************************
857 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
860 threadItem : TThreadItem;
863 if GikoForm.ClickNode = nil then Exit;
865 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
867 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
868 if threadItem = nil then
870 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
874 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
875 procedure TGikoDM.ClearResFilter;
877 FilterList : TStringList;
879 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
880 FilterList := TStringList.Create;
882 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
883 GikoSys.FSelectResFilter.Reverse := False;
887 GikoForm.SelectResWord := '';
889 // *************************************************************************
890 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
891 // *************************************************************************
892 procedure TGikoDM.SetResRange(range: Integer);
894 if GikoSys.ResRange <> range then begin
895 GikoSys.ResRange := range;
896 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
898 GikoForm.RepaintAllTabsBrowser();
901 // *************************************************************************
902 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
903 // *************************************************************************
904 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
906 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
907 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
909 GikoForm.ResRangeMenuSelect := 100;
910 OnlyAHundredResAction.Checked := True;
911 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
914 // *************************************************************************
915 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
916 // *************************************************************************
917 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
919 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
920 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
922 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
923 OnlyKokoResAction.Checked := True;
925 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
926 SetResRange(Ord( grrKoko ));
928 // *************************************************************************
929 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
930 // *************************************************************************
931 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
933 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
934 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
936 GikoForm.ResRangeMenuSelect := Ord( grrNew );
937 OnlyNewResAction.Checked := True;
939 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
940 SetResRange(Ord( grrNew ));
942 // *************************************************************************
943 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
944 // *************************************************************************
945 procedure TGikoDM.SetThreadAreaHorNormal;
947 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
948 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
949 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
950 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
951 GikoSys.Setting.ListWidthState := glsNormal;
953 // *************************************************************************
954 //!
\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@
955 // *************************************************************************
956 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
958 if GikoSys.Setting.ListWidthState = glsNormal then
959 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
961 if (gls = glsMax) then begin
962 GikoForm.ViewPanel.Width := 1;
963 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
964 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
965 GikoSys.Setting.ListWidthState := glsMax;
966 end else if (gls = glsMin) then begin
967 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
968 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
969 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
970 GikoSys.Setting.ListWidthState := glsMin;
973 // *************************************************************************
974 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
975 // *************************************************************************
976 procedure TGikoDM.SetThreadAreaVerNormal;
978 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
979 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
980 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
981 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
982 GikoSys.Setting.ListHeightState := glsNormal;
984 // *************************************************************************
985 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
986 // *************************************************************************
987 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
989 if GikoSys.Setting.ListHeightState = glsNormal then
990 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
991 if (gls = glsMin) then begin
992 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
993 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
994 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
995 GikoSys.Setting.ListHeightState := glsMin;
996 end else if (gls = glsMax) then begin
997 GikoForm.ViewPanel.Height := 1;
998 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
999 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
1000 GikoSys.Setting.ListHeightState := glsMax;
1003 // *************************************************************************
1004 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
1005 // *************************************************************************
1006 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
1008 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1009 case GikoSys.Setting.ListWidthState of
1011 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1012 SetThreadAreaHorNormal;
1014 glsMin, glsNormal: begin
1015 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1016 SetThreadAreaHorizontal(glsMax);
1020 case GikoSys.Setting.ListHeightState of
1022 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1023 SetThreadAreaVerNormal;
1025 glsMin, glsNormal: begin
1026 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1027 SetThreadAreaVertical(glsMax);
1032 // *************************************************************************
1033 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1034 // *************************************************************************
1035 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1037 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1038 case GikoSys.Setting.ListWidthState of
1039 glsMax, glsNormal: begin
1040 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1041 SetThreadAreaHorizontal(glsMin);
1044 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1045 SetThreadAreaHorNormal;
1049 case GikoSys.Setting.ListHeightState of
1050 glsMax, glsNormal: begin
1051 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1052 SetThreadAreaVertical(glsMin);
1055 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1056 SetThreadAreaVerNormal;
1061 // *************************************************************************
1062 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1063 // *************************************************************************
1064 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1066 GikoForm.BrowserMovement('top');
1068 // *************************************************************************
1069 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1070 // *************************************************************************
1071 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1073 GikoForm.BrowserMovement('bottom');
1075 // *************************************************************************
1076 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1077 // *************************************************************************
1078 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1080 GikoForm.BrowserMovement('new');
1082 // *************************************************************************
1083 //!
\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é
1084 // *************************************************************************
1085 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1087 GikoForm.BrowserMovement('koko');
1089 // *************************************************************************
1090 //!
\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
1091 // *************************************************************************
1092 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1094 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1095 and (GikoForm.GetActiveContent.IsLogFile)
1096 and (GikoForm.GetActiveContent.Kokomade <> -1);
1098 // *************************************************************************
1099 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1100 // *************************************************************************
1101 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1103 Editor: TEditorForm;
1106 Item := GikoForm.GetActiveContent;
1107 if Item = nil then Exit;
1108 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1109 Editor.SetThreadItem(Item);
1111 Editor.BodyEdit.SetFocus;
1113 // *************************************************************************
1114 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1115 // *************************************************************************
1116 procedure TGikoDM.IEActionExecute(Sender: TObject);
1118 ShowThreadAction.Execute;
1120 // *************************************************************************
1121 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1122 // *************************************************************************
1123 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1125 ThreadItem: TThreadItem;
1127 ThreadItem := GikoForm.GetActiveContent;
1128 if ThreadItem = nil then Exit;
1129 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1131 // *************************************************************************
1132 //!
\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é
1133 // *************************************************************************
1134 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1136 ThreadItem: TThreadItem;
1138 ThreadItem := GikoForm.GetActiveContent;
1139 if ThreadItem = nil then Exit;
1140 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1142 // *************************************************************************
1143 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1144 // *************************************************************************
1145 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1150 if TObject(GikoForm.GetActiveContent) is TBoard then
1151 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1152 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1153 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1155 Clipboard.AsText := s;
1157 // *************************************************************************
1158 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1159 // *************************************************************************
1160 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1165 if TObject(GikoForm.GetActiveContent) is TBoard then
1166 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1167 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1168 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1170 Clipboard.AsText := s;
1172 // *************************************************************************
1173 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1174 // *************************************************************************
1175 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1180 if TObject(GikoForm.GetActiveContent) is TBoard then
1181 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1182 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1183 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1185 Clipboard.AsText := s;
1187 // *************************************************************************
1188 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1189 // *************************************************************************
1190 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1192 ThreadItem: TThreadItem;
1195 ThreadItem := GikoForm.GetActiveContent;
1196 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1197 if ThreadItem <> nil then
1198 GikoForm.DownloadContent(ThreadItem, shiftDown);
1200 // *************************************************************************
1201 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1202 // *************************************************************************
1203 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1207 idx := GikoForm.BrowserTab.TabIndex;
1208 if idx <> -1 then begin
1209 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1210 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1214 // *************************************************************************
1215 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1216 // *************************************************************************
1217 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1219 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1221 // *************************************************************************
1222 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1223 // *************************************************************************
1224 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1229 idx := GikoForm.BrowserTab.TabIndex;
1230 if idx = -1 then Exit;
1231 GikoForm.BrowserTab.Tabs.BeginUpdate;
1232 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1233 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1234 GikoForm.BrowserTab.Tabs.Delete(i);
1236 if idx > 0 then begin
1237 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1238 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1239 GikoForm.BrowserTab.Tabs.Delete(i);
1242 GikoForm.BrowserTab.Tabs.EndUpdate;
1244 // *************************************************************************
1245 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1246 // *************************************************************************
1247 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1249 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1251 // *************************************************************************
1252 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1253 // *************************************************************************
1254 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1258 if GikoSys.Setting.ShowDialogForAllTabClose then
1259 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
1262 GikoForm.ActiveContent := nil;
1263 GikoForm.BrowserNullTab.Thread := nil;
1264 GikoForm.BrowserTab.OnChange := nil;
1265 GikoForm.BrowserTab.Tabs.BeginUpdate;
1266 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1267 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1269 GikoForm.BrowserTab.Tabs.Clear;
1270 GikoForm.BrowserTab.Tabs.EndUpdate;
1271 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1272 GikoForm.SetContent(GikoForm.BrowserNullTab);
1273 GikoForm.Caption := CAPTION_NAME ;
1275 // *************************************************************************
1276 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1277 // *************************************************************************
1278 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1280 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';
1281 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1284 ThreadItem: TThreadItem;
1286 idx := GikoForm.BrowserTab.TabIndex;
1287 if idx <> -1 then begin
1288 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1289 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1290 if GikoSys.Setting.DeleteMsg then
1291 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1292 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1294 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1295 GikoForm.DeleteHistory(ThreadItem);
1296 ThreadItem.DeleteLogFile;
1297 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1298 GikoForm.ListView.Refresh;
1302 // *************************************************************************
1303 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1304 // *************************************************************************
1305 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1307 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1308 GikoForm.BrowserTab.TabIndex := 0;
1309 GikoForm.BrowserTab.OnChange(nil);
1312 // *************************************************************************
1313 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1314 // *************************************************************************
1315 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1317 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1318 LeftmostTabSelectActionUpdate(Sender);
1320 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1324 // *************************************************************************
1325 //!
\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
1326 // *************************************************************************
1327 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1329 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1330 and (GikoForm.BrowserTab.TabIndex <> 0);
1332 // *************************************************************************
1333 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1334 // *************************************************************************
1335 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1337 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1338 if GikoForm.BrowserTab.TabIndex = -1 then begin
1339 GikoForm.BrowserTab.TabIndex := 0;
1340 GikoForm.BrowserTab.OnChange(nil);
1341 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1342 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1343 GikoForm.BrowserTab.OnChange(nil);
1345 if (GikoSys.Setting.LoopBrowserTabs) and
1346 (GikoForm.BrowserTab.TabIndex = 0) then begin
1347 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1348 GikoForm.BrowserTab.OnChange(nil);
1353 // *************************************************************************
1354 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1355 // *************************************************************************
1356 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1358 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1359 if GikoForm.BrowserTab.TabIndex = -1 then begin
1360 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1361 GikoForm.BrowserTab.OnChange(nil);
1362 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1363 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1364 GikoForm.BrowserTab.OnChange(nil);
1366 if (GikoSys.Setting.LoopBrowserTabs) and
1367 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1368 GikoForm.BrowserTab.TabIndex := 0;
1369 GikoForm.BrowserTab.OnChange(nil);
1374 // *************************************************************************
1375 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1376 // *************************************************************************
1377 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1379 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1380 RightmostTabSelectActionUpdate(Sender);
1382 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1386 // *************************************************************************
1387 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1388 // *************************************************************************
1389 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1391 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1392 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1393 GikoForm.BrowserTab.OnChange(nil);
1396 // *************************************************************************
1397 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1398 // *************************************************************************
1399 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1401 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1402 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1405 // *************************************************************************
1406 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1407 // *************************************************************************
1408 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1410 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1411 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1413 // *************************************************************************
1414 //!
\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
1415 // *************************************************************************
1416 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1418 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1419 and (GikoForm.ListView.SelCount > 0);
1421 // *************************************************************************
1422 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1423 // *************************************************************************
1424 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1426 Dlg: TListSelectDialog;
1427 FilterList : TStringList;
1430 Dlg := TListSelectDialog.Create(GikoForm);
1432 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1433 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1435 if Dlg.ModalResult = mrOK then begin
1436 SelectResAction.Checked := True;
1437 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1438 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1439 ResRangeAction.Execute;
1441 GikoSys.ResRange := Ord( grrSelect );
1443 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1444 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1446 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1447 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1449 GikoSys.Setting.SelectTextList.Delete(idx);
1450 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1451 while Dlg.SelectComboBox.Items.Count > 100 do begin
1452 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1456 if GikoForm.SelectComboBoxPanel.Visible then
1457 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1461 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1462 FilterList := TStringList.Create;
1464 GikoSys.FSelectResFilter.Reverse := True;
1465 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1466 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1468 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1472 GikoForm.RepaintAllTabsBrowser();
1475 //
\83L
\83\83\83\93\83Z
\83\8b
1476 if GikoSys.ResRange <> Ord( grrSelect ) then
1477 ResRangeAction.Execute;
1484 // *************************************************************************
1485 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1486 // *************************************************************************
1487 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1489 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1490 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1492 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1493 AllResAction.Checked := True;
1495 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1496 SetResRange(Ord( grrAll ));
1498 // *************************************************************************
1499 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1500 // *************************************************************************
1501 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1503 case GikoForm.ResRangeMenuSelect of
1504 Ord( grrAll ): AllResAction.Execute;
1505 Ord( grrKoko ): OnlyKokoResAction.Execute;
1506 Ord( grrNew ): OnlyNewResAction.Execute;
1507 100: OnlyAHundredResAction.Execute;
1511 // *************************************************************************
1512 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1513 // *************************************************************************
1514 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1516 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1518 // *************************************************************************
1519 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1520 // *************************************************************************
1521 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1527 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
1528 str := ZenToHan(str);
1529 res := StrToIntDef(str, -1);
1530 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1531 GikoForm.ActiveContent.Move(IntToStr(res));
1532 SetFocusForBrowserAction.Execute;
1533 end else if res > GikoForm.GetActiveContent.Count then begin
1534 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1535 SetFocusForBrowserAction.Execute;
1539 // *************************************************************************
1540 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1541 // *************************************************************************
1542 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1547 idx := GikoForm.BrowserTab.TabIndex;
1548 if idx = -1 then Exit;
1549 GikoForm.BrowserTab.Tabs.BeginUpdate;
1550 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1551 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1552 GikoForm.BrowserTab.Tabs.Delete(i);
1554 GikoForm.BrowserTab.Tabs.EndUpdate;
1556 // *************************************************************************
1557 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1558 // *************************************************************************
1559 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1561 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1563 // *************************************************************************
1564 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1565 // *************************************************************************
1566 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1571 idx := GikoForm.BrowserTab.TabIndex;
1572 if idx = -1 then Exit;
1573 GikoForm.BrowserTab.Tabs.BeginUpdate;
1574 if idx > 0 then begin
1575 for i := idx - 1 downto 0 do begin
1576 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1577 GikoForm.BrowserTab.Tabs.Delete(i);
1580 GikoForm.BrowserTab.Tabs.EndUpdate;
1582 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1583 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1585 // 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
1586 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1587 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1588 TDefaultFileManager.CopyDefaultFiles(
1589 GikoSys.GetAppDir + 'defaultFiles.ini');
1591 // *************************************************************************
1592 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1593 // *************************************************************************
1594 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1599 if GikoForm.SearchDialog = nil then begin
1600 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1601 chk := GikoForm.GetActiveList
1605 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1606 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1610 GikoForm.SearchDialog.Show;
1614 // *************************************************************************
1615 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1616 // *************************************************************************
1617 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1621 Dlg := TOptionDialog.Create(GikoForm);
1628 // *************************************************************************
1629 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1630 // *************************************************************************
1631 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1635 Dlg := TRoundDialog.Create(GikoForm);
1642 // *************************************************************************
1643 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1644 // *************************************************************************
1645 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1647 Dlg: TKeySettingForm;
1649 Dlg := TKeySettingForm.Create(GikoForm);
1651 if Dlg.ShowModal = mrOk then begin
1652 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1653 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1654 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1659 MouseGesture.UnHook;
1660 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1661 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1662 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1663 if GikoSys.Setting.GestureEnabled then begin
1664 GikoSys.Setting.Gestures.ClearGesture;
1665 GikoSys.Setting.Gestures.LoadGesture(
1666 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1667 MouseGesture.SetHook( GikoForm.Handle );
1671 // *************************************************************************
1672 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1673 // *************************************************************************
1674 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1676 Dlg: TKotehanDialog;
1678 Dlg := TKotehanDialog.Create(GikoForm);
1685 // *************************************************************************
1686 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1687 // *************************************************************************
1688 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1690 Dlg: TToolBarSettingDialog;
1693 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1695 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1696 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1697 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1698 case GikoForm.ToolBarSettingSender of
1699 tssMain: Dlg.ToolBarIndex := 0;
1700 tssList: Dlg.ToolBarIndex := 1;
1701 tssBrowser: Dlg.ToolBarIndex := 2;
1703 if Dlg.ShowModal = mrOK then begin
1704 GikoForm.SetToolBarPopup;
1706 //
\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é
1707 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1708 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1709 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1710 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1711 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1713 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1714 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1715 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1716 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1717 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1719 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1720 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1721 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1722 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1723 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1726 SaveToolBarSetting(GikoForm.StdToolBar);
1727 SaveToolBarSetting(GikoForm.ListToolBar);
1728 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1729 GikoForm.SetSelectComboBox;
1730 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1731 SaveToolBarSetting(GikoForm.BrowserToolBar);
1735 GikoForm.ToolBarSettingSender := tssNone;
1738 // *************************************************************************
1739 //!
\83~
\83\85\81[
\83g
1740 // *************************************************************************
1741 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1743 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1745 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1746 // *************************************************************************
1747 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1748 // *************************************************************************
1749 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1752 TmpTreeNode: TTreeNode;
1754 TmpTreeNode := GikoForm.ClickNode;
1755 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1758 if TObject(TmpTreeNode.Data) is TBoard then
1759 Board := TBoard(TmpTreeNode.Data)
1760 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1761 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1763 if Board <> nil then
1764 GikoForm.DownloadList(Board);
1766 // *************************************************************************
1767 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1768 // *************************************************************************
1769 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1771 ThreadItem: TThreadItem;
1772 TmpTreeNode: TTreeNode;
1774 TmpTreeNode := GikoForm.ClickNode;
1775 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1778 if TObject(TmpTreeNode.Data) is TThreadItem then
1779 ThreadItem := TThreadItem(TmpTreeNode.Data)
1780 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1781 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1783 if ThreadItem <> nil then
1784 GikoForm.DownloadContent(ThreadItem);
1786 // *************************************************************************
1787 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1788 // *************************************************************************
1789 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1791 TmpTreeNode: TTreeNode;
1794 TmpTreeNode := GikoForm.ClickNode;
1795 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1796 if TObject(TmpTreeNode.Data) is TBoard then begin
1797 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1798 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1799 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1800 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1801 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1802 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1803 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1805 Clipboard.AsText := s;
1807 // *************************************************************************
1808 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1809 // *************************************************************************
1810 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1812 TmpTreeNode: TTreeNode;
1815 TmpTreeNode := GikoForm.ClickNode;
1816 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1817 if TObject(TmpTreeNode.Data) is TBoard then begin
1818 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1819 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1820 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1821 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1822 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1823 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1824 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1826 Clipboard.AsText := s;
1828 // *************************************************************************
1829 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1830 // *************************************************************************
1831 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1833 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1835 // *************************************************************************
1836 //!
\94Â
\96¼
\8c\9f\8dõ
1837 // *************************************************************************
1838 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1842 CurItem : TTreeNode;
1845 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1848 if GikoForm.TreeView.Selected = nil then
1849 CurItem := GikoForm.TreeView.Items.GetFirstNode
1851 CurItem := GikoForm.TreeView.Selected.GetNext;
1852 if CurItem = nil then
1853 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1855 while CurItem <> nil do begin
1856 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1859 CurItem := CurItem.GetNext;
1862 if CurItem = nil then begin
1863 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1864 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1865 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1869 GikoForm.TreeView.Select(CurItem);
1870 GikoForm.TreeView.SetFocus;
1872 GikoForm.TreeView.Select(CurItem);
1873 GikoForm.TreeView.SetFocus;
1874 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1875 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1888 // *************************************************************************
1889 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1890 // *************************************************************************
1891 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1895 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1896 s := GikoForm.ClickNode.Text;
1897 Clipboard.AsText := s;
1899 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1900 // *************************************************************************
1901 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1902 // *************************************************************************
1903 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1908 if GikoSys.Dolib.Connected then begin
1909 //
\83\8d\83O
\83A
\83E
\83g
1910 GikoSys.Dolib.Disconnect;
1911 LoginAction.Checked := False;
1912 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1913 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1915 TmpCursor := GikoForm.ScreenCursor;
1916 GikoForm.ScreenCursor := crHourGlass;
1918 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1919 if not GikoSys.Setting.ForcedLogin then begin
1920 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1921 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1922 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1923 if GikoSys.Setting.ReadProxy then begin
1924 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1925 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1927 GikoSys.Dolib.ProxyAddress := '';
1928 GikoSys.Dolib.ProxyPort := 0;
1930 if GikoSys.Dolib.Connect then begin
1931 LoginAction.Checked := True;
1932 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1933 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1934 //LoginToolButton.Style := tbsCheck;
1936 // 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);
1937 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1938 GikoForm.PlaySound('Error');
1939 LoginAction.Checked := False;
1940 //LoginToolButton.Down := False;
1941 ///LoginToolButton.Style := tbsButton;
1944 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
1945 + '
\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
1946 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1947 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1948 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1949 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1950 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1951 if GikoSys.Setting.ReadProxy then begin
1952 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1953 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1955 GikoSys.Dolib.ProxyAddress := '';
1956 GikoSys.Dolib.ProxyPort := 0;
1958 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1959 GikoSys.Dolib.ForcedConnect;
1960 if GikoSys.Dolib.Connect then begin
1961 LoginAction.Checked := True;
1962 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1963 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1964 //LoginToolButton.Style := tbsCheck;
1966 // 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);
1967 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1968 GikoForm.PlaySound('Error');
1969 LoginAction.Checked := False;
1970 //LoginToolButton.Down := False;
1971 //LoginToolButton.Style := tbsButton;
1974 LoginAction.Checked := False;
1975 //LoginToolButton.Down := False;
1976 //LoginToolButton.Style := tbsButton;
1980 GikoForm.ScreenCursor := TmpCursor;
1984 // *************************************************************************
1985 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1986 // *************************************************************************
1987 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
1989 Dlg: TNewBoardDialog;
1992 if (EditorFormExists) then begin
1993 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
1994 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
1997 Dlg := TNewBoardDialog.Create(GikoForm);
2004 // *************************************************************************
2005 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
2006 // *************************************************************************
2007 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
2009 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';
2010 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';
2011 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2013 ThreadItem: TThreadItem;
2014 TmpListItem: TListItem;
2018 List := TList.Create;
2020 TmpListItem := GikoForm.ListView.Selected;
2021 while TmpListItem <> nil do begin
2022 if TObject(TmpListItem.Data) is TThreadItem then begin
2023 ThreadItem := TThreadItem(TmpListItem.Data);
2024 if ThreadItem.IsLogFile then
2025 List.Add(ThreadItem);
2027 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2030 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2031 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2032 if List.Count = 1 then begin
2033 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
2036 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
2042 for i := 0 to List.Count - 1 do begin
2043 ThreadItem := TThreadItem(List[i]);
2044 GikoForm.DeleteHistory(ThreadItem);
2045 GikoForm.DeleteTab(ThreadItem);
2046 ThreadItem.DeleteLogFile;
2048 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2049 GikoForm.ListView.Refresh;
2054 // *************************************************************************
2055 //! 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Ê
2056 // *************************************************************************
2057 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2059 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2060 and (GikoForm.ListView.SelCount > 0);
2062 // *************************************************************************
2063 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2064 // *************************************************************************
2065 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2067 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';
2068 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2070 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2071 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2073 GikoSys.Setting.SelectTextList.Clear;
2074 GikoForm.SelectComboBox.Items.Clear;
2075 GikoForm.SelectComboBox.Text := '';
2076 GikoForm.SetListViewType( gvtAll );
2078 // *************************************************************************
2079 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2080 // *************************************************************************
2081 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2083 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';
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.NameList.Clear;
2090 ClearNameTextAllEditor
2092 // *************************************************************************
2093 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2094 // *************************************************************************
2095 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2097 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';
2098 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2100 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2101 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2103 GikoSys.Setting.MailList.Clear;
2106 // *************************************************************************
2107 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2108 // *************************************************************************
2109 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2113 // *************************************************************************
2114 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2115 // *************************************************************************
2116 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2118 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2120 // *************************************************************************
2121 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2122 // *************************************************************************
2123 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2125 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2126 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2128 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2131 // *************************************************************************
2132 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2133 // *************************************************************************
2134 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2141 List := TList.Create;
2143 GikoForm.ScreenCursor := crHourGlass;
2144 GikoForm.SelectListItem(List);
2145 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2146 (GikoSys.Setting.ListHeightState = glsMax)) or
2147 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2148 (GikoSys.Setting.ListWidthState = glsMax)) then
2149 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2150 else if(List.Count = 0) then
2151 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2154 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2155 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2157 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2158 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2160 for i := 0 to List.Count - 1 do begin
2161 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2163 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2165 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2167 if SaveDialog.Execute then begin
2169 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2170 PChar(SaveDialog.FileName), true);
2172 html := TStringList.Create;
2173 title := TThreadItem(List[i]).Title;
2175 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2176 html.SaveToFile(SaveDialog.FileName);
2177 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2187 GikoForm.ScreenCursor := crDefault;
2191 // *************************************************************************
2192 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2193 // *************************************************************************
2194 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2196 SelectThreadSaveToFile(false);
2198 // *************************************************************************
2199 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2200 // *************************************************************************
2201 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2203 SelectThreadSaveToFile(true);
2205 // *************************************************************************
2206 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2207 // *************************************************************************
2208 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2210 Filename = 'tab.sav';
2211 bFilename = '~tab.sav';
2213 SaveStringList: TStringList;
2215 SaveStringList := TStringList.Create;
2217 GetTabURLs(SaveStringList);
2219 if FileExists( GikoSys.GetAppDir + Filename) then begin
2220 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2221 PChar(GikoSys.GetAppDir + bFilename), False);
2225 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2227 SaveStringList.Free;
2230 // *************************************************************************
2231 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2232 // *************************************************************************
2233 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2235 rec : TBrowserRecord;
2238 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2240 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2241 if( rec <> nil) and (rec.Thread <> nil) then
2242 AStringList.Add( rec.Thread.URL );
2247 // *************************************************************************
2248 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2249 // *************************************************************************
2250 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2252 GikoTab : TGikoTabAppend;
2256 if (AStringList <> nil) then begin
2257 GikoTab := GikoSys.Setting.BrowserTabAppend;
2259 bound := AStringList.Count - 1;
2260 if bound > -1 then begin
2261 GikoSys.Setting.BrowserTabAppend := gtaLast;
2262 for i := 0 to bound do begin
2263 item := BBSsFindThreadFromURL( AStringList[ i ] );
2265 GikoForm.InsertBrowserTab( item, false );
2267 //
\8dÅ
\8f\89\82Ì
\82P
\96\87\82É
\90Ý
\92è
2268 if (GikoSys.Setting.URLDisplay) and
2269 (GikoForm.BrowserTab.Tabs.Count > 0) then begin
2270 GikoForm.AddressComboBox.Text :=
2271 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[0]).Thread.URL;
2275 GikoSys.Setting.BrowserTabAppend := GikoTab;
2279 // *************************************************************************
2280 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2281 // *************************************************************************
2282 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2284 TABFILE = 'tab.sav';
2289 URLs := TStringList.Create();
2291 fileName := GikoSys.GetAppDir + TABFILE;
2292 if FileExists(fileName) then begin
2294 URLs.LoadFromFile(fileName);
2295 if (URLs.Count = 0) then begin
2296 //
\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
2297 SysUtils.DeleteFile(fileName);
2302 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2309 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2310 (TabsOpenAction.Tag <> 1) then begin
2311 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2314 // *************************************************************************
2315 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2316 // *************************************************************************
2317 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2319 GikoSys.Setting.BeLogin := not GikoSys.Setting.BeLogin;
2321 // *************************************************************************
2322 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
2323 // *************************************************************************
2324 procedure TGikoDM.BeLogInOutActionUpdate(Sender: TObject);
2326 if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
2327 if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
2328 else BeLogInOutAction.Checked := false;
2329 BeLogInOutAction.Enabled := true
2331 BeLogInOutAction.Enabled := false;
2333 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2334 // *************************************************************************
2335 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2336 // *************************************************************************
2337 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2340 ThreadItem: TThreadItem;
2342 No := GikoForm.KokoPopupMenu.Tag;
2343 if No = 0 then Exit;
2344 ThreadItem := GikoForm.GetActiveContent(True);
2345 if ThreadItem = nil then Exit;
2346 ThreadItem.Kokomade := No;
2347 GikoForm.ActiveContent.Thread.ScrollTop :=
2348 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2349 GikoForm.ActiveContent.Repaint := true;
2350 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2351 //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é
2352 //Application.ProcessMessages;
2354 // *************************************************************************
2355 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2356 // *************************************************************************
2357 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2359 ThreadItem: TThreadItem;
2361 ThreadItem := GikoForm.GetActiveContent(True);
2362 if ThreadItem = nil then Exit;
2363 ThreadItem.Kokomade := -1;
2364 GikoForm.ActiveContent.Thread.ScrollTop :=
2365 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.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 //!
\83R
\83R
\82É
\83\8c\83X
2373 // *************************************************************************
2374 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2376 Editor: TEditorForm;
2380 Number := GikoForm.KokoPopupMenu.Tag;
2381 if Number = 0 then Exit;
2382 Item := GikoForm.GetActiveContent(True);
2383 if Item = nil then Exit;
2385 Editor := TEditorForm.Create(GikoForm);
2386 Editor.SetThreadItem(Item);
2387 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2389 Editor.BodyEdit.SetFocus;
2391 // *************************************************************************
2392 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2393 // *************************************************************************
2394 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2396 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2398 // *************************************************************************
2399 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2400 // *************************************************************************
2401 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2405 ThreadItem : TThreadItem;
2410 No := GikoForm.KokoPopupMenu.Tag;
2411 if No = 0 then Exit;
2412 ThreadItem := GikoForm.GetActiveContent(True);
2413 if ThreadItem = nil then Exit;
2414 count := GikoSys.GetSameIDResCount(No, GikoForm.ActiveContent.Thread);
2416 if not (GikoSys.Setting.LimitResCountMessage) then begin
2418 end else if count > LIMIT then begin
2419 if ( GikoUtil.MsgBox(GikoForm.Handle,
2420 IntToStr(LIMIT) + '
\8cÂ
\88È
\8fã
\82 \82è
\82Ü
\82·
\82ª
\81A
\82·
\82×
\82Ä
\95\
\8e¦
\82µ
\82Ü
\82·
\82©
\81H',
2421 'ID
\83|
\83b
\83v
\83A
\83b
\83v
\8cx
\8d\90',
2422 MB_YESNO or MB_ICONQUESTION) = ID_YES ) then begin
2426 body := GikoSys.GetSameIDResAnchor(No, ThreadItem, limited);
2427 GikoForm.ActiveContent.IDAnchorPopup(body);
2429 // *************************************************************************
2430 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2431 // *************************************************************************
2432 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2434 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2436 // *************************************************************************
2437 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2438 // *************************************************************************
2439 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2441 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2443 // *************************************************************************
2444 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2445 // *************************************************************************
2446 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2448 IndividualForm :TIndividualAbonForm;
2449 ThreadItem : TThreadItem;
2451 ReadList : TStringList;
2452 wordCount : TWordCount;
2454 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2456 ThreadItem := GikoForm.GetActiveContent(True);
2457 ThreadItem.ScrollTop :=
2458 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2459 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2460 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2461 ReadList := TStringList.Create;
2462 wordCount := TWordCount.Create;
2464 {$IFDEF SPAM_FILTER_ENABLED}
2465 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2466 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2467 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2468 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2469 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2471 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2472 GikoForm.ActiveContent.Repaint := true;
2473 GikoForm.InsertBrowserTab( ThreadItem, True );
2480 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2481 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2485 IndividualForm.Release;
2488 // *************************************************************************
2489 //!
\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
2490 // *************************************************************************
2491 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2493 IndividualForm :TIndividualAbonForm;
2494 ThreadItem : TThreadItem;
2496 ReadList : TStringList;
2497 wordCount : TWordCount;
2498 {$IFDEF SPAM_FILTER_ENABLED}
2502 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2504 ThreadItem := GikoForm.GetActiveContent(True);
2505 ThreadItem.ScrollTop :=
2506 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2507 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2508 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2509 if (IndividualForm.ShowModal = mrOK) then begin
2510 ReadList := TStringList.Create;
2511 wordCount := TWordCount.Create;
2513 {$IFDEF SPAM_FILTER_ENABLED}
2514 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2515 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2516 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2517 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2518 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2519 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2522 if IndividualForm.FRepaint then begin
2523 GikoForm.ActiveContent.Repaint := true;
2524 GikoForm.InsertBrowserTab( ThreadItem, True );
2532 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2533 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2537 IndividualForm.Release;
2540 // *************************************************************************
2541 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2542 // *************************************************************************
2543 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2545 GikoForm.IndividualAbonID(1);
2547 // *************************************************************************
2548 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2549 // *************************************************************************
2550 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2552 GikoForm.IndividualAbonID(0);
2554 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2555 // *************************************************************************
2556 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2557 // *************************************************************************
2558 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2560 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2562 // *************************************************************************
2563 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2564 // *************************************************************************
2565 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2567 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2569 // *************************************************************************
2570 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2571 // *************************************************************************
2572 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2574 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2576 // *************************************************************************
2577 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2578 // *************************************************************************
2579 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2581 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2583 // *************************************************************************
2584 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2585 // *************************************************************************
2586 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2590 Dlg := TAboutDialog.Create(GikoForm);
2597 // *************************************************************************
2598 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2599 // *************************************************************************
2600 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2604 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2605 if not FileExists(FileName) then begin
2608 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2609 '
\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 +
2610 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2615 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2617 // *************************************************************************
2618 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2619 // *************************************************************************
2620 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2622 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2624 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2625 // *************************************************************************
2626 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2627 // *************************************************************************
2628 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2630 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2631 GikoForm.ListView.Refresh;
2633 // *************************************************************************
2634 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2635 // *************************************************************************
2636 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2638 if GikoForm.GetActiveList is TBoard then begin
2639 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2640 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2641 end else if GikoForm.GetActiveList is TCategory then begin
2642 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2645 // *************************************************************************
2646 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2647 // *************************************************************************
2648 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2650 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS);
2652 // *************************************************************************
2653 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2654 // *************************************************************************
2655 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2657 case GikoForm.ListView.ViewStyle of
2658 vsIcon: SmallIconAction.Execute;
2659 vsSmallIcon: ListIconAction.Execute;
2660 vsList: DetailIconAction.Execute;
2661 vsReport: LargeIconAction.Execute;
2664 // *************************************************************************
2665 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2666 // *************************************************************************
2667 procedure TGikoDM.ClearSelectComboBox;
2669 if GikoForm.SelectComboBoxPanel.Visible then begin
2670 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2671 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2672 GikoForm.ListView.SetFocus;
2675 // *************************************************************************
2676 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2677 // *************************************************************************
2678 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2681 if GikoForm.ViewType <> gvtAll then
2682 GikoForm.SetListViewType(gvtAll);
2683 GikoSys.Setting.ThreadRange := gtrAll;
2684 AllItemAction.Checked := True;
2685 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2686 GikoForm.ModifySelectList;
2687 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2688 ClearSelectComboBox;
2692 // *************************************************************************
2693 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2694 // *************************************************************************
2695 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2698 if GikoForm.ViewType <> gvtLog then
2699 GikoForm.SetListViewType(gvtLog);
2700 GikoSys.Setting.ThreadRange := gtrLog;
2701 LogItemAction.Checked := True;
2702 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2703 GikoForm.ModifySelectList;
2704 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2705 ClearSelectComboBox;
2709 // *************************************************************************
2710 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2711 // *************************************************************************
2712 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2716 if GikoForm.ViewType <> gvtNew then
2717 GikoForm.SetListViewType(gvtNew);
2718 GikoSys.Setting.ThreadRange := gtrNew;
2719 NewItemAction.Checked := True;
2720 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2721 GikoForm.ModifySelectList;
2722 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2723 ClearSelectComboBox;
2727 // *************************************************************************
2728 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2729 // *************************************************************************
2730 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2733 if GikoForm.ViewType <> gvtArch then
2734 GikoForm.SetListViewType(gvtArch);
2735 GikoSys.Setting.ThreadRange := gtrArch;
2736 ArchiveItemAction.Checked := True;
2737 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2738 GikoForm.ModifySelectList;
2739 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2740 ClearSelectComboBox;
2744 // *************************************************************************
2745 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2746 // *************************************************************************
2747 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2750 if GikoForm.ViewType <> gvtLive then
2751 GikoForm.SetListViewType(gvtLive);
2752 GikoSys.Setting.ThreadRange := gtrLive;
2753 LiveItemAction.Checked := True;
2754 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2755 GikoForm.ModifySelectList;
2756 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2757 ClearSelectComboBox;
2762 // *************************************************************************
2763 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2764 // *************************************************************************
2765 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2767 case GikoSys.Setting.ThreadRange of
2768 gtrAll: AllItemAction.Execute;
2769 gtrLog: LogItemAction.Execute;
2770 gtrNew: NewItemAction.Execute;
2771 gtrArch: ArchiveItemAction.Execute;
2772 gtrLive: LiveItemAction.Execute;
2775 // *************************************************************************
2776 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2777 // *************************************************************************
2778 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2781 Dlg: TListSelectDialog;
2784 if GikoForm.SelectComboBoxPanel.Visible then begin
2785 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2786 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2787 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2788 if GikoSys.Setting.ListWidthState = glsMax then
2789 BrowserMinAction.Execute;
2791 if GikoSys.Setting.ListHeightState = glsMax then
2792 BrowserMinAction.Execute;
2794 GikoForm.SelectComboBox.SetFocus;
2801 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2802 GikoForm.SelectComboBox.Text := '';
2803 GikoForm.SelectComboBox.Color := clWindow;
2806 AllItemAction.Checked := False;
2807 LogItemAction.Checked := False;
2808 NewItemAction.Checked := False;
2809 //SelectItemAction.Checked := True;
2810 GikoForm.ModifySelectList;
2811 Dlg := TListSelectDialog.Create(GikoForm);
2813 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2814 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2816 if Dlg.ModalResult = mrCancel then begin
2817 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2818 AllItemAction.Checked := True;
2819 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2820 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2823 if GikoForm.GetActiveList is TBoard then
2824 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2826 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2828 GikoSys.Setting.SelectTextList.Delete(idx);
2829 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2830 while Dlg.SelectComboBox.Items.Count > 100 do begin
2831 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2834 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2835 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2836 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2838 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2839 GikoForm.SelectComboBox.Color := clWindow;
2841 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2847 // *************************************************************************
2848 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2849 // *************************************************************************
2850 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2852 Editor: TEditorForm;
2854 if not (GikoForm.GetActiveList is TBoard) then
2856 Editor := TEditorForm.Create(GikoForm);
2857 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2859 Editor.BodyEdit.SetFocus;
2861 // *************************************************************************
2862 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2863 // *************************************************************************
2864 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2868 if GikoForm.GetActiveList is TBoard then begin
2869 URL := TBoard(GikoForm.GetActiveList).URL;
2870 GikoSys.OpenBrowser(URL, gbtAuto);
2873 // *************************************************************************
2874 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2875 // *************************************************************************
2876 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2883 List := TList.Create;
2885 GikoForm.SelectListItem(List);
2886 for i := 0 to List.Count - 1 do begin
2887 if TObject(List[i]) is TBoard then
2888 s := s + TBoard(List[i]).URL + #13#10
2889 else if TObject(List[i]) is TThreadItem then
2890 s := s + TThreadItem(List[i]).URL + #13#10;
2893 Clipboard.AsText := s;
2898 // *************************************************************************
2899 //!
\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
2900 // *************************************************************************
2901 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2903 if ((GikoForm.GetActiveList is TBoard) or
2904 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2905 TAction(Sender).Enabled := True
2907 TAction(Sender).Enabled := False;
2909 // *************************************************************************
2910 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2911 // *************************************************************************
2912 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2919 List := TList.Create;
2921 GikoForm.SelectListItem(List);
2922 for i := 0 to List.Count - 1 do begin
2923 if TObject(List[i]) is TCategory then
2924 s := s + TCategory(List[i]).Title + #13#10
2925 else if TObject(List[i]) is TBoard then
2926 s := s + TBoard(List[i]).Title + #13#10
2927 else if TObject(List[i]) is TThreadItem then
2928 s := s + TThreadItem(List[i]).Title + #13#10;
2931 Clipboard.AsText := s;
2936 // *************************************************************************
2937 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2938 // *************************************************************************
2939 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2941 if ((GikoForm.GetActiveList is TBBS) or
2942 (GikoForm.GetActiveList is TBoard) or
2943 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2944 TAction(Sender).Enabled := True
2946 TAction(Sender).Enabled := False;
2948 // *************************************************************************
2949 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2950 // *************************************************************************
2951 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2958 List := TList.Create;
2960 GikoForm.SelectListItem(List);
2961 for i := 0 to List.Count - 1 do begin
2962 if TObject(List[i]) is TBoard then
2963 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2964 else if TObject(List[i]) is TThreadItem then
2965 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
2968 Clipboard.AsText := s;
2973 // *************************************************************************
2974 //!
\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é
2975 // *************************************************************************
2976 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
2983 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2984 GikoForm.ActiveListColumnSave;
2985 if GikoForm.GetActiveList is TCategory then begin
2986 List := TList.Create;
2988 GikoForm.SelectListItem(List);
2989 if List.Count > 5 then begin
2990 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
2991 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
2992 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
2995 for i := 0 to List.Count - 1 do begin
2996 if TObject(List[i]) is TBoard then
2997 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
3002 end else if GikoForm.GetActiveList is TBoard then begin
3003 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
3006 // *************************************************************************
3007 //!
\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
3008 // *************************************************************************
3009 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
3011 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3012 TAction(Sender).Enabled := True
3013 else if GikoForm.GetActiveList is TBoard then
3014 TAction(Sender).Enabled := True
3016 TAction(Sender).Enabled := False;
3018 // *************************************************************************
3019 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3020 // *************************************************************************
3021 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3028 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3029 List := TList.Create;
3031 GikoForm.SelectListItem(List);
3032 if List.Count > 10 then begin
3033 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3034 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3035 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3038 for i := 0 to List.Count - 1 do begin
3039 if TObject(List[i]) is TThreadItem then
3040 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3046 // *************************************************************************
3047 //!
\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
3048 // *************************************************************************
3049 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3051 TAction(Sender).Enabled :=
3052 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3054 // *************************************************************************
3055 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3056 // *************************************************************************
3057 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3059 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3060 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3062 // *************************************************************************
3063 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3064 // *************************************************************************
3065 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3070 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3071 List := TList.Create;
3073 GikoForm.SelectListItem(List);
3074 for i := 0 to List.Count - 1 do begin
3075 if TObject(List[i]) is TThreadItem then begin
3076 if TThreadItem(List[i]).IsLogFile then begin
3077 SelectReservAction.Enabled := True;
3082 SelectReservAction.Enabled := False;
3086 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3087 SelectReservAction.Enabled := True
3089 SelectReservAction.Enabled := False;
3091 // *************************************************************************
3092 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3093 // *************************************************************************
3094 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3097 Dlg: TRoundNameDialog;
3101 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3102 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3105 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3106 cnt := RoundList.Count[grtBoard];
3107 cnt := cnt + RoundList.Count[grtItem];
3108 if cnt > 500 then begin
3109 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3113 Dlg := TRoundNameDialog.Create(GikoForm);
3116 if Dlg.ModalResult <> mrCancel then begin
3117 s := Trim(Dlg.RoundNameEdit.Text);
3118 if (Sender is TMenuItem) then begin
3119 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3120 end else if (Sender is TAction) then begin
3121 if (GikoForm.ListView.Selected <> nil) then begin
3122 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3123 GikoForm.SetSelectItemRound(True, s,
3124 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3125 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3126 GikoForm.SetSelectItemRound(True, s,
3127 TBoard(GikoForm.ListView.Selected.Data).Title);
3131 GikoForm.ListView.Refresh;
3137 // *************************************************************************
3138 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3139 // *************************************************************************
3140 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3144 if (Sender is TMenuItem) then begin
3146 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3149 end else if (Sender is TAction) then begin
3151 if GikoForm.ListView.Selected <> nil then begin
3152 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3153 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3154 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3155 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3157 GikoForm.SetSelectItemRound(False, '', s);
3163 GikoForm.ListView.Refresh;
3165 // *************************************************************************
3166 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3167 // *************************************************************************
3168 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3170 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3171 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3173 // *************************************************************************
3174 //!
\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
3175 // *************************************************************************
3176 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3178 BoardFavoriteAddAction.Enabled :=
3179 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3181 // *************************************************************************
3182 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3183 // *************************************************************************
3184 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3188 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3189 (GikoSys.Setting.ListHeightState = glsMax)) or
3190 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3191 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3192 if(GikoForm.GetActiveContent <> nil) then begin
3193 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3195 end else if GikoForm.GetActiveList is TCategory then begin
3196 List := TList.Create;
3198 GikoForm.SelectListItem(List);
3199 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3203 end else if GikoForm.GetActiveList is TBoard then begin
3204 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3208 // *************************************************************************
3209 //! 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Ê
3210 // *************************************************************************
3211 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3213 if ((GikoForm.GetActiveList is TBoard) or (GikoForm.GetActiveList is TCategory))
3214 and (GikoForm.ListView.SelCount > 0) then
3215 TAction(Sender).Enabled := True
3217 TAction(Sender).Enabled := False;
3219 // *************************************************************************
3220 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3221 // *************************************************************************
3222 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3224 RefURL, URL : string;
3228 if GikoForm.GetActiveList is TCategory then begin
3229 List := TList.Create;
3231 GikoForm.SelectListItem(List);
3232 RefURL := TBoard(List[0]).URL;
3236 end else if GikoForm.GetActiveList is TBoard then begin
3237 RefURL := TBoard(GikoForm.GetActiveList).URL
3239 if RefURL <> '' then begin
3240 if RefURL[Length(RefURL)] <> '/' then
3241 URL := RefURL + '/' + 'head.txt'
3243 URL := RefURL + 'head.txt';
3245 GikoForm.MoveToURL(URL);
3247 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3251 // *************************************************************************
3252 //!
\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é
3253 // *************************************************************************
3254 function TGikoDM.GetSortProperties(List: TObject;
3255 var vSortOrder: Boolean): Boolean;
3258 if (List <> nil) then begin
3259 if (List is TBBS) then begin
3260 vSortOrder := GikoSys.Setting.BBSSortOrder;
3261 end else if (List is TCategory) then begin
3262 vSortOrder := GikoSys.Setting.CategorySortOrder;
3263 end else if (List is TBoard) then begin
3264 vSortOrder := GikoSys.Setting.BoardSortOrder;
3272 // *************************************************************************
3273 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3274 // *************************************************************************
3275 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3280 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3281 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3282 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3283 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3285 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3286 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3293 // *************************************************************************
3294 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3295 // *************************************************************************
3296 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3300 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3301 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3302 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3304 if id > GikoForm.ListView.Columns.Count - 1 then
3306 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3307 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3313 // *************************************************************************
3314 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3315 // *************************************************************************
3316 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3320 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3321 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3322 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3325 id := GikoForm.ListView.Columns.Count - 1;
3326 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3327 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3333 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3334 // *************************************************************************
3335 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3336 // *************************************************************************
3337 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3339 CoolBand: TCoolBand;
3341 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3342 if CoolBand = nil then
3344 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3345 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3346 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3348 // *************************************************************************
3349 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3350 // *************************************************************************
3351 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3353 CoolBand: TCoolBand;
3355 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3356 if CoolBand = nil then
3358 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3359 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3360 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3362 // *************************************************************************
3363 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3364 // *************************************************************************
3365 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3367 CoolBand: TCoolBand;
3369 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3370 if CoolBand = nil then
3372 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3373 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3374 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3376 // *************************************************************************
3377 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3378 // *************************************************************************
3379 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3381 CoolBand: TCoolBand;
3383 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3384 if CoolBand = nil then
3386 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3387 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3389 // *************************************************************************
3390 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3391 // *************************************************************************
3392 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3394 CoolBand: TCoolBand;
3396 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3397 if CoolBand = nil then
3399 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3400 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3402 // *************************************************************************
3403 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3404 // *************************************************************************
3405 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3407 CoolBand: TCoolBand;
3409 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3410 if CoolBand = nil then
3412 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3413 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3415 // *************************************************************************
3416 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3417 // *************************************************************************
3418 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3420 CoolBand: TCoolBand;
3422 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3423 if CoolBand = nil then
3425 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3426 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3428 // *************************************************************************
3429 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3430 // *************************************************************************
3431 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3433 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3434 GikoForm.MessagePanel.Top :=
3435 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3436 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3437 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3438 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3440 // *************************************************************************
3441 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3442 // *************************************************************************
3443 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3445 MsgBarVisibleAction.Execute;
3447 // *************************************************************************
3448 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3449 // *************************************************************************
3450 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3452 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3453 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3455 // *************************************************************************
3456 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3457 // *************************************************************************
3458 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3461 if GikoForm.CabinetPanel.Visible then begin
3462 if GikoForm.TreeType = gtt2ch then begin
3463 GikoForm.CabinetVisible( False );
3465 CabinetBBSAction.Checked := False;
3467 CabinetBBSAction.Checked := True;
3470 GikoForm.CabinetVisible( True );
3471 CabinetBBSAction.Checked := True;
3474 if GikoForm.ActiveBBS = nil then
3475 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3477 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3480 // *************************************************************************
3481 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3482 // *************************************************************************
3483 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3485 GikoForm.ShowHistoryTree;
3487 // *************************************************************************
3488 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3489 // *************************************************************************
3490 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3496 if GikoForm.CabinetPanel.Visible then begin
3497 if GikoForm.TreeType = gttFavorite then begin
3498 GikoForm.CabinetVisible( False );
3499 CabinetFavoriteAction.Checked := False;
3501 CabinetFavoriteAction.Checked := True;
3504 GikoForm.CabinetVisible( True );
3505 CabinetFavoriteAction.Checked := True;
3508 // BBS...BBS, History, Favorite
3509 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3511 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3512 for i := 0 to b do begin
3513 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3514 if item is TBBSMenuItem then begin
3515 item.Checked := False;
3516 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3517 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3521 //
\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Ö
3522 GikoForm.HistoryToolBar.Hide;
3523 GikoForm.FavoriteToolBar.Show;
3524 GikoForm.TreeView.Visible := False;
3525 GikoForm.FavoriteTreeView.Visible := True;
3527 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3528 GikoForm.TreeType := gttFavorite;
3530 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3531 CabinetBBSAction.Checked := False;
3532 CabinetHistoryAction.Checked := False;
3534 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3535 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3538 // *************************************************************************
3539 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3540 // *************************************************************************
3541 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3543 case GikoForm.TreeType of
3544 gttHistory: CabinetHistoryAction.Execute;
3545 gttFavorite: CabinetFavoriteAction.Execute;
3547 CabinetBBSAction.Execute;
3550 // *************************************************************************
3551 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3552 // *************************************************************************
3553 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3555 //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ã
3557 // *************************************************************************
3558 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3559 // *************************************************************************
3560 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3562 GikoForm.ListView.ViewStyle := vsIcon;
3563 LargeIconAction.Checked := True;
3565 // *************************************************************************
3566 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3567 // *************************************************************************
3568 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3570 GikoForm.ListView.ViewStyle := vsSmallIcon;
3571 SmallIconAction.Checked := True;
3573 // *************************************************************************
3574 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3575 // *************************************************************************
3576 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3578 GikoForm.ListView.ViewStyle := vsList;
3579 ListIconAction.Checked := True;
3581 // *************************************************************************
3582 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3583 // *************************************************************************
3584 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3586 GikoForm.ListView.ViewStyle := vsReport;
3587 DetailIconAction.Checked := True;
3589 // *************************************************************************
3590 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3591 // *************************************************************************
3592 procedure TGikoDM.StopActionExecute(Sender: TObject);
3594 GikoForm.FControlThread.DownloadAbort;
3595 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3597 GikoForm.Animate.Active := False;
3600 GikoForm.ScreenCursor := crDefault;
3602 // *************************************************************************
3603 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3604 // *************************************************************************
3605 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3607 if ArrangeAction.Checked then begin
3609 GikoForm.ViewPanel.Align := alNone;
3610 GikoForm.ListSplitter.Align := alNone;
3611 GikoForm.ThreadPanel.Align := alNone;
3613 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3614 GikoForm.ViewPanel.Align := alLeft;
3616 GikoForm.ListSplitter.Width := 5;
3617 GikoForm.ListSplitter.Align := alLeft;
3619 GikoForm.ViewPanel.Left := -10;
3621 GikoForm.ThreadPanel.Align := alClient;
3623 GikoSys.Setting.ListOrientation := gloHorizontal;
3624 case GikoSys.Setting.ListWidthState of
3626 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3627 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3628 GikoForm.ViewPanel.Width := 1;
3631 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3632 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3635 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3636 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3637 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3642 GikoForm.ViewPanel.Align := alNone;
3643 GikoForm.ListSplitter.Align := alNone;
3644 GikoForm.ThreadPanel.Align := alNone;
3646 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3647 GikoForm.ViewPanel.Align := alTop;
3649 GikoForm.ListSplitter.Height := 5;
3650 GikoForm.ListSplitter.Align := alTop;
3652 GikoForm.ViewPanel.Top := -10;
3654 GikoForm.ThreadPanel.Align := alClient;
3655 GikoSys.Setting.ListOrientation := gloVertical;
3656 case GikoSys.Setting.ListHeightState of
3658 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3659 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3660 GikoForm.ViewPanel.Height := 1;
3663 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3664 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3667 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3668 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3669 GikoForm.ViewPanel.Height :=
3670 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3675 // *************************************************************************
3676 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3677 // *************************************************************************
3678 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3680 GikoForm.CabinetPanel.Width := 150;
3681 GikoForm.MessagePanel.Height := 40;
3683 GikoForm.BrowserSizeWidth := 200;
3684 GikoForm.BrowserSizeHeight := 200;
3685 if ArrangeAction.Checked then begin
3686 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3688 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3690 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3691 if GikoSys.Setting.ListHeightState = glsMax then begin
3692 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3693 GikoSys.Setting.ListHeightState := glsNormal;
3696 if GikoSys.Setting.ListWidthState = glsMax then begin
3697 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3698 GikoSys.Setting.ListWidthState := glsNormal;
3702 // *************************************************************************
3703 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3704 // *************************************************************************
3705 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3707 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3708 GikoForm.SetBrowserTabState;
3710 // *************************************************************************
3711 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3712 // *************************************************************************
3713 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3715 BrowserTabBottomAction.Checked := False;
3716 BrowserTabTopAction.Checked := True;
3717 GikoSys.Setting.BrowserTabPosition := gtpTop;
3718 GikoForm.SetBrowserTabState;
3720 // *************************************************************************
3721 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3722 // *************************************************************************
3723 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3725 BrowserTabTopAction.Checked := False;
3726 BrowserTabBottomAction.Checked := True;
3727 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3728 GikoForm.SetBrowserTabState;
3730 // *************************************************************************
3731 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3732 // *************************************************************************
3733 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3735 BrowserTabButtonStyleAction.Checked := False;
3736 BrowserTabFlatStyleAction.Checked := False;
3737 BrowserTabTabStyleAction.Checked := True;
3738 GikoSys.Setting.BrowserTabStyle := gtsTab;
3739 GikoForm.SetBrowserTabState;
3741 // *************************************************************************
3742 //!
\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é
3743 // *************************************************************************
3744 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3746 BrowserTabTabStyleAction.Checked := False;
3747 BrowserTabFlatStyleAction.Checked := False;
3748 BrowserTabButtonStyleAction.Checked := True;
3749 GikoSys.Setting.BrowserTabStyle := gtsButton;
3750 GikoForm.SetBrowserTabState;
3752 // *************************************************************************
3753 //!
\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é
3754 // *************************************************************************
3755 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3757 BrowserTabFlatStyleAction.Checked := True;
3758 BrowserTabTabStyleAction.Checked := False;
3759 BrowserTabButtonStyleAction.Checked := False;
3760 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3761 GikoForm.SetBrowserTabState;
3763 // *************************************************************************
3764 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3765 // *************************************************************************
3766 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3768 GikoForm.ActiveContent.Browser.SetFocus;
3770 // *************************************************************************
3771 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3772 // *************************************************************************
3773 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3775 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3776 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3777 TAction(Sender).Enabled := true
3779 TAction(Sender).Enabled := false;
3781 // *************************************************************************
3782 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3783 // *************************************************************************
3784 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3786 if GikoForm.ActiveContent <> nil then
3787 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3788 GikoForm.ListView.SetFocus;
3790 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3791 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é
3793 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3794 if (GikoForm.ListView.ItemFocused <> nil) then begin
3795 GikoForm.ListView.ItemFocused.MakeVisible(False);
3798 // *************************************************************************
3799 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3800 // *************************************************************************
3801 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3803 if GikoForm.ActiveContent <> nil then
3804 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3805 if GikoForm.TreeView.Visible then begin
3806 GikoForm.TreeView.SetFocus;
3807 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3808 GikoForm.TreeView.Items.Item[0].Selected := true;
3809 end else if GikoForm.FavoriteTreeView.Visible then begin
3810 GikoForm.FavoriteTreeView.SetFocus;
3811 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3812 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3815 // *************************************************************************
3816 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3817 // *************************************************************************
3818 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3820 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3822 // *************************************************************************
3823 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3824 // *************************************************************************
3825 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3827 BrowserMinAction.Execute;
3828 SetFocusForThreadListAction.Execute;
3830 // *************************************************************************
3831 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3832 // *************************************************************************
3833 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3835 BrowserMaxAction.Execute;
3836 SetFocusForBrowserAction.Execute;
3838 // *************************************************************************
3839 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3840 // *************************************************************************
3841 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3843 if GikoForm.ListView.Selected <> nil then begin
3844 GikoForm.ListView.Selected.Focused := True;
3845 GikoForm.ListView.Selected := nil;
3848 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3849 // *************************************************************************
3850 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3851 // *************************************************************************
3852 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3854 SetThreadReadProperty(true);
3856 // *************************************************************************
3857 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3858 // *************************************************************************
3859 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3861 SetThreadReadProperty(false);
3863 // *************************************************************************
3864 //!
\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Ç
3865 // *************************************************************************
3866 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3871 List := TList.Create;
3873 GikoForm.SelectListItem(List);
3874 for i := 0 to List.Count - 1 do begin
3875 if TObject(List[i]) is TThreadItem then begin
3876 if (TThreadItem(List[i]).IsLogFile) then begin
3877 TThreadItem(List[i]).UnRead := not read;
3881 if GikoForm.TreeView.Visible then
3882 GikoForm.TreeView.Refresh;
3883 if GikoForm.ListView.Visible then
3884 GikoForm.ListView.Refresh;
3889 // *************************************************************************
3890 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3891 // *************************************************************************
3892 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3894 GikoForm.ListViewAllSelect;
3896 // *************************************************************************
3897 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3898 // *************************************************************************
3899 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3901 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3903 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3904 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3905 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3907 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 +
3908 '
\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' +
3909 '
\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';
3910 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3913 limitSize : Integer;
3916 {
\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Í
3917 \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
3918 \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õ
3919 è
\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
3920 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3922 if MsgBox(GikoForm.Handle, RECALC_MES,
3923 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3924 //è
\87\92l
\82Ì
\8am
\94F
3925 limitSize := LIMIT_SIZE;
3926 limitStr := IntToStr(limitSize);
3927 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
3928 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3929 if (limitSize < 0) then begin
3930 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3931 ThreadSizeCalcForFileActionExecute(nil);
3933 RecalcThreadSize(limitSize);
3938 //! 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
3939 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3941 i, j, tmpSize : Integer;
3944 Thread: TThreadItem;
3947 //
\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
3948 GikoForm.ScreenCursor := crHourGlass;
3950 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3951 for i := 0 to BoardGroups[0].Count - 1 do begin
3952 Obj := BoardGroups[0].Objects[i];
3953 if (Obj <> nil) then begin
3954 Board := TBoard(Obj);
3955 if not Board.IsThreadDatRead then begin
3956 GikoSys.ReadSubjectFile(Board);
3958 for j := 0 to Board.Count - 1 do begin
3959 Thread := Board.Items[j];
3960 if (Thread <> nil) and (Thread.IsLogFile)
3961 and (Thread.Size <= limit) then begin
3962 dat := TStringList.Create;
3964 tmpSize := Thread.Size;
3966 dat.LoadFromFile(Thread.GetThreadFileName);
3967 tmpSize := Length(dat.Text);
3968 tmpSize := tmpSize - dat.Count;
3971 Thread.Size := tmpSize;
3978 GikoForm.ProgressBar.StepBy(1);
3981 GikoForm.ScreenCursor := crDefault;
3983 GikoForm.ProgressBar.Position := 0;
3984 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
3986 // *************************************************************************
3987 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
3988 // *************************************************************************
3989 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
3991 form : TInputAssistForm;
3993 form := TInputAssistForm.Create(GikoForm);
4001 // *************************************************************************
4002 //!
\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é
4003 // *************************************************************************
4004 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
4006 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
4007 GikoForm.ActiveContent.OpenFindDialog;
4011 // *************************************************************************
4012 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
4013 // *************************************************************************
4014 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
4017 if GikoForm.ClickNode = nil then Exit;
4020 GikoForm.ClickNode.Text + #13#10;
4023 // *************************************************************************
4024 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4025 // *************************************************************************
4026 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4030 if ( EditorFormExists ) then begin
4031 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4032 for i := Screen.CustomFormCount - 1 downto 0 do begin
4033 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4034 TEditorForm(Screen.CustomForms[i]).Close;
4039 // *************************************************************************
4040 //!
\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é
4041 // *************************************************************************
4042 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4044 if (Sender is TAction) then begin
4045 TAction(Sender).Enabled := EditorFormExists;
4048 // *************************************************************************
4049 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4050 // *************************************************************************
4051 function TGikoDM.EditorFormExists(): boolean;
4056 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4057 for i := Screen.CustomFormCount - 1 downto 0 do begin
4058 if (Screen.CustomForms[i] is TEditorForm) then begin
4065 // *************************************************************************
4066 //!
\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é
4067 // *************************************************************************
4068 procedure TGikoDM.ClearNameTextAllEditor();
4072 for i := 0 to Screen.CustomFormCount - 1 do begin
4073 if (Screen.CustomForms[i] is TEditorForm) then begin
4074 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4078 // *************************************************************************
4079 //!
\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é
4080 // *************************************************************************
4081 procedure TGikoDM.ClearMailAllEditor();
4085 for i := 0 to Screen.CustomFormCount - 1 do begin
4086 if TObject(Screen.CustomForms[i]) is TEditorForm then
4087 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4091 // *************************************************************************
4092 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4093 // *************************************************************************
4094 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4096 PrevMoveHistory.Enabled :=
4097 (MoveHisotryManager.HisotryIndex > 0)
4099 // *************************************************************************
4100 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4101 // *************************************************************************
4102 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4104 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4105 BackToHistory(MoveHisotryManager.getPrevItem
4106 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4107 .Objects[GikoForm.BrowserTab.TabIndex])));
4109 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4112 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4113 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4115 browser : TWebBrowser;
4118 if ( item <> nil ) then begin
4119 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4120 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4121 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4122 if (browser <> nil) then begin
4124 doc := Idispatch( olevariant(browser.ControlInterface).Document) as IHTMLDocument2;
4125 doc.Body.ScrollTop := item.ScrollTop;
4131 MoveURLWithHistory(item.ThreadItem.URL);
4135 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4136 procedure TGikoDM.MoveURLWithHistory(URL : String);
4141 GikoForm.MoveToURL(URL);
4142 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4143 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4144 if idx = -1 then begin
4145 GikoForm.AddressComboBox.Items.Insert(0, URL);
4146 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4147 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4149 GikoForm.AddressComboBox.Items.Delete(idx);
4150 GikoForm.AddressComboBox.Items.Insert(0, URL);
4153 // *************************************************************************
4154 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4155 // *************************************************************************
4156 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4158 NextMoveHistory.Enabled :=
4159 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4161 // *************************************************************************
4162 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4163 // *************************************************************************
4164 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4166 BackToHistory(MoveHisotryManager.getNextItem);
4168 // *************************************************************************
4169 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4170 // *************************************************************************
4171 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4173 browser : TWebBrowser;
4174 elem : IHTMLElement;
4176 if (GikoForm.GetActiveContent <> nil) then begin
4177 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4178 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4179 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4180 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4181 if (browser <> nil) then begin
4183 elem := IHTMLDocument2(browser.Document).activeElement;
4192 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4193 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4195 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4196 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4198 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4199 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4201 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4202 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4204 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4205 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4207 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4208 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4210 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4211 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4213 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4214 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4216 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4217 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4219 GikoForm.StoredTaskTray;
4220 StoredTaskTrayAction.Tag := -1;
4224 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4225 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4227 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4229 links : IHTMLElementCollection;
4230 urls, exts : TStringList;
4232 links := GetActiveThreadLinks;
4233 if (links <> nil) then begin
4234 urls := TStringList.Create;
4235 exts := TStringList.Create;
4237 exts.CaseSensitive := False;
4238 exts.Sorted := True;
4239 exts.Delimiter := ';';
4240 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4241 GetLinkURLs(links, urls, 0, exts);
4242 Clipboard.SetTextBuf(urls.GetText);
4251 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4252 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4254 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4256 links : IHTMLElementCollection;
4257 urls, exts : TStringList;
4258 ThreadItem : TThreadItem;
4260 ThreadItem := GikoForm.GetActiveContent;
4261 links := GetActiveThreadLinks;
4262 if (ThreadItem <> nil) and (links <> nil) then begin
4263 urls := TStringList.Create;
4264 exts := TStringList.Create;
4266 exts.CaseSensitive := False;
4267 exts.Sorted := True;
4268 exts.Delimiter := ';';
4269 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4271 GetLinkURLs(links, urls,
4272 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4273 Clipboard.SetTextBuf(urls.GetText);
4281 \breif
\83\8a\83\93\83NURL
\8eæ
\93¾
4282 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4284 procedure TGikoDM.AllLinkToClipboardActionExecute(Sender: TObject);
4286 links : IHTMLElementCollection;
4287 urls, exts : TStringList;
4289 links := GetActiveThreadLinks;
4290 if (links <> nil) then begin
4291 urls := TStringList.Create;
4292 exts := TStringList.Create;
4294 exts.CaseSensitive := False;
4295 exts.Sorted := True;
4296 exts.Delimiter := ';';
4297 exts.DelimitedText :=
4298 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4299 GetLinkURLs(links, urls, 0, exts);
4300 Clipboard.SetTextBuf(urls.GetText);
4308 \breif
\90V
\92\85\83\8c\83X
\83\8a\83\93\83NURL
\8eæ
\93¾
4309 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4311 procedure TGikoDM.NewLinkToClipboardActionExecute(Sender: TObject);
4313 links : IHTMLElementCollection;
4314 urls, exts : TStringList;
4315 ThreadItem : TThreadItem;
4317 ThreadItem := GikoForm.GetActiveContent;
4318 links := GetActiveThreadLinks;
4319 if (ThreadItem <> nil) and (links <> nil) then begin
4320 urls := TStringList.Create;
4321 exts := TStringList.Create;
4323 exts.CaseSensitive := False;
4324 exts.Sorted := True;
4325 exts.Delimiter := ';';
4326 exts.DelimitedText :=
4327 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4328 GetLinkURLs(links, urls,
4329 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4330 Clipboard.SetTextBuf(urls.GetText);
4339 \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
4340 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4342 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4344 browser : TWebBrowser;
4347 if (GikoForm.GetActiveContent <> nil) then begin
4348 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4349 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4350 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4351 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4352 if (browser <> nil) then begin
4354 Result := IHTMLDocument2(browser.Document).links;
4364 \brief
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4365 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4366 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4367 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4368 \param Exts
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\8ag
\92£
\8eq
4370 procedure TGikoDM.GetLinkURLs(links : IHTMLElementCollection;
4371 URLs : TStringList; const Start: Integer; Exts : TStringList);
4373 index ,i, j : Integer;
4374 item : IHTMLElement;
4377 if (links <> nil) then begin
4379 for i := 0 to links.length - 1 do begin
4380 item := links.item(i, 0) as IHTMLElement;
4381 if (item <> nil) then begin
4382 url := item.getAttribute('href', 0);
4383 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4384 if (Pos('menu:', url) > 0) then begin
4385 index := StrToInt64Def(
4386 Copy(url, 5, Length(url)), index + 1
4389 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4390 if (index >= Start) then begin
4391 ext := ExtractFileExt( AnsiLowerCase(url) );
4392 //
\8ag
\92£
\8eq
\82ð
\83`
\83F
\83b
\83N
4393 if Exts.Find(ext, j) then begin
4403 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4404 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4406 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4408 if ( GikoForm.AddressToolBar.Visible ) then begin
4409 GikoForm.AddressComboBox.SetFocus;
4413 \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é
4415 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4417 form : TNewBoardURLForm;
4420 if (EditorFormExists) then begin
4421 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4422 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4425 form := TNewBoardURLForm.Create(Self);
4432 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4433 procedure TGikoDM.ScrollPageDownActionExecute(Sender: TObject);
4435 GikoForm.BrowserMovement(GikoForm.BrowserPanel.Height);
4437 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4438 procedure TGikoDM.ScrollPageUpActionExecute(Sender: TObject);
4440 GikoForm.BrowserMovement(-GikoForm.BrowserPanel.Height);
4444 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
\81i
\93§
\96¾)
4445 procedure TGikoDM.AddIDtoNGWord0ActionExecute(Sender: TObject);
4447 GikoForm.AddIDtoNGWord(true);
4449 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
4450 procedure TGikoDM.AddIDtoNGWord1ActionExecute(Sender: TObject);
4452 GikoForm.AddIDtoNGWord(false);