6 SysUtils, Classes, ExtActns, StdActns, ActnList, ImgList, Controls,
14 ComCtrls, BrowserRecord, Graphics, Messages, Setting, Dialogs,
15 ActiveX, 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;
52 TGikoDM = class(TDataModule)
53 GikoFormActionList: TActionList;
54 OnlyAHundredResAction: TAction;
55 OnlyKokoResAction: TAction;
57 NewBoardAction: TAction;
58 LogDeleteAction: TAction;
59 KidokuAction: TAction;
60 StdToolBarVisibleAction: TAction;
61 AddressBarVisibleAction: TAction;
62 LinkBarVisibleAction: TAction;
63 ListToolBarVisibleAction: TAction;
64 SearchAction: TAction;
65 GikoNaviWebPageAction: TAction;
66 MonazillaWebPageAction: TAction;
67 BBS2chWebPageAction: TAction;
68 GikoFolderOpenAction: TAction;
70 SelectTextClearAction: TAction;
71 NameTextClearAction: TAction;
72 MailTextClearAction: TAction;
74 ListNameBarVisibleAction: TAction;
75 BrowserToolBarVisibleAction: TAction;
76 BrowserNameBarVisibleAction: TAction;
77 MsgBarVisibleAction: TAction;
78 MsgBarCloseAction: TAction;
79 StatusBarVisibleAction: TAction;
80 CabinetBBSAction: TAction;
81 CabinetHistoryAction: TAction;
82 OnlyNewResAction: TAction;
83 CabinetFavoriteAction: TAction;
84 CabinetVisibleAction: TAction;
85 ListNumberVisibleAction: TAction;
86 UpFolderAction: TAction;
87 CabinetCloseAction: TAction;
89 LargeIconAction: TAction;
90 SmallIconAction: TAction;
91 ListIconAction: TAction;
92 DetailIconAction: TAction;
93 MidokuAction: TAction;
94 AllSelectAction: TAction;
95 AllItemAction: TAction;
96 LogItemAction: TAction;
97 NewItemAction: TAction;
98 ThreadRangeAction: TAction;
99 SelectItemAction: TAction;
101 OptionAction: TAction;
102 RoundAction: TAction;
103 BrowserMaxAction: TAction;
104 BrowserMinAction: TAction;
105 ScrollTopAction: TAction;
106 ScrollLastAction: TAction;
107 ScrollNewAction: TAction;
108 ScrollKokoAction: TAction;
109 EditorAction: TAction;
111 ShowThreadAction: TAction;
112 ShowBoardAction: TAction;
113 URLCopyAction: TAction;
114 NameCopyAction: TAction;
115 NameURLCopyAction: TAction;
116 ItemReloadAction: TAction;
117 ThreadEditorAction: TAction;
118 BoardIEAction: TAction;
119 SelectItemURLCopyAction: TAction;
120 SelectItemNameCopyAction: TAction;
121 SelectItemNameURLCopyAction: TAction;
122 SelectListReloadAction: TAction;
123 SelectThreadReloadAction: TAction;
124 BrowserTabCloseAction: TAction;
125 NotSelectTabCloseAction: TAction;
126 AllTabCloseAction: TAction;
127 KokomadeAction: TAction;
128 ZenbuAction: TAction;
129 KokoResAction: TAction;
130 TreeSelectBoradReload: TAction;
131 TreeSelectThreadReload: TAction;
132 TreeSelectURLCopy: TAction;
133 SelectReservAction: TAction;
134 SelectNewRoundName: TAction;
135 SelectDeleteRound: TAction;
136 KeySettingAction: TAction;
137 ArrangeAction: TAction;
138 ActiveLogDeleteAction: TAction;
139 TreeSelectNameURLCopy: TAction;
140 PaneInitAction: TAction;
141 LeftmostTabSelectAction: TAction;
142 LeftTabSelectAction: TAction;
143 RightTabSelectAction: TAction;
144 RightmostTabSelectAction: TAction;
145 FavoriteAddAction: TAction;
146 BoardFavoriteAddAction: TAction;
147 ThreadFavoriteAddAction: TAction;
148 TreeSelectFavoriteAddAction: TAction;
149 FavoriteArrangeAction: TAction;
150 MoveToAction: TAction;
151 BrowserTabVisibleAction: TAction;
152 BrowserTabTopAction: TAction;
153 BrowserTabBottomAction: TAction;
154 BrowserTabTabStyleAction: TAction;
155 BrowserTabButtonStyleAction: TAction;
156 BrowserTabFlatStyleAction: TAction;
157 GikoHelpAction: TAction;
158 KotehanAction: TAction;
159 ToolBarSettingAction: TAction;
160 SelectResAction: TAction;
161 AllResAction: TAction;
162 EditNGAction: TAction;
163 ReloadAction: TAction;
164 GoFowardAction: TAction;
165 GoBackAction: TAction;
166 TreeSelectSearchBoardName: TAction;
167 FavoriteTreeViewRenameAction: TAction;
168 FavoriteTreeViewNewFolderAction: TAction;
169 FavoriteTreeViewDeleteAction: TAction;
170 FavoriteTreeViewBrowseFolderAction: TAction;
171 FavoriteTreeViewReloadAction: TAction;
172 FavoriteTreeViewURLCopyAction: TAction;
173 FavoriteTreeViewNameCopyAction: TAction;
174 FavoriteTreeViewNameURLCopyAction: TAction;
175 FavoriteTreeViewLogDeleteAction: TAction;
176 ResRangeAction: TAction;
177 ExportFavoriteFile: TFileSaveAs;
178 FavoriteTreeViewBrowseBoardAction: TAction;
179 FavoriteTreeViewBrowseThreadAction: TAction;
180 UpBoardAction: TAction;
182 TreeSelectNameCopy: TAction;
183 SetFocusForBrowserAction: TAction;
184 SetFocusForThreadListAction: TAction;
185 SetFocusForCabinetAction: TAction;
187 ThreadlistMaxAndFocusAction: TAction;
188 BrowserMaxAndFocusAction: TAction;
189 SelectItemSaveForHTML: TAction;
190 SelectItemSaveForDat: TAction;
191 LogFolderOpenAction: TAction;
192 TabsSaveAction: TAction;
193 TabsOpenAction: TAction;
194 BrowsBoradHeadAction: TAction;
195 JumpToNumOfResAction: TAction;
196 FavoriteTreeViewCollapseAction: TAction;
197 RightTabCloseAction: TAction;
198 LeftTabCloseAction: TAction;
199 SameIDResAnchorAction: TAction;
200 IndividualAbon1Action: TAction;
201 IndividualAbon0Action: TAction;
202 AntiIndividualAbonAction: TAction;
203 AntiIndividualAbonDlgAction: TAction;
204 IndividualAbonID1Action: TAction;
205 IndividualAbonID0Action: TAction;
207 SortActiveColumnAction: TAction;
208 SortNextColumnAction: TAction;
209 SortPrevColumnAction: TAction;
210 BeLogInOutAction: TAction;
211 UnSelectedListViewAction: TAction;
212 WikiFAQWebPageAction: TAction;
213 ToobarImageList: TImageList;
214 SaveDialog: TSaveDialog;
215 ThreadSizeCalcForFileAction: TAction;
216 SetInputAssistAction: TAction;
217 OpenFindDialogAction: TAction;
218 ArchiveItemAction: TAction;
219 LiveItemAction: TAction;
220 FavoriteTreeViewItemNameCopyAction: TAction;
221 CloseAllEditorAction: TAction;
222 PrevMoveHistory: TAction;
223 NextMoveHistory: TAction;
224 ClickActiveElementAction: TAction;
225 VKDownAction: TAction;
227 VKRightAction: TAction;
228 VKLeftAction: TAction;
229 StoredTaskTrayAction: TAction;
230 AllImageLinkToClipbordAction: TAction;
231 NewImageLinkToClipBoardAction: TAction;
232 SetForcusForAddresBarAction: TAction;
233 NewBoardSearchAction: TAction;
234 NGWordEditFormAction: TAction;
235 ScrollPageDownAction: TAction;
236 ScrollPageUpAction: TAction;
237 AllLinkToClipboardAction: TAction;
238 NewLinkToClipboardAction: TAction;
239 procedure EditNGActionExecute(Sender: TObject);
240 procedure ReloadActionExecute(Sender: TObject);
241 procedure GoFowardActionExecute(Sender: TObject);
242 procedure GoBackActionExecute(Sender: TObject);
243 procedure MoveToActionExecute(Sender: TObject);
244 procedure FavoriteAddActionExecute(Sender: TObject);
245 procedure FavoriteArrangeActionExecute(Sender: TObject);
246 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
247 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
248 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
249 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
250 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
251 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
252 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
253 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
254 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
255 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
256 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
257 procedure OnlyAHundredResActionExecute(Sender: TObject);
258 procedure OnlyKokoResActionExecute(Sender: TObject);
259 procedure OnlyNewResActionExecute(Sender: TObject);
260 procedure BrowserMaxActionExecute(Sender: TObject);
261 procedure BrowserMinActionExecute(Sender: TObject);
262 procedure ScrollTopActionExecute(Sender: TObject);
263 procedure ScrollLastActionExecute(Sender: TObject);
264 procedure ScrollNewActionExecute(Sender: TObject);
265 procedure ScrollKokoActionExecute(Sender: TObject);
266 procedure ScrollKokoActionUpdate(Sender: TObject);
267 procedure EditorActionExecute(Sender: TObject);
268 procedure IEActionExecute(Sender: TObject);
269 procedure ShowThreadActionExecute(Sender: TObject);
270 procedure ShowBoardActionExecute(Sender: TObject);
271 procedure URLCopyActionExecute(Sender: TObject);
272 procedure NameCopyActionExecute(Sender: TObject);
273 procedure NameURLCopyActionExecute(Sender: TObject);
274 procedure ItemReloadActionExecute(Sender: TObject);
275 procedure BrowserTabCloseActionExecute(Sender: TObject);
276 procedure BrowserTabCloseActionUpdate(Sender: TObject);
277 procedure NotSelectTabCloseActionExecute(Sender: TObject);
278 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
279 procedure AllTabCloseActionExecute(Sender: TObject);
280 procedure ActiveLogDeleteActionExecute(Sender: TObject);
281 procedure LeftmostTabSelectActionExecute(Sender: TObject);
282 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
283 procedure LeftTabSelectActionExecute(Sender: TObject);
284 procedure RightTabSelectActionExecute(Sender: TObject);
285 procedure RightTabSelectActionUpdate(Sender: TObject);
286 procedure RightmostTabSelectActionExecute(Sender: TObject);
287 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
288 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
289 procedure SelectResActionExecute(Sender: TObject);
290 procedure AllResActionExecute(Sender: TObject);
291 procedure ResRangeActionExecute(Sender: TObject);
292 procedure UpBoardActionExecute(Sender: TObject);
293 procedure JumpToNumOfResActionExecute(Sender: TObject);
294 procedure RightTabCloseActionExecute(Sender: TObject);
295 procedure RightTabCloseActionUpdate(Sender: TObject);
296 procedure LeftTabCloseActionExecute(Sender: TObject);
297 procedure DataModuleCreate(Sender: TObject);
298 procedure SearchActionExecute(Sender: TObject);
299 procedure OptionActionExecute(Sender: TObject);
300 procedure RoundActionExecute(Sender: TObject);
301 procedure KeySettingActionExecute(Sender: TObject);
302 procedure KotehanActionExecute(Sender: TObject);
303 procedure ToolBarSettingActionExecute(Sender: TObject);
304 procedure MuteActionExecute(Sender: TObject);
305 procedure TreeSelectBoradReloadExecute(Sender: TObject);
306 procedure TreeSelectThreadReloadExecute(Sender: TObject);
307 procedure TreeSelectURLCopyExecute(Sender: TObject);
308 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
309 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
310 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
311 procedure TreeSelectNameCopyExecute(Sender: TObject);
312 procedure LoginActionExecute(Sender: TObject);
313 procedure NewBoardActionExecute(Sender: TObject);
314 procedure LogDeleteActionExecute(Sender: TObject);
315 procedure LogDeleteActionUpdate(Sender: TObject);
316 procedure SelectTextClearActionExecute(Sender: TObject);
317 procedure NameTextClearActionExecute(Sender: TObject);
318 procedure MailTextClearActionExecute(Sender: TObject);
319 procedure ExitActionExecute(Sender: TObject);
320 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
321 procedure ExportFavoriteFileAccept(Sender: TObject);
322 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
323 procedure SelectItemSaveForDatExecute(Sender: TObject);
324 procedure TabsSaveActionExecute(Sender: TObject);
325 procedure TabsOpenActionExecute(Sender: TObject);
326 procedure BeLogInOutActionExecute(Sender: TObject);
327 procedure BeLogInOutActionUpdate(Sender: TObject);
328 procedure KokomadeActionExecute(Sender: TObject);
329 procedure ZenbuActionExecute(Sender: TObject);
330 procedure KokoResActionExecute(Sender: TObject);
331 procedure KoreCopyExecute(Sender: TObject);
332 procedure SameIDResAnchorActionExecute(Sender: TObject);
333 procedure IndividualAbon1ActionExecute(Sender: TObject);
334 procedure IndividualAbon0ActionExecute(Sender: TObject);
335 procedure AntiIndividualAbonActionExecute(Sender: TObject);
336 procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
337 procedure IndividualAbonID1ActionExecute(Sender: TObject);
338 procedure IndividualAbonID0ActionExecute(Sender: TObject);
339 procedure GikoNaviWebPageActionExecute(Sender: TObject);
340 procedure MonazillaWebPageActionExecute(Sender: TObject);
341 procedure BBS2chWebPageActionExecute(Sender: TObject);
342 procedure GikoFolderOpenActionExecute(Sender: TObject);
343 procedure AboutActionExecute(Sender: TObject);
344 procedure GikoHelpActionExecute(Sender: TObject);
345 procedure WikiFAQWebPageActionExecute(Sender: TObject);
346 procedure ListNumberVisibleActionExecute(Sender: TObject);
347 procedure UpFolderActionExecute(Sender: TObject);
348 procedure UpFolderActionUpdate(Sender: TObject);
349 procedure IconStyleExecute(Sender: TObject);
350 procedure AllItemActionExecute(Sender: TObject);
351 procedure LogItemActionExecute(Sender: TObject);
352 procedure NewItemActionExecute(Sender: TObject);
353 procedure ThreadRangeActionExecute(Sender: TObject);
354 procedure SelectItemActionExecute(Sender: TObject);
355 procedure ThreadEditorActionExecute(Sender: TObject);
356 procedure BoardIEActionExecute(Sender: TObject);
357 procedure SelectItemURLCopyActionExecute(Sender: TObject);
358 procedure SelectItemURLCopyActionUpdate(Sender: TObject);
359 procedure SelectItemNameCopyActionExecute(Sender: TObject);
360 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
361 procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
362 procedure SelectListReloadActionExecute(Sender: TObject);
363 procedure SelectListReloadActionUpdate(Sender: TObject);
364 procedure SelectThreadReloadActionExecute(Sender: TObject);
365 procedure SelectThreadReloadActionUpdate(Sender: TObject);
366 procedure SelectReservActionExecute(Sender: TObject);
367 procedure SelectReservActionUpdate(Sender: TObject);
368 procedure SelectNewRoundNameExecute(Sender: TObject);
369 procedure SelectDeleteRoundExecute(Sender: TObject);
370 procedure BoardFavoriteAddActionExecute(Sender: TObject);
371 procedure BoardFavoriteAddActionUpdate(Sender: TObject);
372 procedure LogFolderOpenActionExecute(Sender: TObject);
373 procedure LogFolderOpenActionUpdate(Sender: TObject);
374 procedure BrowsBoradHeadActionExecute(Sender: TObject);
375 procedure SortActiveColumnActionExecute(Sender: TObject);
376 procedure SortNextColumnActionExecute(Sender: TObject);
377 procedure SortPrevColumnActionExecute(Sender: TObject);
378 procedure StdToolBarVisibleActionExecute(Sender: TObject);
379 procedure AddressBarVisibleActionExecute(Sender: TObject);
380 procedure LinkBarVisibleActionExecute(Sender: TObject);
381 procedure ListToolBarVisibleActionExecute(Sender: TObject);
382 procedure ListNameBarVisibleActionExecute(Sender: TObject);
383 procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
384 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
385 procedure MsgBarVisibleActionExecute(Sender: TObject);
386 procedure MsgBarCloseActionExecute(Sender: TObject);
387 procedure StatusBarVisibleActionExecute(Sender: TObject);
388 procedure CabinetBBSActionExecute(Sender: TObject);
389 procedure CabinetHistoryActionExecute(Sender: TObject);
390 procedure CabinetFavoriteActionExecute(Sender: TObject);
391 procedure CabinetVisibleActionExecute(Sender: TObject);
392 procedure CabinetCloseActionExecute(Sender: TObject);
393 procedure LargeIconActionExecute(Sender: TObject);
394 procedure SmallIconActionExecute(Sender: TObject);
395 procedure ListIconActionExecute(Sender: TObject);
396 procedure DetailIconActionExecute(Sender: TObject);
397 procedure StopActionExecute(Sender: TObject);
398 procedure ArrangeActionExecute(Sender: TObject);
399 procedure PaneInitActionExecute(Sender: TObject);
400 procedure BrowserTabVisibleActionExecute(Sender: TObject);
401 procedure BrowserTabTopActionExecute(Sender: TObject);
402 procedure BrowserTabBottomActionExecute(Sender: TObject);
403 procedure BrowserTabTabStyleActionExecute(Sender: TObject);
404 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
405 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
406 procedure SetFocusForBrowserActionExecute(Sender: TObject);
407 procedure SetFocusForBrowserActionUpdate(Sender: TObject);
408 procedure SetFocusForThreadListActionExecute(Sender: TObject);
409 procedure SetFocusForCabinetActionExecute(Sender: TObject);
410 procedure SetFocusForCabinetActionUpdate(Sender: TObject);
411 procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
412 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
413 procedure UnSelectedListViewActionExecute(Sender: TObject);
414 procedure KidokuActionExecute(Sender: TObject);
415 procedure MidokuActionExecute(Sender: TObject);
416 procedure AllSelectActionExecute(Sender: TObject);
417 procedure AllSelectActionUpdate(Sender: TObject);
418 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
419 procedure SetInputAssistActionExecute(Sender: TObject);
420 procedure OpenFindDialogActionExecute(Sender: TObject);
421 procedure ArchiveItemActionExecute(Sender: TObject);
422 procedure LiveItemActionExecute(Sender: TObject);
423 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
424 procedure CloseAllEditorActionExecute(Sender: TObject);
425 procedure CloseAllEditorActionUpdate(Sender: TObject);
426 procedure PrevMoveHistoryUpdate(Sender: TObject);
427 procedure PrevMoveHistoryExecute(Sender: TObject);
428 procedure NextMoveHistoryUpdate(Sender: TObject);
429 procedure NextMoveHistoryExecute(Sender: TObject);
430 procedure ClickActiveElementActionExecute(Sender: TObject);
431 procedure VKDownActionExecute(Sender: TObject);
432 procedure VKUpActionExecute(Sender: TObject);
433 procedure VKRightActionExecute(Sender: TObject);
434 procedure VKLeftActionExecute(Sender: TObject);
435 procedure StoredTaskTrayActionExecute(Sender: TObject);
436 procedure LeftTabSelectActionUpdate(Sender: TObject);
437 procedure RightmostTabSelectActionUpdate(Sender: TObject);
438 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
439 procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
440 procedure SetForcusForAddresBarActionExecute(Sender: TObject);
441 procedure NewBoardSearchActionExecute(Sender: TObject);
442 procedure ScrollPageDownActionExecute(Sender: TObject);
443 procedure ScrollPageUpActionExecute(Sender: TObject);
444 procedure AllLinkToClipboardActionExecute(Sender: TObject);
445 procedure NewLinkToClipboardActionExecute(Sender: TObject);
448 procedure ClearResFilter;
449 procedure SetResRange(range: Integer);
450 procedure SetThreadAreaHorNormal;
451 procedure SetThreadAreaHorizontal(gls : TGikoListState);
452 procedure SetThreadAreaVerNormal;
453 procedure SetThreadAreaVertical(gls : TGikoListState);
454 procedure SetThreadReadProperty(read: Boolean);
455 procedure SelectThreadSaveToFile(dat: Boolean);
456 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
457 procedure RecalcThreadSize(limit : Integer);
458 procedure ClearSelectComboBox;
459 procedure ClearMailAllEditor();
460 procedure ClearNameTextAllEditor();
461 procedure MoveURLWithHistory(URL : String);
462 procedure BackToHistory(item: TMoveHistoryItem);
463 function GetActiveThreadLinks : IHTMLElementCollection;
464 procedure GetLinkURLs(links : IHTMLElementCollection;
465 URLs : TStringList; const Start: Integer; Exts : TStringList);
468 procedure RepaintStatusBar;
469 function EditorFormExists(): boolean;
470 procedure GetTabURLs(AStringList: TStringList);
471 procedure OpenURLs(AStringList: TStringList);
473 { Published
\90é
\8c¾ }
474 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
475 procedure DependActiveCntentActionUpdate(Sender: TObject);
476 //! 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é
477 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
478 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
479 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
489 Windows, Math, Clipbrd,
490 Giko, GikoSystem, GikoUtil, BoardGroup,
491 FavoriteArrange, Favorite, MojuUtils,
492 Editor, ListSelect, Search, Option, Round,
493 KeySetting, Gesture, Kotehan, ToolBarSetting,
494 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
495 GikoBayesian, About, ShellAPI,
496 RoundName, RoundData, Menus, ListViewUtils,
497 ThreadControl, GikoMessage, InputAssist,
498 DefaultFileManager, Forms, NewBoardURL;
501 MSG_ERROR : string = '
\83G
\83\89\81[';
504 // *************************************************************************
505 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
506 // *************************************************************************
507 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
509 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
511 // *************************************************************************
512 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
513 // *************************************************************************
514 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
516 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
517 and (GikoForm.GetActiveContent.IsLogFile);
519 // *************************************************************************
520 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
521 // *************************************************************************
522 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
524 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
526 // *************************************************************************
527 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
528 // *************************************************************************
529 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
531 //
\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
532 GikoSys.FAbon.EditNGwords;
534 // *************************************************************************
535 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
536 // *************************************************************************
537 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
539 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
540 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
541 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½',
542 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
544 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
545 GikoForm.RepaintAllTabsBrowser();
548 // *************************************************************************
549 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
550 // *************************************************************************
551 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
553 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
554 if GikoSys.FAbon.GoBack =false then begin
555 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½',
556 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
558 //
\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
560 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
561 GikoForm.RepaintAllTabsBrowser();
564 // *************************************************************************
565 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
566 // *************************************************************************
567 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
569 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
570 if GikoSys.FAbon.GoForward =false then begin
571 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½',
572 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
574 //
\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
576 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
577 GikoForm.RepaintAllTabsBrowser();
580 // *************************************************************************
581 //! 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
582 // *************************************************************************
583 procedure TGikoDM.RepaintStatusBar;
587 //
\83X
\83e
\81[
\83^
\83X
\82É
\95\
\8e¦
\82³
\82ê
\82éNG
\83\8f\81[
\83h
\83t
\83@
\83C
\83\8b\96¼
\82ð
\8dX
\90V
588 s := GikoSys.FAbon.NGwordname;
589 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
590 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
591 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
592 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
593 GikoForm.StatusBarResize(nil);
595 // *************************************************************************
596 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
597 // *************************************************************************
598 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
600 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
602 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
604 // *************************************************************************
605 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
606 // *************************************************************************
607 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
609 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
611 // *************************************************************************
612 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
613 // *************************************************************************
614 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
616 Dlg: TFavoriteArrangeDialog;
618 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
624 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
625 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
627 // *************************************************************************
628 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
629 // *************************************************************************
630 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
634 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
636 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
637 while node <> nil do begin
638 if node.HasChildren then
639 node.Expanded := False;
640 node := node.GetNext;
645 // *************************************************************************
646 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
647 // *************************************************************************
648 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
653 if GikoForm.ClickNode = nil then
655 if GikoForm.ClickNode.IsFirstNode then
657 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
659 GikoForm.FavoriteTreeView.ReadOnly := False;
660 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
661 node := GikoForm.ClickNode.Parent;
662 while node <> nil do begin
663 node.Expanded := True;
666 GikoForm.ClickNode.EditText;
668 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 );
670 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
671 FavoriteDM.Modified := true;
674 // *************************************************************************
675 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
676 // *************************************************************************
677 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
679 NewFavFolder: TFavoriteFolder;
683 if GikoForm.ClickNode = nil then
687 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
688 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
689 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
692 NewFavFolder := TFavoriteFolder.Create;
693 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
694 Node.ImageIndex := 14;
695 Node.SelectedIndex := 14;
696 // FClickNode.Selected.Expanded := True;
697 GikoForm.FavoriteTreeView.Selected := Node;
698 GikoForm.ClickNode := Node;
699 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
700 FavoriteDM.Modified := true;
701 FavoriteTreeViewRenameAction.Execute;
706 // *************************************************************************
707 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
708 // *************************************************************************
709 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
711 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';
712 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
713 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
716 if GikoForm.ClickNode = nil then
718 if GikoForm.ClickNode.IsFirstNode then
720 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
721 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
722 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
725 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
730 GikoForm.ClickNode.Delete;
731 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
732 FavoriteDM.Modified := true;
737 // *************************************************************************
738 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
739 // *************************************************************************
740 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
743 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
745 // *************************************************************************
746 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
747 // *************************************************************************
748 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
750 FavThread: TFavoriteThreadItem;
751 FavBoard: TFavoriteBoardItem;
754 if (GikoForm.ClickNode = nil) then Exit;
756 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
758 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
759 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
760 if FavThread.Item <> nil then
761 GikoForm.DownloadContent(FavThread.Item, shiftDown);
762 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
763 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
764 GikoForm.DownloadList(FavBoard.Item, shiftDown);
768 // *************************************************************************
769 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
770 // *************************************************************************
771 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
774 if GikoForm.ClickNode = nil then Exit;
776 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
777 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
780 // *************************************************************************
781 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
782 // *************************************************************************
783 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
786 if GikoForm.ClickNode = nil then Exit;
788 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
790 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
793 GikoForm.ClickNode.Text + #13#10;
797 // *************************************************************************
798 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
799 // *************************************************************************
800 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
803 favItem : TFavoriteItem;
806 if GikoForm.ClickNode = nil then Exit;
808 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
809 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
810 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
811 favItem.URL + #13#10;
815 // *************************************************************************
816 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
817 // *************************************************************************
818 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
820 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';
821 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
823 ThreadItem: TThreadItem;
824 FavThread: TFavoriteThreadItem;
827 if GikoForm.ClickNode = nil then Exit;
828 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
830 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
831 ThreadItem := FavThread.Item;
834 if GikoSys.Setting.DeleteMsg then begin
835 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
836 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
840 GikoForm.DeleteHistory(ThreadItem);
841 GikoForm.DeleteTab(ThreadItem);
842 ThreadItem.DeleteLogFile;
844 GikoForm.ListView.Refresh;
849 // *************************************************************************
850 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
851 // *************************************************************************
852 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
855 threadItem : TThreadItem;
858 if GikoForm.ClickNode = nil then Exit;
860 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
862 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
863 if threadItem = nil then
865 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
869 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
870 procedure TGikoDM.ClearResFilter;
872 FilterList : TStringList;
874 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
875 FilterList := TStringList.Create;
877 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
878 GikoSys.FSelectResFilter.Reverse := False;
882 GikoForm.SelectResWord := '';
884 // *************************************************************************
885 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
886 // *************************************************************************
887 procedure TGikoDM.SetResRange(range: Integer);
889 if GikoSys.ResRange <> range then begin
890 GikoSys.ResRange := range;
891 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
893 GikoForm.RepaintAllTabsBrowser();
896 // *************************************************************************
897 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
898 // *************************************************************************
899 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
901 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
902 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
904 GikoForm.ResRangeMenuSelect := 100;
905 OnlyAHundredResAction.Checked := True;
906 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
909 // *************************************************************************
910 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
911 // *************************************************************************
912 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
914 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
915 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
917 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
918 OnlyKokoResAction.Checked := True;
920 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
921 SetResRange(Ord( grrKoko ));
923 // *************************************************************************
924 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
925 // *************************************************************************
926 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
928 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
929 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
931 GikoForm.ResRangeMenuSelect := Ord( grrNew );
932 OnlyNewResAction.Checked := True;
934 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
935 SetResRange(Ord( grrNew ));
937 // *************************************************************************
938 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
939 // *************************************************************************
940 procedure TGikoDM.SetThreadAreaHorNormal;
942 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
943 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
944 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
945 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
946 GikoSys.Setting.ListWidthState := glsNormal;
948 // *************************************************************************
949 //!
\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@
950 // *************************************************************************
951 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
953 if GikoSys.Setting.ListWidthState = glsNormal then
954 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
956 if (gls = glsMax) then begin
957 GikoForm.ViewPanel.Width := 1;
958 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
959 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
960 GikoSys.Setting.ListWidthState := glsMax;
961 end else if (gls = glsMin) then begin
962 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
963 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
964 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
965 GikoSys.Setting.ListWidthState := glsMin;
968 // *************************************************************************
969 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
970 // *************************************************************************
971 procedure TGikoDM.SetThreadAreaVerNormal;
973 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
974 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
975 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
976 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
977 GikoSys.Setting.ListHeightState := glsNormal;
979 // *************************************************************************
980 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
981 // *************************************************************************
982 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
984 if GikoSys.Setting.ListHeightState = glsNormal then
985 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
986 if (gls = glsMin) then begin
987 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
988 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
989 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
990 GikoSys.Setting.ListHeightState := glsMin;
991 end else if (gls = glsMax) then begin
992 GikoForm.ViewPanel.Height := 1;
993 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
994 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
995 GikoSys.Setting.ListHeightState := glsMax;
998 // *************************************************************************
999 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
1000 // *************************************************************************
1001 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
1003 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1004 case GikoSys.Setting.ListWidthState of
1006 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1007 SetThreadAreaHorNormal;
1009 glsMin, glsNormal: begin
1010 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1011 SetThreadAreaHorizontal(glsMax);
1015 case GikoSys.Setting.ListHeightState of
1017 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1018 SetThreadAreaVerNormal;
1020 glsMin, glsNormal: begin
1021 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1022 SetThreadAreaVertical(glsMax);
1027 // *************************************************************************
1028 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1029 // *************************************************************************
1030 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1032 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1033 case GikoSys.Setting.ListWidthState of
1034 glsMax, glsNormal: begin
1035 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1036 SetThreadAreaHorizontal(glsMin);
1039 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1040 SetThreadAreaHorNormal;
1044 case GikoSys.Setting.ListHeightState of
1045 glsMax, glsNormal: begin
1046 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1047 SetThreadAreaVertical(glsMin);
1050 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1051 SetThreadAreaVerNormal;
1056 // *************************************************************************
1057 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1058 // *************************************************************************
1059 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1061 GikoForm.BrowserMovement('top');
1063 // *************************************************************************
1064 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1065 // *************************************************************************
1066 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1068 GikoForm.BrowserMovement('bottom');
1070 // *************************************************************************
1071 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1072 // *************************************************************************
1073 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1075 GikoForm.BrowserMovement('new');
1077 // *************************************************************************
1078 //!
\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é
1079 // *************************************************************************
1080 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1082 GikoForm.BrowserMovement('koko');
1084 // *************************************************************************
1085 //!
\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
1086 // *************************************************************************
1087 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1089 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1090 and (GikoForm.GetActiveContent.IsLogFile)
1091 and (GikoForm.GetActiveContent.Kokomade <> -1);
1093 // *************************************************************************
1094 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1095 // *************************************************************************
1096 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1098 Editor: TEditorForm;
1101 Item := GikoForm.GetActiveContent;
1102 if Item = nil then Exit;
1103 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1104 Editor.SetThreadItem(Item);
1106 Editor.BodyEdit.SetFocus;
1108 // *************************************************************************
1109 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1110 // *************************************************************************
1111 procedure TGikoDM.IEActionExecute(Sender: TObject);
1113 ShowThreadAction.Execute;
1115 // *************************************************************************
1116 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1117 // *************************************************************************
1118 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1120 ThreadItem: TThreadItem;
1122 ThreadItem := GikoForm.GetActiveContent;
1123 if ThreadItem = nil then Exit;
1124 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1126 // *************************************************************************
1127 //!
\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é
1128 // *************************************************************************
1129 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1131 ThreadItem: TThreadItem;
1133 ThreadItem := GikoForm.GetActiveContent;
1134 if ThreadItem = nil then Exit;
1135 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1137 // *************************************************************************
1138 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1139 // *************************************************************************
1140 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1145 if TObject(GikoForm.GetActiveContent) is TBoard then
1146 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1147 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1148 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1150 Clipboard.AsText := s;
1152 // *************************************************************************
1153 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1154 // *************************************************************************
1155 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1160 if TObject(GikoForm.GetActiveContent) is TBoard then
1161 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1162 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1163 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1165 Clipboard.AsText := s;
1167 // *************************************************************************
1168 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1169 // *************************************************************************
1170 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1175 if TObject(GikoForm.GetActiveContent) is TBoard then
1176 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1177 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1178 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1180 Clipboard.AsText := s;
1182 // *************************************************************************
1183 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1184 // *************************************************************************
1185 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1187 ThreadItem: TThreadItem;
1190 ThreadItem := GikoForm.GetActiveContent;
1191 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1192 if ThreadItem <> nil then
1193 GikoForm.DownloadContent(ThreadItem, shiftDown);
1195 // *************************************************************************
1196 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1197 // *************************************************************************
1198 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1202 idx := GikoForm.BrowserTab.TabIndex;
1203 if idx <> -1 then begin
1204 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1205 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1209 // *************************************************************************
1210 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1211 // *************************************************************************
1212 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1214 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1216 // *************************************************************************
1217 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1218 // *************************************************************************
1219 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1224 idx := GikoForm.BrowserTab.TabIndex;
1225 if idx = -1 then Exit;
1226 GikoForm.BrowserTab.Tabs.BeginUpdate;
1227 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1228 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1229 GikoForm.BrowserTab.Tabs.Delete(i);
1231 if idx > 0 then begin
1232 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1233 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1234 GikoForm.BrowserTab.Tabs.Delete(i);
1237 GikoForm.BrowserTab.Tabs.EndUpdate;
1239 // *************************************************************************
1240 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1241 // *************************************************************************
1242 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1244 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1246 // *************************************************************************
1247 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1248 // *************************************************************************
1249 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1253 if GikoSys.Setting.ShowDialogForAllTabClose then
1254 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
1257 GikoForm.ActiveContent := nil;
1258 GikoForm.BrowserNullTab.Thread := nil;
1259 GikoForm.BrowserTab.OnChange := nil;
1260 GikoForm.BrowserTab.Tabs.BeginUpdate;
1261 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1262 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1264 GikoForm.BrowserTab.Tabs.Clear;
1265 GikoForm.BrowserTab.Tabs.EndUpdate;
1266 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1267 GikoForm.SetContent(GikoForm.BrowserNullTab);
1268 GikoForm.Caption := CAPTION_NAME ;
1270 // *************************************************************************
1271 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1272 // *************************************************************************
1273 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1275 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';
1276 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1279 ThreadItem: TThreadItem;
1281 idx := GikoForm.BrowserTab.TabIndex;
1282 if idx <> -1 then begin
1283 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1284 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1285 if GikoSys.Setting.DeleteMsg then
1286 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1287 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1289 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1290 GikoForm.DeleteHistory(ThreadItem);
1291 ThreadItem.DeleteLogFile;
1292 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1293 GikoForm.ListView.Refresh;
1297 // *************************************************************************
1298 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1299 // *************************************************************************
1300 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1302 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1303 GikoForm.BrowserTab.TabIndex := 0;
1304 GikoForm.BrowserTab.OnChange(nil);
1307 // *************************************************************************
1308 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1309 // *************************************************************************
1310 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1312 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1313 LeftmostTabSelectActionUpdate(Sender);
1315 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1319 // *************************************************************************
1320 //!
\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
1321 // *************************************************************************
1322 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1324 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1325 and (GikoForm.BrowserTab.TabIndex <> 0);
1327 // *************************************************************************
1328 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1329 // *************************************************************************
1330 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1332 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1333 if GikoForm.BrowserTab.TabIndex = -1 then begin
1334 GikoForm.BrowserTab.TabIndex := 0;
1335 GikoForm.BrowserTab.OnChange(nil);
1336 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1337 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1338 GikoForm.BrowserTab.OnChange(nil);
1340 if (GikoSys.Setting.LoopBrowserTabs) and
1341 (GikoForm.BrowserTab.TabIndex = 0) then begin
1342 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1343 GikoForm.BrowserTab.OnChange(nil);
1348 // *************************************************************************
1349 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1350 // *************************************************************************
1351 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1353 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1354 if GikoForm.BrowserTab.TabIndex = -1 then begin
1355 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1356 GikoForm.BrowserTab.OnChange(nil);
1357 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1358 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1359 GikoForm.BrowserTab.OnChange(nil);
1361 if (GikoSys.Setting.LoopBrowserTabs) and
1362 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1363 GikoForm.BrowserTab.TabIndex := 0;
1364 GikoForm.BrowserTab.OnChange(nil);
1369 // *************************************************************************
1370 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1371 // *************************************************************************
1372 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1374 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1375 RightmostTabSelectActionUpdate(Sender);
1377 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1381 // *************************************************************************
1382 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1383 // *************************************************************************
1384 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1386 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1387 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1388 GikoForm.BrowserTab.OnChange(nil);
1391 // *************************************************************************
1392 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1393 // *************************************************************************
1394 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1396 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1397 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1400 // *************************************************************************
1401 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1402 // *************************************************************************
1403 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1405 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1406 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1408 // *************************************************************************
1409 //!
\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
1410 // *************************************************************************
1411 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1413 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1414 and (GikoForm.ListView.SelCount > 0);
1416 // *************************************************************************
1417 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1418 // *************************************************************************
1419 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1421 Dlg: TListSelectDialog;
1422 FilterList : TStringList;
1425 Dlg := TListSelectDialog.Create(GikoForm);
1427 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1428 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1430 if Dlg.ModalResult = mrOK then begin
1431 SelectResAction.Checked := True;
1432 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1433 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1434 ResRangeAction.Execute;
1436 GikoSys.ResRange := Ord( grrSelect );
1438 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1439 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1441 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1442 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1444 GikoSys.Setting.SelectTextList.Delete(idx);
1445 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1446 while Dlg.SelectComboBox.Items.Count > 100 do begin
1447 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1451 if GikoForm.SelectComboBoxPanel.Visible then
1452 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1456 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1457 FilterList := TStringList.Create;
1459 GikoSys.FSelectResFilter.Reverse := True;
1460 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1461 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1463 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1467 GikoForm.RepaintAllTabsBrowser();
1470 //
\83L
\83\83\83\93\83Z
\83\8b
1471 if GikoSys.ResRange <> Ord( grrSelect ) then
1472 ResRangeAction.Execute;
1479 // *************************************************************************
1480 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1481 // *************************************************************************
1482 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1484 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1485 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1487 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1488 AllResAction.Checked := True;
1490 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1491 SetResRange(Ord( grrAll ));
1493 // *************************************************************************
1494 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1495 // *************************************************************************
1496 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1498 case GikoForm.ResRangeMenuSelect of
1499 Ord( grrAll ): AllResAction.Execute;
1500 Ord( grrKoko ): OnlyKokoResAction.Execute;
1501 Ord( grrNew ): OnlyNewResAction.Execute;
1502 100: OnlyAHundredResAction.Execute;
1506 // *************************************************************************
1507 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1508 // *************************************************************************
1509 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1511 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1513 // *************************************************************************
1514 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1515 // *************************************************************************
1516 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1522 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
1523 str := ZenToHan(str);
1524 res := StrToIntDef(str, -1);
1525 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1526 GikoForm.ActiveContent.Move(IntToStr(res));
1527 SetFocusForBrowserAction.Execute;
1528 end else if res > GikoForm.GetActiveContent.Count then begin
1529 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1530 SetFocusForBrowserAction.Execute;
1534 // *************************************************************************
1535 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1536 // *************************************************************************
1537 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1542 idx := GikoForm.BrowserTab.TabIndex;
1543 if idx = -1 then Exit;
1544 GikoForm.BrowserTab.Tabs.BeginUpdate;
1545 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1546 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1547 GikoForm.BrowserTab.Tabs.Delete(i);
1549 GikoForm.BrowserTab.Tabs.EndUpdate;
1551 // *************************************************************************
1552 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1553 // *************************************************************************
1554 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1556 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1558 // *************************************************************************
1559 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1560 // *************************************************************************
1561 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1566 idx := GikoForm.BrowserTab.TabIndex;
1567 if idx = -1 then Exit;
1568 GikoForm.BrowserTab.Tabs.BeginUpdate;
1569 if idx > 0 then begin
1570 for i := idx - 1 downto 0 do begin
1571 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1572 GikoForm.BrowserTab.Tabs.Delete(i);
1575 GikoForm.BrowserTab.Tabs.EndUpdate;
1577 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1578 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1580 // 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
1581 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1582 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1583 TDefaultFileManager.CopyDefaultFiles(
1584 GikoSys.GetAppDir + 'defaultFiles.ini');
1586 // *************************************************************************
1587 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1588 // *************************************************************************
1589 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1594 if GikoForm.SearchDialog = nil then begin
1595 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1596 chk := GikoForm.GetActiveList
1600 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1601 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1605 GikoForm.SearchDialog.Show;
1609 // *************************************************************************
1610 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1611 // *************************************************************************
1612 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1616 Dlg := TOptionDialog.Create(GikoForm);
1623 // *************************************************************************
1624 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1625 // *************************************************************************
1626 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1630 Dlg := TRoundDialog.Create(GikoForm);
1637 // *************************************************************************
1638 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1639 // *************************************************************************
1640 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1642 Dlg: TKeySettingForm;
1644 Dlg := TKeySettingForm.Create(GikoForm);
1646 if Dlg.ShowModal = mrOk then begin
1647 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1648 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1649 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1654 MouseGesture.UnHook;
1655 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1656 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1657 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1658 if GikoSys.Setting.GestureEnabled then begin
1659 GikoSys.Setting.Gestures.ClearGesture;
1660 GikoSys.Setting.Gestures.LoadGesture(
1661 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1662 MouseGesture.SetHook( GikoForm.Handle );
1666 // *************************************************************************
1667 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1668 // *************************************************************************
1669 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1671 Dlg: TKotehanDialog;
1673 Dlg := TKotehanDialog.Create(GikoForm);
1680 // *************************************************************************
1681 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1682 // *************************************************************************
1683 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1685 Dlg: TToolBarSettingDialog;
1688 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1690 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1691 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1692 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1693 case GikoForm.ToolBarSettingSender of
1694 tssMain: Dlg.ToolBarIndex := 0;
1695 tssList: Dlg.ToolBarIndex := 1;
1696 tssBrowser: Dlg.ToolBarIndex := 2;
1698 if Dlg.ShowModal = mrOK then begin
1699 GikoForm.SetToolBarPopup;
1701 //
\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é
1702 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1703 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1704 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1705 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1706 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1708 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1709 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1710 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1711 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1712 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1714 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1715 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1716 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1717 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1718 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1721 SaveToolBarSetting(GikoForm.StdToolBar);
1722 SaveToolBarSetting(GikoForm.ListToolBar);
1723 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1724 GikoForm.SetSelectComboBox;
1725 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1726 SaveToolBarSetting(GikoForm.BrowserToolBar);
1730 GikoForm.ToolBarSettingSender := tssNone;
1733 // *************************************************************************
1734 //!
\83~
\83\85\81[
\83g
1735 // *************************************************************************
1736 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1738 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1740 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1741 // *************************************************************************
1742 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1743 // *************************************************************************
1744 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1747 TmpTreeNode: TTreeNode;
1749 TmpTreeNode := GikoForm.ClickNode;
1750 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1753 if TObject(TmpTreeNode.Data) is TBoard then
1754 Board := TBoard(TmpTreeNode.Data)
1755 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1756 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1758 if Board <> nil then
1759 GikoForm.DownloadList(Board);
1761 // *************************************************************************
1762 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1763 // *************************************************************************
1764 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1766 ThreadItem: TThreadItem;
1767 TmpTreeNode: TTreeNode;
1769 TmpTreeNode := GikoForm.ClickNode;
1770 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1773 if TObject(TmpTreeNode.Data) is TThreadItem then
1774 ThreadItem := TThreadItem(TmpTreeNode.Data)
1775 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1776 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1778 if ThreadItem <> nil then
1779 GikoForm.DownloadContent(ThreadItem);
1781 // *************************************************************************
1782 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1783 // *************************************************************************
1784 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1786 TmpTreeNode: TTreeNode;
1789 TmpTreeNode := GikoForm.ClickNode;
1790 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1791 if TObject(TmpTreeNode.Data) is TBoard then begin
1792 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1793 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1794 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1795 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1796 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1797 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1798 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1800 Clipboard.AsText := s;
1802 // *************************************************************************
1803 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1804 // *************************************************************************
1805 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1807 TmpTreeNode: TTreeNode;
1810 TmpTreeNode := GikoForm.ClickNode;
1811 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1812 if TObject(TmpTreeNode.Data) is TBoard then begin
1813 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1814 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1815 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1816 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1817 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1818 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1819 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1821 Clipboard.AsText := s;
1823 // *************************************************************************
1824 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1825 // *************************************************************************
1826 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1828 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1830 // *************************************************************************
1831 //!
\94Â
\96¼
\8c\9f\8dõ
1832 // *************************************************************************
1833 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1837 CurItem : TTreeNode;
1840 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1843 if GikoForm.TreeView.Selected = nil then
1844 CurItem := GikoForm.TreeView.Items.GetFirstNode
1846 CurItem := GikoForm.TreeView.Selected.GetNext;
1847 if CurItem = nil then
1848 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1850 while CurItem <> nil do begin
1851 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1854 CurItem := CurItem.GetNext;
1857 if CurItem = nil then begin
1858 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1859 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1860 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1864 GikoForm.TreeView.Select(CurItem);
1865 GikoForm.TreeView.SetFocus;
1867 GikoForm.TreeView.Select(CurItem);
1868 GikoForm.TreeView.SetFocus;
1869 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1870 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1883 // *************************************************************************
1884 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1885 // *************************************************************************
1886 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1890 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1891 s := GikoForm.ClickNode.Text;
1892 Clipboard.AsText := s;
1894 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1895 // *************************************************************************
1896 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1897 // *************************************************************************
1898 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1903 if GikoSys.Dolib.Connected then begin
1904 //
\83\8d\83O
\83A
\83E
\83g
1905 GikoSys.Dolib.Disconnect;
1906 LoginAction.Checked := False;
1907 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1908 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1910 TmpCursor := GikoForm.ScreenCursor;
1911 GikoForm.ScreenCursor := crHourGlass;
1913 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1914 if not GikoSys.Setting.ForcedLogin then begin
1915 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1916 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1917 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1918 if GikoSys.Setting.ReadProxy then begin
1919 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1920 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1922 GikoSys.Dolib.ProxyAddress := '';
1923 GikoSys.Dolib.ProxyPort := 0;
1925 if GikoSys.Dolib.Connect then begin
1926 LoginAction.Checked := True;
1927 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1928 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1929 //LoginToolButton.Style := tbsCheck;
1931 // 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);
1932 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1933 GikoForm.PlaySound('Error');
1934 LoginAction.Checked := False;
1935 //LoginToolButton.Down := False;
1936 ///LoginToolButton.Style := tbsButton;
1939 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
1940 + '
\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
1941 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1942 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1943 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1944 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1945 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1946 if GikoSys.Setting.ReadProxy then begin
1947 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1948 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1950 GikoSys.Dolib.ProxyAddress := '';
1951 GikoSys.Dolib.ProxyPort := 0;
1953 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1954 GikoSys.Dolib.ForcedConnect;
1955 if GikoSys.Dolib.Connect then begin
1956 LoginAction.Checked := True;
1957 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1958 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1959 //LoginToolButton.Style := tbsCheck;
1961 // MsgBox(Handle, '
\83\8d\83O
\83C
\83\93\8fo
\97\88\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½', '
\83G
\83\89\81[', MB_OK or MB_ICONSTOP);
1962 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1963 GikoForm.PlaySound('Error');
1964 LoginAction.Checked := False;
1965 //LoginToolButton.Down := False;
1966 //LoginToolButton.Style := tbsButton;
1969 LoginAction.Checked := False;
1970 //LoginToolButton.Down := False;
1971 //LoginToolButton.Style := tbsButton;
1975 GikoForm.ScreenCursor := TmpCursor;
1979 // *************************************************************************
1980 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1981 // *************************************************************************
1982 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
1984 Dlg: TNewBoardDialog;
1987 if (EditorFormExists) then begin
1988 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
1989 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
1992 Dlg := TNewBoardDialog.Create(GikoForm);
1999 // *************************************************************************
2000 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
2001 // *************************************************************************
2002 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
2004 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';
2005 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';
2006 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2008 ThreadItem: TThreadItem;
2009 TmpListItem: TListItem;
2013 List := TList.Create;
2015 TmpListItem := GikoForm.ListView.Selected;
2016 while TmpListItem <> nil do begin
2017 if TObject(TmpListItem.Data) is TThreadItem then begin
2018 ThreadItem := TThreadItem(TmpListItem.Data);
2019 if ThreadItem.IsLogFile then
2020 List.Add(ThreadItem);
2022 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2025 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2026 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2027 if List.Count = 1 then begin
2028 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
2031 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
2037 for i := 0 to List.Count - 1 do begin
2038 ThreadItem := TThreadItem(List[i]);
2039 GikoForm.DeleteHistory(ThreadItem);
2040 GikoForm.DeleteTab(ThreadItem);
2041 ThreadItem.DeleteLogFile;
2043 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2045 GikoForm.ListView.Refresh;
2050 // *************************************************************************
2051 //! 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Ê
2052 // *************************************************************************
2053 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2055 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2056 and (GikoForm.ListView.SelCount > 0);
2058 // *************************************************************************
2059 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2060 // *************************************************************************
2061 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2063 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';
2064 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2066 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2067 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2069 GikoSys.Setting.SelectTextList.Clear;
2070 GikoForm.SelectComboBox.Items.Clear;
2071 GikoForm.SelectComboBox.Text := '';
2072 GikoForm.SetListViewType( gvtAll );
2074 // *************************************************************************
2075 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2076 // *************************************************************************
2077 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2079 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';
2080 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2082 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2083 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2085 GikoSys.Setting.NameList.Clear;
2086 ClearNameTextAllEditor
2088 // *************************************************************************
2089 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2090 // *************************************************************************
2091 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2093 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';
2094 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2096 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2097 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2099 GikoSys.Setting.MailList.Clear;
2102 // *************************************************************************
2103 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2104 // *************************************************************************
2105 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2109 // *************************************************************************
2110 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2111 // *************************************************************************
2112 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2114 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2116 // *************************************************************************
2117 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2118 // *************************************************************************
2119 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2121 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2122 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2124 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2127 // *************************************************************************
2128 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2129 // *************************************************************************
2130 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2137 List := TList.Create;
2139 GikoForm.ScreenCursor := crHourGlass;
2140 GikoForm.SelectListItem(List);
2141 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2142 (GikoSys.Setting.ListHeightState = glsMax)) or
2143 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2144 (GikoSys.Setting.ListWidthState = glsMax)) then
2145 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2146 else if(List.Count = 0) then
2147 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2150 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2151 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2153 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2154 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2156 for i := 0 to List.Count - 1 do begin
2157 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2159 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2161 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2163 if SaveDialog.Execute then begin
2165 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2166 PChar(SaveDialog.FileName), true);
2168 html := TStringList.Create;
2169 title := TThreadItem(List[i]).Title;
2171 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2172 html.SaveToFile(SaveDialog.FileName);
2173 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2183 GikoForm.ScreenCursor := crDefault;
2187 // *************************************************************************
2188 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2189 // *************************************************************************
2190 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2192 SelectThreadSaveToFile(false);
2194 // *************************************************************************
2195 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2196 // *************************************************************************
2197 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2199 SelectThreadSaveToFile(true);
2201 // *************************************************************************
2202 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2203 // *************************************************************************
2204 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2206 Filename = 'tab.sav';
2207 bFilename = '~tab.sav';
2209 SaveStringList: TStringList;
2211 SaveStringList := TStringList.Create;
2213 GetTabURLs(SaveStringList);
2215 if FileExists( GikoSys.GetAppDir + Filename) then begin
2216 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2217 PChar(GikoSys.GetAppDir + bFilename), False);
2221 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2223 SaveStringList.Free;
2226 // *************************************************************************
2227 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2228 // *************************************************************************
2229 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2231 rec : TBrowserRecord;
2234 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2236 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2237 if( rec <> nil) and (rec.Thread <> nil) then
2238 AStringList.Add( rec.Thread.URL );
2243 // *************************************************************************
2244 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2245 // *************************************************************************
2246 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2248 GikoTab : TGikoTabAppend;
2252 if (AStringList <> nil) then begin
2253 GikoTab := GikoSys.Setting.BrowserTabAppend;
2255 bound := AStringList.Count - 1;
2256 if bound > -1 then begin
2257 GikoSys.Setting.BrowserTabAppend := gtaLast;
2258 for i := 0 to bound do begin
2259 item := BBSsFindThreadFromURL( AStringList[ i ] );
2261 GikoForm.InsertBrowserTab( item, false );
2263 //
\8dÅ
\8f\89\82Ì
\82P
\96\87\82É
\90Ý
\92è
\83A
\83h
\83\8c\83X
\82Ì
\90Ý
\92è
\82Ì
\82½
\82ß
\82Ì
\83J
\83\89\8cÄ
\82Ñ
2264 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
2265 GikoForm.BrowserTab.OnChange(nil);
2269 GikoSys.Setting.BrowserTabAppend := GikoTab;
2273 // *************************************************************************
2274 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2275 // *************************************************************************
2276 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2278 TABFILE = 'tab.sav';
2283 URLs := TStringList.Create();
2285 fileName := ExtractFilePath(Application.ExeName) + TABFILE;
2286 if FileExists(fileName) then begin
2288 URLs.LoadFromFile(fileName);
2289 if (URLs.Count = 0) then begin
2290 //
\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
2291 SysUtils.DeleteFile(fileName);
2296 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2303 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2304 (TabsOpenAction.Tag <> 1) then begin
2305 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2308 // *************************************************************************
2309 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2310 // *************************************************************************
2311 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2313 GikoSys.Setting.BeLogin := not GikoSys.Setting.BeLogin;
2315 // *************************************************************************
2316 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
2317 // *************************************************************************
2318 procedure TGikoDM.BeLogInOutActionUpdate(Sender: TObject);
2320 if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
2321 if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
2322 else BeLogInOutAction.Checked := false;
2323 BeLogInOutAction.Enabled := true
2325 BeLogInOutAction.Enabled := false;
2327 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2328 // *************************************************************************
2329 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2330 // *************************************************************************
2331 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2334 ThreadItem: TThreadItem;
2336 No := GikoForm.KokoPopupMenu.Tag;
2337 if No = 0 then Exit;
2338 ThreadItem := GikoForm.GetActiveContent;
2339 if ThreadItem = nil then Exit;
2340 ThreadItem.Kokomade := No;
2341 GikoForm.ActiveContent.Thread.ScrollTop :=
2342 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2343 GikoForm.ActiveContent.Repaint := true;
2344 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2345 //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é
2346 //Application.ProcessMessages;
2348 // *************************************************************************
2349 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2350 // *************************************************************************
2351 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2353 ThreadItem: TThreadItem;
2355 ThreadItem := GikoForm.GetActiveContent;
2356 if ThreadItem = nil then Exit;
2357 ThreadItem.Kokomade := -1;
2358 GikoForm.ActiveContent.Thread.ScrollTop :=
2359 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2360 GikoForm.ActiveContent.Repaint := true;
2361 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2362 //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é
2363 //Application.ProcessMessages;
2365 // *************************************************************************
2366 //!
\83R
\83R
\82É
\83\8c\83X
2367 // *************************************************************************
2368 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2370 Editor: TEditorForm;
2374 Number := GikoForm.KokoPopupMenu.Tag;
2375 if Number = 0 then Exit;
2376 Item := GikoForm.GetActiveContent;
2377 if Item = nil then Exit;
2379 Editor := TEditorForm.Create(GikoForm);
2380 Editor.SetThreadItem(Item);
2381 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2383 Editor.BodyEdit.SetFocus;
2385 // *************************************************************************
2386 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2387 // *************************************************************************
2388 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2390 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2392 // *************************************************************************
2393 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2394 // *************************************************************************
2395 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2399 ThreadItem : TThreadItem;
2404 No := GikoForm.KokoPopupMenu.Tag;
2405 if No = 0 then Exit;
2406 ThreadItem := GikoForm.GetActiveContent;
2407 if ThreadItem = nil then Exit;
2408 count := GikoSys.GetSameIDResCount(No, GikoForm.ActiveContent.Thread);
2410 if count > LIMIT then begin
2411 if ( GikoUtil.MsgBox(GikoForm.Handle,
2412 IntToStr(LIMIT) + '
\8cÂ
\88È
\8fã
\82 \82è
\82Ü
\82·
\82ª
\81A
\82·
\82×
\82Ä
\95\
\8e¦
\82µ
\82Ü
\82·
\82©
\81H',
2413 'ID
\83|
\83b
\83v
\83A
\83b
\83v
\8cx
\8d\90',
2414 MB_YESNO or MB_ICONQUESTION) = ID_YES ) then begin
2418 body := GikoSys.GetSameIDResAnchor(No, ThreadItem, limited);
2419 GikoForm.ActiveContent.IDAnchorPopup(body);
2421 // *************************************************************************
2422 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2423 // *************************************************************************
2424 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2426 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2428 // *************************************************************************
2429 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2430 // *************************************************************************
2431 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2433 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2435 // *************************************************************************
2436 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2437 // *************************************************************************
2438 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2440 IndividualForm :TIndividualAbonForm;
2441 ThreadItem : TThreadItem;
2443 ReadList : TStringList;
2444 wordCount : TWordCount;
2446 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2448 ThreadItem := GikoForm.GetActiveContent;
2449 ThreadItem.ScrollTop :=
2450 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2451 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2452 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2453 ReadList := TStringList.Create;
2454 wordCount := TWordCount.Create;
2456 {$IFDEF SPAM_FILTER_ENABLED}
2457 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2458 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2459 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2460 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2461 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2463 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2464 GikoForm.ActiveContent.Repaint := true;
2465 GikoForm.InsertBrowserTab( ThreadItem, True );
2472 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2473 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2477 IndividualForm.Release;
2480 // *************************************************************************
2481 //!
\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
2482 // *************************************************************************
2483 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2485 IndividualForm :TIndividualAbonForm;
2486 ThreadItem : TThreadItem;
2488 ReadList : TStringList;
2489 wordCount : TWordCount;
2490 {$IFDEF SPAM_FILTER_ENABLED}
2494 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2496 ThreadItem := GikoForm.GetActiveContent;
2497 ThreadItem.ScrollTop :=
2498 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2499 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2500 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2501 if (IndividualForm.ShowModal = mrOK) then begin
2502 ReadList := TStringList.Create;
2503 wordCount := TWordCount.Create;
2505 {$IFDEF SPAM_FILTER_ENABLED}
2506 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2507 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2508 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2509 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2510 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2511 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2514 if IndividualForm.FRepaint then begin
2515 GikoForm.ActiveContent.Repaint := true;
2516 GikoForm.InsertBrowserTab( ThreadItem, True );
2524 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2525 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2529 IndividualForm.Release;
2532 // *************************************************************************
2533 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2534 // *************************************************************************
2535 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2537 GikoForm.IndividualAbonID(1);
2539 // *************************************************************************
2540 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2541 // *************************************************************************
2542 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2544 GikoForm.IndividualAbonID(0);
2546 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2547 // *************************************************************************
2548 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2549 // *************************************************************************
2550 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2552 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2554 // *************************************************************************
2555 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2556 // *************************************************************************
2557 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2559 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2561 // *************************************************************************
2562 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2563 // *************************************************************************
2564 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2566 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2568 // *************************************************************************
2569 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2570 // *************************************************************************
2571 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2573 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2575 // *************************************************************************
2576 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2577 // *************************************************************************
2578 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2582 Dlg := TAboutDialog.Create(GikoForm);
2589 // *************************************************************************
2590 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2591 // *************************************************************************
2592 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2596 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2597 if not FileExists(FileName) then begin
2600 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2601 '
\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 +
2602 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2607 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2609 // *************************************************************************
2610 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2611 // *************************************************************************
2612 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2614 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2616 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2617 // *************************************************************************
2618 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2619 // *************************************************************************
2620 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2622 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2623 GikoForm.ListView.Refresh;
2625 // *************************************************************************
2626 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2627 // *************************************************************************
2628 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2630 if GikoForm.GetActiveList is TBoard then begin
2631 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2632 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2633 end else if GikoForm.GetActiveList is TCategory then begin
2634 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2637 // *************************************************************************
2638 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2639 // *************************************************************************
2640 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2642 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS);
2644 // *************************************************************************
2645 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2646 // *************************************************************************
2647 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2649 case GikoForm.ListView.ViewStyle of
2650 vsIcon: SmallIconAction.Execute;
2651 vsSmallIcon: ListIconAction.Execute;
2652 vsList: DetailIconAction.Execute;
2653 vsReport: LargeIconAction.Execute;
2656 // *************************************************************************
2657 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2658 // *************************************************************************
2659 procedure TGikoDM.ClearSelectComboBox;
2661 if GikoForm.SelectComboBoxPanel.Visible then begin
2662 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2663 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2664 GikoForm.ListView.SetFocus;
2667 // *************************************************************************
2668 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2669 // *************************************************************************
2670 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2673 if GikoForm.ViewType <> gvtAll then
2674 GikoForm.SetListViewType(gvtAll);
2675 GikoSys.Setting.ThreadRange := gtrAll;
2676 AllItemAction.Checked := True;
2677 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2678 GikoForm.ModifySelectList;
2679 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2680 ClearSelectComboBox;
2684 // *************************************************************************
2685 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2686 // *************************************************************************
2687 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2690 if GikoForm.ViewType <> gvtLog then
2691 GikoForm.SetListViewType(gvtLog);
2692 GikoSys.Setting.ThreadRange := gtrLog;
2693 LogItemAction.Checked := True;
2694 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2695 GikoForm.ModifySelectList;
2696 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2697 ClearSelectComboBox;
2701 // *************************************************************************
2702 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2703 // *************************************************************************
2704 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2708 if GikoForm.ViewType <> gvtNew then
2709 GikoForm.SetListViewType(gvtNew);
2710 GikoSys.Setting.ThreadRange := gtrNew;
2711 NewItemAction.Checked := True;
2712 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2713 GikoForm.ModifySelectList;
2714 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2715 ClearSelectComboBox;
2719 // *************************************************************************
2720 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2721 // *************************************************************************
2722 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2725 if GikoForm.ViewType <> gvtArch then
2726 GikoForm.SetListViewType(gvtArch);
2727 GikoSys.Setting.ThreadRange := gtrArch;
2728 ArchiveItemAction.Checked := True;
2729 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2730 GikoForm.ModifySelectList;
2731 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2732 ClearSelectComboBox;
2736 // *************************************************************************
2737 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2738 // *************************************************************************
2739 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2742 if GikoForm.ViewType <> gvtLive then
2743 GikoForm.SetListViewType(gvtLive);
2744 GikoSys.Setting.ThreadRange := gtrLive;
2745 LiveItemAction.Checked := True;
2746 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2747 GikoForm.ModifySelectList;
2748 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2749 ClearSelectComboBox;
2754 // *************************************************************************
2755 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2756 // *************************************************************************
2757 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2759 case GikoSys.Setting.ThreadRange of
2760 gtrAll: AllItemAction.Execute;
2761 gtrLog: LogItemAction.Execute;
2762 gtrNew: NewItemAction.Execute;
2763 gtrArch: ArchiveItemAction.Execute;
2764 gtrLive: LiveItemAction.Execute;
2767 // *************************************************************************
2768 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2769 // *************************************************************************
2770 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2773 Dlg: TListSelectDialog;
2776 if GikoForm.SelectComboBoxPanel.Visible then begin
2777 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2778 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2779 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2780 if GikoSys.Setting.ListWidthState = glsMax then
2781 BrowserMinAction.Execute;
2783 if GikoSys.Setting.ListHeightState = glsMax then
2784 BrowserMinAction.Execute;
2786 GikoForm.SelectComboBox.SetFocus;
2793 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2794 GikoForm.SelectComboBox.Text := '';
2795 GikoForm.SelectComboBox.Color := clWindow;
2798 AllItemAction.Checked := False;
2799 LogItemAction.Checked := False;
2800 NewItemAction.Checked := False;
2801 //SelectItemAction.Checked := True;
2802 GikoForm.ModifySelectList;
2803 Dlg := TListSelectDialog.Create(GikoForm);
2805 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2806 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2808 if Dlg.ModalResult = mrCancel then begin
2809 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2810 AllItemAction.Checked := True;
2811 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2812 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2815 if GikoForm.GetActiveList is TBoard then
2816 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2818 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2820 GikoSys.Setting.SelectTextList.Delete(idx);
2821 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2822 while Dlg.SelectComboBox.Items.Count > 100 do begin
2823 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2826 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2827 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2828 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2830 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2831 GikoForm.SelectComboBox.Color := clWindow;
2833 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2839 // *************************************************************************
2840 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2841 // *************************************************************************
2842 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2844 Editor: TEditorForm;
2846 if not (GikoForm.GetActiveList is TBoard) then
2848 Editor := TEditorForm.Create(GikoForm);
2849 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2851 Editor.BodyEdit.SetFocus;
2853 // *************************************************************************
2854 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2855 // *************************************************************************
2856 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2860 if GikoForm.GetActiveList is TBoard then begin
2861 URL := TBoard(GikoForm.GetActiveList).URL;
2862 GikoSys.OpenBrowser(URL, gbtAuto);
2865 // *************************************************************************
2866 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2867 // *************************************************************************
2868 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2875 List := TList.Create;
2877 GikoForm.SelectListItem(List);
2878 for i := 0 to List.Count - 1 do begin
2879 if TObject(List[i]) is TBoard then
2880 s := s + TBoard(List[i]).URL + #13#10
2881 else if TObject(List[i]) is TThreadItem then
2882 s := s + TThreadItem(List[i]).URL + #13#10;
2885 Clipboard.AsText := s;
2890 // *************************************************************************
2891 //!
\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
2892 // *************************************************************************
2893 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2895 if ((GikoForm.GetActiveList is TBoard) or
2896 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2897 TAction(Sender).Enabled := True
2899 TAction(Sender).Enabled := False;
2901 // *************************************************************************
2902 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2903 // *************************************************************************
2904 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2911 List := TList.Create;
2913 GikoForm.SelectListItem(List);
2914 for i := 0 to List.Count - 1 do begin
2915 if TObject(List[i]) is TCategory then
2916 s := s + TCategory(List[i]).Title + #13#10
2917 else if TObject(List[i]) is TBoard then
2918 s := s + TBoard(List[i]).Title + #13#10
2919 else if TObject(List[i]) is TThreadItem then
2920 s := s + TThreadItem(List[i]).Title + #13#10;
2923 Clipboard.AsText := s;
2928 // *************************************************************************
2929 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2930 // *************************************************************************
2931 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2933 if ((GikoForm.GetActiveList is TBBS) or
2934 (GikoForm.GetActiveList is TBoard) or
2935 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2936 TAction(Sender).Enabled := True
2938 TAction(Sender).Enabled := False;
2940 // *************************************************************************
2941 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2942 // *************************************************************************
2943 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2950 List := TList.Create;
2952 GikoForm.SelectListItem(List);
2953 for i := 0 to List.Count - 1 do begin
2954 if TObject(List[i]) is TBoard then
2955 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2956 else if TObject(List[i]) is TThreadItem then
2957 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
2960 Clipboard.AsText := s;
2965 // *************************************************************************
2966 //!
\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é
2967 // *************************************************************************
2968 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
2975 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2976 GikoForm.ActiveListColumnSave;
2977 if GikoForm.GetActiveList is TCategory then begin
2978 List := TList.Create;
2980 GikoForm.SelectListItem(List);
2981 if List.Count > 5 then begin
2982 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
2983 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
2984 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
2987 for i := 0 to List.Count - 1 do begin
2988 if TObject(List[i]) is TBoard then
2989 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
2994 end else if GikoForm.GetActiveList is TBoard then begin
2995 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
2998 // *************************************************************************
2999 //!
\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
3000 // *************************************************************************
3001 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
3003 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3004 TAction(Sender).Enabled := True
3005 else if GikoForm.GetActiveList is TBoard then
3006 TAction(Sender).Enabled := True
3008 TAction(Sender).Enabled := False;
3010 // *************************************************************************
3011 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3012 // *************************************************************************
3013 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3020 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3021 List := TList.Create;
3023 GikoForm.SelectListItem(List);
3024 if List.Count > 10 then begin
3025 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3026 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3027 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3030 for i := 0 to List.Count - 1 do begin
3031 if TObject(List[i]) is TThreadItem then
3032 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3038 // *************************************************************************
3039 //!
\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
3040 // *************************************************************************
3041 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3043 TAction(Sender).Enabled :=
3044 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3046 // *************************************************************************
3047 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3048 // *************************************************************************
3049 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3051 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3052 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3054 // *************************************************************************
3055 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3056 // *************************************************************************
3057 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3062 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3063 List := TList.Create;
3065 GikoForm.SelectListItem(List);
3066 for i := 0 to List.Count - 1 do begin
3067 if TObject(List[i]) is TThreadItem then begin
3068 if TThreadItem(List[i]).IsLogFile then begin
3069 SelectReservAction.Enabled := True;
3074 SelectReservAction.Enabled := False;
3078 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3079 SelectReservAction.Enabled := True
3081 SelectReservAction.Enabled := False;
3083 // *************************************************************************
3084 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3085 // *************************************************************************
3086 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3089 Dlg: TRoundNameDialog;
3093 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3094 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3097 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3098 cnt := RoundList.Count[grtBoard];
3099 cnt := cnt + RoundList.Count[grtItem];
3100 if cnt > 500 then begin
3101 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3105 Dlg := TRoundNameDialog.Create(GikoForm);
3108 if Dlg.ModalResult <> mrCancel then begin
3109 s := Trim(Dlg.RoundNameEdit.Text);
3110 if (Sender is TMenuItem) then begin
3111 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3112 end else if (Sender is TAction) then begin
3113 if (GikoForm.ListView.Selected <> nil) then begin
3114 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3115 GikoForm.SetSelectItemRound(True, s,
3116 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3117 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3118 GikoForm.SetSelectItemRound(True, s,
3119 TBoard(GikoForm.ListView.Selected.Data).Title);
3123 GikoForm.ListView.Refresh;
3129 // *************************************************************************
3130 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3131 // *************************************************************************
3132 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3136 if (Sender is TMenuItem) then begin
3138 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3141 end else if (Sender is TAction) then begin
3143 if GikoForm.ListView.Selected <> nil then begin
3144 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3145 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3146 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3147 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3149 GikoForm.SetSelectItemRound(False, '', s);
3155 GikoForm.ListView.Refresh;
3157 // *************************************************************************
3158 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3159 // *************************************************************************
3160 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3162 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3163 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3165 // *************************************************************************
3166 //!
\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
3167 // *************************************************************************
3168 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3170 BoardFavoriteAddAction.Enabled :=
3171 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3173 // *************************************************************************
3174 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3175 // *************************************************************************
3176 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3180 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3181 (GikoSys.Setting.ListHeightState = glsMax)) or
3182 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3183 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3184 if(GikoForm.GetActiveContent <> nil) then begin
3185 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3187 end else if GikoForm.GetActiveList is TCategory then begin
3188 List := TList.Create;
3190 GikoForm.SelectListItem(List);
3191 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3195 end else if GikoForm.GetActiveList is TBoard then begin
3196 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3200 // *************************************************************************
3201 //! 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Ê
3202 // *************************************************************************
3203 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3205 if ((GikoForm.GetActiveList is TBoard) or (GikoForm.GetActiveList is TCategory))
3206 and (GikoForm.ListView.SelCount > 0) then
3207 TAction(Sender).Enabled := True
3209 TAction(Sender).Enabled := False;
3211 // *************************************************************************
3212 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3213 // *************************************************************************
3214 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3216 RefURL, URL : string;
3220 if GikoForm.GetActiveList is TCategory then begin
3221 List := TList.Create;
3223 GikoForm.SelectListItem(List);
3224 RefURL := TBoard(List[0]).URL;
3228 end else if GikoForm.GetActiveList is TBoard then begin
3229 RefURL := TBoard(GikoForm.GetActiveList).URL
3231 if RefURL <> '' then begin
3232 if RefURL[Length(RefURL)] <> '/' then
3233 URL := RefURL + '/' + 'head.txt'
3235 URL := RefURL + 'head.txt';
3237 GikoForm.MoveToURL(URL);
3239 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3243 // *************************************************************************
3244 //!
\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é
3245 // *************************************************************************
3246 function TGikoDM.GetSortProperties(List: TObject;
3247 var vSortOrder: Boolean): Boolean;
3250 if (List <> nil) then begin
3251 if (List is TBBS) then begin
3252 vSortOrder := GikoSys.Setting.BBSSortOrder;
3253 end else if (List is TCategory) then begin
3254 vSortOrder := GikoSys.Setting.CategorySortOrder;
3255 end else if (List is TBoard) then begin
3256 vSortOrder := GikoSys.Setting.BoardSortOrder;
3264 // *************************************************************************
3265 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3266 // *************************************************************************
3267 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3272 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3273 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3274 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3275 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3277 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3278 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3285 // *************************************************************************
3286 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3287 // *************************************************************************
3288 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3292 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3293 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3294 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3296 if id > GikoForm.ListView.Columns.Count - 1 then
3298 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3299 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3305 // *************************************************************************
3306 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3307 // *************************************************************************
3308 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3312 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3313 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3314 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3317 id := GikoForm.ListView.Columns.Count - 1;
3318 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3319 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3325 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3326 // *************************************************************************
3327 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3328 // *************************************************************************
3329 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3331 CoolBand: TCoolBand;
3333 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3334 if CoolBand = nil then
3336 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3337 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3338 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3340 // *************************************************************************
3341 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3342 // *************************************************************************
3343 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3345 CoolBand: TCoolBand;
3347 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3348 if CoolBand = nil then
3350 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3351 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3352 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3354 // *************************************************************************
3355 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3356 // *************************************************************************
3357 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3359 CoolBand: TCoolBand;
3361 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3362 if CoolBand = nil then
3364 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3365 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3366 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3368 // *************************************************************************
3369 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3370 // *************************************************************************
3371 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3373 CoolBand: TCoolBand;
3375 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3376 if CoolBand = nil then
3378 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3379 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3381 // *************************************************************************
3382 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3383 // *************************************************************************
3384 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3386 CoolBand: TCoolBand;
3388 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3389 if CoolBand = nil then
3391 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3392 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3394 // *************************************************************************
3395 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3396 // *************************************************************************
3397 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3399 CoolBand: TCoolBand;
3401 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3402 if CoolBand = nil then
3404 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3405 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3407 // *************************************************************************
3408 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3409 // *************************************************************************
3410 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3412 CoolBand: TCoolBand;
3414 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3415 if CoolBand = nil then
3417 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3418 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3420 // *************************************************************************
3421 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3422 // *************************************************************************
3423 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3425 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3426 GikoForm.MessagePanel.Top :=
3427 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3428 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3429 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3430 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3432 // *************************************************************************
3433 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3434 // *************************************************************************
3435 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3437 MsgBarVisibleAction.Execute;
3439 // *************************************************************************
3440 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3441 // *************************************************************************
3442 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3444 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3445 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3447 // *************************************************************************
3448 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3449 // *************************************************************************
3450 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3453 if GikoForm.CabinetPanel.Visible then begin
3454 if GikoForm.TreeType = gtt2ch then begin
3455 GikoForm.CabinetVisible( False );
3457 CabinetBBSAction.Checked := False;
3459 CabinetBBSAction.Checked := True;
3462 GikoForm.CabinetVisible( True );
3463 CabinetBBSAction.Checked := True;
3466 if GikoForm.ActiveBBS = nil then
3467 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3469 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3472 // *************************************************************************
3473 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3474 // *************************************************************************
3475 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3477 GikoForm.ShowHistoryTree;
3479 // *************************************************************************
3480 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3481 // *************************************************************************
3482 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3488 if GikoForm.CabinetPanel.Visible then begin
3489 if GikoForm.TreeType = gttFavorite then begin
3490 GikoForm.CabinetVisible( False );
3491 CabinetFavoriteAction.Checked := False;
3493 CabinetFavoriteAction.Checked := True;
3496 GikoForm.CabinetVisible( True );
3497 CabinetFavoriteAction.Checked := True;
3500 // BBS...BBS, History, Favorite
3501 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3503 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3504 for i := 0 to b do begin
3505 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3506 if item is TBBSMenuItem then begin
3507 item.Checked := False;
3508 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3509 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3513 //
\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Ö
3514 GikoForm.HistoryToolBar.Hide;
3515 GikoForm.FavoriteToolBar.Show;
3516 GikoForm.TreeView.Visible := False;
3517 GikoForm.FavoriteTreeView.Visible := True;
3519 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3520 GikoForm.TreeType := gttFavorite;
3522 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3523 CabinetBBSAction.Checked := False;
3524 CabinetHistoryAction.Checked := False;
3526 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3527 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3530 // *************************************************************************
3531 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3532 // *************************************************************************
3533 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3535 case GikoForm.TreeType of
3536 gttHistory: CabinetHistoryAction.Execute;
3537 gttFavorite: CabinetFavoriteAction.Execute;
3539 CabinetBBSAction.Execute;
3542 // *************************************************************************
3543 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3544 // *************************************************************************
3545 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3547 //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ã
3549 // *************************************************************************
3550 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3551 // *************************************************************************
3552 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3554 GikoForm.ListView.ViewStyle := vsIcon;
3555 LargeIconAction.Checked := True;
3557 // *************************************************************************
3558 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3559 // *************************************************************************
3560 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3562 GikoForm.ListView.ViewStyle := vsSmallIcon;
3563 SmallIconAction.Checked := True;
3565 // *************************************************************************
3566 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3567 // *************************************************************************
3568 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3570 GikoForm.ListView.ViewStyle := vsList;
3571 ListIconAction.Checked := True;
3573 // *************************************************************************
3574 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3575 // *************************************************************************
3576 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3578 GikoForm.ListView.ViewStyle := vsReport;
3579 DetailIconAction.Checked := True;
3581 // *************************************************************************
3582 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3583 // *************************************************************************
3584 procedure TGikoDM.StopActionExecute(Sender: TObject);
3586 GikoForm.FControlThread.DownloadAbort;
3587 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3589 GikoForm.Animate.Active := False;
3592 GikoForm.ScreenCursor := crDefault;
3594 // *************************************************************************
3595 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3596 // *************************************************************************
3597 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3599 if ArrangeAction.Checked then begin
3601 GikoForm.ViewPanel.Align := alNone;
3602 GikoForm.ListSplitter.Align := alNone;
3603 GikoForm.ThreadPanel.Align := alNone;
3605 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3606 GikoForm.ViewPanel.Align := alLeft;
3608 GikoForm.ListSplitter.Width := 5;
3609 GikoForm.ListSplitter.Align := alLeft;
3611 GikoForm.ViewPanel.Left := -10;
3613 GikoForm.ThreadPanel.Align := alClient;
3615 GikoSys.Setting.ListOrientation := gloHorizontal;
3616 case GikoSys.Setting.ListWidthState of
3618 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3619 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3620 GikoForm.ViewPanel.Width := 1;
3623 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3624 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3627 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3628 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3629 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3634 GikoForm.ViewPanel.Align := alNone;
3635 GikoForm.ListSplitter.Align := alNone;
3636 GikoForm.ThreadPanel.Align := alNone;
3638 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3639 GikoForm.ViewPanel.Align := alTop;
3641 GikoForm.ListSplitter.Height := 5;
3642 GikoForm.ListSplitter.Align := alTop;
3644 GikoForm.ViewPanel.Top := -10;
3646 GikoForm.ThreadPanel.Align := alClient;
3647 GikoSys.Setting.ListOrientation := gloVertical;
3648 case GikoSys.Setting.ListHeightState of
3650 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3651 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3652 GikoForm.ViewPanel.Height := 1;
3655 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3656 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3659 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3660 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3661 GikoForm.ViewPanel.Height :=
3662 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3667 // *************************************************************************
3668 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3669 // *************************************************************************
3670 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3672 GikoForm.CabinetPanel.Width := 150;
3673 GikoForm.MessagePanel.Height := 40;
3675 GikoForm.BrowserSizeWidth := 200;
3676 GikoForm.BrowserSizeHeight := 200;
3677 if ArrangeAction.Checked then begin
3678 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3680 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3682 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3683 if GikoSys.Setting.ListHeightState = glsMax then begin
3684 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3685 GikoSys.Setting.ListHeightState := glsNormal;
3688 if GikoSys.Setting.ListWidthState = glsMax then begin
3689 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3690 GikoSys.Setting.ListWidthState := glsNormal;
3694 // *************************************************************************
3695 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3696 // *************************************************************************
3697 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3699 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3700 GikoForm.SetBrowserTabState;
3702 // *************************************************************************
3703 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3704 // *************************************************************************
3705 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3707 BrowserTabBottomAction.Checked := False;
3708 BrowserTabTopAction.Checked := True;
3709 GikoSys.Setting.BrowserTabPosition := gtpTop;
3710 GikoForm.SetBrowserTabState;
3712 // *************************************************************************
3713 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3714 // *************************************************************************
3715 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3717 BrowserTabTopAction.Checked := False;
3718 BrowserTabBottomAction.Checked := True;
3719 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3720 GikoForm.SetBrowserTabState;
3722 // *************************************************************************
3723 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3724 // *************************************************************************
3725 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3727 BrowserTabButtonStyleAction.Checked := False;
3728 BrowserTabFlatStyleAction.Checked := False;
3729 BrowserTabTabStyleAction.Checked := True;
3730 GikoSys.Setting.BrowserTabStyle := gtsTab;
3731 GikoForm.SetBrowserTabState;
3733 // *************************************************************************
3734 //!
\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é
3735 // *************************************************************************
3736 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3738 BrowserTabTabStyleAction.Checked := False;
3739 BrowserTabFlatStyleAction.Checked := False;
3740 BrowserTabButtonStyleAction.Checked := True;
3741 GikoSys.Setting.BrowserTabStyle := gtsButton;
3742 GikoForm.SetBrowserTabState;
3744 // *************************************************************************
3745 //!
\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é
3746 // *************************************************************************
3747 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3749 BrowserTabFlatStyleAction.Checked := True;
3750 BrowserTabTabStyleAction.Checked := False;
3751 BrowserTabButtonStyleAction.Checked := False;
3752 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3753 GikoForm.SetBrowserTabState;
3755 // *************************************************************************
3756 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3757 // *************************************************************************
3758 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3760 GikoForm.ActiveContent.Browser.SetFocus;
3762 // *************************************************************************
3763 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3764 // *************************************************************************
3765 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3767 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3768 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3769 TAction(Sender).Enabled := true
3771 TAction(Sender).Enabled := false;
3773 // *************************************************************************
3774 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3775 // *************************************************************************
3776 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3778 if GikoForm.ActiveContent <> nil then
3779 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3780 GikoForm.ListView.SetFocus;
3782 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3783 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é
3785 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3786 if (GikoForm.ListView.ItemFocused <> nil) then begin
3787 GikoForm.ListView.ItemFocused.MakeVisible(False);
3790 // *************************************************************************
3791 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3792 // *************************************************************************
3793 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3795 if GikoForm.ActiveContent <> nil then
3796 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3797 if GikoForm.TreeView.Visible then begin
3798 GikoForm.TreeView.SetFocus;
3799 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3800 GikoForm.TreeView.Items.Item[0].Selected := true;
3801 end else if GikoForm.FavoriteTreeView.Visible then begin
3802 GikoForm.FavoriteTreeView.SetFocus;
3803 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3804 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3807 // *************************************************************************
3808 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3809 // *************************************************************************
3810 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3812 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3814 // *************************************************************************
3815 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3816 // *************************************************************************
3817 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3819 BrowserMinAction.Execute;
3820 SetFocusForThreadListAction.Execute;
3822 // *************************************************************************
3823 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3824 // *************************************************************************
3825 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3827 BrowserMaxAction.Execute;
3828 SetFocusForBrowserAction.Execute;
3830 // *************************************************************************
3831 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3832 // *************************************************************************
3833 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3835 if GikoForm.ListView.Selected <> nil then begin
3836 GikoForm.ListView.Selected.Focused := True;
3837 GikoForm.ListView.Selected := nil;
3840 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3841 // *************************************************************************
3842 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3843 // *************************************************************************
3844 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3846 SetThreadReadProperty(true);
3848 // *************************************************************************
3849 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3850 // *************************************************************************
3851 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3853 SetThreadReadProperty(false);
3855 // *************************************************************************
3856 //!
\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Ç
3857 // *************************************************************************
3858 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3863 List := TList.Create;
3865 GikoForm.SelectListItem(List);
3866 for i := 0 to List.Count - 1 do begin
3867 if TObject(List[i]) is TThreadItem then begin
3868 if (TThreadItem(List[i]).IsLogFile) then begin
3869 TThreadItem(List[i]).UnRead := not read;
3873 if GikoForm.TreeView.Visible then
3874 GikoForm.TreeView.Refresh;
3875 if GikoForm.ListView.Visible then
3876 GikoForm.ListView.Refresh;
3881 // *************************************************************************
3882 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3883 // *************************************************************************
3884 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3886 GikoForm.ListViewAllSelect;
3888 // *************************************************************************
3889 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3890 // *************************************************************************
3891 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3893 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3895 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3896 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3897 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3899 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 +
3900 '
\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' +
3901 '
\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';
3902 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3905 limitSize : Integer;
3908 {
\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Í
3909 \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
3910 \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õ
3911 è
\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
3912 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3914 if MsgBox(GikoForm.Handle, RECALC_MES,
3915 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3916 //è
\87\92l
\82Ì
\8am
\94F
3917 limitSize := LIMIT_SIZE;
3918 limitStr := IntToStr(limitSize);
3919 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
3920 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3921 if (limitSize < 0) then begin
3922 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3923 ThreadSizeCalcForFileActionExecute(nil);
3925 RecalcThreadSize(limitSize);
3930 //! 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
3931 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3933 i, j, tmpSize : Integer;
3936 Thread: TThreadItem;
3939 //
\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
3940 GikoForm.ScreenCursor := crHourGlass;
3942 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3943 for i := 0 to BoardGroups[0].Count - 1 do begin
3944 Obj := BoardGroups[0].Objects[i];
3945 if (Obj <> nil) then begin
3946 Board := TBoard(Obj);
3947 if not Board.IsThreadDatRead then begin
3948 GikoSys.ReadSubjectFile(Board);
3950 for j := 0 to Board.Count - 1 do begin
3951 Thread := Board.Items[j];
3952 if (Thread <> nil) and (Thread.IsLogFile)
3953 and (Thread.Size <= limit) then begin
3954 dat := TStringList.Create;
3956 tmpSize := Thread.Size;
3958 dat.LoadFromFile(Thread.GetThreadFileName);
3959 tmpSize := Length(dat.Text);
3960 tmpSize := tmpSize - dat.Count;
3963 Thread.Size := tmpSize;
3970 GikoForm.ProgressBar.StepBy(1);
3973 GikoForm.ScreenCursor := crDefault;
3975 GikoForm.ProgressBar.Position := 0;
3976 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
3978 // *************************************************************************
3979 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
3980 // *************************************************************************
3981 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
3983 form : TInputAssistForm;
3985 form := TInputAssistForm.Create(GikoForm);
3993 // *************************************************************************
3994 //!
\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é
3995 // *************************************************************************
3996 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
3998 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
3999 GikoForm.ActiveContent.OpenFindDialog;
4003 // *************************************************************************
4004 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
4005 // *************************************************************************
4006 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
4009 if GikoForm.ClickNode = nil then Exit;
4012 GikoForm.ClickNode.Text + #13#10;
4015 // *************************************************************************
4016 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4017 // *************************************************************************
4018 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4022 if ( EditorFormExists ) then begin
4023 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4024 for i := Screen.CustomFormCount - 1 downto 0 do begin
4025 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4026 TEditorForm(Screen.CustomForms[i]).Close;
4031 // *************************************************************************
4032 //!
\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é
4033 // *************************************************************************
4034 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4036 if (Sender is TAction) then begin
4037 TAction(Sender).Enabled := EditorFormExists;
4040 // *************************************************************************
4041 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4042 // *************************************************************************
4043 function TGikoDM.EditorFormExists(): boolean;
4048 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4049 for i := Screen.CustomFormCount - 1 downto 0 do begin
4050 if (Screen.CustomForms[i] is TEditorForm) then begin
4057 // *************************************************************************
4058 //!
\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é
4059 // *************************************************************************
4060 procedure TGikoDM.ClearNameTextAllEditor();
4064 for i := 0 to Screen.CustomFormCount - 1 do begin
4065 if (Screen.CustomForms[i] is TEditorForm) then begin
4066 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4070 // *************************************************************************
4071 //!
\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é
4072 // *************************************************************************
4073 procedure TGikoDM.ClearMailAllEditor();
4077 for i := 0 to Screen.CustomFormCount - 1 do begin
4078 if TObject(Screen.CustomForms[i]) is TEditorForm then
4079 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4083 // *************************************************************************
4084 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4085 // *************************************************************************
4086 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4088 PrevMoveHistory.Enabled :=
4089 (MoveHisotryManager.HisotryIndex > 0)
4091 // *************************************************************************
4092 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4093 // *************************************************************************
4094 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4096 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4097 BackToHistory(MoveHisotryManager.getPrevItem
4098 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4099 .Objects[GikoForm.BrowserTab.TabIndex])));
4101 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4104 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4105 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4107 browser : TWebBrowser;
4110 if ( item <> nil ) then begin
4111 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4112 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4113 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4114 if (browser <> nil) then begin
4116 doc := Idispatch( olevariant(browser.ControlInterface).Document) as IHTMLDocument2;
4117 doc.Body.ScrollTop := item.ScrollTop;
4123 MoveURLWithHistory(item.ThreadItem.URL);
4127 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4128 procedure TGikoDM.MoveURLWithHistory(URL : String);
4133 GikoForm.MoveToURL(URL);
4134 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4135 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4136 if idx = -1 then begin
4137 GikoForm.AddressComboBox.Items.Insert(0, URL);
4138 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4139 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4141 GikoForm.AddressComboBox.Items.Delete(idx);
4142 GikoForm.AddressComboBox.Items.Insert(0, URL);
4145 // *************************************************************************
4146 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4147 // *************************************************************************
4148 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4150 NextMoveHistory.Enabled :=
4151 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4153 // *************************************************************************
4154 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4155 // *************************************************************************
4156 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4158 BackToHistory(MoveHisotryManager.getNextItem);
4160 // *************************************************************************
4161 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4162 // *************************************************************************
4163 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4165 browser : TWebBrowser;
4166 elem : IHTMLElement;
4168 if (GikoForm.GetActiveContent <> nil) then begin
4169 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4170 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4171 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4172 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4173 if (browser <> nil) then begin
4175 elem := IHTMLDocument2(browser.Document).activeElement;
4184 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4185 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4187 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4188 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4190 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4191 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4193 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4194 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4196 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4197 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4199 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4200 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4202 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4203 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4205 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4206 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4208 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4209 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4211 GikoForm.StoredTaskTray;
4212 StoredTaskTrayAction.Tag := -1;
4216 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4217 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4219 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4221 links : IHTMLElementCollection;
4222 urls, exts : TStringList;
4224 links := GetActiveThreadLinks;
4225 if (links <> nil) then begin
4226 urls := TStringList.Create;
4227 exts := TStringList.Create;
4229 exts.CaseSensitive := False;
4230 exts.Sorted := True;
4231 exts.Delimiter := ';';
4232 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4233 GetLinkURLs(links, urls, 0, exts);
4234 Clipboard.SetTextBuf(urls.GetText);
4243 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4244 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4246 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4248 links : IHTMLElementCollection;
4249 urls, exts : TStringList;
4250 ThreadItem : TThreadItem;
4252 ThreadItem := GikoForm.GetActiveContent;
4253 links := GetActiveThreadLinks;
4254 if (ThreadItem <> nil) and (links <> nil) then begin
4255 urls := TStringList.Create;
4256 exts := TStringList.Create;
4258 exts.CaseSensitive := False;
4259 exts.Sorted := True;
4260 exts.Delimiter := ';';
4261 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4263 GetLinkURLs(links, urls,
4264 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4265 Clipboard.SetTextBuf(urls.GetText);
4273 \breif
\83\8a\83\93\83NURL
\8eæ
\93¾
4274 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4276 procedure TGikoDM.AllLinkToClipboardActionExecute(Sender: TObject);
4278 links : IHTMLElementCollection;
4279 urls, exts : TStringList;
4281 links := GetActiveThreadLinks;
4282 if (links <> nil) then begin
4283 urls := TStringList.Create;
4284 exts := TStringList.Create;
4286 exts.CaseSensitive := False;
4287 exts.Sorted := True;
4288 exts.Delimiter := ';';
4289 exts.DelimitedText :=
4290 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4291 GetLinkURLs(links, urls, 0, exts);
4292 Clipboard.SetTextBuf(urls.GetText);
4300 \breif
\90V
\92\85\83\8c\83X
\83\8a\83\93\83NURL
\8eæ
\93¾
4301 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4303 procedure TGikoDM.NewLinkToClipboardActionExecute(Sender: TObject);
4305 links : IHTMLElementCollection;
4306 urls, exts : TStringList;
4307 ThreadItem : TThreadItem;
4309 ThreadItem := GikoForm.GetActiveContent;
4310 links := GetActiveThreadLinks;
4311 if (ThreadItem <> nil) and (links <> nil) then begin
4312 urls := TStringList.Create;
4313 exts := TStringList.Create;
4315 exts.CaseSensitive := False;
4316 exts.Sorted := True;
4317 exts.Delimiter := ';';
4318 exts.DelimitedText :=
4319 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4320 GetLinkURLs(links, urls,
4321 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4322 Clipboard.SetTextBuf(urls.GetText);
4331 \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
4332 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4334 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4336 browser : TWebBrowser;
4339 if (GikoForm.GetActiveContent <> nil) then begin
4340 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4341 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4342 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4343 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4344 if (browser <> nil) then begin
4346 Result := IHTMLDocument2(browser.Document).links;
4356 \brief
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4357 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4358 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4359 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4360 \param Exts
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\8ag
\92£
\8eq
4362 procedure TGikoDM.GetLinkURLs(links : IHTMLElementCollection;
4363 URLs : TStringList; const Start: Integer; Exts : TStringList);
4365 index ,i, j : Integer;
4366 item : IHTMLElement;
4369 if (links <> nil) then begin
4371 for i := 0 to links.length - 1 do begin
4372 item := links.item(i, 0) as IHTMLElement;
4373 if (item <> nil) then begin
4374 url := item.getAttribute('href', 0);
4375 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4376 if (Pos('menu:', url) > 0) then begin
4377 index := StrToInt64Def(
4378 Copy(url, 5, Length(url)), index + 1
4381 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4382 if (index >= Start) then begin
4383 ext := ExtractFileExt( AnsiLowerCase(url) );
4384 //
\8ag
\92£
\8eq
\82ð
\83`
\83F
\83b
\83N
4385 if Exts.Find(ext, j) then begin
4395 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4396 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4398 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4400 if ( GikoForm.AddressToolBar.Visible ) then begin
4401 GikoForm.AddressComboBox.SetFocus;
4405 \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é
4407 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4409 form : TNewBoardURLForm;
4412 if (EditorFormExists) then begin
4413 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4414 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4417 form := TNewBoardURLForm.Create(Self);
4424 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4425 procedure TGikoDM.ScrollPageDownActionExecute(Sender: TObject);
4427 GikoForm.BrowserMovement(GikoForm.BrowserPanel.Height);
4429 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4430 procedure TGikoDM.ScrollPageUpActionExecute(Sender: TObject);
4432 GikoForm.BrowserMovement(-GikoForm.BrowserPanel.Height);