6 SysUtils, Classes, ExtActns, StdActns, ActnList, ImgList, Controls,
14 ComCtrls, BrowserRecord, Graphics, Messages, Setting, Dialogs,
15 ActiveX, GikoSystem, MoveHistoryItem, HistoryList;
18 CAPTION_NAME: string = '
\83M
\83R
\83i
\83r';
19 USER_SETLINKBAR = WM_USER + 2003;
21 ITEM_ICON_SORT1 = 12; //!<
\83\
\81[
\83g
\83A
\83C
\83R
\83\93
22 ITEM_ICON_SORT2 = 13; //!<
\83\
\81[
\83g
\83A
\83C
\83R
\83\93
24 //
\83c
\81[
\83\8b\83o
\81[
\83A
\83C
\83R
\83\93
25 TOOL_ICON_HEIGHT_MAX = 16; //!<
\8d\82\82³
\8dÅ
\91å
\83A
\83C
\83R
\83\93
26 TOOL_ICON_HEIGHT_MIN = 17; //!<
\8d\82\82³
\8dÅ
\8f¬
\83A
\83C
\83R
\83\93
27 TOOL_ICON_HEIGHT_NORMAL = 18; //!<
\8d\82\82³
\95W
\8f\80\83A
\83C
\83R
\83\93
28 TOOL_ICON_WIDTH_MAX = 19; //!<
\95\9d\8dÅ
\91å
\83A
\83C
\83R
\83\93
29 TOOL_ICON_WIDTH_MIN = 20; //!<
\95\9d\8dÅ
\8f¬
\83A
\83C
\83R
\83\93
30 TOOL_ICON_WIDTH_NORMAL = 21; //!<
\95\9d\95W
\8f\80\83A
\83C
\83R
\83\93
32 TOOL_ICON_FAV_FOLDER = 30; //!<
\82¨
\8bC
\82É
\93ü
\82è
\83t
\83H
\83\8b\83_
\83A
\83C
\83R
\83\93
33 TOOL_ICON_FAV_BOARD = 31; //!<
\82¨
\8bC
\82É
\93ü
\82è
\94Â
\83A
\83C
\83R
\83\93
34 TOOL_ICON_FAV_THREAD = 32; //!<
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83A
\83C
\83R
\83\93
37 PROTOCOL_HTTP : string = 'http://';
38 //!
\83M
\83R
\83i
\83r
\83T
\83C
\83g
\82ÌURL
39 URL_GIKONAVI: string = 'gikonavi.sourceforge.jp/';
40 //! Monazilla
\83T
\83C
\83g
\82ÌURL
41 URL_MONAZILLA: string = 'www.monazilla.org/';
42 //! 2
\82¿
\82á
\82ñ
\82Ë
\82é
\82ÌURL
43 URL_2ch: string = 'www.2ch.net/';
44 //!
\83M
\83R
\83i
\83rWiki
\82ÌURL
45 URL_Wiki: string = 'gikowiki.dyndns.info/index.php?FAQ';
47 SELECTCOMBOBOX_NAME: string = ''; // '
\83X
\83\8c\83b
\83h
\8di
\8d\9e\8c\9f\8dõ';
48 SELECTCOMBOBOX_COLOR: TColor = clWindow;
53 TGikoDM = class(TDataModule)
54 GikoFormActionList: TActionList;
55 OnlyAHundredResAction: TAction;
56 OnlyKokoResAction: TAction;
58 NewBoardAction: TAction;
59 LogDeleteAction: TAction;
60 KidokuAction: TAction;
61 StdToolBarVisibleAction: TAction;
62 AddressBarVisibleAction: TAction;
63 LinkBarVisibleAction: TAction;
64 ListToolBarVisibleAction: TAction;
65 SearchAction: TAction;
66 GikoNaviWebPageAction: TAction;
67 MonazillaWebPageAction: TAction;
68 BBS2chWebPageAction: TAction;
69 GikoFolderOpenAction: TAction;
71 SelectTextClearAction: TAction;
72 NameTextClearAction: TAction;
73 MailTextClearAction: TAction;
75 ListNameBarVisibleAction: TAction;
76 BrowserToolBarVisibleAction: TAction;
77 BrowserNameBarVisibleAction: TAction;
78 MsgBarVisibleAction: TAction;
79 MsgBarCloseAction: TAction;
80 StatusBarVisibleAction: TAction;
81 CabinetBBSAction: TAction;
82 CabinetHistoryAction: TAction;
83 OnlyNewResAction: TAction;
84 CabinetFavoriteAction: TAction;
85 CabinetVisibleAction: TAction;
86 ListNumberVisibleAction: TAction;
87 UpFolderAction: TAction;
88 CabinetCloseAction: TAction;
90 LargeIconAction: TAction;
91 SmallIconAction: TAction;
92 ListIconAction: TAction;
93 DetailIconAction: TAction;
94 MidokuAction: TAction;
95 AllSelectAction: TAction;
96 AllItemAction: TAction;
97 LogItemAction: TAction;
98 NewItemAction: TAction;
99 ThreadRangeAction: TAction;
100 SelectItemAction: TAction;
102 OptionAction: TAction;
103 RoundAction: TAction;
104 BrowserMaxAction: TAction;
105 BrowserMinAction: TAction;
106 ScrollTopAction: TAction;
107 ScrollLastAction: TAction;
108 ScrollNewAction: TAction;
109 ScrollKokoAction: TAction;
110 EditorAction: TAction;
112 ShowThreadAction: TAction;
113 ShowBoardAction: TAction;
114 URLCopyAction: TAction;
115 NameCopyAction: TAction;
116 NameURLCopyAction: TAction;
117 ItemReloadAction: TAction;
118 ThreadEditorAction: TAction;
119 BoardIEAction: TAction;
120 SelectItemURLCopyAction: TAction;
121 SelectItemNameCopyAction: TAction;
122 SelectItemNameURLCopyAction: TAction;
123 SelectListReloadAction: TAction;
124 SelectThreadReloadAction: TAction;
125 BrowserTabCloseAction: TAction;
126 NotSelectTabCloseAction: TAction;
127 AllTabCloseAction: TAction;
128 KokomadeAction: TAction;
129 ZenbuAction: TAction;
130 KokoResAction: TAction;
131 TreeSelectBoradReload: TAction;
132 TreeSelectThreadReload: TAction;
133 TreeSelectURLCopy: TAction;
134 SelectReservAction: TAction;
135 SelectNewRoundName: TAction;
136 SelectDeleteRound: TAction;
137 KeySettingAction: TAction;
138 ArrangeAction: TAction;
139 ActiveLogDeleteAction: TAction;
140 TreeSelectNameURLCopy: TAction;
141 PaneInitAction: TAction;
142 LeftmostTabSelectAction: TAction;
143 LeftTabSelectAction: TAction;
144 RightTabSelectAction: TAction;
145 RightmostTabSelectAction: TAction;
146 FavoriteAddAction: TAction;
147 BoardFavoriteAddAction: TAction;
148 ThreadFavoriteAddAction: TAction;
149 TreeSelectFavoriteAddAction: TAction;
150 FavoriteArrangeAction: TAction;
151 MoveToAction: TAction;
152 BrowserTabVisibleAction: TAction;
153 BrowserTabTopAction: TAction;
154 BrowserTabBottomAction: TAction;
155 BrowserTabTabStyleAction: TAction;
156 BrowserTabButtonStyleAction: TAction;
157 BrowserTabFlatStyleAction: TAction;
158 GikoHelpAction: TAction;
159 KotehanAction: TAction;
160 ToolBarSettingAction: TAction;
161 SelectResAction: TAction;
162 AllResAction: TAction;
163 EditNGAction: TAction;
164 ReloadAction: TAction;
165 GoFowardAction: TAction;
166 GoBackAction: TAction;
167 TreeSelectSearchBoardName: TAction;
168 FavoriteTreeViewRenameAction: TAction;
169 FavoriteTreeViewNewFolderAction: TAction;
170 FavoriteTreeViewDeleteAction: TAction;
171 FavoriteTreeViewBrowseFolderAction: TAction;
172 FavoriteTreeViewReloadAction: TAction;
173 FavoriteTreeViewURLCopyAction: TAction;
174 FavoriteTreeViewNameCopyAction: TAction;
175 FavoriteTreeViewNameURLCopyAction: TAction;
176 FavoriteTreeViewLogDeleteAction: TAction;
177 ResRangeAction: TAction;
178 ExportFavoriteFile: TFileSaveAs;
179 FavoriteTreeViewBrowseBoardAction: TAction;
180 FavoriteTreeViewBrowseThreadAction: TAction;
181 UpBoardAction: TAction;
183 TreeSelectNameCopy: TAction;
184 SetFocusForBrowserAction: TAction;
185 SetFocusForThreadListAction: TAction;
186 SetFocusForCabinetAction: TAction;
188 ThreadlistMaxAndFocusAction: TAction;
189 BrowserMaxAndFocusAction: TAction;
190 SelectItemSaveForHTML: TAction;
191 SelectItemSaveForDat: TAction;
192 LogFolderOpenAction: TAction;
193 TabsSaveAction: TAction;
194 TabsOpenAction: TAction;
195 BrowsBoradHeadAction: TAction;
196 JumpToNumOfResAction: TAction;
197 FavoriteTreeViewCollapseAction: TAction;
198 RightTabCloseAction: TAction;
199 LeftTabCloseAction: TAction;
200 SameIDResAnchorAction: TAction;
201 IndividualAbon1Action: TAction;
202 IndividualAbon0Action: TAction;
203 AntiIndividualAbonAction: TAction;
204 AntiIndividualAbonDlgAction: TAction;
205 IndividualAbonID1Action: TAction;
206 IndividualAbonID0Action: TAction;
208 SortActiveColumnAction: TAction;
209 SortNextColumnAction: TAction;
210 SortPrevColumnAction: TAction;
211 BeLogInOutAction: TAction;
212 UnSelectedListViewAction: TAction;
213 WikiFAQWebPageAction: TAction;
214 ToobarImageList: TImageList;
215 SaveDialog: TSaveDialog;
216 ThreadSizeCalcForFileAction: TAction;
217 SetInputAssistAction: TAction;
218 OpenFindDialogAction: TAction;
219 ArchiveItemAction: TAction;
220 LiveItemAction: TAction;
221 FavoriteTreeViewItemNameCopyAction: TAction;
222 CloseAllEditorAction: TAction;
223 PrevMoveHistory: TAction;
224 NextMoveHistory: TAction;
225 ClickActiveElementAction: TAction;
226 VKDownAction: TAction;
228 VKRightAction: TAction;
229 VKLeftAction: TAction;
230 StoredTaskTrayAction: TAction;
231 AllImageLinkToClipbordAction: TAction;
232 NewImageLinkToClipBoardAction: TAction;
233 SetForcusForAddresBarAction: TAction;
234 NewBoardSearchAction: TAction;
235 NGWordEditFormAction: TAction;
236 ScrollPageDownAction: TAction;
237 ScrollPageUpAction: TAction;
238 AllLinkToClipboardAction: TAction;
239 NewLinkToClipboardAction: TAction;
240 procedure EditNGActionExecute(Sender: TObject);
241 procedure ReloadActionExecute(Sender: TObject);
242 procedure GoFowardActionExecute(Sender: TObject);
243 procedure GoBackActionExecute(Sender: TObject);
244 procedure MoveToActionExecute(Sender: TObject);
245 procedure FavoriteAddActionExecute(Sender: TObject);
246 procedure FavoriteArrangeActionExecute(Sender: TObject);
247 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
248 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
249 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
250 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
251 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
252 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
253 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
254 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
255 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
256 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
257 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
258 procedure OnlyAHundredResActionExecute(Sender: TObject);
259 procedure OnlyKokoResActionExecute(Sender: TObject);
260 procedure OnlyNewResActionExecute(Sender: TObject);
261 procedure BrowserMaxActionExecute(Sender: TObject);
262 procedure BrowserMinActionExecute(Sender: TObject);
263 procedure ScrollTopActionExecute(Sender: TObject);
264 procedure ScrollLastActionExecute(Sender: TObject);
265 procedure ScrollNewActionExecute(Sender: TObject);
266 procedure ScrollKokoActionExecute(Sender: TObject);
267 procedure ScrollKokoActionUpdate(Sender: TObject);
268 procedure EditorActionExecute(Sender: TObject);
269 procedure IEActionExecute(Sender: TObject);
270 procedure ShowThreadActionExecute(Sender: TObject);
271 procedure ShowBoardActionExecute(Sender: TObject);
272 procedure URLCopyActionExecute(Sender: TObject);
273 procedure NameCopyActionExecute(Sender: TObject);
274 procedure NameURLCopyActionExecute(Sender: TObject);
275 procedure ItemReloadActionExecute(Sender: TObject);
276 procedure BrowserTabCloseActionExecute(Sender: TObject);
277 procedure BrowserTabCloseActionUpdate(Sender: TObject);
278 procedure NotSelectTabCloseActionExecute(Sender: TObject);
279 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
280 procedure AllTabCloseActionExecute(Sender: TObject);
281 procedure ActiveLogDeleteActionExecute(Sender: TObject);
282 procedure LeftmostTabSelectActionExecute(Sender: TObject);
283 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
284 procedure LeftTabSelectActionExecute(Sender: TObject);
285 procedure RightTabSelectActionExecute(Sender: TObject);
286 procedure RightTabSelectActionUpdate(Sender: TObject);
287 procedure RightmostTabSelectActionExecute(Sender: TObject);
288 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
289 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
290 procedure SelectResActionExecute(Sender: TObject);
291 procedure AllResActionExecute(Sender: TObject);
292 procedure ResRangeActionExecute(Sender: TObject);
293 procedure UpBoardActionExecute(Sender: TObject);
294 procedure JumpToNumOfResActionExecute(Sender: TObject);
295 procedure RightTabCloseActionExecute(Sender: TObject);
296 procedure RightTabCloseActionUpdate(Sender: TObject);
297 procedure LeftTabCloseActionExecute(Sender: TObject);
298 procedure DataModuleCreate(Sender: TObject);
299 procedure SearchActionExecute(Sender: TObject);
300 procedure OptionActionExecute(Sender: TObject);
301 procedure RoundActionExecute(Sender: TObject);
302 procedure KeySettingActionExecute(Sender: TObject);
303 procedure KotehanActionExecute(Sender: TObject);
304 procedure ToolBarSettingActionExecute(Sender: TObject);
305 procedure MuteActionExecute(Sender: TObject);
306 procedure TreeSelectBoradReloadExecute(Sender: TObject);
307 procedure TreeSelectThreadReloadExecute(Sender: TObject);
308 procedure TreeSelectURLCopyExecute(Sender: TObject);
309 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
310 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
311 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
312 procedure TreeSelectNameCopyExecute(Sender: TObject);
313 procedure LoginActionExecute(Sender: TObject);
314 procedure NewBoardActionExecute(Sender: TObject);
315 procedure LogDeleteActionExecute(Sender: TObject);
316 procedure LogDeleteActionUpdate(Sender: TObject);
317 procedure SelectTextClearActionExecute(Sender: TObject);
318 procedure NameTextClearActionExecute(Sender: TObject);
319 procedure MailTextClearActionExecute(Sender: TObject);
320 procedure ExitActionExecute(Sender: TObject);
321 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
322 procedure ExportFavoriteFileAccept(Sender: TObject);
323 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
324 procedure SelectItemSaveForDatExecute(Sender: TObject);
325 procedure TabsSaveActionExecute(Sender: TObject);
326 procedure TabsOpenActionExecute(Sender: TObject);
327 procedure BeLogInOutActionExecute(Sender: TObject);
328 procedure BeLogInOutActionUpdate(Sender: TObject);
329 procedure KokomadeActionExecute(Sender: TObject);
330 procedure ZenbuActionExecute(Sender: TObject);
331 procedure KokoResActionExecute(Sender: TObject);
332 procedure KoreCopyExecute(Sender: TObject);
333 procedure SameIDResAnchorActionExecute(Sender: TObject);
334 procedure IndividualAbon1ActionExecute(Sender: TObject);
335 procedure IndividualAbon0ActionExecute(Sender: TObject);
336 procedure AntiIndividualAbonActionExecute(Sender: TObject);
337 procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
338 procedure IndividualAbonID1ActionExecute(Sender: TObject);
339 procedure IndividualAbonID0ActionExecute(Sender: TObject);
340 procedure GikoNaviWebPageActionExecute(Sender: TObject);
341 procedure MonazillaWebPageActionExecute(Sender: TObject);
342 procedure BBS2chWebPageActionExecute(Sender: TObject);
343 procedure GikoFolderOpenActionExecute(Sender: TObject);
344 procedure AboutActionExecute(Sender: TObject);
345 procedure GikoHelpActionExecute(Sender: TObject);
346 procedure WikiFAQWebPageActionExecute(Sender: TObject);
347 procedure ListNumberVisibleActionExecute(Sender: TObject);
348 procedure UpFolderActionExecute(Sender: TObject);
349 procedure UpFolderActionUpdate(Sender: TObject);
350 procedure IconStyleExecute(Sender: TObject);
351 procedure AllItemActionExecute(Sender: TObject);
352 procedure LogItemActionExecute(Sender: TObject);
353 procedure NewItemActionExecute(Sender: TObject);
354 procedure ThreadRangeActionExecute(Sender: TObject);
355 procedure SelectItemActionExecute(Sender: TObject);
356 procedure ThreadEditorActionExecute(Sender: TObject);
357 procedure BoardIEActionExecute(Sender: TObject);
358 procedure SelectItemURLCopyActionExecute(Sender: TObject);
359 procedure SelectItemURLCopyActionUpdate(Sender: TObject);
360 procedure SelectItemNameCopyActionExecute(Sender: TObject);
361 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
362 procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
363 procedure SelectListReloadActionExecute(Sender: TObject);
364 procedure SelectListReloadActionUpdate(Sender: TObject);
365 procedure SelectThreadReloadActionExecute(Sender: TObject);
366 procedure SelectThreadReloadActionUpdate(Sender: TObject);
367 procedure SelectReservActionExecute(Sender: TObject);
368 procedure SelectReservActionUpdate(Sender: TObject);
369 procedure SelectNewRoundNameExecute(Sender: TObject);
370 procedure SelectDeleteRoundExecute(Sender: TObject);
371 procedure BoardFavoriteAddActionExecute(Sender: TObject);
372 procedure BoardFavoriteAddActionUpdate(Sender: TObject);
373 procedure LogFolderOpenActionExecute(Sender: TObject);
374 procedure LogFolderOpenActionUpdate(Sender: TObject);
375 procedure BrowsBoradHeadActionExecute(Sender: TObject);
376 procedure SortActiveColumnActionExecute(Sender: TObject);
377 procedure SortNextColumnActionExecute(Sender: TObject);
378 procedure SortPrevColumnActionExecute(Sender: TObject);
379 procedure StdToolBarVisibleActionExecute(Sender: TObject);
380 procedure AddressBarVisibleActionExecute(Sender: TObject);
381 procedure LinkBarVisibleActionExecute(Sender: TObject);
382 procedure ListToolBarVisibleActionExecute(Sender: TObject);
383 procedure ListNameBarVisibleActionExecute(Sender: TObject);
384 procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
385 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
386 procedure MsgBarVisibleActionExecute(Sender: TObject);
387 procedure MsgBarCloseActionExecute(Sender: TObject);
388 procedure StatusBarVisibleActionExecute(Sender: TObject);
389 procedure CabinetBBSActionExecute(Sender: TObject);
390 procedure CabinetHistoryActionExecute(Sender: TObject);
391 procedure CabinetFavoriteActionExecute(Sender: TObject);
392 procedure CabinetVisibleActionExecute(Sender: TObject);
393 procedure CabinetCloseActionExecute(Sender: TObject);
394 procedure LargeIconActionExecute(Sender: TObject);
395 procedure SmallIconActionExecute(Sender: TObject);
396 procedure ListIconActionExecute(Sender: TObject);
397 procedure DetailIconActionExecute(Sender: TObject);
398 procedure StopActionExecute(Sender: TObject);
399 procedure ArrangeActionExecute(Sender: TObject);
400 procedure PaneInitActionExecute(Sender: TObject);
401 procedure BrowserTabVisibleActionExecute(Sender: TObject);
402 procedure BrowserTabTopActionExecute(Sender: TObject);
403 procedure BrowserTabBottomActionExecute(Sender: TObject);
404 procedure BrowserTabTabStyleActionExecute(Sender: TObject);
405 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
406 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
407 procedure SetFocusForBrowserActionExecute(Sender: TObject);
408 procedure SetFocusForBrowserActionUpdate(Sender: TObject);
409 procedure SetFocusForThreadListActionExecute(Sender: TObject);
410 procedure SetFocusForCabinetActionExecute(Sender: TObject);
411 procedure SetFocusForCabinetActionUpdate(Sender: TObject);
412 procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
413 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
414 procedure UnSelectedListViewActionExecute(Sender: TObject);
415 procedure KidokuActionExecute(Sender: TObject);
416 procedure MidokuActionExecute(Sender: TObject);
417 procedure AllSelectActionExecute(Sender: TObject);
418 procedure AllSelectActionUpdate(Sender: TObject);
419 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
420 procedure SetInputAssistActionExecute(Sender: TObject);
421 procedure OpenFindDialogActionExecute(Sender: TObject);
422 procedure ArchiveItemActionExecute(Sender: TObject);
423 procedure LiveItemActionExecute(Sender: TObject);
424 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
425 procedure CloseAllEditorActionExecute(Sender: TObject);
426 procedure CloseAllEditorActionUpdate(Sender: TObject);
427 procedure PrevMoveHistoryUpdate(Sender: TObject);
428 procedure PrevMoveHistoryExecute(Sender: TObject);
429 procedure NextMoveHistoryUpdate(Sender: TObject);
430 procedure NextMoveHistoryExecute(Sender: TObject);
431 procedure ClickActiveElementActionExecute(Sender: TObject);
432 procedure VKDownActionExecute(Sender: TObject);
433 procedure VKUpActionExecute(Sender: TObject);
434 procedure VKRightActionExecute(Sender: TObject);
435 procedure VKLeftActionExecute(Sender: TObject);
436 procedure StoredTaskTrayActionExecute(Sender: TObject);
437 procedure LeftTabSelectActionUpdate(Sender: TObject);
438 procedure RightmostTabSelectActionUpdate(Sender: TObject);
439 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
440 procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
441 procedure SetForcusForAddresBarActionExecute(Sender: TObject);
442 procedure NewBoardSearchActionExecute(Sender: TObject);
443 procedure ScrollPageDownActionExecute(Sender: TObject);
444 procedure ScrollPageUpActionExecute(Sender: TObject);
445 procedure AllLinkToClipboardActionExecute(Sender: TObject);
446 procedure NewLinkToClipboardActionExecute(Sender: TObject);
449 procedure ClearResFilter;
450 procedure SetResRange(range: Integer);
451 procedure SetThreadAreaHorNormal;
452 procedure SetThreadAreaHorizontal(gls : TGikoListState);
453 procedure SetThreadAreaVerNormal;
454 procedure SetThreadAreaVertical(gls : TGikoListState);
455 procedure SetThreadReadProperty(read: Boolean);
456 procedure SelectThreadSaveToFile(dat: Boolean);
457 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
458 procedure RecalcThreadSize(limit : Integer);
459 procedure ClearSelectComboBox;
460 procedure ClearMailAllEditor();
461 procedure ClearNameTextAllEditor();
462 procedure MoveURLWithHistory(URL : String);
463 procedure BackToHistory(item: TMoveHistoryItem);
464 function GetActiveThreadLinks : IHTMLElementCollection;
465 procedure GetLinkURLs(links : IHTMLElementCollection;
466 URLs : TStringList; const Start: Integer; Exts : TStringList);
469 procedure RepaintStatusBar;
470 function EditorFormExists(): boolean;
471 procedure GetTabURLs(AStringList: TStringList);
472 procedure OpenURLs(AStringList: TStringList);
474 { Published
\90é
\8c¾ }
475 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
476 procedure DependActiveCntentActionUpdate(Sender: TObject);
477 //! 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é
478 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
479 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
480 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
490 Windows, Math, Clipbrd,
491 Giko, GikoUtil, BoardGroup,
492 FavoriteArrange, Favorite, MojuUtils,
493 Editor, ListSelect, Search, Option, Round,
494 KeySetting, Gesture, Kotehan, ToolBarSetting,
495 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
496 GikoBayesian, About, ShellAPI,
497 RoundName, RoundData, Menus, ListViewUtils,
498 ThreadControl, GikoMessage, InputAssist,
499 DefaultFileManager, Forms, NewBoardURL;
502 MSG_ERROR : string = '
\83G
\83\89\81[';
505 // *************************************************************************
506 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
507 // *************************************************************************
508 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
510 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
512 // *************************************************************************
513 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
514 // *************************************************************************
515 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
517 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
518 and (GikoForm.GetActiveContent.IsLogFile);
520 // *************************************************************************
521 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
522 // *************************************************************************
523 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
525 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
527 // *************************************************************************
528 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
529 // *************************************************************************
530 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
532 //
\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
533 GikoSys.FAbon.EditNGwords;
535 // *************************************************************************
536 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
537 // *************************************************************************
538 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
540 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
541 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
542 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½',
543 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
545 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
546 GikoForm.RepaintAllTabsBrowser();
549 // *************************************************************************
550 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
551 // *************************************************************************
552 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
554 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
555 if GikoSys.FAbon.GoBack =false then begin
556 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½',
557 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
559 //
\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
561 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
562 GikoForm.RepaintAllTabsBrowser();
565 // *************************************************************************
566 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
567 // *************************************************************************
568 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
570 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
571 if GikoSys.FAbon.GoForward =false then begin
572 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½',
573 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
575 //
\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
577 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
578 GikoForm.RepaintAllTabsBrowser();
581 // *************************************************************************
582 //! 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
583 // *************************************************************************
584 procedure TGikoDM.RepaintStatusBar;
588 //
\83X
\83e
\81[
\83^
\83X
\82É
\95\
\8e¦
\82³
\82ê
\82éNG
\83\8f\81[
\83h
\83t
\83@
\83C
\83\8b\96¼
\82ð
\8dX
\90V
589 s := GikoSys.FAbon.NGwordname;
590 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
591 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
592 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
593 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
594 GikoForm.StatusBarResize(nil);
596 // *************************************************************************
597 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
598 // *************************************************************************
599 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
601 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
603 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
605 // *************************************************************************
606 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
607 // *************************************************************************
608 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
610 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
612 // *************************************************************************
613 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
614 // *************************************************************************
615 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
617 Dlg: TFavoriteArrangeDialog;
619 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
625 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
626 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
628 // *************************************************************************
629 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
630 // *************************************************************************
631 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
635 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
637 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
638 while node <> nil do begin
639 if node.HasChildren then
640 node.Expanded := False;
641 node := node.GetNext;
646 // *************************************************************************
647 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
648 // *************************************************************************
649 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
654 if GikoForm.ClickNode = nil then
656 if GikoForm.ClickNode.IsFirstNode then
658 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
660 GikoForm.FavoriteTreeView.ReadOnly := False;
661 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
662 node := GikoForm.ClickNode.Parent;
663 while node <> nil do begin
664 node.Expanded := True;
667 GikoForm.ClickNode.EditText;
669 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 );
671 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
672 FavoriteDM.Modified := true;
675 // *************************************************************************
676 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
677 // *************************************************************************
678 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
680 NewFavFolder: TFavoriteFolder;
684 if GikoForm.ClickNode = nil then
688 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
689 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
690 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
693 NewFavFolder := TFavoriteFolder.Create;
694 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
695 Node.ImageIndex := 14;
696 Node.SelectedIndex := 14;
697 // FClickNode.Selected.Expanded := True;
698 GikoForm.FavoriteTreeView.Selected := Node;
699 GikoForm.ClickNode := Node;
700 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
701 FavoriteDM.Modified := true;
702 FavoriteTreeViewRenameAction.Execute;
707 // *************************************************************************
708 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
709 // *************************************************************************
710 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
712 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';
713 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
714 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
717 if GikoForm.ClickNode = nil then
719 if GikoForm.ClickNode.IsFirstNode then
721 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
722 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
723 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
726 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
731 GikoForm.ClickNode.Delete;
732 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
733 FavoriteDM.Modified := true;
738 // *************************************************************************
739 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
740 // *************************************************************************
741 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
744 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
746 // *************************************************************************
747 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
748 // *************************************************************************
749 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
751 FavThread: TFavoriteThreadItem;
752 FavBoard: TFavoriteBoardItem;
755 if (GikoForm.ClickNode = nil) then Exit;
757 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
759 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
760 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
761 if FavThread.Item <> nil then
762 GikoForm.DownloadContent(FavThread.Item, shiftDown);
763 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
764 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
765 GikoForm.DownloadList(FavBoard.Item, shiftDown);
769 // *************************************************************************
770 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
771 // *************************************************************************
772 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
775 if GikoForm.ClickNode = nil then Exit;
777 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
778 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
781 // *************************************************************************
782 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
783 // *************************************************************************
784 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
787 if GikoForm.ClickNode = nil then Exit;
789 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
791 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
794 GikoForm.ClickNode.Text + #13#10;
798 // *************************************************************************
799 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
800 // *************************************************************************
801 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
804 favItem : TFavoriteItem;
807 if GikoForm.ClickNode = nil then Exit;
809 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
810 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
811 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
812 favItem.URL + #13#10;
816 // *************************************************************************
817 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
818 // *************************************************************************
819 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
821 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';
822 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
824 ThreadItem: TThreadItem;
825 FavThread: TFavoriteThreadItem;
828 if GikoForm.ClickNode = nil then Exit;
829 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
831 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
832 ThreadItem := FavThread.Item;
835 if GikoSys.Setting.DeleteMsg then begin
836 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
837 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
841 GikoForm.DeleteHistory(ThreadItem);
842 GikoForm.DeleteTab(ThreadItem);
843 ThreadItem.DeleteLogFile;
845 GikoForm.ListView.Refresh;
850 // *************************************************************************
851 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
852 // *************************************************************************
853 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
856 threadItem : TThreadItem;
859 if GikoForm.ClickNode = nil then Exit;
861 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
863 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
864 if threadItem = nil then
866 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
870 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
871 procedure TGikoDM.ClearResFilter;
873 FilterList : TStringList;
875 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
876 FilterList := TStringList.Create;
878 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
879 GikoSys.FSelectResFilter.Reverse := False;
883 GikoForm.SelectResWord := '';
885 // *************************************************************************
886 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
887 // *************************************************************************
888 procedure TGikoDM.SetResRange(range: Integer);
890 if GikoSys.ResRange <> range then begin
891 GikoSys.ResRange := range;
892 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
894 GikoForm.RepaintAllTabsBrowser();
897 // *************************************************************************
898 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
899 // *************************************************************************
900 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
902 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
903 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
905 GikoForm.ResRangeMenuSelect := 100;
906 OnlyAHundredResAction.Checked := True;
907 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
910 // *************************************************************************
911 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
912 // *************************************************************************
913 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
915 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
916 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
918 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
919 OnlyKokoResAction.Checked := True;
921 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
922 SetResRange(Ord( grrKoko ));
924 // *************************************************************************
925 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
926 // *************************************************************************
927 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
929 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
930 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
932 GikoForm.ResRangeMenuSelect := Ord( grrNew );
933 OnlyNewResAction.Checked := True;
935 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
936 SetResRange(Ord( grrNew ));
938 // *************************************************************************
939 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
940 // *************************************************************************
941 procedure TGikoDM.SetThreadAreaHorNormal;
943 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
944 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
945 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
946 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
947 GikoSys.Setting.ListWidthState := glsNormal;
949 // *************************************************************************
950 //!
\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@
951 // *************************************************************************
952 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
954 if GikoSys.Setting.ListWidthState = glsNormal then
955 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
957 if (gls = glsMax) then begin
958 GikoForm.ViewPanel.Width := 1;
959 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
960 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
961 GikoSys.Setting.ListWidthState := glsMax;
962 end else if (gls = glsMin) then begin
963 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
964 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
965 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
966 GikoSys.Setting.ListWidthState := glsMin;
969 // *************************************************************************
970 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
971 // *************************************************************************
972 procedure TGikoDM.SetThreadAreaVerNormal;
974 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
975 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
976 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
977 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
978 GikoSys.Setting.ListHeightState := glsNormal;
980 // *************************************************************************
981 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
982 // *************************************************************************
983 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
985 if GikoSys.Setting.ListHeightState = glsNormal then
986 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
987 if (gls = glsMin) then begin
988 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
989 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
990 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
991 GikoSys.Setting.ListHeightState := glsMin;
992 end else if (gls = glsMax) then begin
993 GikoForm.ViewPanel.Height := 1;
994 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
995 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
996 GikoSys.Setting.ListHeightState := glsMax;
999 // *************************************************************************
1000 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
1001 // *************************************************************************
1002 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
1004 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1005 case GikoSys.Setting.ListWidthState of
1007 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1008 SetThreadAreaHorNormal;
1010 glsMin, glsNormal: begin
1011 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1012 SetThreadAreaHorizontal(glsMax);
1016 case GikoSys.Setting.ListHeightState of
1018 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1019 SetThreadAreaVerNormal;
1021 glsMin, glsNormal: begin
1022 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1023 SetThreadAreaVertical(glsMax);
1028 // *************************************************************************
1029 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1030 // *************************************************************************
1031 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1033 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1034 case GikoSys.Setting.ListWidthState of
1035 glsMax, glsNormal: begin
1036 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1037 SetThreadAreaHorizontal(glsMin);
1040 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1041 SetThreadAreaHorNormal;
1045 case GikoSys.Setting.ListHeightState of
1046 glsMax, glsNormal: begin
1047 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1048 SetThreadAreaVertical(glsMin);
1051 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1052 SetThreadAreaVerNormal;
1057 // *************************************************************************
1058 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1059 // *************************************************************************
1060 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1062 GikoForm.BrowserMovement('top');
1064 // *************************************************************************
1065 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1066 // *************************************************************************
1067 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1069 GikoForm.BrowserMovement('bottom');
1071 // *************************************************************************
1072 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1073 // *************************************************************************
1074 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1076 GikoForm.BrowserMovement('new');
1078 // *************************************************************************
1079 //!
\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é
1080 // *************************************************************************
1081 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1083 GikoForm.BrowserMovement('koko');
1085 // *************************************************************************
1086 //!
\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
1087 // *************************************************************************
1088 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1090 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1091 and (GikoForm.GetActiveContent.IsLogFile)
1092 and (GikoForm.GetActiveContent.Kokomade <> -1);
1094 // *************************************************************************
1095 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1096 // *************************************************************************
1097 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1099 Editor: TEditorForm;
1102 Item := GikoForm.GetActiveContent;
1103 if Item = nil then Exit;
1104 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1105 Editor.SetThreadItem(Item);
1107 Editor.BodyEdit.SetFocus;
1109 // *************************************************************************
1110 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1111 // *************************************************************************
1112 procedure TGikoDM.IEActionExecute(Sender: TObject);
1114 ShowThreadAction.Execute;
1116 // *************************************************************************
1117 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1118 // *************************************************************************
1119 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1121 ThreadItem: TThreadItem;
1123 ThreadItem := GikoForm.GetActiveContent;
1124 if ThreadItem = nil then Exit;
1125 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1127 // *************************************************************************
1128 //!
\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é
1129 // *************************************************************************
1130 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1132 ThreadItem: TThreadItem;
1134 ThreadItem := GikoForm.GetActiveContent;
1135 if ThreadItem = nil then Exit;
1136 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1138 // *************************************************************************
1139 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1140 // *************************************************************************
1141 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1146 if TObject(GikoForm.GetActiveContent) is TBoard then
1147 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1148 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1149 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1151 Clipboard.AsText := s;
1153 // *************************************************************************
1154 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1155 // *************************************************************************
1156 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1161 if TObject(GikoForm.GetActiveContent) is TBoard then
1162 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1163 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1164 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1166 Clipboard.AsText := s;
1168 // *************************************************************************
1169 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1170 // *************************************************************************
1171 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1176 if TObject(GikoForm.GetActiveContent) is TBoard then
1177 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1178 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1179 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1181 Clipboard.AsText := s;
1183 // *************************************************************************
1184 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1185 // *************************************************************************
1186 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1188 ThreadItem: TThreadItem;
1191 ThreadItem := GikoForm.GetActiveContent;
1192 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1193 if ThreadItem <> nil then
1194 GikoForm.DownloadContent(ThreadItem, shiftDown);
1196 // *************************************************************************
1197 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1198 // *************************************************************************
1199 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1203 idx := GikoForm.BrowserTab.TabIndex;
1204 if idx <> -1 then begin
1205 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1206 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1210 // *************************************************************************
1211 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1212 // *************************************************************************
1213 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1215 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1217 // *************************************************************************
1218 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1219 // *************************************************************************
1220 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1225 idx := GikoForm.BrowserTab.TabIndex;
1226 if idx = -1 then Exit;
1227 GikoForm.BrowserTab.Tabs.BeginUpdate;
1228 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1229 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1230 GikoForm.BrowserTab.Tabs.Delete(i);
1232 if idx > 0 then begin
1233 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1234 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1235 GikoForm.BrowserTab.Tabs.Delete(i);
1238 GikoForm.BrowserTab.Tabs.EndUpdate;
1240 // *************************************************************************
1241 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1242 // *************************************************************************
1243 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1245 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1247 // *************************************************************************
1248 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1249 // *************************************************************************
1250 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1254 if GikoSys.Setting.ShowDialogForAllTabClose then
1255 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
1258 GikoForm.ActiveContent := nil;
1259 GikoForm.BrowserNullTab.Thread := nil;
1260 GikoForm.BrowserTab.OnChange := nil;
1261 GikoForm.BrowserTab.Tabs.BeginUpdate;
1262 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1263 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1265 GikoForm.BrowserTab.Tabs.Clear;
1266 GikoForm.BrowserTab.Tabs.EndUpdate;
1267 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1268 GikoForm.SetContent(GikoForm.BrowserNullTab);
1269 GikoForm.Caption := CAPTION_NAME ;
1271 // *************************************************************************
1272 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1273 // *************************************************************************
1274 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1276 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';
1277 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1280 ThreadItem: TThreadItem;
1282 idx := GikoForm.BrowserTab.TabIndex;
1283 if idx <> -1 then begin
1284 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1285 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1286 if GikoSys.Setting.DeleteMsg then
1287 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1288 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1290 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1291 GikoForm.DeleteHistory(ThreadItem);
1292 ThreadItem.DeleteLogFile;
1293 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1294 GikoForm.ListView.Refresh;
1298 // *************************************************************************
1299 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1300 // *************************************************************************
1301 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1303 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1304 GikoForm.BrowserTab.TabIndex := 0;
1305 GikoForm.BrowserTab.OnChange(nil);
1308 // *************************************************************************
1309 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1310 // *************************************************************************
1311 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1313 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1314 LeftmostTabSelectActionUpdate(Sender);
1316 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1320 // *************************************************************************
1321 //!
\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
1322 // *************************************************************************
1323 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1325 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1326 and (GikoForm.BrowserTab.TabIndex <> 0);
1328 // *************************************************************************
1329 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1330 // *************************************************************************
1331 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1333 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1334 if GikoForm.BrowserTab.TabIndex = -1 then begin
1335 GikoForm.BrowserTab.TabIndex := 0;
1336 GikoForm.BrowserTab.OnChange(nil);
1337 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1338 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1339 GikoForm.BrowserTab.OnChange(nil);
1341 if (GikoSys.Setting.LoopBrowserTabs) and
1342 (GikoForm.BrowserTab.TabIndex = 0) then begin
1343 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1344 GikoForm.BrowserTab.OnChange(nil);
1349 // *************************************************************************
1350 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1351 // *************************************************************************
1352 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1354 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1355 if GikoForm.BrowserTab.TabIndex = -1 then begin
1356 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1357 GikoForm.BrowserTab.OnChange(nil);
1358 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1359 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1360 GikoForm.BrowserTab.OnChange(nil);
1362 if (GikoSys.Setting.LoopBrowserTabs) and
1363 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1364 GikoForm.BrowserTab.TabIndex := 0;
1365 GikoForm.BrowserTab.OnChange(nil);
1370 // *************************************************************************
1371 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1372 // *************************************************************************
1373 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1375 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1376 RightmostTabSelectActionUpdate(Sender);
1378 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1382 // *************************************************************************
1383 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1384 // *************************************************************************
1385 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1387 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1388 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1389 GikoForm.BrowserTab.OnChange(nil);
1392 // *************************************************************************
1393 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1394 // *************************************************************************
1395 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1397 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1398 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1401 // *************************************************************************
1402 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1403 // *************************************************************************
1404 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1406 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1407 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1409 // *************************************************************************
1410 //!
\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
1411 // *************************************************************************
1412 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1414 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1415 and (GikoForm.ListView.SelCount > 0);
1417 // *************************************************************************
1418 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1419 // *************************************************************************
1420 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1422 Dlg: TListSelectDialog;
1423 FilterList : TStringList;
1426 Dlg := TListSelectDialog.Create(GikoForm);
1428 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1429 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1431 if Dlg.ModalResult = mrOK then begin
1432 SelectResAction.Checked := True;
1433 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1434 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1435 ResRangeAction.Execute;
1437 GikoSys.ResRange := Ord( grrSelect );
1439 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1440 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1442 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1443 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1445 GikoSys.Setting.SelectTextList.Delete(idx);
1446 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1447 while Dlg.SelectComboBox.Items.Count > 100 do begin
1448 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1452 if GikoForm.SelectComboBoxPanel.Visible then
1453 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1457 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1458 FilterList := TStringList.Create;
1460 GikoSys.FSelectResFilter.Reverse := True;
1461 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1462 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1464 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1468 GikoForm.RepaintAllTabsBrowser();
1471 //
\83L
\83\83\83\93\83Z
\83\8b
1472 if GikoSys.ResRange <> Ord( grrSelect ) then
1473 ResRangeAction.Execute;
1480 // *************************************************************************
1481 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1482 // *************************************************************************
1483 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1485 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1486 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1488 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1489 AllResAction.Checked := True;
1491 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1492 SetResRange(Ord( grrAll ));
1494 // *************************************************************************
1495 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1496 // *************************************************************************
1497 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1499 case GikoForm.ResRangeMenuSelect of
1500 Ord( grrAll ): AllResAction.Execute;
1501 Ord( grrKoko ): OnlyKokoResAction.Execute;
1502 Ord( grrNew ): OnlyNewResAction.Execute;
1503 100: OnlyAHundredResAction.Execute;
1507 // *************************************************************************
1508 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1509 // *************************************************************************
1510 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1512 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1514 // *************************************************************************
1515 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1516 // *************************************************************************
1517 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1523 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
1524 str := ZenToHan(str);
1525 res := StrToIntDef(str, -1);
1526 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1527 GikoForm.ActiveContent.Move(IntToStr(res));
1528 SetFocusForBrowserAction.Execute;
1529 end else if res > GikoForm.GetActiveContent.Count then begin
1530 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1531 SetFocusForBrowserAction.Execute;
1535 // *************************************************************************
1536 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1537 // *************************************************************************
1538 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1543 idx := GikoForm.BrowserTab.TabIndex;
1544 if idx = -1 then Exit;
1545 GikoForm.BrowserTab.Tabs.BeginUpdate;
1546 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1547 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1548 GikoForm.BrowserTab.Tabs.Delete(i);
1550 GikoForm.BrowserTab.Tabs.EndUpdate;
1552 // *************************************************************************
1553 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1554 // *************************************************************************
1555 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1557 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1559 // *************************************************************************
1560 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1561 // *************************************************************************
1562 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1567 idx := GikoForm.BrowserTab.TabIndex;
1568 if idx = -1 then Exit;
1569 GikoForm.BrowserTab.Tabs.BeginUpdate;
1570 if idx > 0 then begin
1571 for i := idx - 1 downto 0 do begin
1572 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1573 GikoForm.BrowserTab.Tabs.Delete(i);
1576 GikoForm.BrowserTab.Tabs.EndUpdate;
1578 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1579 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1581 // 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
1582 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1583 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1584 TDefaultFileManager.CopyDefaultFiles(
1585 GikoSys.GetAppDir + 'defaultFiles.ini');
1587 // *************************************************************************
1588 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1589 // *************************************************************************
1590 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1595 if GikoForm.SearchDialog = nil then begin
1596 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1597 chk := GikoForm.GetActiveList
1601 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1602 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1606 GikoForm.SearchDialog.Show;
1610 // *************************************************************************
1611 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1612 // *************************************************************************
1613 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1617 Dlg := TOptionDialog.Create(GikoForm);
1624 // *************************************************************************
1625 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1626 // *************************************************************************
1627 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1631 Dlg := TRoundDialog.Create(GikoForm);
1638 // *************************************************************************
1639 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1640 // *************************************************************************
1641 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1643 Dlg: TKeySettingForm;
1645 Dlg := TKeySettingForm.Create(GikoForm);
1647 if Dlg.ShowModal = mrOk then begin
1648 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1649 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1650 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1655 MouseGesture.UnHook;
1656 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1657 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1658 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1659 if GikoSys.Setting.GestureEnabled then begin
1660 GikoSys.Setting.Gestures.ClearGesture;
1661 GikoSys.Setting.Gestures.LoadGesture(
1662 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1663 MouseGesture.SetHook( GikoForm.Handle );
1667 // *************************************************************************
1668 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1669 // *************************************************************************
1670 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1672 Dlg: TKotehanDialog;
1674 Dlg := TKotehanDialog.Create(GikoForm);
1681 // *************************************************************************
1682 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1683 // *************************************************************************
1684 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1686 Dlg: TToolBarSettingDialog;
1689 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1691 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1692 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1693 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1694 case GikoForm.ToolBarSettingSender of
1695 tssMain: Dlg.ToolBarIndex := 0;
1696 tssList: Dlg.ToolBarIndex := 1;
1697 tssBrowser: Dlg.ToolBarIndex := 2;
1699 if Dlg.ShowModal = mrOK then begin
1700 GikoForm.SetToolBarPopup;
1702 //
\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é
1703 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1704 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1705 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1706 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1707 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1709 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1710 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1711 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1712 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1713 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1715 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1716 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1717 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1718 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1719 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1722 SaveToolBarSetting(GikoForm.StdToolBar);
1723 SaveToolBarSetting(GikoForm.ListToolBar);
1724 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1725 GikoForm.SetSelectComboBox;
1726 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1727 SaveToolBarSetting(GikoForm.BrowserToolBar);
1731 GikoForm.ToolBarSettingSender := tssNone;
1734 // *************************************************************************
1735 //!
\83~
\83\85\81[
\83g
1736 // *************************************************************************
1737 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1739 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1741 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1742 // *************************************************************************
1743 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1744 // *************************************************************************
1745 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1748 TmpTreeNode: TTreeNode;
1750 TmpTreeNode := GikoForm.ClickNode;
1751 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1754 if TObject(TmpTreeNode.Data) is TBoard then
1755 Board := TBoard(TmpTreeNode.Data)
1756 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1757 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1759 if Board <> nil then
1760 GikoForm.DownloadList(Board);
1762 // *************************************************************************
1763 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1764 // *************************************************************************
1765 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1767 ThreadItem: TThreadItem;
1768 TmpTreeNode: TTreeNode;
1770 TmpTreeNode := GikoForm.ClickNode;
1771 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1774 if TObject(TmpTreeNode.Data) is TThreadItem then
1775 ThreadItem := TThreadItem(TmpTreeNode.Data)
1776 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1777 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1779 if ThreadItem <> nil then
1780 GikoForm.DownloadContent(ThreadItem);
1782 // *************************************************************************
1783 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1784 // *************************************************************************
1785 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1787 TmpTreeNode: TTreeNode;
1790 TmpTreeNode := GikoForm.ClickNode;
1791 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1792 if TObject(TmpTreeNode.Data) is TBoard then begin
1793 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1794 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1795 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1796 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1797 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1798 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1799 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1801 Clipboard.AsText := s;
1803 // *************************************************************************
1804 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1805 // *************************************************************************
1806 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1808 TmpTreeNode: TTreeNode;
1811 TmpTreeNode := GikoForm.ClickNode;
1812 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1813 if TObject(TmpTreeNode.Data) is TBoard then begin
1814 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1815 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1816 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1817 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1818 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1819 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1820 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1822 Clipboard.AsText := s;
1824 // *************************************************************************
1825 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1826 // *************************************************************************
1827 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1829 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1831 // *************************************************************************
1832 //!
\94Â
\96¼
\8c\9f\8dõ
1833 // *************************************************************************
1834 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1838 CurItem : TTreeNode;
1841 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1844 if GikoForm.TreeView.Selected = nil then
1845 CurItem := GikoForm.TreeView.Items.GetFirstNode
1847 CurItem := GikoForm.TreeView.Selected.GetNext;
1848 if CurItem = nil then
1849 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1851 while CurItem <> nil do begin
1852 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1855 CurItem := CurItem.GetNext;
1858 if CurItem = nil then begin
1859 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1860 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1861 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1865 GikoForm.TreeView.Select(CurItem);
1866 GikoForm.TreeView.SetFocus;
1868 GikoForm.TreeView.Select(CurItem);
1869 GikoForm.TreeView.SetFocus;
1870 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1871 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1884 // *************************************************************************
1885 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1886 // *************************************************************************
1887 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1891 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1892 s := GikoForm.ClickNode.Text;
1893 Clipboard.AsText := s;
1895 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1896 // *************************************************************************
1897 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1898 // *************************************************************************
1899 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1904 if GikoSys.Dolib.Connected then begin
1905 //
\83\8d\83O
\83A
\83E
\83g
1906 GikoSys.Dolib.Disconnect;
1907 LoginAction.Checked := False;
1908 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1909 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1911 TmpCursor := GikoForm.ScreenCursor;
1912 GikoForm.ScreenCursor := crHourGlass;
1914 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1915 if not GikoSys.Setting.ForcedLogin then begin
1916 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1917 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1918 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1919 if GikoSys.Setting.ReadProxy then begin
1920 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1921 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1923 GikoSys.Dolib.ProxyAddress := '';
1924 GikoSys.Dolib.ProxyPort := 0;
1926 if GikoSys.Dolib.Connect then begin
1927 LoginAction.Checked := True;
1928 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1929 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1930 //LoginToolButton.Style := tbsCheck;
1932 // 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);
1933 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1934 GikoForm.PlaySound('Error');
1935 LoginAction.Checked := False;
1936 //LoginToolButton.Down := False;
1937 ///LoginToolButton.Style := tbsButton;
1940 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
1941 + '
\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
1942 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1943 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1944 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1945 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1946 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1947 if GikoSys.Setting.ReadProxy then begin
1948 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1949 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1951 GikoSys.Dolib.ProxyAddress := '';
1952 GikoSys.Dolib.ProxyPort := 0;
1954 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1955 GikoSys.Dolib.ForcedConnect;
1956 if GikoSys.Dolib.Connect then begin
1957 LoginAction.Checked := True;
1958 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1959 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1960 //LoginToolButton.Style := tbsCheck;
1962 // 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);
1963 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1964 GikoForm.PlaySound('Error');
1965 LoginAction.Checked := False;
1966 //LoginToolButton.Down := False;
1967 //LoginToolButton.Style := tbsButton;
1970 LoginAction.Checked := False;
1971 //LoginToolButton.Down := False;
1972 //LoginToolButton.Style := tbsButton;
1976 GikoForm.ScreenCursor := TmpCursor;
1980 // *************************************************************************
1981 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1982 // *************************************************************************
1983 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
1985 Dlg: TNewBoardDialog;
1988 if (EditorFormExists) then begin
1989 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
1990 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
1993 Dlg := TNewBoardDialog.Create(GikoForm);
2000 // *************************************************************************
2001 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
2002 // *************************************************************************
2003 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
2005 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';
2006 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';
2007 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2009 ThreadItem: TThreadItem;
2010 TmpListItem: TListItem;
2014 List := TList.Create;
2016 TmpListItem := GikoForm.ListView.Selected;
2017 while TmpListItem <> nil do begin
2018 if TObject(TmpListItem.Data) is TThreadItem then begin
2019 ThreadItem := TThreadItem(TmpListItem.Data);
2020 if ThreadItem.IsLogFile then
2021 List.Add(ThreadItem);
2023 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2026 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2027 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2028 if List.Count = 1 then begin
2029 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
2032 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
2038 for i := 0 to List.Count - 1 do begin
2039 ThreadItem := TThreadItem(List[i]);
2040 GikoForm.DeleteHistory(ThreadItem);
2041 GikoForm.DeleteTab(ThreadItem);
2042 ThreadItem.DeleteLogFile;
2044 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2046 GikoForm.ListView.Refresh;
2051 // *************************************************************************
2052 //! 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Ê
2053 // *************************************************************************
2054 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2056 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2057 and (GikoForm.ListView.SelCount > 0);
2059 // *************************************************************************
2060 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2061 // *************************************************************************
2062 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2064 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';
2065 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2067 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2068 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2070 GikoSys.Setting.SelectTextList.Clear;
2071 GikoForm.SelectComboBox.Items.Clear;
2072 GikoForm.SelectComboBox.Text := '';
2073 GikoForm.SetListViewType( gvtAll );
2075 // *************************************************************************
2076 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2077 // *************************************************************************
2078 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2080 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';
2081 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2083 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2084 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2086 GikoSys.Setting.NameList.Clear;
2087 ClearNameTextAllEditor
2089 // *************************************************************************
2090 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2091 // *************************************************************************
2092 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2094 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';
2095 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2097 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2098 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2100 GikoSys.Setting.MailList.Clear;
2103 // *************************************************************************
2104 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2105 // *************************************************************************
2106 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2110 // *************************************************************************
2111 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2112 // *************************************************************************
2113 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2115 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2117 // *************************************************************************
2118 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2119 // *************************************************************************
2120 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2122 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2123 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2125 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2128 // *************************************************************************
2129 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2130 // *************************************************************************
2131 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2138 List := TList.Create;
2140 GikoForm.ScreenCursor := crHourGlass;
2141 GikoForm.SelectListItem(List);
2142 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2143 (GikoSys.Setting.ListHeightState = glsMax)) or
2144 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2145 (GikoSys.Setting.ListWidthState = glsMax)) then
2146 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2147 else if(List.Count = 0) then
2148 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2151 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2152 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2154 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2155 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2157 for i := 0 to List.Count - 1 do begin
2158 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2160 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2162 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2164 if SaveDialog.Execute then begin
2166 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2167 PChar(SaveDialog.FileName), true);
2169 html := TStringList.Create;
2170 title := TThreadItem(List[i]).Title;
2172 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2173 html.SaveToFile(SaveDialog.FileName);
2174 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2184 GikoForm.ScreenCursor := crDefault;
2188 // *************************************************************************
2189 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2190 // *************************************************************************
2191 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2193 SelectThreadSaveToFile(false);
2195 // *************************************************************************
2196 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2197 // *************************************************************************
2198 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2200 SelectThreadSaveToFile(true);
2202 // *************************************************************************
2203 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2204 // *************************************************************************
2205 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2207 Filename = 'tab.sav';
2208 bFilename = '~tab.sav';
2210 SaveStringList: TStringList;
2212 SaveStringList := TStringList.Create;
2214 GetTabURLs(SaveStringList);
2216 if FileExists( GikoSys.GetAppDir + Filename) then begin
2217 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2218 PChar(GikoSys.GetAppDir + bFilename), False);
2222 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2224 SaveStringList.Free;
2227 // *************************************************************************
2228 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2229 // *************************************************************************
2230 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2232 rec : TBrowserRecord;
2235 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2237 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2238 if( rec <> nil) and (rec.Thread <> nil) then
2239 AStringList.Add( rec.Thread.URL );
2244 // *************************************************************************
2245 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2246 // *************************************************************************
2247 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2249 GikoTab : TGikoTabAppend;
2253 if (AStringList <> nil) then begin
2254 GikoTab := GikoSys.Setting.BrowserTabAppend;
2256 bound := AStringList.Count - 1;
2257 if bound > -1 then begin
2258 GikoSys.Setting.BrowserTabAppend := gtaLast;
2259 for i := 0 to bound do begin
2260 item := BBSsFindThreadFromURL( AStringList[ i ] );
2262 GikoForm.InsertBrowserTab( item, false );
2264 //
\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Ñ
2265 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
2266 GikoForm.BrowserTab.OnChange(nil);
2270 GikoSys.Setting.BrowserTabAppend := GikoTab;
2274 // *************************************************************************
2275 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2276 // *************************************************************************
2277 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2279 TABFILE = 'tab.sav';
2284 URLs := TStringList.Create();
2286 fileName := ExtractFilePath(Application.ExeName) + TABFILE;
2287 if FileExists(fileName) then begin
2289 URLs.LoadFromFile(fileName);
2290 if (URLs.Count = 0) then begin
2291 //
\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
2292 SysUtils.DeleteFile(fileName);
2297 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2304 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2305 (TabsOpenAction.Tag <> 1) then begin
2306 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2309 // *************************************************************************
2310 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2311 // *************************************************************************
2312 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2314 GikoSys.Setting.BeLogin := not GikoSys.Setting.BeLogin;
2316 // *************************************************************************
2317 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
2318 // *************************************************************************
2319 procedure TGikoDM.BeLogInOutActionUpdate(Sender: TObject);
2321 if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
2322 if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
2323 else BeLogInOutAction.Checked := false;
2324 BeLogInOutAction.Enabled := true
2326 BeLogInOutAction.Enabled := false;
2328 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2329 // *************************************************************************
2330 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2331 // *************************************************************************
2332 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2335 ThreadItem: TThreadItem;
2337 No := GikoForm.KokoPopupMenu.Tag;
2338 if No = 0 then Exit;
2339 ThreadItem := GikoForm.GetActiveContent(True);
2340 if ThreadItem = nil then Exit;
2341 ThreadItem.Kokomade := No;
2342 GikoForm.ActiveContent.Thread.ScrollTop :=
2343 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2344 GikoForm.ActiveContent.Repaint := true;
2345 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2346 //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é
2347 //Application.ProcessMessages;
2349 // *************************************************************************
2350 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2351 // *************************************************************************
2352 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2354 ThreadItem: TThreadItem;
2356 ThreadItem := GikoForm.GetActiveContent(True);
2357 if ThreadItem = nil then Exit;
2358 ThreadItem.Kokomade := -1;
2359 GikoForm.ActiveContent.Thread.ScrollTop :=
2360 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2361 GikoForm.ActiveContent.Repaint := true;
2362 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2363 //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é
2364 //Application.ProcessMessages;
2366 // *************************************************************************
2367 //!
\83R
\83R
\82É
\83\8c\83X
2368 // *************************************************************************
2369 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2371 Editor: TEditorForm;
2375 Number := GikoForm.KokoPopupMenu.Tag;
2376 if Number = 0 then Exit;
2377 Item := GikoForm.GetActiveContent(True);
2378 if Item = nil then Exit;
2380 Editor := TEditorForm.Create(GikoForm);
2381 Editor.SetThreadItem(Item);
2382 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2384 Editor.BodyEdit.SetFocus;
2386 // *************************************************************************
2387 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2388 // *************************************************************************
2389 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2391 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2393 // *************************************************************************
2394 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2395 // *************************************************************************
2396 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2400 ThreadItem : TThreadItem;
2405 No := GikoForm.KokoPopupMenu.Tag;
2406 if No = 0 then Exit;
2407 ThreadItem := GikoForm.GetActiveContent(True);
2408 if ThreadItem = nil then Exit;
2409 count := GikoSys.GetSameIDResCount(No, GikoForm.ActiveContent.Thread);
2411 if count > LIMIT then begin
2412 if ( GikoUtil.MsgBox(GikoForm.Handle,
2413 IntToStr(LIMIT) + '
\8cÂ
\88È
\8fã
\82 \82è
\82Ü
\82·
\82ª
\81A
\82·
\82×
\82Ä
\95\
\8e¦
\82µ
\82Ü
\82·
\82©
\81H',
2414 'ID
\83|
\83b
\83v
\83A
\83b
\83v
\8cx
\8d\90',
2415 MB_YESNO or MB_ICONQUESTION) = ID_YES ) then begin
2419 body := GikoSys.GetSameIDResAnchor(No, ThreadItem, limited);
2420 GikoForm.ActiveContent.IDAnchorPopup(body);
2422 // *************************************************************************
2423 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2424 // *************************************************************************
2425 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2427 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2429 // *************************************************************************
2430 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2431 // *************************************************************************
2432 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2434 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2436 // *************************************************************************
2437 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2438 // *************************************************************************
2439 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2441 IndividualForm :TIndividualAbonForm;
2442 ThreadItem : TThreadItem;
2444 ReadList : TStringList;
2445 wordCount : TWordCount;
2447 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2449 ThreadItem := GikoForm.GetActiveContent(True);
2450 ThreadItem.ScrollTop :=
2451 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2452 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2453 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2454 ReadList := TStringList.Create;
2455 wordCount := TWordCount.Create;
2457 {$IFDEF SPAM_FILTER_ENABLED}
2458 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2459 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2460 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2461 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2462 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2464 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2465 GikoForm.ActiveContent.Repaint := true;
2466 GikoForm.InsertBrowserTab( ThreadItem, True );
2473 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2474 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2478 IndividualForm.Release;
2481 // *************************************************************************
2482 //!
\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
2483 // *************************************************************************
2484 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2486 IndividualForm :TIndividualAbonForm;
2487 ThreadItem : TThreadItem;
2489 ReadList : TStringList;
2490 wordCount : TWordCount;
2491 {$IFDEF SPAM_FILTER_ENABLED}
2495 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2497 ThreadItem := GikoForm.GetActiveContent(True);
2498 ThreadItem.ScrollTop :=
2499 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2500 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2501 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2502 if (IndividualForm.ShowModal = mrOK) then begin
2503 ReadList := TStringList.Create;
2504 wordCount := TWordCount.Create;
2506 {$IFDEF SPAM_FILTER_ENABLED}
2507 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2508 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2509 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2510 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2511 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2512 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2515 if IndividualForm.FRepaint then begin
2516 GikoForm.ActiveContent.Repaint := true;
2517 GikoForm.InsertBrowserTab( ThreadItem, True );
2525 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2526 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2530 IndividualForm.Release;
2533 // *************************************************************************
2534 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2535 // *************************************************************************
2536 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2538 GikoForm.IndividualAbonID(1);
2540 // *************************************************************************
2541 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2542 // *************************************************************************
2543 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2545 GikoForm.IndividualAbonID(0);
2547 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2548 // *************************************************************************
2549 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2550 // *************************************************************************
2551 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2553 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2555 // *************************************************************************
2556 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2557 // *************************************************************************
2558 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2560 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2562 // *************************************************************************
2563 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2564 // *************************************************************************
2565 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2567 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2569 // *************************************************************************
2570 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2571 // *************************************************************************
2572 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2574 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2576 // *************************************************************************
2577 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2578 // *************************************************************************
2579 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2583 Dlg := TAboutDialog.Create(GikoForm);
2590 // *************************************************************************
2591 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2592 // *************************************************************************
2593 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2597 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2598 if not FileExists(FileName) then begin
2601 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2602 '
\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 +
2603 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2608 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2610 // *************************************************************************
2611 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2612 // *************************************************************************
2613 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2615 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2617 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2618 // *************************************************************************
2619 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2620 // *************************************************************************
2621 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2623 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2624 GikoForm.ListView.Refresh;
2626 // *************************************************************************
2627 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2628 // *************************************************************************
2629 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2631 if GikoForm.GetActiveList is TBoard then begin
2632 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2633 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2634 end else if GikoForm.GetActiveList is TCategory then begin
2635 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2638 // *************************************************************************
2639 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2640 // *************************************************************************
2641 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2643 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS);
2645 // *************************************************************************
2646 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2647 // *************************************************************************
2648 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2650 case GikoForm.ListView.ViewStyle of
2651 vsIcon: SmallIconAction.Execute;
2652 vsSmallIcon: ListIconAction.Execute;
2653 vsList: DetailIconAction.Execute;
2654 vsReport: LargeIconAction.Execute;
2657 // *************************************************************************
2658 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2659 // *************************************************************************
2660 procedure TGikoDM.ClearSelectComboBox;
2662 if GikoForm.SelectComboBoxPanel.Visible then begin
2663 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2664 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2665 GikoForm.ListView.SetFocus;
2668 // *************************************************************************
2669 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2670 // *************************************************************************
2671 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2674 if GikoForm.ViewType <> gvtAll then
2675 GikoForm.SetListViewType(gvtAll);
2676 GikoSys.Setting.ThreadRange := gtrAll;
2677 AllItemAction.Checked := True;
2678 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2679 GikoForm.ModifySelectList;
2680 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2681 ClearSelectComboBox;
2685 // *************************************************************************
2686 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2687 // *************************************************************************
2688 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2691 if GikoForm.ViewType <> gvtLog then
2692 GikoForm.SetListViewType(gvtLog);
2693 GikoSys.Setting.ThreadRange := gtrLog;
2694 LogItemAction.Checked := True;
2695 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2696 GikoForm.ModifySelectList;
2697 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2698 ClearSelectComboBox;
2702 // *************************************************************************
2703 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2704 // *************************************************************************
2705 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2709 if GikoForm.ViewType <> gvtNew then
2710 GikoForm.SetListViewType(gvtNew);
2711 GikoSys.Setting.ThreadRange := gtrNew;
2712 NewItemAction.Checked := True;
2713 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2714 GikoForm.ModifySelectList;
2715 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2716 ClearSelectComboBox;
2720 // *************************************************************************
2721 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2722 // *************************************************************************
2723 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2726 if GikoForm.ViewType <> gvtArch then
2727 GikoForm.SetListViewType(gvtArch);
2728 GikoSys.Setting.ThreadRange := gtrArch;
2729 ArchiveItemAction.Checked := True;
2730 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2731 GikoForm.ModifySelectList;
2732 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2733 ClearSelectComboBox;
2737 // *************************************************************************
2738 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2739 // *************************************************************************
2740 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2743 if GikoForm.ViewType <> gvtLive then
2744 GikoForm.SetListViewType(gvtLive);
2745 GikoSys.Setting.ThreadRange := gtrLive;
2746 LiveItemAction.Checked := True;
2747 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2748 GikoForm.ModifySelectList;
2749 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2750 ClearSelectComboBox;
2755 // *************************************************************************
2756 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2757 // *************************************************************************
2758 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2760 case GikoSys.Setting.ThreadRange of
2761 gtrAll: AllItemAction.Execute;
2762 gtrLog: LogItemAction.Execute;
2763 gtrNew: NewItemAction.Execute;
2764 gtrArch: ArchiveItemAction.Execute;
2765 gtrLive: LiveItemAction.Execute;
2768 // *************************************************************************
2769 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2770 // *************************************************************************
2771 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2774 Dlg: TListSelectDialog;
2777 if GikoForm.SelectComboBoxPanel.Visible then begin
2778 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2779 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2780 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2781 if GikoSys.Setting.ListWidthState = glsMax then
2782 BrowserMinAction.Execute;
2784 if GikoSys.Setting.ListHeightState = glsMax then
2785 BrowserMinAction.Execute;
2787 GikoForm.SelectComboBox.SetFocus;
2794 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2795 GikoForm.SelectComboBox.Text := '';
2796 GikoForm.SelectComboBox.Color := clWindow;
2799 AllItemAction.Checked := False;
2800 LogItemAction.Checked := False;
2801 NewItemAction.Checked := False;
2802 //SelectItemAction.Checked := True;
2803 GikoForm.ModifySelectList;
2804 Dlg := TListSelectDialog.Create(GikoForm);
2806 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2807 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2809 if Dlg.ModalResult = mrCancel then begin
2810 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2811 AllItemAction.Checked := True;
2812 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2813 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2816 if GikoForm.GetActiveList is TBoard then
2817 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2819 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2821 GikoSys.Setting.SelectTextList.Delete(idx);
2822 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2823 while Dlg.SelectComboBox.Items.Count > 100 do begin
2824 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2827 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2828 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2829 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2831 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2832 GikoForm.SelectComboBox.Color := clWindow;
2834 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2840 // *************************************************************************
2841 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2842 // *************************************************************************
2843 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2845 Editor: TEditorForm;
2847 if not (GikoForm.GetActiveList is TBoard) then
2849 Editor := TEditorForm.Create(GikoForm);
2850 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2852 Editor.BodyEdit.SetFocus;
2854 // *************************************************************************
2855 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2856 // *************************************************************************
2857 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2861 if GikoForm.GetActiveList is TBoard then begin
2862 URL := TBoard(GikoForm.GetActiveList).URL;
2863 GikoSys.OpenBrowser(URL, gbtAuto);
2866 // *************************************************************************
2867 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2868 // *************************************************************************
2869 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2876 List := TList.Create;
2878 GikoForm.SelectListItem(List);
2879 for i := 0 to List.Count - 1 do begin
2880 if TObject(List[i]) is TBoard then
2881 s := s + TBoard(List[i]).URL + #13#10
2882 else if TObject(List[i]) is TThreadItem then
2883 s := s + TThreadItem(List[i]).URL + #13#10;
2886 Clipboard.AsText := s;
2891 // *************************************************************************
2892 //!
\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
2893 // *************************************************************************
2894 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2896 if ((GikoForm.GetActiveList is TBoard) or
2897 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2898 TAction(Sender).Enabled := True
2900 TAction(Sender).Enabled := False;
2902 // *************************************************************************
2903 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2904 // *************************************************************************
2905 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2912 List := TList.Create;
2914 GikoForm.SelectListItem(List);
2915 for i := 0 to List.Count - 1 do begin
2916 if TObject(List[i]) is TCategory then
2917 s := s + TCategory(List[i]).Title + #13#10
2918 else if TObject(List[i]) is TBoard then
2919 s := s + TBoard(List[i]).Title + #13#10
2920 else if TObject(List[i]) is TThreadItem then
2921 s := s + TThreadItem(List[i]).Title + #13#10;
2924 Clipboard.AsText := s;
2929 // *************************************************************************
2930 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2931 // *************************************************************************
2932 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2934 if ((GikoForm.GetActiveList is TBBS) or
2935 (GikoForm.GetActiveList is TBoard) or
2936 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2937 TAction(Sender).Enabled := True
2939 TAction(Sender).Enabled := False;
2941 // *************************************************************************
2942 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2943 // *************************************************************************
2944 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2951 List := TList.Create;
2953 GikoForm.SelectListItem(List);
2954 for i := 0 to List.Count - 1 do begin
2955 if TObject(List[i]) is TBoard then
2956 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2957 else if TObject(List[i]) is TThreadItem then
2958 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
2961 Clipboard.AsText := s;
2966 // *************************************************************************
2967 //!
\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é
2968 // *************************************************************************
2969 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
2976 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2977 GikoForm.ActiveListColumnSave;
2978 if GikoForm.GetActiveList is TCategory then begin
2979 List := TList.Create;
2981 GikoForm.SelectListItem(List);
2982 if List.Count > 5 then begin
2983 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
2984 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
2985 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
2988 for i := 0 to List.Count - 1 do begin
2989 if TObject(List[i]) is TBoard then
2990 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
2995 end else if GikoForm.GetActiveList is TBoard then begin
2996 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
2999 // *************************************************************************
3000 //!
\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
3001 // *************************************************************************
3002 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
3004 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3005 TAction(Sender).Enabled := True
3006 else if GikoForm.GetActiveList is TBoard then
3007 TAction(Sender).Enabled := True
3009 TAction(Sender).Enabled := False;
3011 // *************************************************************************
3012 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3013 // *************************************************************************
3014 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3021 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3022 List := TList.Create;
3024 GikoForm.SelectListItem(List);
3025 if List.Count > 10 then begin
3026 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3027 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3028 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3031 for i := 0 to List.Count - 1 do begin
3032 if TObject(List[i]) is TThreadItem then
3033 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3039 // *************************************************************************
3040 //!
\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
3041 // *************************************************************************
3042 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3044 TAction(Sender).Enabled :=
3045 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3047 // *************************************************************************
3048 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3049 // *************************************************************************
3050 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3052 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3053 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3055 // *************************************************************************
3056 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3057 // *************************************************************************
3058 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3063 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3064 List := TList.Create;
3066 GikoForm.SelectListItem(List);
3067 for i := 0 to List.Count - 1 do begin
3068 if TObject(List[i]) is TThreadItem then begin
3069 if TThreadItem(List[i]).IsLogFile then begin
3070 SelectReservAction.Enabled := True;
3075 SelectReservAction.Enabled := False;
3079 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3080 SelectReservAction.Enabled := True
3082 SelectReservAction.Enabled := False;
3084 // *************************************************************************
3085 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3086 // *************************************************************************
3087 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3090 Dlg: TRoundNameDialog;
3094 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3095 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3098 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3099 cnt := RoundList.Count[grtBoard];
3100 cnt := cnt + RoundList.Count[grtItem];
3101 if cnt > 500 then begin
3102 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3106 Dlg := TRoundNameDialog.Create(GikoForm);
3109 if Dlg.ModalResult <> mrCancel then begin
3110 s := Trim(Dlg.RoundNameEdit.Text);
3111 if (Sender is TMenuItem) then begin
3112 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3113 end else if (Sender is TAction) then begin
3114 if (GikoForm.ListView.Selected <> nil) then begin
3115 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3116 GikoForm.SetSelectItemRound(True, s,
3117 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3118 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3119 GikoForm.SetSelectItemRound(True, s,
3120 TBoard(GikoForm.ListView.Selected.Data).Title);
3124 GikoForm.ListView.Refresh;
3130 // *************************************************************************
3131 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3132 // *************************************************************************
3133 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3137 if (Sender is TMenuItem) then begin
3139 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3142 end else if (Sender is TAction) then begin
3144 if GikoForm.ListView.Selected <> nil then begin
3145 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3146 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3147 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3148 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3150 GikoForm.SetSelectItemRound(False, '', s);
3156 GikoForm.ListView.Refresh;
3158 // *************************************************************************
3159 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3160 // *************************************************************************
3161 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3163 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3164 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3166 // *************************************************************************
3167 //!
\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
3168 // *************************************************************************
3169 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3171 BoardFavoriteAddAction.Enabled :=
3172 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3174 // *************************************************************************
3175 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3176 // *************************************************************************
3177 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3181 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3182 (GikoSys.Setting.ListHeightState = glsMax)) or
3183 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3184 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3185 if(GikoForm.GetActiveContent <> nil) then begin
3186 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3188 end else if GikoForm.GetActiveList is TCategory then begin
3189 List := TList.Create;
3191 GikoForm.SelectListItem(List);
3192 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3196 end else if GikoForm.GetActiveList is TBoard then begin
3197 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3201 // *************************************************************************
3202 //! 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Ê
3203 // *************************************************************************
3204 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3206 if ((GikoForm.GetActiveList is TBoard) or (GikoForm.GetActiveList is TCategory))
3207 and (GikoForm.ListView.SelCount > 0) then
3208 TAction(Sender).Enabled := True
3210 TAction(Sender).Enabled := False;
3212 // *************************************************************************
3213 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3214 // *************************************************************************
3215 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3217 RefURL, URL : string;
3221 if GikoForm.GetActiveList is TCategory then begin
3222 List := TList.Create;
3224 GikoForm.SelectListItem(List);
3225 RefURL := TBoard(List[0]).URL;
3229 end else if GikoForm.GetActiveList is TBoard then begin
3230 RefURL := TBoard(GikoForm.GetActiveList).URL
3232 if RefURL <> '' then begin
3233 if RefURL[Length(RefURL)] <> '/' then
3234 URL := RefURL + '/' + 'head.txt'
3236 URL := RefURL + 'head.txt';
3238 GikoForm.MoveToURL(URL);
3240 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3244 // *************************************************************************
3245 //!
\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é
3246 // *************************************************************************
3247 function TGikoDM.GetSortProperties(List: TObject;
3248 var vSortOrder: Boolean): Boolean;
3251 if (List <> nil) then begin
3252 if (List is TBBS) then begin
3253 vSortOrder := GikoSys.Setting.BBSSortOrder;
3254 end else if (List is TCategory) then begin
3255 vSortOrder := GikoSys.Setting.CategorySortOrder;
3256 end else if (List is TBoard) then begin
3257 vSortOrder := GikoSys.Setting.BoardSortOrder;
3265 // *************************************************************************
3266 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3267 // *************************************************************************
3268 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3273 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3274 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3275 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3276 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3278 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3279 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3286 // *************************************************************************
3287 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3288 // *************************************************************************
3289 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3293 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3294 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3295 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3297 if id > GikoForm.ListView.Columns.Count - 1 then
3299 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3300 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3306 // *************************************************************************
3307 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3308 // *************************************************************************
3309 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3313 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3314 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3315 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3318 id := GikoForm.ListView.Columns.Count - 1;
3319 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3320 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3326 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3327 // *************************************************************************
3328 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3329 // *************************************************************************
3330 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3332 CoolBand: TCoolBand;
3334 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3335 if CoolBand = nil then
3337 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3338 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3339 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3341 // *************************************************************************
3342 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3343 // *************************************************************************
3344 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3346 CoolBand: TCoolBand;
3348 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3349 if CoolBand = nil then
3351 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3352 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3353 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3355 // *************************************************************************
3356 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3357 // *************************************************************************
3358 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3360 CoolBand: TCoolBand;
3362 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3363 if CoolBand = nil then
3365 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3366 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3367 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3369 // *************************************************************************
3370 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3371 // *************************************************************************
3372 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3374 CoolBand: TCoolBand;
3376 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3377 if CoolBand = nil then
3379 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3380 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3382 // *************************************************************************
3383 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3384 // *************************************************************************
3385 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3387 CoolBand: TCoolBand;
3389 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3390 if CoolBand = nil then
3392 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3393 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3395 // *************************************************************************
3396 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3397 // *************************************************************************
3398 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3400 CoolBand: TCoolBand;
3402 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3403 if CoolBand = nil then
3405 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3406 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3408 // *************************************************************************
3409 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3410 // *************************************************************************
3411 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3413 CoolBand: TCoolBand;
3415 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3416 if CoolBand = nil then
3418 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3419 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3421 // *************************************************************************
3422 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3423 // *************************************************************************
3424 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3426 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3427 GikoForm.MessagePanel.Top :=
3428 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3429 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3430 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3431 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3433 // *************************************************************************
3434 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3435 // *************************************************************************
3436 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3438 MsgBarVisibleAction.Execute;
3440 // *************************************************************************
3441 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3442 // *************************************************************************
3443 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3445 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3446 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3448 // *************************************************************************
3449 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3450 // *************************************************************************
3451 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3454 if GikoForm.CabinetPanel.Visible then begin
3455 if GikoForm.TreeType = gtt2ch then begin
3456 GikoForm.CabinetVisible( False );
3458 CabinetBBSAction.Checked := False;
3460 CabinetBBSAction.Checked := True;
3463 GikoForm.CabinetVisible( True );
3464 CabinetBBSAction.Checked := True;
3467 if GikoForm.ActiveBBS = nil then
3468 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3470 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3473 // *************************************************************************
3474 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3475 // *************************************************************************
3476 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3478 GikoForm.ShowHistoryTree;
3480 // *************************************************************************
3481 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3482 // *************************************************************************
3483 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3489 if GikoForm.CabinetPanel.Visible then begin
3490 if GikoForm.TreeType = gttFavorite then begin
3491 GikoForm.CabinetVisible( False );
3492 CabinetFavoriteAction.Checked := False;
3494 CabinetFavoriteAction.Checked := True;
3497 GikoForm.CabinetVisible( True );
3498 CabinetFavoriteAction.Checked := True;
3501 // BBS...BBS, History, Favorite
3502 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3504 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3505 for i := 0 to b do begin
3506 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3507 if item is TBBSMenuItem then begin
3508 item.Checked := False;
3509 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3510 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3514 //
\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Ö
3515 GikoForm.HistoryToolBar.Hide;
3516 GikoForm.FavoriteToolBar.Show;
3517 GikoForm.TreeView.Visible := False;
3518 GikoForm.FavoriteTreeView.Visible := True;
3520 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3521 GikoForm.TreeType := gttFavorite;
3523 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3524 CabinetBBSAction.Checked := False;
3525 CabinetHistoryAction.Checked := False;
3527 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3528 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3531 // *************************************************************************
3532 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3533 // *************************************************************************
3534 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3536 case GikoForm.TreeType of
3537 gttHistory: CabinetHistoryAction.Execute;
3538 gttFavorite: CabinetFavoriteAction.Execute;
3540 CabinetBBSAction.Execute;
3543 // *************************************************************************
3544 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3545 // *************************************************************************
3546 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3548 //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ã
3550 // *************************************************************************
3551 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3552 // *************************************************************************
3553 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3555 GikoForm.ListView.ViewStyle := vsIcon;
3556 LargeIconAction.Checked := True;
3558 // *************************************************************************
3559 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3560 // *************************************************************************
3561 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3563 GikoForm.ListView.ViewStyle := vsSmallIcon;
3564 SmallIconAction.Checked := True;
3566 // *************************************************************************
3567 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3568 // *************************************************************************
3569 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3571 GikoForm.ListView.ViewStyle := vsList;
3572 ListIconAction.Checked := True;
3574 // *************************************************************************
3575 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3576 // *************************************************************************
3577 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3579 GikoForm.ListView.ViewStyle := vsReport;
3580 DetailIconAction.Checked := True;
3582 // *************************************************************************
3583 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3584 // *************************************************************************
3585 procedure TGikoDM.StopActionExecute(Sender: TObject);
3587 GikoForm.FControlThread.DownloadAbort;
3588 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3590 GikoForm.Animate.Active := False;
3593 GikoForm.ScreenCursor := crDefault;
3595 // *************************************************************************
3596 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3597 // *************************************************************************
3598 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3600 if ArrangeAction.Checked then begin
3602 GikoForm.ViewPanel.Align := alNone;
3603 GikoForm.ListSplitter.Align := alNone;
3604 GikoForm.ThreadPanel.Align := alNone;
3606 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3607 GikoForm.ViewPanel.Align := alLeft;
3609 GikoForm.ListSplitter.Width := 5;
3610 GikoForm.ListSplitter.Align := alLeft;
3612 GikoForm.ViewPanel.Left := -10;
3614 GikoForm.ThreadPanel.Align := alClient;
3616 GikoSys.Setting.ListOrientation := gloHorizontal;
3617 case GikoSys.Setting.ListWidthState of
3619 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3620 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3621 GikoForm.ViewPanel.Width := 1;
3624 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3625 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3628 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3629 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3630 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3635 GikoForm.ViewPanel.Align := alNone;
3636 GikoForm.ListSplitter.Align := alNone;
3637 GikoForm.ThreadPanel.Align := alNone;
3639 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3640 GikoForm.ViewPanel.Align := alTop;
3642 GikoForm.ListSplitter.Height := 5;
3643 GikoForm.ListSplitter.Align := alTop;
3645 GikoForm.ViewPanel.Top := -10;
3647 GikoForm.ThreadPanel.Align := alClient;
3648 GikoSys.Setting.ListOrientation := gloVertical;
3649 case GikoSys.Setting.ListHeightState of
3651 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3652 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3653 GikoForm.ViewPanel.Height := 1;
3656 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3657 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3660 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3661 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3662 GikoForm.ViewPanel.Height :=
3663 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3668 // *************************************************************************
3669 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3670 // *************************************************************************
3671 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3673 GikoForm.CabinetPanel.Width := 150;
3674 GikoForm.MessagePanel.Height := 40;
3676 GikoForm.BrowserSizeWidth := 200;
3677 GikoForm.BrowserSizeHeight := 200;
3678 if ArrangeAction.Checked then begin
3679 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3681 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3683 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3684 if GikoSys.Setting.ListHeightState = glsMax then begin
3685 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3686 GikoSys.Setting.ListHeightState := glsNormal;
3689 if GikoSys.Setting.ListWidthState = glsMax then begin
3690 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3691 GikoSys.Setting.ListWidthState := glsNormal;
3695 // *************************************************************************
3696 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3697 // *************************************************************************
3698 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3700 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3701 GikoForm.SetBrowserTabState;
3703 // *************************************************************************
3704 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3705 // *************************************************************************
3706 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3708 BrowserTabBottomAction.Checked := False;
3709 BrowserTabTopAction.Checked := True;
3710 GikoSys.Setting.BrowserTabPosition := gtpTop;
3711 GikoForm.SetBrowserTabState;
3713 // *************************************************************************
3714 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3715 // *************************************************************************
3716 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3718 BrowserTabTopAction.Checked := False;
3719 BrowserTabBottomAction.Checked := True;
3720 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3721 GikoForm.SetBrowserTabState;
3723 // *************************************************************************
3724 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3725 // *************************************************************************
3726 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3728 BrowserTabButtonStyleAction.Checked := False;
3729 BrowserTabFlatStyleAction.Checked := False;
3730 BrowserTabTabStyleAction.Checked := True;
3731 GikoSys.Setting.BrowserTabStyle := gtsTab;
3732 GikoForm.SetBrowserTabState;
3734 // *************************************************************************
3735 //!
\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é
3736 // *************************************************************************
3737 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3739 BrowserTabTabStyleAction.Checked := False;
3740 BrowserTabFlatStyleAction.Checked := False;
3741 BrowserTabButtonStyleAction.Checked := True;
3742 GikoSys.Setting.BrowserTabStyle := gtsButton;
3743 GikoForm.SetBrowserTabState;
3745 // *************************************************************************
3746 //!
\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é
3747 // *************************************************************************
3748 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3750 BrowserTabFlatStyleAction.Checked := True;
3751 BrowserTabTabStyleAction.Checked := False;
3752 BrowserTabButtonStyleAction.Checked := False;
3753 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3754 GikoForm.SetBrowserTabState;
3756 // *************************************************************************
3757 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3758 // *************************************************************************
3759 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3761 GikoForm.ActiveContent.Browser.SetFocus;
3763 // *************************************************************************
3764 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3765 // *************************************************************************
3766 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3768 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3769 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3770 TAction(Sender).Enabled := true
3772 TAction(Sender).Enabled := false;
3774 // *************************************************************************
3775 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3776 // *************************************************************************
3777 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3779 if GikoForm.ActiveContent <> nil then
3780 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3781 GikoForm.ListView.SetFocus;
3783 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3784 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é
3786 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3787 if (GikoForm.ListView.ItemFocused <> nil) then begin
3788 GikoForm.ListView.ItemFocused.MakeVisible(False);
3791 // *************************************************************************
3792 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3793 // *************************************************************************
3794 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3796 if GikoForm.ActiveContent <> nil then
3797 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3798 if GikoForm.TreeView.Visible then begin
3799 GikoForm.TreeView.SetFocus;
3800 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3801 GikoForm.TreeView.Items.Item[0].Selected := true;
3802 end else if GikoForm.FavoriteTreeView.Visible then begin
3803 GikoForm.FavoriteTreeView.SetFocus;
3804 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3805 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3808 // *************************************************************************
3809 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3810 // *************************************************************************
3811 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3813 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3815 // *************************************************************************
3816 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3817 // *************************************************************************
3818 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3820 BrowserMinAction.Execute;
3821 SetFocusForThreadListAction.Execute;
3823 // *************************************************************************
3824 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3825 // *************************************************************************
3826 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3828 BrowserMaxAction.Execute;
3829 SetFocusForBrowserAction.Execute;
3831 // *************************************************************************
3832 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3833 // *************************************************************************
3834 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3836 if GikoForm.ListView.Selected <> nil then begin
3837 GikoForm.ListView.Selected.Focused := True;
3838 GikoForm.ListView.Selected := nil;
3841 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3842 // *************************************************************************
3843 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3844 // *************************************************************************
3845 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3847 SetThreadReadProperty(true);
3849 // *************************************************************************
3850 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3851 // *************************************************************************
3852 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3854 SetThreadReadProperty(false);
3856 // *************************************************************************
3857 //!
\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Ç
3858 // *************************************************************************
3859 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3864 List := TList.Create;
3866 GikoForm.SelectListItem(List);
3867 for i := 0 to List.Count - 1 do begin
3868 if TObject(List[i]) is TThreadItem then begin
3869 if (TThreadItem(List[i]).IsLogFile) then begin
3870 TThreadItem(List[i]).UnRead := not read;
3874 if GikoForm.TreeView.Visible then
3875 GikoForm.TreeView.Refresh;
3876 if GikoForm.ListView.Visible then
3877 GikoForm.ListView.Refresh;
3882 // *************************************************************************
3883 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3884 // *************************************************************************
3885 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3887 GikoForm.ListViewAllSelect;
3889 // *************************************************************************
3890 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3891 // *************************************************************************
3892 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3894 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3896 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3897 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3898 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3900 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 +
3901 '
\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' +
3902 '
\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';
3903 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3906 limitSize : Integer;
3909 {
\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Í
3910 \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
3911 \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õ
3912 è
\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
3913 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3915 if MsgBox(GikoForm.Handle, RECALC_MES,
3916 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3917 //è
\87\92l
\82Ì
\8am
\94F
3918 limitSize := LIMIT_SIZE;
3919 limitStr := IntToStr(limitSize);
3920 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
3921 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3922 if (limitSize < 0) then begin
3923 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3924 ThreadSizeCalcForFileActionExecute(nil);
3926 RecalcThreadSize(limitSize);
3931 //! 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
3932 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3934 i, j, tmpSize : Integer;
3937 Thread: TThreadItem;
3940 //
\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
3941 GikoForm.ScreenCursor := crHourGlass;
3943 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3944 for i := 0 to BoardGroups[0].Count - 1 do begin
3945 Obj := BoardGroups[0].Objects[i];
3946 if (Obj <> nil) then begin
3947 Board := TBoard(Obj);
3948 if not Board.IsThreadDatRead then begin
3949 GikoSys.ReadSubjectFile(Board);
3951 for j := 0 to Board.Count - 1 do begin
3952 Thread := Board.Items[j];
3953 if (Thread <> nil) and (Thread.IsLogFile)
3954 and (Thread.Size <= limit) then begin
3955 dat := TStringList.Create;
3957 tmpSize := Thread.Size;
3959 dat.LoadFromFile(Thread.GetThreadFileName);
3960 tmpSize := Length(dat.Text);
3961 tmpSize := tmpSize - dat.Count;
3964 Thread.Size := tmpSize;
3971 GikoForm.ProgressBar.StepBy(1);
3974 GikoForm.ScreenCursor := crDefault;
3976 GikoForm.ProgressBar.Position := 0;
3977 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
3979 // *************************************************************************
3980 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
3981 // *************************************************************************
3982 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
3984 form : TInputAssistForm;
3986 form := TInputAssistForm.Create(GikoForm);
3994 // *************************************************************************
3995 //!
\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é
3996 // *************************************************************************
3997 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
3999 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
4000 GikoForm.ActiveContent.OpenFindDialog;
4004 // *************************************************************************
4005 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
4006 // *************************************************************************
4007 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
4010 if GikoForm.ClickNode = nil then Exit;
4013 GikoForm.ClickNode.Text + #13#10;
4016 // *************************************************************************
4017 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4018 // *************************************************************************
4019 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4023 if ( EditorFormExists ) then begin
4024 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4025 for i := Screen.CustomFormCount - 1 downto 0 do begin
4026 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4027 TEditorForm(Screen.CustomForms[i]).Close;
4032 // *************************************************************************
4033 //!
\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é
4034 // *************************************************************************
4035 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4037 if (Sender is TAction) then begin
4038 TAction(Sender).Enabled := EditorFormExists;
4041 // *************************************************************************
4042 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4043 // *************************************************************************
4044 function TGikoDM.EditorFormExists(): boolean;
4049 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4050 for i := Screen.CustomFormCount - 1 downto 0 do begin
4051 if (Screen.CustomForms[i] is TEditorForm) then begin
4058 // *************************************************************************
4059 //!
\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é
4060 // *************************************************************************
4061 procedure TGikoDM.ClearNameTextAllEditor();
4065 for i := 0 to Screen.CustomFormCount - 1 do begin
4066 if (Screen.CustomForms[i] is TEditorForm) then begin
4067 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4071 // *************************************************************************
4072 //!
\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é
4073 // *************************************************************************
4074 procedure TGikoDM.ClearMailAllEditor();
4078 for i := 0 to Screen.CustomFormCount - 1 do begin
4079 if TObject(Screen.CustomForms[i]) is TEditorForm then
4080 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4084 // *************************************************************************
4085 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4086 // *************************************************************************
4087 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4089 PrevMoveHistory.Enabled :=
4090 (MoveHisotryManager.HisotryIndex > 0)
4092 // *************************************************************************
4093 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4094 // *************************************************************************
4095 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4097 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4098 BackToHistory(MoveHisotryManager.getPrevItem
4099 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4100 .Objects[GikoForm.BrowserTab.TabIndex])));
4102 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4105 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4106 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4108 browser : TWebBrowser;
4111 if ( item <> nil ) then begin
4112 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4113 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4114 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4115 if (browser <> nil) then begin
4117 doc := Idispatch( olevariant(browser.ControlInterface).Document) as IHTMLDocument2;
4118 doc.Body.ScrollTop := item.ScrollTop;
4124 MoveURLWithHistory(item.ThreadItem.URL);
4128 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4129 procedure TGikoDM.MoveURLWithHistory(URL : String);
4134 GikoForm.MoveToURL(URL);
4135 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4136 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4137 if idx = -1 then begin
4138 GikoForm.AddressComboBox.Items.Insert(0, URL);
4139 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4140 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4142 GikoForm.AddressComboBox.Items.Delete(idx);
4143 GikoForm.AddressComboBox.Items.Insert(0, URL);
4146 // *************************************************************************
4147 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4148 // *************************************************************************
4149 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4151 NextMoveHistory.Enabled :=
4152 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4154 // *************************************************************************
4155 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4156 // *************************************************************************
4157 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4159 BackToHistory(MoveHisotryManager.getNextItem);
4161 // *************************************************************************
4162 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4163 // *************************************************************************
4164 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4166 browser : TWebBrowser;
4167 elem : IHTMLElement;
4169 if (GikoForm.GetActiveContent <> nil) then begin
4170 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4171 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4172 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4173 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4174 if (browser <> nil) then begin
4176 elem := IHTMLDocument2(browser.Document).activeElement;
4185 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4186 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4188 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4189 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4191 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4192 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4194 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4195 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4197 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4198 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4200 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4201 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4203 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4204 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4206 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4207 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4209 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4210 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4212 GikoForm.StoredTaskTray;
4213 StoredTaskTrayAction.Tag := -1;
4217 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4218 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4220 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4222 links : IHTMLElementCollection;
4223 urls, exts : TStringList;
4225 links := GetActiveThreadLinks;
4226 if (links <> nil) then begin
4227 urls := TStringList.Create;
4228 exts := TStringList.Create;
4230 exts.CaseSensitive := False;
4231 exts.Sorted := True;
4232 exts.Delimiter := ';';
4233 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4234 GetLinkURLs(links, urls, 0, exts);
4235 Clipboard.SetTextBuf(urls.GetText);
4244 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4245 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4247 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4249 links : IHTMLElementCollection;
4250 urls, exts : TStringList;
4251 ThreadItem : TThreadItem;
4253 ThreadItem := GikoForm.GetActiveContent;
4254 links := GetActiveThreadLinks;
4255 if (ThreadItem <> nil) and (links <> nil) then begin
4256 urls := TStringList.Create;
4257 exts := TStringList.Create;
4259 exts.CaseSensitive := False;
4260 exts.Sorted := True;
4261 exts.Delimiter := ';';
4262 exts.DelimitedText := '.gif;.jpg;.jpeg;.png';
4264 GetLinkURLs(links, urls,
4265 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4266 Clipboard.SetTextBuf(urls.GetText);
4274 \breif
\83\8a\83\93\83NURL
\8eæ
\93¾
4275 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4277 procedure TGikoDM.AllLinkToClipboardActionExecute(Sender: TObject);
4279 links : IHTMLElementCollection;
4280 urls, exts : TStringList;
4282 links := GetActiveThreadLinks;
4283 if (links <> nil) then begin
4284 urls := TStringList.Create;
4285 exts := TStringList.Create;
4287 exts.CaseSensitive := False;
4288 exts.Sorted := True;
4289 exts.Delimiter := ';';
4290 exts.DelimitedText :=
4291 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4292 GetLinkURLs(links, urls, 0, exts);
4293 Clipboard.SetTextBuf(urls.GetText);
4301 \breif
\90V
\92\85\83\8c\83X
\83\8a\83\93\83NURL
\8eæ
\93¾
4302 \91Î
\8fÛ
\8ag
\92£
\8eq
\82Í
\81A
\8fÚ
\8d×
\90Ý
\92è
\82Å
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
4304 procedure TGikoDM.NewLinkToClipboardActionExecute(Sender: TObject);
4306 links : IHTMLElementCollection;
4307 urls, exts : TStringList;
4308 ThreadItem : TThreadItem;
4310 ThreadItem := GikoForm.GetActiveContent;
4311 links := GetActiveThreadLinks;
4312 if (ThreadItem <> nil) and (links <> nil) then begin
4313 urls := TStringList.Create;
4314 exts := TStringList.Create;
4316 exts.CaseSensitive := False;
4317 exts.Sorted := True;
4318 exts.Delimiter := ';';
4319 exts.DelimitedText :=
4320 MojuUtils.CustomStringReplace(GikoSys.Setting.ExtList, '*', '');
4321 GetLinkURLs(links, urls,
4322 (ThreadItem.Count - ThreadItem.NewResCount + 1), exts );
4323 Clipboard.SetTextBuf(urls.GetText);
4332 \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
4333 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4335 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4337 browser : TWebBrowser;
4340 if (GikoForm.GetActiveContent <> nil) then begin
4341 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4342 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4343 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4344 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4345 if (browser <> nil) then begin
4347 Result := IHTMLDocument2(browser.Document).links;
4357 \brief
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4358 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4359 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4360 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4361 \param Exts
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\8ag
\92£
\8eq
4363 procedure TGikoDM.GetLinkURLs(links : IHTMLElementCollection;
4364 URLs : TStringList; const Start: Integer; Exts : TStringList);
4366 index ,i, j : Integer;
4367 item : IHTMLElement;
4370 if (links <> nil) then begin
4372 for i := 0 to links.length - 1 do begin
4373 item := links.item(i, 0) as IHTMLElement;
4374 if (item <> nil) then begin
4375 url := item.getAttribute('href', 0);
4376 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4377 if (Pos('menu:', url) > 0) then begin
4378 index := StrToInt64Def(
4379 Copy(url, 5, Length(url)), index + 1
4382 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4383 if (index >= Start) then begin
4384 ext := ExtractFileExt( AnsiLowerCase(url) );
4385 //
\8ag
\92£
\8eq
\82ð
\83`
\83F
\83b
\83N
4386 if Exts.Find(ext, j) then begin
4396 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4397 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4399 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4401 if ( GikoForm.AddressToolBar.Visible ) then begin
4402 GikoForm.AddressComboBox.SetFocus;
4406 \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é
4408 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4410 form : TNewBoardURLForm;
4413 if (EditorFormExists) then begin
4414 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4415 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4418 form := TNewBoardURLForm.Create(Self);
4425 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4426 procedure TGikoDM.ScrollPageDownActionExecute(Sender: TObject);
4428 GikoForm.BrowserMovement(GikoForm.BrowserPanel.Height);
4430 //!
\83u
\83\89\83E
\83U
\82ð1
\83y
\81[
\83W
\95ª
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
4431 procedure TGikoDM.ScrollPageUpActionExecute(Sender: TObject);
4433 GikoForm.BrowserMovement(-GikoForm.BrowserPanel.Height);