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
2050 GikoForm.ListView.Refresh;
2055 // *************************************************************************
2056 //! 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Ê
2057 // *************************************************************************
2058 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2060 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2061 and (GikoForm.ListView.SelCount > 0);
2063 // *************************************************************************
2064 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2065 // *************************************************************************
2066 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2068 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';
2069 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2071 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2072 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2074 GikoSys.Setting.SelectTextList.Clear;
2075 GikoForm.SelectComboBox.Items.Clear;
2076 GikoForm.SelectComboBox.Text := '';
2077 GikoForm.SetListViewType( gvtAll );
2079 // *************************************************************************
2080 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2081 // *************************************************************************
2082 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2084 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';
2085 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2087 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2088 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2090 GikoSys.Setting.NameList.Clear;
2091 ClearNameTextAllEditor
2093 // *************************************************************************
2094 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2095 // *************************************************************************
2096 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2098 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';
2099 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2101 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2102 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2104 GikoSys.Setting.MailList.Clear;
2107 // *************************************************************************
2108 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2109 // *************************************************************************
2110 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2114 // *************************************************************************
2115 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2116 // *************************************************************************
2117 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2119 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2121 // *************************************************************************
2122 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2123 // *************************************************************************
2124 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2126 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2127 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2129 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2132 // *************************************************************************
2133 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2134 // *************************************************************************
2135 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2142 List := TList.Create;
2144 GikoForm.ScreenCursor := crHourGlass;
2145 GikoForm.SelectListItem(List);
2146 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2147 (GikoSys.Setting.ListHeightState = glsMax)) or
2148 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2149 (GikoSys.Setting.ListWidthState = glsMax)) then
2150 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2151 else if(List.Count = 0) then
2152 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2155 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2156 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2158 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2159 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2161 for i := 0 to List.Count - 1 do begin
2162 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2164 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2166 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2168 if SaveDialog.Execute then begin
2170 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2171 PChar(SaveDialog.FileName), true);
2173 html := TStringList.Create;
2174 title := TThreadItem(List[i]).Title;
2176 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2177 html.SaveToFile(SaveDialog.FileName);
2178 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2188 GikoForm.ScreenCursor := crDefault;
2192 // *************************************************************************
2193 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2194 // *************************************************************************
2195 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2197 SelectThreadSaveToFile(false);
2199 // *************************************************************************
2200 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2201 // *************************************************************************
2202 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2204 SelectThreadSaveToFile(true);
2206 // *************************************************************************
2207 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2208 // *************************************************************************
2209 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2211 Filename = 'tab.sav';
2212 bFilename = '~tab.sav';
2214 SaveStringList: TStringList;
2216 SaveStringList := TStringList.Create;
2218 GetTabURLs(SaveStringList);
2220 if FileExists( GikoSys.GetAppDir + Filename) then begin
2221 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2222 PChar(GikoSys.GetAppDir + bFilename), False);
2226 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2228 SaveStringList.Free;
2231 // *************************************************************************
2232 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2233 // *************************************************************************
2234 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2236 rec : TBrowserRecord;
2239 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2241 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2242 if( rec <> nil) and (rec.Thread <> nil) then
2243 AStringList.Add( rec.Thread.URL );
2248 // *************************************************************************
2249 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2250 // *************************************************************************
2251 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2253 GikoTab : TGikoTabAppend;
2257 if (AStringList <> nil) then begin
2258 GikoTab := GikoSys.Setting.BrowserTabAppend;
2260 bound := AStringList.Count - 1;
2261 if bound > -1 then begin
2262 GikoSys.Setting.BrowserTabAppend := gtaLast;
2263 for i := 0 to bound do begin
2264 item := BBSsFindThreadFromURL( AStringList[ i ] );
2266 GikoForm.InsertBrowserTab( item, false );
2268 //
\8dÅ
\8f\89\82Ì
\82P
\96\87\82É
\90Ý
\92è
2269 if (GikoSys.Setting.URLDisplay) and
2270 (GikoForm.BrowserTab.Tabs.Count > 0) then begin
2271 GikoForm.AddressComboBox.Text :=
2272 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[0]).Thread.URL;
2276 GikoSys.Setting.BrowserTabAppend := GikoTab;
2280 // *************************************************************************
2281 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2282 // *************************************************************************
2283 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2285 TABFILE = 'tab.sav';
2290 URLs := TStringList.Create();
2292 fileName := GikoSys.GetAppDir + TABFILE;
2293 if FileExists(fileName) then begin
2295 URLs.LoadFromFile(fileName);
2296 if (URLs.Count = 0) then begin
2297 //
\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
2298 SysUtils.DeleteFile(fileName);
2303 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2310 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2311 (TabsOpenAction.Tag <> 1) then begin
2312 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2315 // *************************************************************************
2316 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2317 // *************************************************************************
2318 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2320 GikoSys.Setting.BeLogin := not GikoSys.Setting.BeLogin;
2322 // *************************************************************************
2323 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
2324 // *************************************************************************
2325 procedure TGikoDM.BeLogInOutActionUpdate(Sender: TObject);
2327 if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
2328 if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
2329 else BeLogInOutAction.Checked := false;
2330 BeLogInOutAction.Enabled := true
2332 BeLogInOutAction.Enabled := false;
2334 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2335 // *************************************************************************
2336 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2337 // *************************************************************************
2338 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2341 ThreadItem: TThreadItem;
2343 No := GikoForm.KokoPopupMenu.Tag;
2344 if No = 0 then Exit;
2345 ThreadItem := GikoForm.GetActiveContent(True);
2346 if ThreadItem = nil then Exit;
2347 ThreadItem.Kokomade := No;
2348 GikoForm.ActiveContent.Thread.ScrollTop :=
2349 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2350 GikoForm.ActiveContent.Repaint := true;
2351 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2352 //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é
2353 //Application.ProcessMessages;
2355 // *************************************************************************
2356 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2357 // *************************************************************************
2358 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2360 ThreadItem: TThreadItem;
2362 ThreadItem := GikoForm.GetActiveContent(True);
2363 if ThreadItem = nil then Exit;
2364 ThreadItem.Kokomade := -1;
2365 GikoForm.ActiveContent.Thread.ScrollTop :=
2366 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2367 GikoForm.ActiveContent.Repaint := true;
2368 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2369 //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é
2370 //Application.ProcessMessages;
2372 // *************************************************************************
2373 //!
\83R
\83R
\82É
\83\8c\83X
2374 // *************************************************************************
2375 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2377 Editor: TEditorForm;
2381 Number := GikoForm.KokoPopupMenu.Tag;
2382 if Number = 0 then Exit;
2383 Item := GikoForm.GetActiveContent(True);
2384 if Item = nil then Exit;
2386 Editor := TEditorForm.Create(GikoForm);
2387 Editor.SetThreadItem(Item);
2388 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2390 Editor.BodyEdit.SetFocus;
2392 // *************************************************************************
2393 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2394 // *************************************************************************
2395 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2397 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2399 // *************************************************************************
2400 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2401 // *************************************************************************
2402 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2406 ThreadItem : TThreadItem;
2411 No := GikoForm.KokoPopupMenu.Tag;
2412 if No = 0 then Exit;
2413 ThreadItem := GikoForm.GetActiveContent(True);
2414 if ThreadItem = nil then Exit;
2415 count := GikoSys.GetSameIDResCount(No, GikoForm.ActiveContent.Thread);
2417 if not (GikoSys.Setting.LimitResCountMessage) then begin
2419 end else if count > LIMIT then begin
2420 if ( GikoUtil.MsgBox(GikoForm.Handle,
2421 IntToStr(LIMIT) + '
\8cÂ
\88È
\8fã
\82 \82è
\82Ü
\82·
\82ª
\81A
\82·
\82×
\82Ä
\95\
\8e¦
\82µ
\82Ü
\82·
\82©
\81H',
2422 'ID
\83|
\83b
\83v
\83A
\83b
\83v
\8cx
\8d\90',
2423 MB_YESNO or MB_ICONQUESTION) = ID_YES ) then begin
2427 body := GikoSys.GetSameIDResAnchor(No, ThreadItem, limited);
2428 GikoForm.ActiveContent.IDAnchorPopup(body);
2430 // *************************************************************************
2431 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2432 // *************************************************************************
2433 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2435 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2437 // *************************************************************************
2438 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2439 // *************************************************************************
2440 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2442 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2444 // *************************************************************************
2445 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2446 // *************************************************************************
2447 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2449 IndividualForm :TIndividualAbonForm;
2450 ThreadItem : TThreadItem;
2452 ReadList : TStringList;
2453 wordCount : TWordCount;
2455 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2457 ThreadItem := GikoForm.GetActiveContent(True);
2458 ThreadItem.ScrollTop :=
2459 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2460 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2461 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2462 ReadList := TStringList.Create;
2463 wordCount := TWordCount.Create;
2465 {$IFDEF SPAM_FILTER_ENABLED}
2466 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2467 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2468 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2469 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2470 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2472 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2473 GikoForm.ActiveContent.Repaint := true;
2474 GikoForm.InsertBrowserTab( ThreadItem, True );
2481 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2482 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2486 IndividualForm.Release;
2489 // *************************************************************************
2490 //!
\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
2491 // *************************************************************************
2492 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2494 IndividualForm :TIndividualAbonForm;
2495 ThreadItem : TThreadItem;
2497 ReadList : TStringList;
2498 wordCount : TWordCount;
2499 {$IFDEF SPAM_FILTER_ENABLED}
2503 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2505 ThreadItem := GikoForm.GetActiveContent(True);
2506 ThreadItem.ScrollTop :=
2507 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2508 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2509 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2510 if (IndividualForm.ShowModal = mrOK) then begin
2511 ReadList := TStringList.Create;
2512 wordCount := TWordCount.Create;
2514 {$IFDEF SPAM_FILTER_ENABLED}
2515 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2516 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2517 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2518 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2519 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2520 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2523 if IndividualForm.FRepaint then begin
2524 GikoForm.ActiveContent.Repaint := true;
2525 GikoForm.InsertBrowserTab( ThreadItem, True );
2533 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2534 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2538 IndividualForm.Release;
2541 // *************************************************************************
2542 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2543 // *************************************************************************
2544 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2546 GikoForm.IndividualAbonID(1);
2548 // *************************************************************************
2549 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2550 // *************************************************************************
2551 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2553 GikoForm.IndividualAbonID(0);
2555 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2556 // *************************************************************************
2557 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2558 // *************************************************************************
2559 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2561 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2563 // *************************************************************************
2564 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2565 // *************************************************************************
2566 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2568 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2570 // *************************************************************************
2571 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2572 // *************************************************************************
2573 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2575 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2577 // *************************************************************************
2578 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2579 // *************************************************************************
2580 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2582 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2584 // *************************************************************************
2585 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2586 // *************************************************************************
2587 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2591 Dlg := TAboutDialog.Create(GikoForm);
2598 // *************************************************************************
2599 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2600 // *************************************************************************
2601 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2605 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2606 if not FileExists(FileName) then begin
2609 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2610 '
\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 +
2611 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2616 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2618 // *************************************************************************
2619 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2620 // *************************************************************************
2621 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2623 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2625 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2626 // *************************************************************************
2627 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2628 // *************************************************************************
2629 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2631 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2632 GikoForm.ListView.Refresh;
2634 // *************************************************************************
2635 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2636 // *************************************************************************
2637 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2639 if GikoForm.GetActiveList is TBoard then begin
2640 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2641 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2642 end else if GikoForm.GetActiveList is TCategory then begin
2643 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2646 // *************************************************************************
2647 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2648 // *************************************************************************
2649 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2651 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS);
2653 // *************************************************************************
2654 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2655 // *************************************************************************
2656 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2658 case GikoForm.ListView.ViewStyle of
2659 vsIcon: SmallIconAction.Execute;
2660 vsSmallIcon: ListIconAction.Execute;
2661 vsList: DetailIconAction.Execute;
2662 vsReport: LargeIconAction.Execute;
2665 // *************************************************************************
2666 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2667 // *************************************************************************
2668 procedure TGikoDM.ClearSelectComboBox;
2670 if GikoForm.SelectComboBoxPanel.Visible then begin
2671 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2672 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2673 GikoForm.ListView.SetFocus;
2676 // *************************************************************************
2677 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2678 // *************************************************************************
2679 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2682 if GikoForm.ViewType <> gvtAll then
2683 GikoForm.SetListViewType(gvtAll);
2684 GikoSys.Setting.ThreadRange := gtrAll;
2685 AllItemAction.Checked := True;
2686 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2687 GikoForm.ModifySelectList;
2688 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2689 ClearSelectComboBox;
2693 // *************************************************************************
2694 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2695 // *************************************************************************
2696 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2699 if GikoForm.ViewType <> gvtLog then
2700 GikoForm.SetListViewType(gvtLog);
2701 GikoSys.Setting.ThreadRange := gtrLog;
2702 LogItemAction.Checked := True;
2703 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2704 GikoForm.ModifySelectList;
2705 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2706 ClearSelectComboBox;
2710 // *************************************************************************
2711 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2712 // *************************************************************************
2713 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2717 if GikoForm.ViewType <> gvtNew then
2718 GikoForm.SetListViewType(gvtNew);
2719 GikoSys.Setting.ThreadRange := gtrNew;
2720 NewItemAction.Checked := True;
2721 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2722 GikoForm.ModifySelectList;
2723 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2724 ClearSelectComboBox;
2728 // *************************************************************************
2729 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2730 // *************************************************************************
2731 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2734 if GikoForm.ViewType <> gvtArch then
2735 GikoForm.SetListViewType(gvtArch);
2736 GikoSys.Setting.ThreadRange := gtrArch;
2737 ArchiveItemAction.Checked := True;
2738 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2739 GikoForm.ModifySelectList;
2740 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2741 ClearSelectComboBox;
2745 // *************************************************************************
2746 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2747 // *************************************************************************
2748 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2751 if GikoForm.ViewType <> gvtLive then
2752 GikoForm.SetListViewType(gvtLive);
2753 GikoSys.Setting.ThreadRange := gtrLive;
2754 LiveItemAction.Checked := True;
2755 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2756 GikoForm.ModifySelectList;
2757 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2758 ClearSelectComboBox;
2763 // *************************************************************************
2764 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2765 // *************************************************************************
2766 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2768 case GikoSys.Setting.ThreadRange of
2769 gtrAll: AllItemAction.Execute;
2770 gtrLog: LogItemAction.Execute;
2771 gtrNew: NewItemAction.Execute;
2772 gtrArch: ArchiveItemAction.Execute;
2773 gtrLive: LiveItemAction.Execute;
2776 // *************************************************************************
2777 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2778 // *************************************************************************
2779 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2782 Dlg: TListSelectDialog;
2785 if GikoForm.SelectComboBoxPanel.Visible then begin
2786 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2787 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2788 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2789 if GikoSys.Setting.ListWidthState = glsMax then
2790 BrowserMinAction.Execute;
2792 if GikoSys.Setting.ListHeightState = glsMax then
2793 BrowserMinAction.Execute;
2795 GikoForm.SelectComboBox.SetFocus;
2802 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2803 GikoForm.SelectComboBox.Text := '';
2804 GikoForm.SelectComboBox.Color := clWindow;
2807 AllItemAction.Checked := False;
2808 LogItemAction.Checked := False;
2809 NewItemAction.Checked := False;
2810 //SelectItemAction.Checked := True;
2811 GikoForm.ModifySelectList;
2812 Dlg := TListSelectDialog.Create(GikoForm);
2814 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2815 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2817 if Dlg.ModalResult = mrCancel then begin
2818 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2819 AllItemAction.Checked := True;
2820 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2821 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2824 if GikoForm.GetActiveList is TBoard then
2825 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2827 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2829 GikoSys.Setting.SelectTextList.Delete(idx);
2830 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2831 while Dlg.SelectComboBox.Items.Count > 100 do begin
2832 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2835 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2836 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2837 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2839 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2840 GikoForm.SelectComboBox.Color := clWindow;
2842 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2848 // *************************************************************************
2849 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2850 // *************************************************************************
2851 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2853 Editor: TEditorForm;
2855 if not (GikoForm.GetActiveList is TBoard) then
2857 Editor := TEditorForm.Create(GikoForm);
2858 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2860 Editor.BodyEdit.SetFocus;
2862 // *************************************************************************
2863 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2864 // *************************************************************************
2865 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2869 if GikoForm.GetActiveList is TBoard then begin
2870 URL := TBoard(GikoForm.GetActiveList).URL;
2871 GikoSys.OpenBrowser(URL, gbtAuto);
2874 // *************************************************************************
2875 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2876 // *************************************************************************
2877 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2884 List := TList.Create;
2886 GikoForm.SelectListItem(List);
2887 for i := 0 to List.Count - 1 do begin
2888 if TObject(List[i]) is TBoard then
2889 s := s + TBoard(List[i]).URL + #13#10
2890 else if TObject(List[i]) is TThreadItem then
2891 s := s + TThreadItem(List[i]).URL + #13#10;
2894 Clipboard.AsText := s;
2899 // *************************************************************************
2900 //!
\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
2901 // *************************************************************************
2902 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2904 if ((GikoForm.GetActiveList is TBoard) or
2905 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2906 TAction(Sender).Enabled := True
2908 TAction(Sender).Enabled := False;
2910 // *************************************************************************
2911 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2912 // *************************************************************************
2913 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2920 List := TList.Create;
2922 GikoForm.SelectListItem(List);
2923 for i := 0 to List.Count - 1 do begin
2924 if TObject(List[i]) is TCategory then
2925 s := s + TCategory(List[i]).Title + #13#10
2926 else if TObject(List[i]) is TBoard then
2927 s := s + TBoard(List[i]).Title + #13#10
2928 else if TObject(List[i]) is TThreadItem then
2929 s := s + TThreadItem(List[i]).Title + #13#10;
2932 Clipboard.AsText := s;
2937 // *************************************************************************
2938 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2939 // *************************************************************************
2940 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2942 if ((GikoForm.GetActiveList is TBBS) or
2943 (GikoForm.GetActiveList is TBoard) or
2944 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2945 TAction(Sender).Enabled := True
2947 TAction(Sender).Enabled := False;
2949 // *************************************************************************
2950 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2951 // *************************************************************************
2952 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2959 List := TList.Create;
2961 GikoForm.SelectListItem(List);
2962 for i := 0 to List.Count - 1 do begin
2963 if TObject(List[i]) is TBoard then
2964 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2965 else if TObject(List[i]) is TThreadItem then
2966 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
2969 Clipboard.AsText := s;
2974 // *************************************************************************
2975 //!
\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é
2976 // *************************************************************************
2977 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
2984 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2985 GikoForm.ActiveListColumnSave;
2986 if GikoForm.GetActiveList is TCategory then begin
2987 List := TList.Create;
2989 GikoForm.SelectListItem(List);
2990 if List.Count > 5 then begin
2991 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
2992 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
2993 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
2996 for i := 0 to List.Count - 1 do begin
2997 if TObject(List[i]) is TBoard then
2998 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
3003 end else if GikoForm.GetActiveList is TBoard then begin
3004 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
3007 // *************************************************************************
3008 //!
\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
3009 // *************************************************************************
3010 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
3012 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3013 TAction(Sender).Enabled := True
3014 else if GikoForm.GetActiveList is TBoard then
3015 TAction(Sender).Enabled := True
3017 TAction(Sender).Enabled := False;
3019 // *************************************************************************
3020 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3021 // *************************************************************************
3022 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3029 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3030 List := TList.Create;
3032 GikoForm.SelectListItem(List);
3033 if List.Count > 10 then begin
3034 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3035 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3036 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3039 for i := 0 to List.Count - 1 do begin
3040 if TObject(List[i]) is TThreadItem then
3041 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3047 // *************************************************************************
3048 //!
\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
3049 // *************************************************************************
3050 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3052 TAction(Sender).Enabled :=
3053 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3055 // *************************************************************************
3056 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3057 // *************************************************************************
3058 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3060 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3061 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3063 // *************************************************************************
3064 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3065 // *************************************************************************
3066 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3071 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3072 List := TList.Create;
3074 GikoForm.SelectListItem(List);
3075 for i := 0 to List.Count - 1 do begin
3076 if TObject(List[i]) is TThreadItem then begin
3077 if TThreadItem(List[i]).IsLogFile then begin
3078 SelectReservAction.Enabled := True;
3083 SelectReservAction.Enabled := False;
3087 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3088 SelectReservAction.Enabled := True
3090 SelectReservAction.Enabled := False;
3092 // *************************************************************************
3093 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3094 // *************************************************************************
3095 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3098 Dlg: TRoundNameDialog;
3102 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3103 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3106 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3107 cnt := RoundList.Count[grtBoard];
3108 cnt := cnt + RoundList.Count[grtItem];
3109 if cnt > 500 then begin
3110 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3114 Dlg := TRoundNameDialog.Create(GikoForm);
3117 if Dlg.ModalResult <> mrCancel then begin
3118 s := Trim(Dlg.RoundNameEdit.Text);
3119 if (Sender is TMenuItem) then begin
3120 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3121 end else if (Sender is TAction) then begin
3122 if (GikoForm.ListView.Selected <> nil) then begin
3123 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3124 GikoForm.SetSelectItemRound(True, s,
3125 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3126 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3127 GikoForm.SetSelectItemRound(True, s,
3128 TBoard(GikoForm.ListView.Selected.Data).Title);
3132 GikoForm.ListView.Refresh;
3138 // *************************************************************************
3139 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3140 // *************************************************************************
3141 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3145 if (Sender is TMenuItem) then begin
3147 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3150 end else if (Sender is TAction) then begin
3152 if GikoForm.ListView.Selected <> nil then begin
3153 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3154 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3155 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3156 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3158 GikoForm.SetSelectItemRound(False, '', s);
3164 GikoForm.ListView.Refresh;
3166 // *************************************************************************
3167 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3168 // *************************************************************************
3169 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3171 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3172 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3174 // *************************************************************************
3175 //!
\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
3176 // *************************************************************************
3177 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3179 BoardFavoriteAddAction.Enabled :=
3180 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3182 // *************************************************************************
3183 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3184 // *************************************************************************
3185 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3189 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3190 (GikoSys.Setting.ListHeightState = glsMax)) or
3191 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3192 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3193 if(GikoForm.GetActiveContent <> nil) then begin
3194 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3196 end else if GikoForm.GetActiveList is TCategory then begin
3197 List := TList.Create;
3199 GikoForm.SelectListItem(List);
3200 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3204 end else if GikoForm.GetActiveList is TBoard then begin
3205 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3209 // *************************************************************************
3210 //! 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Ê
3211 // *************************************************************************
3212 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3214 if ((GikoForm.GetActiveList is TBoard) or (GikoForm.GetActiveList is TCategory))
3215 and (GikoForm.ListView.SelCount > 0) then
3216 TAction(Sender).Enabled := True
3218 TAction(Sender).Enabled := False;
3220 // *************************************************************************
3221 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3222 // *************************************************************************
3223 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3225 RefURL, URL : string;
3229 if GikoForm.GetActiveList is TCategory then begin
3230 List := TList.Create;
3232 GikoForm.SelectListItem(List);
3233 RefURL := TBoard(List[0]).URL;
3237 end else if GikoForm.GetActiveList is TBoard then begin
3238 RefURL := TBoard(GikoForm.GetActiveList).URL
3240 if RefURL <> '' then begin
3241 if RefURL[Length(RefURL)] <> '/' then
3242 URL := RefURL + '/' + 'head.txt'
3244 URL := RefURL + 'head.txt';
3246 GikoForm.MoveToURL(URL);
3248 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3252 // *************************************************************************
3253 //!
\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é
3254 // *************************************************************************
3255 function TGikoDM.GetSortProperties(List: TObject;
3256 var vSortOrder: Boolean): Boolean;
3259 if (List <> nil) then begin
3260 if (List is TBBS) then begin
3261 vSortOrder := GikoSys.Setting.BBSSortOrder;
3262 end else if (List is TCategory) then begin
3263 vSortOrder := GikoSys.Setting.CategorySortOrder;
3264 end else if (List is TBoard) then begin
3265 vSortOrder := GikoSys.Setting.BoardSortOrder;
3273 // *************************************************************************
3274 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3275 // *************************************************************************
3276 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3281 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3282 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3283 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3284 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3286 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3287 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3294 // *************************************************************************
3295 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3296 // *************************************************************************
3297 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3301 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3302 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3303 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3305 if id > GikoForm.ListView.Columns.Count - 1 then
3307 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3308 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3314 // *************************************************************************
3315 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3316 // *************************************************************************
3317 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3321 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3322 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3323 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3326 id := GikoForm.ListView.Columns.Count - 1;
3327 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3328 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3334 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3335 // *************************************************************************
3336 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3337 // *************************************************************************
3338 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3340 CoolBand: TCoolBand;
3342 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3343 if CoolBand = nil then
3345 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3346 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3347 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3349 // *************************************************************************
3350 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3351 // *************************************************************************
3352 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3354 CoolBand: TCoolBand;
3356 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3357 if CoolBand = nil then
3359 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3360 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3361 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3363 // *************************************************************************
3364 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3365 // *************************************************************************
3366 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3368 CoolBand: TCoolBand;
3370 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3371 if CoolBand = nil then
3373 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3374 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3375 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3377 // *************************************************************************
3378 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3379 // *************************************************************************
3380 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3382 CoolBand: TCoolBand;
3384 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3385 if CoolBand = nil then
3387 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3388 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3390 // *************************************************************************
3391 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3392 // *************************************************************************
3393 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3395 CoolBand: TCoolBand;
3397 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3398 if CoolBand = nil then
3400 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3401 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3403 // *************************************************************************
3404 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3405 // *************************************************************************
3406 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3408 CoolBand: TCoolBand;
3410 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3411 if CoolBand = nil then
3413 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3414 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3416 // *************************************************************************
3417 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3418 // *************************************************************************
3419 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3421 CoolBand: TCoolBand;
3423 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3424 if CoolBand = nil then
3426 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3427 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3429 // *************************************************************************
3430 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3431 // *************************************************************************
3432 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3434 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3435 GikoForm.MessagePanel.Top :=
3436 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3437 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3438 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3439 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3441 // *************************************************************************
3442 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3443 // *************************************************************************
3444 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3446 MsgBarVisibleAction.Execute;
3448 // *************************************************************************
3449 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3450 // *************************************************************************
3451 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3453 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3454 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3456 // *************************************************************************
3457 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3458 // *************************************************************************
3459 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3462 if GikoForm.CabinetPanel.Visible then begin
3463 if GikoForm.TreeType = gtt2ch then begin
3464 GikoForm.CabinetVisible( False );
3466 CabinetBBSAction.Checked := False;
3468 CabinetBBSAction.Checked := True;
3471 GikoForm.CabinetVisible( True );
3472 CabinetBBSAction.Checked := True;
3475 if GikoForm.ActiveBBS = nil then
3476 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3478 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3481 // *************************************************************************
3482 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3483 // *************************************************************************
3484 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3486 GikoForm.ShowHistoryTree;
3488 // *************************************************************************
3489 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3490 // *************************************************************************
3491 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3497 if GikoForm.CabinetPanel.Visible then begin
3498 if GikoForm.TreeType = gttFavorite then begin
3499 GikoForm.CabinetVisible( False );
3500 CabinetFavoriteAction.Checked := False;
3502 CabinetFavoriteAction.Checked := True;
3505 GikoForm.CabinetVisible( True );
3506 CabinetFavoriteAction.Checked := True;
3509 // BBS...BBS, History, Favorite
3510 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3512 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3513 for i := 0 to b do begin
3514 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3515 if item is TBBSMenuItem then begin
3516 item.Checked := False;
3517 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3518 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3522 //
\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Ö
3523 GikoForm.HistoryToolBar.Hide;
3524 GikoForm.FavoriteToolBar.Show;
3525 GikoForm.TreeView.Visible := False;
3526 GikoForm.FavoriteTreeView.Visible := True;
3528 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3529 GikoForm.TreeType := gttFavorite;
3531 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3532 CabinetBBSAction.Checked := False;
3533 CabinetHistoryAction.Checked := False;
3535 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3536 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3539 // *************************************************************************
3540 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3541 // *************************************************************************
3542 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3544 case GikoForm.TreeType of
3545 gttHistory: CabinetHistoryAction.Execute;
3546 gttFavorite: CabinetFavoriteAction.Execute;
3548 CabinetBBSAction.Execute;
3551 // *************************************************************************
3552 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3553 // *************************************************************************
3554 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3556 //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ã
3558 // *************************************************************************
3559 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3560 // *************************************************************************
3561 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3563 GikoForm.ListView.ViewStyle := vsIcon;
3564 LargeIconAction.Checked := True;
3566 // *************************************************************************
3567 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3568 // *************************************************************************
3569 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3571 GikoForm.ListView.ViewStyle := vsSmallIcon;
3572 SmallIconAction.Checked := True;
3574 // *************************************************************************
3575 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3576 // *************************************************************************
3577 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3579 GikoForm.ListView.ViewStyle := vsList;
3580 ListIconAction.Checked := True;
3582 // *************************************************************************
3583 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3584 // *************************************************************************
3585 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3587 GikoForm.ListView.ViewStyle := vsReport;
3588 DetailIconAction.Checked := True;
3590 // *************************************************************************
3591 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3592 // *************************************************************************
3593 procedure TGikoDM.StopActionExecute(Sender: TObject);
3595 GikoForm.FControlThread.DownloadAbort;
3596 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3598 GikoForm.Animate.Active := False;
3601 GikoForm.ScreenCursor := crDefault;
3603 // *************************************************************************
3604 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3605 // *************************************************************************
3606 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3608 if ArrangeAction.Checked then begin
3610 GikoForm.ViewPanel.Align := alNone;
3611 GikoForm.ListSplitter.Align := alNone;
3612 GikoForm.ThreadPanel.Align := alNone;
3614 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3615 GikoForm.ViewPanel.Align := alLeft;
3617 GikoForm.ListSplitter.Width := 5;
3618 GikoForm.ListSplitter.Align := alLeft;
3620 GikoForm.ViewPanel.Left := -10;
3622 GikoForm.ThreadPanel.Align := alClient;
3624 GikoSys.Setting.ListOrientation := gloHorizontal;
3625 case GikoSys.Setting.ListWidthState of
3627 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3628 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3629 GikoForm.ViewPanel.Width := 1;
3632 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3633 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3636 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3637 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3638 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3643 GikoForm.ViewPanel.Align := alNone;
3644 GikoForm.ListSplitter.Align := alNone;
3645 GikoForm.ThreadPanel.Align := alNone;
3647 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3648 GikoForm.ViewPanel.Align := alTop;
3650 GikoForm.ListSplitter.Height := 5;
3651 GikoForm.ListSplitter.Align := alTop;
3653 GikoForm.ViewPanel.Top := -10;
3655 GikoForm.ThreadPanel.Align := alClient;
3656 GikoSys.Setting.ListOrientation := gloVertical;
3657 case GikoSys.Setting.ListHeightState of
3659 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3660 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3661 GikoForm.ViewPanel.Height := 1;
3664 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3665 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3668 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3669 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3670 GikoForm.ViewPanel.Height :=
3671 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3676 // *************************************************************************
3677 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3678 // *************************************************************************
3679 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3681 GikoForm.CabinetPanel.Width := 150;
3682 GikoForm.MessagePanel.Height := 40;
3684 GikoForm.BrowserSizeWidth := 200;
3685 GikoForm.BrowserSizeHeight := 200;
3686 if ArrangeAction.Checked then begin
3687 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3689 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3691 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3692 if GikoSys.Setting.ListHeightState = glsMax then begin
3693 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3694 GikoSys.Setting.ListHeightState := glsNormal;
3697 if GikoSys.Setting.ListWidthState = glsMax then begin
3698 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3699 GikoSys.Setting.ListWidthState := glsNormal;
3703 // *************************************************************************
3704 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3705 // *************************************************************************
3706 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3708 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3709 GikoForm.SetBrowserTabState;
3711 // *************************************************************************
3712 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3713 // *************************************************************************
3714 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3716 BrowserTabBottomAction.Checked := False;
3717 BrowserTabTopAction.Checked := True;
3718 GikoSys.Setting.BrowserTabPosition := gtpTop;
3719 GikoForm.SetBrowserTabState;
3721 // *************************************************************************
3722 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3723 // *************************************************************************
3724 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3726 BrowserTabTopAction.Checked := False;
3727 BrowserTabBottomAction.Checked := True;
3728 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3729 GikoForm.SetBrowserTabState;
3731 // *************************************************************************
3732 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3733 // *************************************************************************
3734 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3736 BrowserTabButtonStyleAction.Checked := False;
3737 BrowserTabFlatStyleAction.Checked := False;
3738 BrowserTabTabStyleAction.Checked := True;
3739 GikoSys.Setting.BrowserTabStyle := gtsTab;
3740 GikoForm.SetBrowserTabState;
3742 // *************************************************************************
3743 //!
\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é
3744 // *************************************************************************
3745 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3747 BrowserTabTabStyleAction.Checked := False;
3748 BrowserTabFlatStyleAction.Checked := False;
3749 BrowserTabButtonStyleAction.Checked := True;
3750 GikoSys.Setting.BrowserTabStyle := gtsButton;
3751 GikoForm.SetBrowserTabState;
3753 // *************************************************************************
3754 //!
\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é
3755 // *************************************************************************
3756 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3758 BrowserTabFlatStyleAction.Checked := True;
3759 BrowserTabTabStyleAction.Checked := False;
3760 BrowserTabButtonStyleAction.Checked := False;
3761 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3762 GikoForm.SetBrowserTabState;
3764 // *************************************************************************
3765 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3766 // *************************************************************************
3767 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3769 GikoForm.ActiveContent.Browser.SetFocus;
3771 // *************************************************************************
3772 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3773 // *************************************************************************
3774 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3776 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3777 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3778 TAction(Sender).Enabled := true
3780 TAction(Sender).Enabled := false;
3782 // *************************************************************************
3783 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3784 // *************************************************************************
3785 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3787 if GikoForm.ActiveContent <> nil then
3788 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3789 GikoForm.ListView.SetFocus;
3791 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3792 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é
3794 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3795 if (GikoForm.ListView.ItemFocused <> nil) then begin
3796 GikoForm.ListView.ItemFocused.MakeVisible(False);
3799 // *************************************************************************
3800 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3801 // *************************************************************************
3802 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3804 if GikoForm.ActiveContent <> nil then
3805 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3806 if GikoForm.TreeView.Visible then begin
3807 GikoForm.TreeView.SetFocus;
3808 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3809 GikoForm.TreeView.Items.Item[0].Selected := true;
3810 end else if GikoForm.FavoriteTreeView.Visible then begin
3811 GikoForm.FavoriteTreeView.SetFocus;
3812 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3813 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3816 // *************************************************************************
3817 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3818 // *************************************************************************
3819 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3821 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3823 // *************************************************************************
3824 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3825 // *************************************************************************
3826 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3828 BrowserMinAction.Execute;
3829 SetFocusForThreadListAction.Execute;
3831 // *************************************************************************
3832 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3833 // *************************************************************************
3834 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3836 BrowserMaxAction.Execute;
3837 SetFocusForBrowserAction.Execute;
3839 // *************************************************************************
3840 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3841 // *************************************************************************
3842 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3844 if GikoForm.ListView.Selected <> nil then begin
3845 GikoForm.ListView.Selected.Focused := True;
3846 GikoForm.ListView.Selected := nil;
3849 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3850 // *************************************************************************
3851 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3852 // *************************************************************************
3853 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3855 SetThreadReadProperty(true);
3857 // *************************************************************************
3858 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3859 // *************************************************************************
3860 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3862 SetThreadReadProperty(false);
3864 // *************************************************************************
3865 //!
\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Ç
3866 // *************************************************************************
3867 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3872 List := TList.Create;
3874 GikoForm.SelectListItem(List);
3875 for i := 0 to List.Count - 1 do begin
3876 if TObject(List[i]) is TThreadItem then begin
3877 if (TThreadItem(List[i]).IsLogFile) then begin
3878 TThreadItem(List[i]).UnRead := not read;
3882 if GikoForm.TreeView.Visible then
3883 GikoForm.TreeView.Refresh;
3884 if GikoForm.ListView.Visible then
3885 GikoForm.ListView.Refresh;
3890 // *************************************************************************
3891 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3892 // *************************************************************************
3893 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3895 GikoForm.ListViewAllSelect;
3897 // *************************************************************************
3898 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3899 // *************************************************************************
3900 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3902 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3904 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3905 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3906 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3908 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 +
3909 '
\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' +
3910 '
\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';
3911 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3914 limitSize : Integer;
3917 {
\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Í
3918 \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
3919 \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õ
3920 è
\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
3921 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3923 if MsgBox(GikoForm.Handle, RECALC_MES,
3924 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3925 //è
\87\92l
\82Ì
\8am
\94F
3926 limitSize := LIMIT_SIZE;
3927 limitStr := IntToStr(limitSize);
3928 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
3929 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3930 if (limitSize < 0) then begin
3931 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3932 ThreadSizeCalcForFileActionExecute(nil);
3934 RecalcThreadSize(limitSize);
3939 //! 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
3940 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3942 i, j, tmpSize : Integer;
3945 Thread: TThreadItem;
3948 //
\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
3949 GikoForm.ScreenCursor := crHourGlass;
3951 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3952 for i := 0 to BoardGroups[0].Count - 1 do begin
3953 Obj := BoardGroups[0].Objects[i];
3954 if (Obj <> nil) then begin
3955 Board := TBoard(Obj);
3956 if not Board.IsThreadDatRead then begin
3957 GikoSys.ReadSubjectFile(Board);
3959 for j := 0 to Board.Count - 1 do begin
3960 Thread := Board.Items[j];
3961 if (Thread <> nil) and (Thread.IsLogFile)
3962 and (Thread.Size <= limit) then begin
3963 dat := TStringList.Create;
3965 tmpSize := Thread.Size;
3967 dat.LoadFromFile(Thread.GetThreadFileName);
3968 tmpSize := Length(dat.Text);
3969 tmpSize := tmpSize - dat.Count;
3972 Thread.Size := tmpSize;
3979 GikoForm.ProgressBar.StepBy(1);
3982 GikoForm.ScreenCursor := crDefault;
3984 GikoForm.ProgressBar.Position := 0;
3985 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
3987 // *************************************************************************
3988 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
3989 // *************************************************************************
3990 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
3992 form : TInputAssistForm;
3994 form := TInputAssistForm.Create(GikoForm);
4002 // *************************************************************************
4003 //!
\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é
4004 // *************************************************************************
4005 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
4007 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
4008 GikoForm.ActiveContent.OpenFindDialog;
4012 // *************************************************************************
4013 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
4014 // *************************************************************************
4015 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
4018 if GikoForm.ClickNode = nil then Exit;
4021 GikoForm.ClickNode.Text + #13#10;
4024 // *************************************************************************
4025 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4026 // *************************************************************************
4027 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4031 if ( EditorFormExists ) then begin
4032 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4033 for i := Screen.CustomFormCount - 1 downto 0 do begin
4034 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4035 TEditorForm(Screen.CustomForms[i]).Close;
4040 // *************************************************************************
4041 //!
\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é
4042 // *************************************************************************
4043 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4045 if (Sender is TAction) then begin
4046 TAction(Sender).Enabled := EditorFormExists;
4049 // *************************************************************************
4050 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4051 // *************************************************************************
4052 function TGikoDM.EditorFormExists(): boolean;
4057 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4058 for i := Screen.CustomFormCount - 1 downto 0 do begin
4059 if (Screen.CustomForms[i] is TEditorForm) then begin
4066 // *************************************************************************
4067 //!
\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é
4068 // *************************************************************************
4069 procedure TGikoDM.ClearNameTextAllEditor();
4073 for i := 0 to Screen.CustomFormCount - 1 do begin
4074 if (Screen.CustomForms[i] is TEditorForm) then begin
4075 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4079 // *************************************************************************
4080 //!
\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é
4081 // *************************************************************************
4082 procedure TGikoDM.ClearMailAllEditor();
4086 for i := 0 to Screen.CustomFormCount - 1 do begin
4087 if TObject(Screen.CustomForms[i]) is TEditorForm then
4088 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4092 // *************************************************************************
4093 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4094 // *************************************************************************
4095 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4097 PrevMoveHistory.Enabled :=
4098 (MoveHisotryManager.HisotryIndex > 0)
4100 // *************************************************************************
4101 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4102 // *************************************************************************
4103 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4105 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4106 BackToHistory(MoveHisotryManager.getPrevItem
4107 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4108 .Objects[GikoForm.BrowserTab.TabIndex])));
4110 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4113 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4114 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4116 browser : TWebBrowser;
4119 if ( item <> nil ) then begin
4120 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4121 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4122 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4123 if (browser <> nil) then begin
4125 doc := Idispatch( olevariant(browser.ControlInterface).Document) as IHTMLDocument2;
4126 doc.Body.ScrollTop := item.ScrollTop;
4132 MoveURLWithHistory(item.ThreadItem.URL);
4136 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4137 procedure TGikoDM.MoveURLWithHistory(URL : String);
4142 GikoForm.MoveToURL(URL);
4143 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4144 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4145 if idx = -1 then begin
4146 GikoForm.AddressComboBox.Items.Insert(0, URL);
4147 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4148 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4150 GikoForm.AddressComboBox.Items.Delete(idx);
4151 GikoForm.AddressComboBox.Items.Insert(0, URL);
4154 // *************************************************************************
4155 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4156 // *************************************************************************
4157 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4159 NextMoveHistory.Enabled :=
4160 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4162 // *************************************************************************
4163 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4164 // *************************************************************************
4165 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4167 BackToHistory(MoveHisotryManager.getNextItem);
4169 // *************************************************************************
4170 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4171 // *************************************************************************
4172 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4174 browser : TWebBrowser;
4175 elem : IHTMLElement;
4177 if (GikoForm.GetActiveContent <> nil) then begin
4178 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4179 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4180 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4181 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4182 if (browser <> nil) then begin
4184 elem := IHTMLDocument2(browser.Document).activeElement;
4193 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4194 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4196 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4197 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4199 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4200 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4202 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4203 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4205 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4206 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4208 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4209 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4211 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4212 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4214 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4215 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4217 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4218 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4220 GikoForm.StoredTaskTray;
4221 StoredTaskTrayAction.Tag := -1;
4225 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4226 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4228 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4230 links : IHTMLElementCollection;
4231 urls, exts : TStringList;
4233 links := GetActiveThreadLinks;
4234 if (links <> nil) then begin
4235 urls := TStringList.Create;
4236 exts := TStringList.Create;
4238 exts.CaseSensitive := False;
4239 exts.Sorted := True;
4240 exts.Delimiter := ';';
4241 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4242 GetLinkURLs(links, urls, 0, exts);
4243 Clipboard.SetTextBuf(urls.GetText);
4252 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4253 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4255 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4257 links : IHTMLElementCollection;
4258 urls, exts : TStringList;
4259 ThreadItem : TThreadItem;
4261 ThreadItem := GikoForm.GetActiveContent;
4262 links := GetActiveThreadLinks;
4263 if (ThreadItem <> nil) and (links <> nil) then begin
4264 urls := TStringList.Create;
4265 exts := TStringList.Create;
4267 exts.CaseSensitive := False;
4268 exts.Sorted := True;
4269 exts.Delimiter := ';';
4270 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4272 GetLinkURLs(links, urls,
4273 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4274 Clipboard.SetTextBuf(urls.GetText);
4282 \breif
\83\8a\83\93\83NURL
\8eæ
\93¾
4283 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4285 procedure TGikoDM.AllLinkToClipboardActionExecute(Sender: TObject);
4287 links : IHTMLElementCollection;
4288 urls, exts : TStringList;
4290 links := GetActiveThreadLinks;
4291 if (links <> nil) then begin
4292 urls := TStringList.Create;
4293 exts := TStringList.Create;
4295 exts.CaseSensitive := False;
4296 exts.Sorted := True;
4297 exts.Delimiter := ';';
4298 exts.DelimitedText :=
4299 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4300 GetLinkURLs(links, urls, 0, exts);
4301 Clipboard.SetTextBuf(urls.GetText);
4309 \breif
\90V
\92\85\83\8c\83X
\83\8a\83\93\83NURL
\8eæ
\93¾
4310 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4312 procedure TGikoDM.NewLinkToClipboardActionExecute(Sender: TObject);
4314 links : IHTMLElementCollection;
4315 urls, exts : TStringList;
4316 ThreadItem : TThreadItem;
4318 ThreadItem := GikoForm.GetActiveContent;
4319 links := GetActiveThreadLinks;
4320 if (ThreadItem <> nil) and (links <> nil) then begin
4321 urls := TStringList.Create;
4322 exts := TStringList.Create;
4324 exts.CaseSensitive := False;
4325 exts.Sorted := True;
4326 exts.Delimiter := ';';
4327 exts.DelimitedText :=
4328 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4329 GetLinkURLs(links, urls,
4330 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4331 Clipboard.SetTextBuf(urls.GetText);
4340 \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
4341 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4343 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4345 browser : TWebBrowser;
4348 if (GikoForm.GetActiveContent <> nil) then begin
4349 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4350 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4351 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4352 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4353 if (browser <> nil) then begin
4355 Result := IHTMLDocument2(browser.Document).links;
4365 \brief
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4366 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4367 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4368 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4369 \param Exts
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\8ag
\92£
\8eq
4371 procedure TGikoDM.GetLinkURLs(links : IHTMLElementCollection;
4372 URLs : TStringList; const Start: Integer; Exts : TStringList);
4374 index ,i, j : Integer;
4375 item : IHTMLElement;
4378 if (links <> nil) then begin
4380 for i := 0 to links.length - 1 do begin
4381 item := links.item(i, 0) as IHTMLElement;
4382 if (item <> nil) then begin
4383 url := item.getAttribute('href', 0);
4384 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4385 if (Pos('menu:', url) > 0) then begin
4386 index := StrToInt64Def(
4387 Copy(url, 5, Length(url)), index + 1
4390 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4391 if (index >= Start) then begin
4392 ext := ExtractFileExt( AnsiLowerCase(url) );
4393 //
\8ag
\92£
\8eq
\82ð
\83`
\83F
\83b
\83N
4394 if Exts.Find(ext, j) then begin
4404 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4405 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4407 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4409 if ( GikoForm.AddressToolBar.Visible ) then begin
4410 GikoForm.AddressComboBox.SetFocus;
4414 \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é
4416 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4418 form : TNewBoardURLForm;
4421 if (EditorFormExists) then begin
4422 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4423 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4426 form := TNewBoardURLForm.Create(Self);
4433 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4434 procedure TGikoDM.ScrollPageDownActionExecute(Sender: TObject);
4436 GikoForm.BrowserMovement(GikoForm.BrowserPanel.Height);
4438 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4439 procedure TGikoDM.ScrollPageUpActionExecute(Sender: TObject);
4441 GikoForm.BrowserMovement(-GikoForm.BrowserPanel.Height);
4445 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
\81i
\93§
\96¾)
4446 procedure TGikoDM.AddIDtoNGWord0ActionExecute(Sender: TObject);
4448 GikoForm.AddIDtoNGWord(true);
4450 //!
\82±
\82Ì
\83\8c\83X
\82ÌID
\82ðNG
\83\8f\81[
\83h
\82É
\92Ç
\89Á
\82·
\82é
4451 procedure TGikoDM.AddIDtoNGWord1ActionExecute(Sender: TObject);
4453 GikoForm.AddIDtoNGWord(false);