6 SysUtils, Classes, ExtActns, StdActns, ActnList, ImgList, Controls,
14 ComCtrls, BrowserRecord, Graphics, Messages, Setting, Dialogs,
15 ActiveX, MoveHistoryItem, HistoryList;
18 CAPTION_NAME: string = '
\83M
\83R
\83i
\83r';
19 USER_SETLINKBAR = WM_USER + 2003;
21 ITEM_ICON_SORT1 = 12; //!<
\83\
\81[
\83g
\83A
\83C
\83R
\83\93
22 ITEM_ICON_SORT2 = 13; //!<
\83\
\81[
\83g
\83A
\83C
\83R
\83\93
24 //
\83c
\81[
\83\8b\83o
\81[
\83A
\83C
\83R
\83\93
25 TOOL_ICON_HEIGHT_MAX = 16; //!<
\8d\82\82³
\8dÅ
\91å
\83A
\83C
\83R
\83\93
26 TOOL_ICON_HEIGHT_MIN = 17; //!<
\8d\82\82³
\8dÅ
\8f¬
\83A
\83C
\83R
\83\93
27 TOOL_ICON_HEIGHT_NORMAL = 18; //!<
\8d\82\82³
\95W
\8f\80\83A
\83C
\83R
\83\93
28 TOOL_ICON_WIDTH_MAX = 19; //!<
\95\9d\8dÅ
\91å
\83A
\83C
\83R
\83\93
29 TOOL_ICON_WIDTH_MIN = 20; //!<
\95\9d\8dÅ
\8f¬
\83A
\83C
\83R
\83\93
30 TOOL_ICON_WIDTH_NORMAL = 21; //!<
\95\9d\95W
\8f\80\83A
\83C
\83R
\83\93
32 TOOL_ICON_FAV_FOLDER = 30; //!<
\82¨
\8bC
\82É
\93ü
\82è
\83t
\83H
\83\8b\83_
\83A
\83C
\83R
\83\93
33 TOOL_ICON_FAV_BOARD = 31; //!<
\82¨
\8bC
\82É
\93ü
\82è
\94Â
\83A
\83C
\83R
\83\93
34 TOOL_ICON_FAV_THREAD = 32; //!<
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83A
\83C
\83R
\83\93
37 PROTOCOL_HTTP : string = 'http://';
38 //!
\83M
\83R
\83i
\83r
\83T
\83C
\83g
\82ÌURL
39 URL_GIKONAVI: string = 'gikonavi.sourceforge.jp/';
40 //! Monazilla
\83T
\83C
\83g
\82ÌURL
41 URL_MONAZILLA: string = 'www.monazilla.org/';
42 //! 2
\82¿
\82á
\82ñ
\82Ë
\82é
\82ÌURL
43 URL_2ch: string = 'www.2ch.net/';
44 //!
\83M
\83R
\83i
\83rWiki
\82ÌURL
45 URL_Wiki: string = 'gikowiki.dyndns.info/index.php?FAQ';
47 SELECTCOMBOBOX_NAME: string = ''; // '
\83X
\83\8c\83b
\83h
\8di
\8d\9e\8c\9f\8dõ';
48 SELECTCOMBOBOX_COLOR: TColor = clWindow;
52 TGikoDM = class(TDataModule)
53 GikoFormActionList: TActionList;
54 OnlyAHundredResAction: TAction;
55 OnlyKokoResAction: TAction;
57 NewBoardAction: TAction;
58 LogDeleteAction: TAction;
59 KidokuAction: TAction;
60 StdToolBarVisibleAction: TAction;
61 AddressBarVisibleAction: TAction;
62 LinkBarVisibleAction: TAction;
63 ListToolBarVisibleAction: TAction;
64 SearchAction: TAction;
65 GikoNaviWebPageAction: TAction;
66 MonazillaWebPageAction: TAction;
67 BBS2chWebPageAction: TAction;
68 GikoFolderOpenAction: TAction;
70 SelectTextClearAction: TAction;
71 NameTextClearAction: TAction;
72 MailTextClearAction: TAction;
74 ListNameBarVisibleAction: TAction;
75 BrowserToolBarVisibleAction: TAction;
76 BrowserNameBarVisibleAction: TAction;
77 MsgBarVisibleAction: TAction;
78 MsgBarCloseAction: TAction;
79 StatusBarVisibleAction: TAction;
80 CabinetBBSAction: TAction;
81 CabinetHistoryAction: TAction;
82 OnlyNewResAction: TAction;
83 CabinetFavoriteAction: TAction;
84 CabinetVisibleAction: TAction;
85 ListNumberVisibleAction: TAction;
86 UpFolderAction: TAction;
87 CabinetCloseAction: TAction;
89 LargeIconAction: TAction;
90 SmallIconAction: TAction;
91 ListIconAction: TAction;
92 DetailIconAction: TAction;
93 MidokuAction: TAction;
94 AllSelectAction: TAction;
95 AllItemAction: TAction;
96 LogItemAction: TAction;
97 NewItemAction: TAction;
98 ThreadRangeAction: TAction;
99 SelectItemAction: TAction;
101 OptionAction: TAction;
102 RoundAction: TAction;
103 BrowserMaxAction: TAction;
104 BrowserMinAction: TAction;
105 ScrollTopAction: TAction;
106 ScrollLastAction: TAction;
107 ScrollNewAction: TAction;
108 ScrollKokoAction: TAction;
109 EditorAction: TAction;
111 ShowThreadAction: TAction;
112 ShowBoardAction: TAction;
113 URLCopyAction: TAction;
114 NameCopyAction: TAction;
115 NameURLCopyAction: TAction;
116 ItemReloadAction: TAction;
117 ThreadEditorAction: TAction;
118 BoardIEAction: TAction;
119 SelectItemURLCopyAction: TAction;
120 SelectItemNameCopyAction: TAction;
121 SelectItemNameURLCopyAction: TAction;
122 SelectListReloadAction: TAction;
123 SelectThreadReloadAction: TAction;
124 BrowserTabCloseAction: TAction;
125 NotSelectTabCloseAction: TAction;
126 AllTabCloseAction: TAction;
127 KokomadeAction: TAction;
128 ZenbuAction: TAction;
129 KokoResAction: TAction;
130 TreeSelectBoradReload: TAction;
131 TreeSelectThreadReload: TAction;
132 TreeSelectURLCopy: TAction;
133 SelectReservAction: TAction;
134 SelectNewRoundName: TAction;
135 SelectDeleteRound: TAction;
136 KeySettingAction: TAction;
137 ArrangeAction: TAction;
138 ActiveLogDeleteAction: TAction;
139 TreeSelectNameURLCopy: TAction;
140 PaneInitAction: TAction;
141 LeftmostTabSelectAction: TAction;
142 LeftTabSelectAction: TAction;
143 RightTabSelectAction: TAction;
144 RightmostTabSelectAction: TAction;
145 FavoriteAddAction: TAction;
146 BoardFavoriteAddAction: TAction;
147 ThreadFavoriteAddAction: TAction;
148 TreeSelectFavoriteAddAction: TAction;
149 FavoriteArrangeAction: TAction;
150 MoveToAction: TAction;
151 BrowserTabVisibleAction: TAction;
152 BrowserTabTopAction: TAction;
153 BrowserTabBottomAction: TAction;
154 BrowserTabTabStyleAction: TAction;
155 BrowserTabButtonStyleAction: TAction;
156 BrowserTabFlatStyleAction: TAction;
157 GikoHelpAction: TAction;
158 KotehanAction: TAction;
159 ToolBarSettingAction: TAction;
160 SelectResAction: TAction;
161 AllResAction: TAction;
162 EditNGAction: TAction;
163 ReloadAction: TAction;
164 GoFowardAction: TAction;
165 GoBackAction: TAction;
166 TreeSelectSearchBoardName: TAction;
167 FavoriteTreeViewRenameAction: TAction;
168 FavoriteTreeViewNewFolderAction: TAction;
169 FavoriteTreeViewDeleteAction: TAction;
170 FavoriteTreeViewBrowseFolderAction: TAction;
171 FavoriteTreeViewReloadAction: TAction;
172 FavoriteTreeViewURLCopyAction: TAction;
173 FavoriteTreeViewNameCopyAction: TAction;
174 FavoriteTreeViewNameURLCopyAction: TAction;
175 FavoriteTreeViewLogDeleteAction: TAction;
176 ResRangeAction: TAction;
177 ExportFavoriteFile: TFileSaveAs;
178 FavoriteTreeViewBrowseBoardAction: TAction;
179 FavoriteTreeViewBrowseThreadAction: TAction;
180 UpBoardAction: TAction;
182 TreeSelectNameCopy: TAction;
183 SetFocusForBrowserAction: TAction;
184 SetFocusForThreadListAction: TAction;
185 SetFocusForCabinetAction: TAction;
187 ThreadlistMaxAndFocusAction: TAction;
188 BrowserMaxAndFocusAction: TAction;
189 SelectItemSaveForHTML: TAction;
190 SelectItemSaveForDat: TAction;
191 LogFolderOpenAction: TAction;
192 TabsSaveAction: TAction;
193 TabsOpenAction: TAction;
194 BrowsBoradHeadAction: TAction;
195 JumpToNumOfResAction: TAction;
196 FavoriteTreeViewCollapseAction: TAction;
197 RightTabCloseAction: TAction;
198 LeftTabCloseAction: TAction;
199 SameIDResAnchorAction: TAction;
200 IndividualAbon1Action: TAction;
201 IndividualAbon0Action: TAction;
202 AntiIndividualAbonAction: TAction;
203 AntiIndividualAbonDlgAction: TAction;
204 IndividualAbonID1Action: TAction;
205 IndividualAbonID0Action: TAction;
207 SortActiveColumnAction: TAction;
208 SortNextColumnAction: TAction;
209 SortPrevColumnAction: TAction;
210 BeLogInOutAction: TAction;
211 UnSelectedListViewAction: TAction;
212 WikiFAQWebPageAction: TAction;
213 ToobarImageList: TImageList;
214 SaveDialog: TSaveDialog;
215 ThreadSizeCalcForFileAction: TAction;
216 SetInputAssistAction: TAction;
217 OpenFindDialogAction: TAction;
218 ArchiveItemAction: TAction;
219 LiveItemAction: TAction;
220 FavoriteTreeViewItemNameCopyAction: TAction;
221 CloseAllEditorAction: TAction;
222 PrevMoveHistory: TAction;
223 NextMoveHistory: TAction;
224 ClickActiveElementAction: TAction;
225 VKDownAction: TAction;
227 VKRightAction: TAction;
228 VKLeftAction: TAction;
229 StoredTaskTrayAction: TAction;
230 AllImageLinkToClipbordAction: TAction;
231 NewImageLinkToClipBoardAction: TAction;
232 SetForcusForAddresBarAction: TAction;
233 NewBoardSearchAction: TAction;
234 NGWordEditFormAction: TAction;
235 procedure EditNGActionExecute(Sender: TObject);
236 procedure ReloadActionExecute(Sender: TObject);
237 procedure GoFowardActionExecute(Sender: TObject);
238 procedure GoBackActionExecute(Sender: TObject);
239 procedure MoveToActionExecute(Sender: TObject);
240 procedure FavoriteAddActionExecute(Sender: TObject);
241 procedure FavoriteArrangeActionExecute(Sender: TObject);
242 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
243 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
244 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
245 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
246 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
247 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
248 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
249 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
250 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
251 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
252 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
253 procedure OnlyAHundredResActionExecute(Sender: TObject);
254 procedure OnlyKokoResActionExecute(Sender: TObject);
255 procedure OnlyNewResActionExecute(Sender: TObject);
256 procedure BrowserMaxActionExecute(Sender: TObject);
257 procedure BrowserMinActionExecute(Sender: TObject);
258 procedure ScrollTopActionExecute(Sender: TObject);
259 procedure ScrollLastActionExecute(Sender: TObject);
260 procedure ScrollNewActionExecute(Sender: TObject);
261 procedure ScrollKokoActionExecute(Sender: TObject);
262 procedure ScrollKokoActionUpdate(Sender: TObject);
263 procedure EditorActionExecute(Sender: TObject);
264 procedure IEActionExecute(Sender: TObject);
265 procedure ShowThreadActionExecute(Sender: TObject);
266 procedure ShowBoardActionExecute(Sender: TObject);
267 procedure URLCopyActionExecute(Sender: TObject);
268 procedure NameCopyActionExecute(Sender: TObject);
269 procedure NameURLCopyActionExecute(Sender: TObject);
270 procedure ItemReloadActionExecute(Sender: TObject);
271 procedure BrowserTabCloseActionExecute(Sender: TObject);
272 procedure BrowserTabCloseActionUpdate(Sender: TObject);
273 procedure NotSelectTabCloseActionExecute(Sender: TObject);
274 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
275 procedure AllTabCloseActionExecute(Sender: TObject);
276 procedure ActiveLogDeleteActionExecute(Sender: TObject);
277 procedure LeftmostTabSelectActionExecute(Sender: TObject);
278 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
279 procedure LeftTabSelectActionExecute(Sender: TObject);
280 procedure RightTabSelectActionExecute(Sender: TObject);
281 procedure RightTabSelectActionUpdate(Sender: TObject);
282 procedure RightmostTabSelectActionExecute(Sender: TObject);
283 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
284 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
285 procedure SelectResActionExecute(Sender: TObject);
286 procedure AllResActionExecute(Sender: TObject);
287 procedure ResRangeActionExecute(Sender: TObject);
288 procedure UpBoardActionExecute(Sender: TObject);
289 procedure JumpToNumOfResActionExecute(Sender: TObject);
290 procedure RightTabCloseActionExecute(Sender: TObject);
291 procedure RightTabCloseActionUpdate(Sender: TObject);
292 procedure LeftTabCloseActionExecute(Sender: TObject);
293 procedure DataModuleCreate(Sender: TObject);
294 procedure SearchActionExecute(Sender: TObject);
295 procedure OptionActionExecute(Sender: TObject);
296 procedure RoundActionExecute(Sender: TObject);
297 procedure KeySettingActionExecute(Sender: TObject);
298 procedure KotehanActionExecute(Sender: TObject);
299 procedure ToolBarSettingActionExecute(Sender: TObject);
300 procedure MuteActionExecute(Sender: TObject);
301 procedure TreeSelectBoradReloadExecute(Sender: TObject);
302 procedure TreeSelectThreadReloadExecute(Sender: TObject);
303 procedure TreeSelectURLCopyExecute(Sender: TObject);
304 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
305 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
306 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
307 procedure TreeSelectNameCopyExecute(Sender: TObject);
308 procedure LoginActionExecute(Sender: TObject);
309 procedure NewBoardActionExecute(Sender: TObject);
310 procedure LogDeleteActionExecute(Sender: TObject);
311 procedure LogDeleteActionUpdate(Sender: TObject);
312 procedure SelectTextClearActionExecute(Sender: TObject);
313 procedure NameTextClearActionExecute(Sender: TObject);
314 procedure MailTextClearActionExecute(Sender: TObject);
315 procedure ExitActionExecute(Sender: TObject);
316 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
317 procedure ExportFavoriteFileAccept(Sender: TObject);
318 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
319 procedure SelectItemSaveForDatExecute(Sender: TObject);
320 procedure TabsSaveActionExecute(Sender: TObject);
321 procedure TabsOpenActionExecute(Sender: TObject);
322 procedure BeLogInOutActionExecute(Sender: TObject);
323 procedure BeLogInOutActionUpdate(Sender: TObject);
324 procedure KokomadeActionExecute(Sender: TObject);
325 procedure ZenbuActionExecute(Sender: TObject);
326 procedure KokoResActionExecute(Sender: TObject);
327 procedure KoreCopyExecute(Sender: TObject);
328 procedure SameIDResAnchorActionExecute(Sender: TObject);
329 procedure IndividualAbon1ActionExecute(Sender: TObject);
330 procedure IndividualAbon0ActionExecute(Sender: TObject);
331 procedure AntiIndividualAbonActionExecute(Sender: TObject);
332 procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
333 procedure IndividualAbonID1ActionExecute(Sender: TObject);
334 procedure IndividualAbonID0ActionExecute(Sender: TObject);
335 procedure GikoNaviWebPageActionExecute(Sender: TObject);
336 procedure MonazillaWebPageActionExecute(Sender: TObject);
337 procedure BBS2chWebPageActionExecute(Sender: TObject);
338 procedure GikoFolderOpenActionExecute(Sender: TObject);
339 procedure AboutActionExecute(Sender: TObject);
340 procedure GikoHelpActionExecute(Sender: TObject);
341 procedure WikiFAQWebPageActionExecute(Sender: TObject);
342 procedure ListNumberVisibleActionExecute(Sender: TObject);
343 procedure UpFolderActionExecute(Sender: TObject);
344 procedure UpFolderActionUpdate(Sender: TObject);
345 procedure IconStyleExecute(Sender: TObject);
346 procedure AllItemActionExecute(Sender: TObject);
347 procedure LogItemActionExecute(Sender: TObject);
348 procedure NewItemActionExecute(Sender: TObject);
349 procedure ThreadRangeActionExecute(Sender: TObject);
350 procedure SelectItemActionExecute(Sender: TObject);
351 procedure ThreadEditorActionExecute(Sender: TObject);
352 procedure BoardIEActionExecute(Sender: TObject);
353 procedure SelectItemURLCopyActionExecute(Sender: TObject);
354 procedure SelectItemURLCopyActionUpdate(Sender: TObject);
355 procedure SelectItemNameCopyActionExecute(Sender: TObject);
356 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
357 procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
358 procedure SelectListReloadActionExecute(Sender: TObject);
359 procedure SelectListReloadActionUpdate(Sender: TObject);
360 procedure SelectThreadReloadActionExecute(Sender: TObject);
361 procedure SelectThreadReloadActionUpdate(Sender: TObject);
362 procedure SelectReservActionExecute(Sender: TObject);
363 procedure SelectReservActionUpdate(Sender: TObject);
364 procedure SelectNewRoundNameExecute(Sender: TObject);
365 procedure SelectDeleteRoundExecute(Sender: TObject);
366 procedure BoardFavoriteAddActionExecute(Sender: TObject);
367 procedure BoardFavoriteAddActionUpdate(Sender: TObject);
368 procedure LogFolderOpenActionExecute(Sender: TObject);
369 procedure LogFolderOpenActionUpdate(Sender: TObject);
370 procedure BrowsBoradHeadActionExecute(Sender: TObject);
371 procedure SortActiveColumnActionExecute(Sender: TObject);
372 procedure SortNextColumnActionExecute(Sender: TObject);
373 procedure SortPrevColumnActionExecute(Sender: TObject);
374 procedure StdToolBarVisibleActionExecute(Sender: TObject);
375 procedure AddressBarVisibleActionExecute(Sender: TObject);
376 procedure LinkBarVisibleActionExecute(Sender: TObject);
377 procedure ListToolBarVisibleActionExecute(Sender: TObject);
378 procedure ListNameBarVisibleActionExecute(Sender: TObject);
379 procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
380 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
381 procedure MsgBarVisibleActionExecute(Sender: TObject);
382 procedure MsgBarCloseActionExecute(Sender: TObject);
383 procedure StatusBarVisibleActionExecute(Sender: TObject);
384 procedure CabinetBBSActionExecute(Sender: TObject);
385 procedure CabinetHistoryActionExecute(Sender: TObject);
386 procedure CabinetFavoriteActionExecute(Sender: TObject);
387 procedure CabinetVisibleActionExecute(Sender: TObject);
388 procedure CabinetCloseActionExecute(Sender: TObject);
389 procedure LargeIconActionExecute(Sender: TObject);
390 procedure SmallIconActionExecute(Sender: TObject);
391 procedure ListIconActionExecute(Sender: TObject);
392 procedure DetailIconActionExecute(Sender: TObject);
393 procedure StopActionExecute(Sender: TObject);
394 procedure ArrangeActionExecute(Sender: TObject);
395 procedure PaneInitActionExecute(Sender: TObject);
396 procedure BrowserTabVisibleActionExecute(Sender: TObject);
397 procedure BrowserTabTopActionExecute(Sender: TObject);
398 procedure BrowserTabBottomActionExecute(Sender: TObject);
399 procedure BrowserTabTabStyleActionExecute(Sender: TObject);
400 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
401 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
402 procedure SetFocusForBrowserActionExecute(Sender: TObject);
403 procedure SetFocusForBrowserActionUpdate(Sender: TObject);
404 procedure SetFocusForThreadListActionExecute(Sender: TObject);
405 procedure SetFocusForCabinetActionExecute(Sender: TObject);
406 procedure SetFocusForCabinetActionUpdate(Sender: TObject);
407 procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
408 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
409 procedure UnSelectedListViewActionExecute(Sender: TObject);
410 procedure KidokuActionExecute(Sender: TObject);
411 procedure MidokuActionExecute(Sender: TObject);
412 procedure AllSelectActionExecute(Sender: TObject);
413 procedure AllSelectActionUpdate(Sender: TObject);
414 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
415 procedure SetInputAssistActionExecute(Sender: TObject);
416 procedure OpenFindDialogActionExecute(Sender: TObject);
417 procedure ArchiveItemActionExecute(Sender: TObject);
418 procedure LiveItemActionExecute(Sender: TObject);
419 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
420 procedure CloseAllEditorActionExecute(Sender: TObject);
421 procedure CloseAllEditorActionUpdate(Sender: TObject);
422 procedure PrevMoveHistoryUpdate(Sender: TObject);
423 procedure PrevMoveHistoryExecute(Sender: TObject);
424 procedure NextMoveHistoryUpdate(Sender: TObject);
425 procedure NextMoveHistoryExecute(Sender: TObject);
426 procedure ClickActiveElementActionExecute(Sender: TObject);
427 procedure VKDownActionExecute(Sender: TObject);
428 procedure VKUpActionExecute(Sender: TObject);
429 procedure VKRightActionExecute(Sender: TObject);
430 procedure VKLeftActionExecute(Sender: TObject);
431 procedure StoredTaskTrayActionExecute(Sender: TObject);
432 procedure LeftTabSelectActionUpdate(Sender: TObject);
433 procedure RightmostTabSelectActionUpdate(Sender: TObject);
434 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
435 procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
436 procedure SetForcusForAddresBarActionExecute(Sender: TObject);
437 procedure NewBoardSearchActionExecute(Sender: TObject);
438 procedure NGWordEditFormActionExecute(Sender: TObject);
441 procedure ClearResFilter;
442 procedure SetResRange(range: Integer);
443 procedure SetThreadAreaHorNormal;
444 procedure SetThreadAreaHorizontal(gls : TGikoListState);
445 procedure SetThreadAreaVerNormal;
446 procedure SetThreadAreaVertical(gls : TGikoListState);
447 procedure SetThreadReadProperty(read: Boolean);
448 procedure SelectThreadSaveToFile(dat: Boolean);
449 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
450 procedure RecalcThreadSize(limit : Integer);
451 procedure ClearSelectComboBox;
452 procedure ClearMailAllEditor();
453 procedure ClearNameTextAllEditor();
454 procedure MoveURLWithHistory(URL : String);
455 procedure BackToHistory(item: TMoveHistoryItem);
456 function GetActiveThreadLinks : IHTMLElementCollection;
457 procedure GetImageLinkURLs(links : IHTMLElementCollection;
458 URLs : TStringList; const Start: Integer);
461 procedure RepaintStatusBar;
462 function EditorFormExists(): boolean;
463 procedure GetTabURLs(AStringList: TStringList);
464 procedure OpenURLs(AStringList: TStringList);
466 { Published
\90é
\8c¾ }
467 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
468 procedure DependActiveCntentActionUpdate(Sender: TObject);
469 //! 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é
470 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
471 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
472 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
482 Windows, Math, Clipbrd,
483 Giko, GikoSystem, GikoUtil, BoardGroup,
484 FavoriteArrange, Favorite, MojuUtils,
485 Editor, ListSelect, Search, Option, Round,
486 KeySetting, Gesture, Kotehan, ToolBarSetting,
487 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
488 GikoBayesian, About, ShellAPI,
489 RoundName, RoundData, Menus, ListViewUtils,
490 ThreadControl, GikoMessage, InputAssist,
491 DefaultFileManager, Forms, NewBoardURL, NGWordEdit;
494 MSG_ERROR : string = '
\83G
\83\89\81[';
497 // *************************************************************************
498 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
499 // *************************************************************************
500 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
502 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
504 // *************************************************************************
505 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
506 // *************************************************************************
507 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
509 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
510 and (GikoForm.GetActiveContent.IsLogFile);
512 // *************************************************************************
513 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
514 // *************************************************************************
515 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
517 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
519 // *************************************************************************
520 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
521 // *************************************************************************
522 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
524 //
\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
525 GikoSys.FAbon.EditNGwords;
527 // *************************************************************************
528 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
529 // *************************************************************************
530 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
532 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
533 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
534 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½',
535 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
537 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
538 GikoForm.RepaintAllTabsBrowser();
541 // *************************************************************************
542 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
543 // *************************************************************************
544 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
546 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
547 if GikoSys.FAbon.GoBack =false then begin
548 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½',
549 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
551 //
\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
553 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
554 GikoForm.RepaintAllTabsBrowser();
557 // *************************************************************************
558 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
559 // *************************************************************************
560 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
562 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
563 if GikoSys.FAbon.GoForward =false then begin
564 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½',
565 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
567 //
\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
569 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
570 GikoForm.RepaintAllTabsBrowser();
573 // *************************************************************************
574 //! 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
575 // *************************************************************************
576 procedure TGikoDM.RepaintStatusBar;
580 //
\83X
\83e
\81[
\83^
\83X
\82É
\95\
\8e¦
\82³
\82ê
\82éNG
\83\8f\81[
\83h
\83t
\83@
\83C
\83\8b\96¼
\82ð
\8dX
\90V
581 s := GikoSys.FAbon.NGwordname;
582 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
583 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
584 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
585 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
586 GikoForm.StatusBarResize(nil);
588 // *************************************************************************
589 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
590 // *************************************************************************
591 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
593 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
595 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
597 // *************************************************************************
598 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
599 // *************************************************************************
600 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
602 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
604 // *************************************************************************
605 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
606 // *************************************************************************
607 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
609 Dlg: TFavoriteArrangeDialog;
611 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
617 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
618 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
620 // *************************************************************************
621 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
622 // *************************************************************************
623 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
627 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
629 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
630 while node <> nil do begin
631 if node.HasChildren then
632 node.Expanded := False;
633 node := node.GetNext;
638 // *************************************************************************
639 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
640 // *************************************************************************
641 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
646 if GikoForm.ClickNode = nil then
648 if GikoForm.ClickNode.IsFirstNode then
650 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
652 GikoForm.FavoriteTreeView.ReadOnly := False;
653 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
654 node := GikoForm.ClickNode.Parent;
655 while node <> nil do begin
656 node.Expanded := True;
659 GikoForm.ClickNode.EditText;
661 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 );
663 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
664 FavoriteDM.Modified := true;
667 // *************************************************************************
668 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
669 // *************************************************************************
670 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
672 NewFavFolder: TFavoriteFolder;
676 if GikoForm.ClickNode = nil then
680 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
681 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
682 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
685 NewFavFolder := TFavoriteFolder.Create;
686 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
687 Node.ImageIndex := 14;
688 Node.SelectedIndex := 14;
689 // FClickNode.Selected.Expanded := True;
690 GikoForm.FavoriteTreeView.Selected := Node;
691 GikoForm.ClickNode := Node;
692 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
693 FavoriteDM.Modified := true;
694 FavoriteTreeViewRenameAction.Execute;
699 // *************************************************************************
700 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
701 // *************************************************************************
702 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
704 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';
705 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
706 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
709 if GikoForm.ClickNode = nil then
711 if GikoForm.ClickNode.IsFirstNode then
713 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
714 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
715 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
718 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
723 GikoForm.ClickNode.Delete;
724 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
725 FavoriteDM.Modified := true;
730 // *************************************************************************
731 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
732 // *************************************************************************
733 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
736 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
738 // *************************************************************************
739 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
740 // *************************************************************************
741 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
743 FavThread: TFavoriteThreadItem;
744 FavBoard: TFavoriteBoardItem;
747 if (GikoForm.ClickNode = nil) then Exit;
749 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
751 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
752 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
753 if FavThread.Item <> nil then
754 GikoForm.DownloadContent(FavThread.Item, shiftDown);
755 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
756 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
757 GikoForm.DownloadList(FavBoard.Item, shiftDown);
761 // *************************************************************************
762 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
763 // *************************************************************************
764 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
767 if GikoForm.ClickNode = nil then Exit;
769 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
770 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
773 // *************************************************************************
774 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
775 // *************************************************************************
776 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
779 if GikoForm.ClickNode = nil then Exit;
781 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
783 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
786 GikoForm.ClickNode.Text + #13#10;
790 // *************************************************************************
791 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
792 // *************************************************************************
793 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
796 favItem : TFavoriteItem;
799 if GikoForm.ClickNode = nil then Exit;
801 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
802 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
803 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
804 favItem.URL + #13#10;
808 // *************************************************************************
809 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
810 // *************************************************************************
811 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
813 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';
814 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
816 ThreadItem: TThreadItem;
817 FavThread: TFavoriteThreadItem;
820 if GikoForm.ClickNode = nil then Exit;
821 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
823 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
824 ThreadItem := FavThread.Item;
827 if GikoSys.Setting.DeleteMsg then begin
828 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
829 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
833 GikoForm.DeleteHistory(ThreadItem);
834 GikoForm.DeleteTab(ThreadItem);
835 ThreadItem.DeleteLogFile;
837 GikoForm.ListView.Refresh;
842 // *************************************************************************
843 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
844 // *************************************************************************
845 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
848 threadItem : TThreadItem;
851 if GikoForm.ClickNode = nil then Exit;
853 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
855 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
856 if threadItem = nil then
858 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
862 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
863 procedure TGikoDM.ClearResFilter;
865 FilterList : TStringList;
867 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
868 FilterList := TStringList.Create;
870 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
871 GikoSys.FSelectResFilter.Reverse := False;
875 GikoForm.SelectResWord := '';
877 // *************************************************************************
878 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
879 // *************************************************************************
880 procedure TGikoDM.SetResRange(range: Integer);
882 if GikoSys.ResRange <> range then begin
883 GikoSys.ResRange := range;
884 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
886 GikoForm.RepaintAllTabsBrowser();
889 // *************************************************************************
890 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
891 // *************************************************************************
892 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
894 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
895 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
897 GikoForm.ResRangeMenuSelect := 100;
898 OnlyAHundredResAction.Checked := True;
899 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
902 // *************************************************************************
903 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
904 // *************************************************************************
905 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
907 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
908 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
910 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
911 OnlyKokoResAction.Checked := True;
913 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
914 SetResRange(Ord( grrKoko ));
916 // *************************************************************************
917 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
918 // *************************************************************************
919 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
921 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
922 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
924 GikoForm.ResRangeMenuSelect := Ord( grrNew );
925 OnlyNewResAction.Checked := True;
927 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
928 SetResRange(Ord( grrNew ));
930 // *************************************************************************
931 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
932 // *************************************************************************
933 procedure TGikoDM.SetThreadAreaHorNormal;
935 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
936 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
937 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
938 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
939 GikoSys.Setting.ListWidthState := glsNormal;
941 // *************************************************************************
942 //!
\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@
943 // *************************************************************************
944 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
946 if GikoSys.Setting.ListWidthState = glsNormal then
947 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
949 if (gls = glsMax) then begin
950 GikoForm.ViewPanel.Width := 1;
951 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
952 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
953 GikoSys.Setting.ListWidthState := glsMax;
954 end else if (gls = glsMin) then begin
955 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
956 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
957 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
958 GikoSys.Setting.ListWidthState := glsMin;
961 // *************************************************************************
962 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
963 // *************************************************************************
964 procedure TGikoDM.SetThreadAreaVerNormal;
966 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
967 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
968 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
969 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
970 GikoSys.Setting.ListHeightState := glsNormal;
972 // *************************************************************************
973 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
974 // *************************************************************************
975 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
977 if GikoSys.Setting.ListHeightState = glsNormal then
978 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
979 if (gls = glsMin) then begin
980 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
981 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
982 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
983 GikoSys.Setting.ListHeightState := glsMin;
984 end else if (gls = glsMax) then begin
985 GikoForm.ViewPanel.Height := 1;
986 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
987 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
988 GikoSys.Setting.ListHeightState := glsMax;
991 // *************************************************************************
992 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
993 // *************************************************************************
994 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
996 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
997 case GikoSys.Setting.ListWidthState of
999 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1000 SetThreadAreaHorNormal;
1002 glsMin, glsNormal: begin
1003 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1004 SetThreadAreaHorizontal(glsMax);
1008 case GikoSys.Setting.ListHeightState of
1010 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1011 SetThreadAreaVerNormal;
1013 glsMin, glsNormal: begin
1014 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1015 SetThreadAreaVertical(glsMax);
1020 // *************************************************************************
1021 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1022 // *************************************************************************
1023 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1025 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1026 case GikoSys.Setting.ListWidthState of
1027 glsMax, glsNormal: begin
1028 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1029 SetThreadAreaHorizontal(glsMin);
1032 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1033 SetThreadAreaHorNormal;
1037 case GikoSys.Setting.ListHeightState of
1038 glsMax, glsNormal: begin
1039 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1040 SetThreadAreaVertical(glsMin);
1043 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1044 SetThreadAreaVerNormal;
1049 // *************************************************************************
1050 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1051 // *************************************************************************
1052 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1054 GikoForm.BrowserMovement('top');
1056 // *************************************************************************
1057 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1058 // *************************************************************************
1059 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1061 GikoForm.BrowserMovement('bottom');
1063 // *************************************************************************
1064 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1065 // *************************************************************************
1066 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1068 GikoForm.BrowserMovement('new');
1070 // *************************************************************************
1071 //!
\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é
1072 // *************************************************************************
1073 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1075 GikoForm.BrowserMovement('koko');
1077 // *************************************************************************
1078 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
\82Ö
\88Ú
\93®
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1079 // *************************************************************************
1080 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1082 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1083 and (GikoForm.GetActiveContent.IsLogFile)
1084 and (GikoForm.GetActiveContent.Kokomade <> -1);
1086 // *************************************************************************
1087 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1088 // *************************************************************************
1089 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1091 Editor: TEditorForm;
1094 Item := GikoForm.GetActiveContent;
1095 if Item = nil then Exit;
1096 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1097 Editor.SetThreadItem(Item);
1099 Editor.BodyEdit.SetFocus;
1101 // *************************************************************************
1102 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1103 // *************************************************************************
1104 procedure TGikoDM.IEActionExecute(Sender: TObject);
1106 ShowThreadAction.Execute;
1108 // *************************************************************************
1109 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1110 // *************************************************************************
1111 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1113 ThreadItem: TThreadItem;
1115 ThreadItem := GikoForm.GetActiveContent;
1116 if ThreadItem = nil then Exit;
1117 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1119 // *************************************************************************
1120 //!
\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é
1121 // *************************************************************************
1122 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1124 ThreadItem: TThreadItem;
1126 ThreadItem := GikoForm.GetActiveContent;
1127 if ThreadItem = nil then Exit;
1128 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1130 // *************************************************************************
1131 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1132 // *************************************************************************
1133 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1138 if TObject(GikoForm.GetActiveContent) is TBoard then
1139 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1140 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1141 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1143 Clipboard.AsText := s;
1145 // *************************************************************************
1146 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1147 // *************************************************************************
1148 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1153 if TObject(GikoForm.GetActiveContent) is TBoard then
1154 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1155 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1156 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1158 Clipboard.AsText := s;
1160 // *************************************************************************
1161 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1162 // *************************************************************************
1163 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1168 if TObject(GikoForm.GetActiveContent) is TBoard then
1169 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1170 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1171 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1173 Clipboard.AsText := s;
1175 // *************************************************************************
1176 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1177 // *************************************************************************
1178 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1180 ThreadItem: TThreadItem;
1183 ThreadItem := GikoForm.GetActiveContent;
1184 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1185 if ThreadItem <> nil then
1186 GikoForm.DownloadContent(ThreadItem, shiftDown);
1188 // *************************************************************************
1189 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1190 // *************************************************************************
1191 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1195 idx := GikoForm.BrowserTab.TabIndex;
1196 if idx <> -1 then begin
1197 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1198 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1202 // *************************************************************************
1203 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1204 // *************************************************************************
1205 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1207 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1209 // *************************************************************************
1210 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1211 // *************************************************************************
1212 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1217 idx := GikoForm.BrowserTab.TabIndex;
1218 if idx = -1 then Exit;
1219 GikoForm.BrowserTab.Tabs.BeginUpdate;
1220 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1221 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1222 GikoForm.BrowserTab.Tabs.Delete(i);
1224 if idx > 0 then begin
1225 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1226 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1227 GikoForm.BrowserTab.Tabs.Delete(i);
1230 GikoForm.BrowserTab.Tabs.EndUpdate;
1232 // *************************************************************************
1233 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1234 // *************************************************************************
1235 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1237 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1239 // *************************************************************************
1240 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1241 // *************************************************************************
1242 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1246 if GikoSys.Setting.ShowDialogForAllTabClose then
1247 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
1250 GikoForm.ActiveContent := nil;
1251 GikoForm.BrowserNullTab.Thread := nil;
1252 GikoForm.BrowserTab.OnChange := nil;
1253 GikoForm.BrowserTab.Tabs.BeginUpdate;
1254 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1255 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1257 GikoForm.BrowserTab.Tabs.Clear;
1258 GikoForm.BrowserTab.Tabs.EndUpdate;
1259 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1260 GikoForm.SetContent(GikoForm.BrowserNullTab);
1261 GikoForm.Caption := CAPTION_NAME ;
1263 // *************************************************************************
1264 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1265 // *************************************************************************
1266 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1268 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';
1269 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1272 ThreadItem: TThreadItem;
1274 idx := GikoForm.BrowserTab.TabIndex;
1275 if idx <> -1 then begin
1276 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1277 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1278 if GikoSys.Setting.DeleteMsg then
1279 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1280 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1282 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1283 GikoForm.DeleteHistory(ThreadItem);
1284 ThreadItem.DeleteLogFile;
1285 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1286 GikoForm.ListView.Refresh;
1290 // *************************************************************************
1291 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1292 // *************************************************************************
1293 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1295 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1296 GikoForm.BrowserTab.TabIndex := 0;
1297 GikoForm.BrowserTab.OnChange(nil);
1300 // *************************************************************************
1301 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1302 // *************************************************************************
1303 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1305 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1306 LeftmostTabSelectActionUpdate(Sender);
1308 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1312 // *************************************************************************
1313 //!
\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
1314 // *************************************************************************
1315 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1317 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1318 and (GikoForm.BrowserTab.TabIndex <> 0);
1320 // *************************************************************************
1321 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1322 // *************************************************************************
1323 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1325 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1326 if GikoForm.BrowserTab.TabIndex = -1 then begin
1327 GikoForm.BrowserTab.TabIndex := 0;
1328 GikoForm.BrowserTab.OnChange(nil);
1329 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1330 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1331 GikoForm.BrowserTab.OnChange(nil);
1333 if (GikoSys.Setting.LoopBrowserTabs) and
1334 (GikoForm.BrowserTab.TabIndex = 0) then begin
1335 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1336 GikoForm.BrowserTab.OnChange(nil);
1341 // *************************************************************************
1342 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1343 // *************************************************************************
1344 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1346 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1347 if GikoForm.BrowserTab.TabIndex = -1 then begin
1348 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1349 GikoForm.BrowserTab.OnChange(nil);
1350 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1351 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1352 GikoForm.BrowserTab.OnChange(nil);
1354 if (GikoSys.Setting.LoopBrowserTabs) and
1355 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1356 GikoForm.BrowserTab.TabIndex := 0;
1357 GikoForm.BrowserTab.OnChange(nil);
1362 // *************************************************************************
1363 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1364 // *************************************************************************
1365 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1367 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1368 RightmostTabSelectActionUpdate(Sender);
1370 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1374 // *************************************************************************
1375 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1376 // *************************************************************************
1377 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1379 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1380 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1381 GikoForm.BrowserTab.OnChange(nil);
1384 // *************************************************************************
1385 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1386 // *************************************************************************
1387 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1389 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1390 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1393 // *************************************************************************
1394 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1395 // *************************************************************************
1396 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1398 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1399 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1401 // *************************************************************************
1402 //!
\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
1403 // *************************************************************************
1404 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1406 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1407 and (GikoForm.ListView.SelCount > 0);
1409 // *************************************************************************
1410 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1411 // *************************************************************************
1412 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1414 Dlg: TListSelectDialog;
1415 FilterList : TStringList;
1418 Dlg := TListSelectDialog.Create(GikoForm);
1420 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1421 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1423 if Dlg.ModalResult = mrOK then begin
1424 SelectResAction.Checked := True;
1425 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1426 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1427 ResRangeAction.Execute;
1429 GikoSys.ResRange := Ord( grrSelect );
1431 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1432 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1434 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1435 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1437 GikoSys.Setting.SelectTextList.Delete(idx);
1438 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1439 while Dlg.SelectComboBox.Items.Count > 100 do begin
1440 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1444 if GikoForm.SelectComboBoxPanel.Visible then
1445 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1449 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1450 FilterList := TStringList.Create;
1452 GikoSys.FSelectResFilter.Reverse := True;
1453 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1454 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1456 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1460 GikoForm.RepaintAllTabsBrowser();
1463 //
\83L
\83\83\83\93\83Z
\83\8b
1464 if GikoSys.ResRange <> Ord( grrSelect ) then
1465 ResRangeAction.Execute;
1472 // *************************************************************************
1473 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1474 // *************************************************************************
1475 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1477 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1478 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1480 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1481 AllResAction.Checked := True;
1483 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1484 SetResRange(Ord( grrAll ));
1486 // *************************************************************************
1487 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1488 // *************************************************************************
1489 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1491 case GikoForm.ResRangeMenuSelect of
1492 Ord( grrAll ): AllResAction.Execute;
1493 Ord( grrKoko ): OnlyKokoResAction.Execute;
1494 Ord( grrNew ): OnlyNewResAction.Execute;
1495 100: OnlyAHundredResAction.Execute;
1499 // *************************************************************************
1500 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1501 // *************************************************************************
1502 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1504 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1506 // *************************************************************************
1507 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1508 // *************************************************************************
1509 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1515 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
1516 str := ZenToHan(str);
1517 res := StrToIntDef(str, -1);
1518 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1519 GikoForm.ActiveContent.Move(IntToStr(res));
1520 SetFocusForBrowserAction.Execute;
1521 end else if res > GikoForm.GetActiveContent.Count then begin
1522 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1523 SetFocusForBrowserAction.Execute;
1527 // *************************************************************************
1528 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1529 // *************************************************************************
1530 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1535 idx := GikoForm.BrowserTab.TabIndex;
1536 if idx = -1 then Exit;
1537 GikoForm.BrowserTab.Tabs.BeginUpdate;
1538 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1539 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1540 GikoForm.BrowserTab.Tabs.Delete(i);
1542 GikoForm.BrowserTab.Tabs.EndUpdate;
1544 // *************************************************************************
1545 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1546 // *************************************************************************
1547 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1549 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1551 // *************************************************************************
1552 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1553 // *************************************************************************
1554 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1559 idx := GikoForm.BrowserTab.TabIndex;
1560 if idx = -1 then Exit;
1561 GikoForm.BrowserTab.Tabs.BeginUpdate;
1562 if idx > 0 then begin
1563 for i := idx - 1 downto 0 do begin
1564 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1565 GikoForm.BrowserTab.Tabs.Delete(i);
1568 GikoForm.BrowserTab.Tabs.EndUpdate;
1570 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1571 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1573 // 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
1574 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1575 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1576 TDefaultFileManager.CopyDefaultFiles(
1577 GikoSys.GetAppDir + 'defaultFiles.ini');
1579 // *************************************************************************
1580 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1581 // *************************************************************************
1582 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1587 if GikoForm.SearchDialog = nil then begin
1588 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1589 chk := GikoForm.GetActiveList
1593 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1594 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1598 GikoForm.SearchDialog.Show;
1602 // *************************************************************************
1603 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1604 // *************************************************************************
1605 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1609 Dlg := TOptionDialog.Create(GikoForm);
1616 // *************************************************************************
1617 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1618 // *************************************************************************
1619 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1623 Dlg := TRoundDialog.Create(GikoForm);
1630 // *************************************************************************
1631 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1632 // *************************************************************************
1633 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1635 Dlg: TKeySettingForm;
1637 Dlg := TKeySettingForm.Create(GikoForm);
1639 if Dlg.ShowModal = mrOk then begin
1640 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1641 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1642 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1647 MouseGesture.UnHook;
1648 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1649 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1650 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1651 if GikoSys.Setting.GestureEnabled then begin
1652 GikoSys.Setting.Gestures.ClearGesture;
1653 GikoSys.Setting.Gestures.LoadGesture(
1654 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1655 MouseGesture.SetHook( GikoForm.Handle );
1659 // *************************************************************************
1660 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1661 // *************************************************************************
1662 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1664 Dlg: TKotehanDialog;
1666 Dlg := TKotehanDialog.Create(GikoForm);
1673 // *************************************************************************
1674 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1675 // *************************************************************************
1676 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1678 Dlg: TToolBarSettingDialog;
1681 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1683 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1684 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1685 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1686 case GikoForm.ToolBarSettingSender of
1687 tssMain: Dlg.ToolBarIndex := 0;
1688 tssList: Dlg.ToolBarIndex := 1;
1689 tssBrowser: Dlg.ToolBarIndex := 2;
1691 if Dlg.ShowModal = mrOK then begin
1692 GikoForm.SetToolBarPopup;
1694 //
\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é
1695 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1696 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1697 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1698 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1699 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1701 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1702 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1703 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1704 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1705 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1707 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1708 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1709 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1710 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1711 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1714 SaveToolBarSetting(GikoForm.StdToolBar);
1715 SaveToolBarSetting(GikoForm.ListToolBar);
1716 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1717 GikoForm.SetSelectComboBox;
1718 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1719 SaveToolBarSetting(GikoForm.BrowserToolBar);
1723 GikoForm.ToolBarSettingSender := tssNone;
1726 // *************************************************************************
1727 //!
\83~
\83\85\81[
\83g
1728 // *************************************************************************
1729 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1731 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1733 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1734 // *************************************************************************
1735 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1736 // *************************************************************************
1737 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1740 TmpTreeNode: TTreeNode;
1742 TmpTreeNode := GikoForm.ClickNode;
1743 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1746 if TObject(TmpTreeNode.Data) is TBoard then
1747 Board := TBoard(TmpTreeNode.Data)
1748 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1749 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1751 if Board <> nil then
1752 GikoForm.DownloadList(Board);
1754 // *************************************************************************
1755 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1756 // *************************************************************************
1757 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1759 ThreadItem: TThreadItem;
1760 TmpTreeNode: TTreeNode;
1762 TmpTreeNode := GikoForm.ClickNode;
1763 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1766 if TObject(TmpTreeNode.Data) is TThreadItem then
1767 ThreadItem := TThreadItem(TmpTreeNode.Data)
1768 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1769 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1771 if ThreadItem <> nil then
1772 GikoForm.DownloadContent(ThreadItem);
1774 // *************************************************************************
1775 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1776 // *************************************************************************
1777 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1779 TmpTreeNode: TTreeNode;
1782 TmpTreeNode := GikoForm.ClickNode;
1783 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1784 if TObject(TmpTreeNode.Data) is TBoard then begin
1785 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1786 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1787 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1788 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1789 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1790 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1791 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1793 Clipboard.AsText := s;
1795 // *************************************************************************
1796 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1797 // *************************************************************************
1798 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1800 TmpTreeNode: TTreeNode;
1803 TmpTreeNode := GikoForm.ClickNode;
1804 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1805 if TObject(TmpTreeNode.Data) is TBoard then begin
1806 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1807 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1808 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1809 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1810 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1811 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1812 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1814 Clipboard.AsText := s;
1816 // *************************************************************************
1817 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1818 // *************************************************************************
1819 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1821 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1823 // *************************************************************************
1824 //!
\94Â
\96¼
\8c\9f\8dõ
1825 // *************************************************************************
1826 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1830 CurItem : TTreeNode;
1833 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1836 if GikoForm.TreeView.Selected = nil then
1837 CurItem := GikoForm.TreeView.Items.GetFirstNode
1839 CurItem := GikoForm.TreeView.Selected.GetNext;
1840 if CurItem = nil then
1841 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1843 while CurItem <> nil do begin
1844 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1847 CurItem := CurItem.GetNext;
1850 if CurItem = nil then begin
1851 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1852 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1853 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1857 GikoForm.TreeView.Select(CurItem);
1858 GikoForm.TreeView.SetFocus;
1860 GikoForm.TreeView.Select(CurItem);
1861 GikoForm.TreeView.SetFocus;
1862 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1863 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1876 // *************************************************************************
1877 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1878 // *************************************************************************
1879 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1883 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1884 s := GikoForm.ClickNode.Text;
1885 Clipboard.AsText := s;
1887 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1888 // *************************************************************************
1889 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1890 // *************************************************************************
1891 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1896 if GikoSys.Dolib.Connected then begin
1897 //
\83\8d\83O
\83A
\83E
\83g
1898 GikoSys.Dolib.Disconnect;
1899 LoginAction.Checked := False;
1900 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1901 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1903 TmpCursor := GikoForm.ScreenCursor;
1904 GikoForm.ScreenCursor := crHourGlass;
1906 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1907 if not GikoSys.Setting.ForcedLogin then begin
1908 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1909 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1910 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1911 if GikoSys.Setting.ReadProxy then begin
1912 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1913 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1915 GikoSys.Dolib.ProxyAddress := '';
1916 GikoSys.Dolib.ProxyPort := 0;
1918 if GikoSys.Dolib.Connect then begin
1919 LoginAction.Checked := True;
1920 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1921 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1922 //LoginToolButton.Style := tbsCheck;
1924 // 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);
1925 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1926 GikoForm.PlaySound('Error');
1927 LoginAction.Checked := False;
1928 //LoginToolButton.Down := False;
1929 ///LoginToolButton.Style := tbsButton;
1932 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
1933 + '
\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
1934 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1935 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1936 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1937 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1938 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1939 if GikoSys.Setting.ReadProxy then begin
1940 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1941 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1943 GikoSys.Dolib.ProxyAddress := '';
1944 GikoSys.Dolib.ProxyPort := 0;
1946 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1947 GikoSys.Dolib.ForcedConnect;
1948 if GikoSys.Dolib.Connect then begin
1949 LoginAction.Checked := True;
1950 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1951 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1952 //LoginToolButton.Style := tbsCheck;
1954 // 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);
1955 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1956 GikoForm.PlaySound('Error');
1957 LoginAction.Checked := False;
1958 //LoginToolButton.Down := False;
1959 //LoginToolButton.Style := tbsButton;
1962 LoginAction.Checked := False;
1963 //LoginToolButton.Down := False;
1964 //LoginToolButton.Style := tbsButton;
1968 GikoForm.ScreenCursor := TmpCursor;
1972 // *************************************************************************
1973 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1974 // *************************************************************************
1975 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
1977 Dlg: TNewBoardDialog;
1980 if (EditorFormExists) then begin
1981 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
1982 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
1985 Dlg := TNewBoardDialog.Create(GikoForm);
1992 // *************************************************************************
1993 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1994 // *************************************************************************
1995 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
1997 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';
1998 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';
1999 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2001 ThreadItem: TThreadItem;
2002 TmpListItem: TListItem;
2006 List := TList.Create;
2008 TmpListItem := GikoForm.ListView.Selected;
2009 while TmpListItem <> nil do begin
2010 if TObject(TmpListItem.Data) is TThreadItem then begin
2011 ThreadItem := TThreadItem(TmpListItem.Data);
2012 if ThreadItem.IsLogFile then
2013 List.Add(ThreadItem);
2015 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2018 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2019 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2020 if List.Count = 1 then begin
2021 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
2024 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
2030 for i := 0 to List.Count - 1 do begin
2031 ThreadItem := TThreadItem(List[i]);
2032 GikoForm.DeleteHistory(ThreadItem);
2033 GikoForm.DeleteTab(ThreadItem);
2034 ThreadItem.DeleteLogFile;
2036 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2038 GikoForm.ListView.Refresh;
2043 // *************************************************************************
2044 //! 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Ê
2045 // *************************************************************************
2046 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2048 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2049 and (GikoForm.ListView.SelCount > 0);
2051 // *************************************************************************
2052 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2053 // *************************************************************************
2054 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2056 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';
2057 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2059 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2060 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2062 GikoSys.Setting.SelectTextList.Clear;
2063 GikoForm.SelectComboBox.Items.Clear;
2064 GikoForm.SelectComboBox.Text := '';
2065 GikoForm.SetListViewType( gvtAll );
2067 // *************************************************************************
2068 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2069 // *************************************************************************
2070 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2072 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';
2073 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2075 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2076 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2078 GikoSys.Setting.NameList.Clear;
2079 ClearNameTextAllEditor
2081 // *************************************************************************
2082 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2083 // *************************************************************************
2084 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2086 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';
2087 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2089 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2090 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2092 GikoSys.Setting.MailList.Clear;
2095 // *************************************************************************
2096 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2097 // *************************************************************************
2098 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2102 // *************************************************************************
2103 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2104 // *************************************************************************
2105 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2107 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2109 // *************************************************************************
2110 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2111 // *************************************************************************
2112 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2114 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2115 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2117 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2120 // *************************************************************************
2121 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2122 // *************************************************************************
2123 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2130 List := TList.Create;
2132 GikoForm.ScreenCursor := crHourGlass;
2133 GikoForm.SelectListItem(List);
2134 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2135 (GikoSys.Setting.ListHeightState = glsMax)) or
2136 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2137 (GikoSys.Setting.ListWidthState = glsMax)) then
2138 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2139 else if(List.Count = 0) then
2140 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2143 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2144 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2146 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2147 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2149 for i := 0 to List.Count - 1 do begin
2150 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2152 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2154 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2156 if SaveDialog.Execute then begin
2158 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2159 PChar(SaveDialog.FileName), true);
2161 html := TStringList.Create;
2162 title := TThreadItem(List[i]).Title;
2164 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2165 html.SaveToFile(SaveDialog.FileName);
2166 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2176 GikoForm.ScreenCursor := crDefault;
2180 // *************************************************************************
2181 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2182 // *************************************************************************
2183 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2185 SelectThreadSaveToFile(false);
2187 // *************************************************************************
2188 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2189 // *************************************************************************
2190 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2192 SelectThreadSaveToFile(true);
2194 // *************************************************************************
2195 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2196 // *************************************************************************
2197 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2199 Filename = 'tab.sav';
2200 bFilename = '~tab.sav';
2202 SaveStringList: TStringList;
2204 SaveStringList := TStringList.Create;
2206 GetTabURLs(SaveStringList);
2208 if FileExists( GikoSys.GetAppDir + Filename) then begin
2209 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2210 PChar(GikoSys.GetAppDir + bFilename), False);
2214 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2216 SaveStringList.Free;
2219 // *************************************************************************
2220 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2221 // *************************************************************************
2222 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2224 rec : TBrowserRecord;
2227 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2229 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2230 if( rec <> nil) and (rec.Thread <> nil) then
2231 AStringList.Add( rec.Thread.URL );
2236 // *************************************************************************
2237 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2238 // *************************************************************************
2239 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2241 GikoTab : TGikoTabAppend;
2245 if (AStringList <> nil) then begin
2246 GikoTab := GikoSys.Setting.BrowserTabAppend;
2248 bound := AStringList.Count - 1;
2249 if bound > -1 then begin
2250 GikoSys.Setting.BrowserTabAppend := gtpLast;
2251 for i := 0 to bound do begin
2252 item := BBSsFindThreadFromURL( AStringList[ i ] );
2254 GikoForm.InsertBrowserTab( item, false );
2256 //
\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Ñ
2257 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
2258 GikoForm.BrowserTab.OnChange(nil);
2262 GikoSys.Setting.BrowserTabAppend := GikoTab;
2266 // *************************************************************************
2267 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2268 // *************************************************************************
2269 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2271 TABFILE = 'tab.sav';
2276 URLs := TStringList.Create();
2278 fileName := ExtractFilePath(Application.ExeName) + TABFILE;
2279 if FileExists(fileName) then begin
2281 URLs.LoadFromFile(fileName);
2282 if (URLs.Count = 0) then begin
2283 //
\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
2284 SysUtils.DeleteFile(fileName);
2289 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2296 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2297 (TabsOpenAction.Tag <> 1) then begin
2298 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2301 // *************************************************************************
2302 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2303 // *************************************************************************
2304 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2306 GikoSys.Setting.BeLogin := not GikoSys.Setting.BeLogin;
2308 // *************************************************************************
2309 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
2310 // *************************************************************************
2311 procedure TGikoDM.BeLogInOutActionUpdate(Sender: TObject);
2313 if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
2314 if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
2315 else BeLogInOutAction.Checked := false;
2316 BeLogInOutAction.Enabled := true
2318 BeLogInOutAction.Enabled := false;
2320 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2321 // *************************************************************************
2322 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2323 // *************************************************************************
2324 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2327 ThreadItem: TThreadItem;
2329 No := GikoForm.KokoPopupMenu.Tag;
2330 if No = 0 then Exit;
2331 ThreadItem := GikoForm.GetActiveContent;
2332 if ThreadItem = nil then Exit;
2333 ThreadItem.Kokomade := No;
2334 GikoForm.ActiveContent.Thread.ScrollTop :=
2335 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2336 GikoForm.ActiveContent.Repaint := true;
2337 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2338 //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é
2339 //Application.ProcessMessages;
2341 // *************************************************************************
2342 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2343 // *************************************************************************
2344 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2346 ThreadItem: TThreadItem;
2348 ThreadItem := GikoForm.GetActiveContent;
2349 if ThreadItem = nil then Exit;
2350 ThreadItem.Kokomade := -1;
2351 GikoForm.ActiveContent.Thread.ScrollTop :=
2352 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2353 GikoForm.ActiveContent.Repaint := true;
2354 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2355 //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é
2356 //Application.ProcessMessages;
2358 // *************************************************************************
2359 //!
\83R
\83R
\82É
\83\8c\83X
2360 // *************************************************************************
2361 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2363 Editor: TEditorForm;
2367 Number := GikoForm.KokoPopupMenu.Tag;
2368 if Number = 0 then Exit;
2369 Item := GikoForm.GetActiveContent;
2370 if Item = nil then Exit;
2372 Editor := TEditorForm.Create(GikoForm);
2373 Editor.SetThreadItem(Item);
2374 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2376 Editor.BodyEdit.SetFocus;
2378 // *************************************************************************
2379 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2380 // *************************************************************************
2381 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2383 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2385 // *************************************************************************
2386 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2387 // *************************************************************************
2388 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2390 ThreadItem : TThreadItem;
2391 No, count, rc : Integer;
2395 No := GikoForm.KokoPopupMenu.Tag;
2396 if No = 0 then Exit;
2397 ThreadItem := GikoForm.GetActiveContent;
2398 if ThreadItem = nil then Exit;
2399 count := GikoSys.GetSameIDResCount(No, GikoForm.ActiveContent.Thread);
2401 if count > 20 then begin
2402 rc := GikoUtil.MsgBox(GikoForm.Handle,
2403 '20
\8cÂ
\88È
\8fã
\82 \82è
\82Ü
\82·
\82ª
\81A
\82·
\82×
\82Ä
\95\
\8e¦
\82µ
\82Ü
\82·
\82©
\81H',
2404 'ID
\83|
\83b
\83v
\83A
\83b
\83v
\8cx
\8d\90',
2405 MB_YESNO or MB_ICONQUESTION);
2406 limited := rc <> ID_YES;
2408 body := GikoSys.GetSameIDResAnchor(No, ThreadItem, limited);
2409 GikoForm.ActiveContent.IDAnchorPopup(body);
2411 // *************************************************************************
2412 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2413 // *************************************************************************
2414 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2416 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2418 // *************************************************************************
2419 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2420 // *************************************************************************
2421 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2423 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2425 // *************************************************************************
2426 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2427 // *************************************************************************
2428 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2430 IndividualForm :TIndividualAbonForm;
2431 ThreadItem : TThreadItem;
2433 ReadList : TStringList;
2434 wordCount : TWordCount;
2436 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2438 ThreadItem := GikoForm.GetActiveContent;
2439 ThreadItem.ScrollTop :=
2440 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2441 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2442 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2443 ReadList := TStringList.Create;
2444 wordCount := TWordCount.Create;
2446 {$IFDEF SPAM_FILTER_ENABLED}
2447 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2448 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2449 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2450 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2451 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2453 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2454 GikoForm.ActiveContent.Repaint := true;
2455 GikoForm.InsertBrowserTab( ThreadItem, True );
2462 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2463 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2467 IndividualForm.Release;
2470 // *************************************************************************
2471 //!
\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
2472 // *************************************************************************
2473 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2475 IndividualForm :TIndividualAbonForm;
2476 ThreadItem : TThreadItem;
2478 ReadList : TStringList;
2479 wordCount : TWordCount;
2480 {$IFDEF SPAM_FILTER_ENABLED}
2484 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2486 ThreadItem := GikoForm.GetActiveContent;
2487 ThreadItem.ScrollTop :=
2488 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2489 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2490 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2491 if (IndividualForm.ShowModal = mrOK) then begin
2492 ReadList := TStringList.Create;
2493 wordCount := TWordCount.Create;
2495 {$IFDEF SPAM_FILTER_ENABLED}
2496 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2497 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2498 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2499 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2500 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2501 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2504 if IndividualForm.FRepaint then begin
2505 GikoForm.ActiveContent.Repaint := true;
2506 GikoForm.InsertBrowserTab( ThreadItem, True );
2514 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2515 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2519 IndividualForm.Release;
2522 // *************************************************************************
2523 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2524 // *************************************************************************
2525 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2527 GikoForm.IndividualAbonID(1);
2529 // *************************************************************************
2530 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2531 // *************************************************************************
2532 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2534 GikoForm.IndividualAbonID(0);
2536 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2537 // *************************************************************************
2538 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2539 // *************************************************************************
2540 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2542 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2544 // *************************************************************************
2545 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2546 // *************************************************************************
2547 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2549 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2551 // *************************************************************************
2552 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2553 // *************************************************************************
2554 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2556 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2558 // *************************************************************************
2559 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2560 // *************************************************************************
2561 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2563 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2565 // *************************************************************************
2566 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2567 // *************************************************************************
2568 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2572 Dlg := TAboutDialog.Create(GikoForm);
2579 // *************************************************************************
2580 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2581 // *************************************************************************
2582 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2586 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2587 if not FileExists(FileName) then begin
2590 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2591 '
\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 +
2592 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2597 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2599 // *************************************************************************
2600 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2601 // *************************************************************************
2602 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2604 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2606 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2607 // *************************************************************************
2608 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2609 // *************************************************************************
2610 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2612 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2613 GikoForm.ListView.Refresh;
2615 // *************************************************************************
2616 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2617 // *************************************************************************
2618 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2620 if GikoForm.GetActiveList is TBoard then begin
2621 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2622 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2623 end else if GikoForm.GetActiveList is TCategory then begin
2624 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2627 // *************************************************************************
2628 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2629 // *************************************************************************
2630 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2632 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS);
2634 // *************************************************************************
2635 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2636 // *************************************************************************
2637 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2639 case GikoForm.ListView.ViewStyle of
2640 vsIcon: SmallIconAction.Execute;
2641 vsSmallIcon: ListIconAction.Execute;
2642 vsList: DetailIconAction.Execute;
2643 vsReport: LargeIconAction.Execute;
2646 // *************************************************************************
2647 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2648 // *************************************************************************
2649 procedure TGikoDM.ClearSelectComboBox;
2651 if GikoForm.SelectComboBoxPanel.Visible then begin
2652 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2653 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2654 GikoForm.ListView.SetFocus;
2657 // *************************************************************************
2658 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2659 // *************************************************************************
2660 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2663 if GikoForm.ViewType <> gvtAll then
2664 GikoForm.SetListViewType(gvtAll);
2665 GikoSys.Setting.ThreadRange := gtrAll;
2666 AllItemAction.Checked := True;
2667 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2668 GikoForm.ModifySelectList;
2669 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2670 ClearSelectComboBox;
2674 // *************************************************************************
2675 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2676 // *************************************************************************
2677 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2680 if GikoForm.ViewType <> gvtLog then
2681 GikoForm.SetListViewType(gvtLog);
2682 GikoSys.Setting.ThreadRange := gtrLog;
2683 LogItemAction.Checked := True;
2684 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2685 GikoForm.ModifySelectList;
2686 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2687 ClearSelectComboBox;
2691 // *************************************************************************
2692 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2693 // *************************************************************************
2694 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2698 if GikoForm.ViewType <> gvtNew then
2699 GikoForm.SetListViewType(gvtNew);
2700 GikoSys.Setting.ThreadRange := gtrNew;
2701 NewItemAction.Checked := True;
2702 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2703 GikoForm.ModifySelectList;
2704 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2705 ClearSelectComboBox;
2709 // *************************************************************************
2710 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2711 // *************************************************************************
2712 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2715 if GikoForm.ViewType <> gvtArch then
2716 GikoForm.SetListViewType(gvtArch);
2717 GikoSys.Setting.ThreadRange := gtrArch;
2718 ArchiveItemAction.Checked := True;
2719 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2720 GikoForm.ModifySelectList;
2721 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2722 ClearSelectComboBox;
2726 // *************************************************************************
2727 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2728 // *************************************************************************
2729 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2732 if GikoForm.ViewType <> gvtLive then
2733 GikoForm.SetListViewType(gvtLive);
2734 GikoSys.Setting.ThreadRange := gtrLive;
2735 LiveItemAction.Checked := True;
2736 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2737 GikoForm.ModifySelectList;
2738 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2739 ClearSelectComboBox;
2744 // *************************************************************************
2745 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2746 // *************************************************************************
2747 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2749 case GikoSys.Setting.ThreadRange of
2750 gtrAll: AllItemAction.Execute;
2751 gtrLog: LogItemAction.Execute;
2752 gtrNew: NewItemAction.Execute;
2753 gtrArch: ArchiveItemAction.Execute;
2754 gtrLive: LiveItemAction.Execute;
2757 // *************************************************************************
2758 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2759 // *************************************************************************
2760 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2763 Dlg: TListSelectDialog;
2766 if GikoForm.SelectComboBoxPanel.Visible then begin
2767 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2768 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2769 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2770 if GikoSys.Setting.ListWidthState = glsMax then
2771 BrowserMinAction.Execute;
2773 if GikoSys.Setting.ListHeightState = glsMax then
2774 BrowserMinAction.Execute;
2776 GikoForm.SelectComboBox.SetFocus;
2783 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2784 GikoForm.SelectComboBox.Text := '';
2785 GikoForm.SelectComboBox.Color := clWindow;
2788 AllItemAction.Checked := False;
2789 LogItemAction.Checked := False;
2790 NewItemAction.Checked := False;
2791 //SelectItemAction.Checked := True;
2792 GikoForm.ModifySelectList;
2793 Dlg := TListSelectDialog.Create(GikoForm);
2795 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2796 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2798 if Dlg.ModalResult = mrCancel then begin
2799 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2800 AllItemAction.Checked := True;
2801 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2802 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2805 if GikoForm.GetActiveList is TBoard then
2806 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2808 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2810 GikoSys.Setting.SelectTextList.Delete(idx);
2811 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2812 while Dlg.SelectComboBox.Items.Count > 100 do begin
2813 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2816 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2817 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2818 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2820 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2821 GikoForm.SelectComboBox.Color := clWindow;
2823 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2829 // *************************************************************************
2830 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2831 // *************************************************************************
2832 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2834 Editor: TEditorForm;
2836 if not (GikoForm.GetActiveList is TBoard) then
2838 Editor := TEditorForm.Create(GikoForm);
2839 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2841 Editor.BodyEdit.SetFocus;
2843 // *************************************************************************
2844 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2845 // *************************************************************************
2846 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2850 if GikoForm.GetActiveList is TBoard then begin
2851 URL := TBoard(GikoForm.GetActiveList).URL;
2852 GikoSys.OpenBrowser(URL, gbtAuto);
2855 // *************************************************************************
2856 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2857 // *************************************************************************
2858 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2865 List := TList.Create;
2867 GikoForm.SelectListItem(List);
2868 for i := 0 to List.Count - 1 do begin
2869 if TObject(List[i]) is TBoard then
2870 s := s + TBoard(List[i]).URL + #13#10
2871 else if TObject(List[i]) is TThreadItem then
2872 s := s + TThreadItem(List[i]).URL + #13#10;
2875 Clipboard.AsText := s;
2880 // *************************************************************************
2881 //!
\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
2882 // *************************************************************************
2883 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2885 if ((GikoForm.GetActiveList is TBoard) or
2886 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2887 TAction(Sender).Enabled := True
2889 TAction(Sender).Enabled := False;
2891 // *************************************************************************
2892 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2893 // *************************************************************************
2894 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2901 List := TList.Create;
2903 GikoForm.SelectListItem(List);
2904 for i := 0 to List.Count - 1 do begin
2905 if TObject(List[i]) is TBoard then
2906 s := s + TBoard(List[i]).Title + #13#10
2907 else if TObject(List[i]) is TThreadItem then
2908 s := s + TThreadItem(List[i]).Title + #13#10;
2911 Clipboard.AsText := s;
2916 // *************************************************************************
2917 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2918 // *************************************************************************
2919 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2921 if ((GikoForm.GetActiveList is TBoard) or
2922 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2923 TAction(Sender).Enabled := True
2925 TAction(Sender).Enabled := False;
2927 // *************************************************************************
2928 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2929 // *************************************************************************
2930 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2937 List := TList.Create;
2939 GikoForm.SelectListItem(List);
2940 for i := 0 to List.Count - 1 do begin
2941 if TObject(List[i]) is TBoard then
2942 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2943 else if TObject(List[i]) is TThreadItem then
2944 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
2947 Clipboard.AsText := s;
2952 // *************************************************************************
2953 //!
\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é
2954 // *************************************************************************
2955 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
2962 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2963 GikoForm.ActiveListColumnSave;
2964 if GikoForm.GetActiveList is TCategory then begin
2965 List := TList.Create;
2967 GikoForm.SelectListItem(List);
2968 if List.Count > 5 then begin
2969 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
2970 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
2971 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
2974 for i := 0 to List.Count - 1 do begin
2975 if TObject(List[i]) is TBoard then
2976 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
2981 end else if GikoForm.GetActiveList is TBoard then begin
2982 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
2985 // *************************************************************************
2986 //!
\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
2987 // *************************************************************************
2988 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
2990 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
2991 TAction(Sender).Enabled := True
2992 else if GikoForm.GetActiveList is TBoard then
2993 TAction(Sender).Enabled := True
2995 TAction(Sender).Enabled := False;
2997 // *************************************************************************
2998 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
2999 // *************************************************************************
3000 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3007 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3008 List := TList.Create;
3010 GikoForm.SelectListItem(List);
3011 if List.Count > 10 then begin
3012 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3013 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3014 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3017 for i := 0 to List.Count - 1 do begin
3018 if TObject(List[i]) is TThreadItem then
3019 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3025 // *************************************************************************
3026 //!
\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
3027 // *************************************************************************
3028 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3030 TAction(Sender).Enabled :=
3031 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3033 // *************************************************************************
3034 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3035 // *************************************************************************
3036 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3038 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3039 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3041 // *************************************************************************
3042 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3043 // *************************************************************************
3044 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3049 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3050 List := TList.Create;
3052 GikoForm.SelectListItem(List);
3053 for i := 0 to List.Count - 1 do begin
3054 if TObject(List[i]) is TThreadItem then begin
3055 if TThreadItem(List[i]).IsLogFile then begin
3056 SelectReservAction.Enabled := True;
3061 SelectReservAction.Enabled := False;
3065 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3066 SelectReservAction.Enabled := True
3068 SelectReservAction.Enabled := False;
3070 // *************************************************************************
3071 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3072 // *************************************************************************
3073 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3076 Dlg: TRoundNameDialog;
3080 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3081 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3084 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3085 cnt := RoundList.Count[grtBoard];
3086 cnt := cnt + RoundList.Count[grtItem];
3087 if cnt > 500 then begin
3088 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3092 Dlg := TRoundNameDialog.Create(GikoForm);
3095 if Dlg.ModalResult <> mrCancel then begin
3096 s := Trim(Dlg.RoundNameEdit.Text);
3097 if (Sender is TMenuItem) then begin
3098 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3099 end else if (Sender is TAction) then begin
3100 if (GikoForm.ListView.Selected <> nil) then begin
3101 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3102 GikoForm.SetSelectItemRound(True, s,
3103 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3104 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3105 GikoForm.SetSelectItemRound(True, s,
3106 TBoard(GikoForm.ListView.Selected.Data).Title);
3110 GikoForm.ListView.Refresh;
3116 // *************************************************************************
3117 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3118 // *************************************************************************
3119 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3123 if (Sender is TMenuItem) then begin
3125 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3128 end else if (Sender is TAction) then begin
3130 if GikoForm.ListView.Selected <> nil then begin
3131 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3132 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3133 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3134 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3136 GikoForm.SetSelectItemRound(False, '', s);
3142 GikoForm.ListView.Refresh;
3144 // *************************************************************************
3145 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3146 // *************************************************************************
3147 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3149 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3150 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3152 // *************************************************************************
3153 //!
\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
3154 // *************************************************************************
3155 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3157 BoardFavoriteAddAction.Enabled :=
3158 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3160 // *************************************************************************
3161 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3162 // *************************************************************************
3163 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3167 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3168 (GikoSys.Setting.ListHeightState = glsMax)) or
3169 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3170 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3171 if(GikoForm.GetActiveContent <> nil) then begin
3172 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3174 end else if GikoForm.GetActiveList is TCategory then begin
3175 List := TList.Create;
3177 GikoForm.SelectListItem(List);
3178 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3182 end else if GikoForm.GetActiveList is TBoard then begin
3183 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3187 // *************************************************************************
3188 //! 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Ê
3189 // *************************************************************************
3190 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3192 if ((GikoForm.GetActiveList is TBoard) or (GikoForm.GetActiveList is TCategory))
3193 and (GikoForm.ListView.SelCount > 0) then
3194 TAction(Sender).Enabled := True
3196 TAction(Sender).Enabled := False;
3198 // *************************************************************************
3199 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3200 // *************************************************************************
3201 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3203 RefURL, URL : string;
3207 if GikoForm.GetActiveList is TCategory then begin
3208 List := TList.Create;
3210 GikoForm.SelectListItem(List);
3211 RefURL := TBoard(List[0]).URL;
3215 end else if GikoForm.GetActiveList is TBoard then begin
3216 RefURL := TBoard(GikoForm.GetActiveList).URL
3218 if RefURL <> '' then begin
3219 if RefURL[Length(RefURL)] <> '/' then
3220 URL := RefURL + '/' + 'head.txt'
3222 URL := RefURL + 'head.txt';
3224 GikoForm.MoveToURL(URL);
3226 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3230 // *************************************************************************
3231 //!
\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é
3232 // *************************************************************************
3233 function TGikoDM.GetSortProperties(List: TObject;
3234 var vSortOrder: Boolean): Boolean;
3237 if (List <> nil) then begin
3238 if (List is TBBS) then begin
3239 vSortOrder := GikoSys.Setting.BBSSortOrder;
3240 end else if (List is TCategory) then begin
3241 vSortOrder := GikoSys.Setting.CategorySortOrder;
3242 end else if (List is TBoard) then begin
3243 vSortOrder := GikoSys.Setting.BoardSortOrder;
3251 // *************************************************************************
3252 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3253 // *************************************************************************
3254 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3259 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3260 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3261 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3262 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3264 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3265 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3272 // *************************************************************************
3273 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3274 // *************************************************************************
3275 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3279 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3280 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3281 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3283 if id > GikoForm.ListView.Columns.Count - 1 then
3285 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3286 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3292 // *************************************************************************
3293 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3294 // *************************************************************************
3295 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3299 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3300 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3301 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3304 id := GikoForm.ListView.Columns.Count - 1;
3305 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3306 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3312 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3313 // *************************************************************************
3314 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3315 // *************************************************************************
3316 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3318 CoolBand: TCoolBand;
3320 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3321 if CoolBand = nil then
3323 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3324 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3325 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3327 // *************************************************************************
3328 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3329 // *************************************************************************
3330 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3332 CoolBand: TCoolBand;
3334 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3335 if CoolBand = nil then
3337 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3338 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3339 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3341 // *************************************************************************
3342 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3343 // *************************************************************************
3344 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3346 CoolBand: TCoolBand;
3348 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3349 if CoolBand = nil then
3351 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3352 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3353 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3355 // *************************************************************************
3356 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3357 // *************************************************************************
3358 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3360 CoolBand: TCoolBand;
3362 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3363 if CoolBand = nil then
3365 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3366 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3368 // *************************************************************************
3369 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3370 // *************************************************************************
3371 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3373 CoolBand: TCoolBand;
3375 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3376 if CoolBand = nil then
3378 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3379 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3381 // *************************************************************************
3382 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3383 // *************************************************************************
3384 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3386 CoolBand: TCoolBand;
3388 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3389 if CoolBand = nil then
3391 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3392 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3394 // *************************************************************************
3395 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3396 // *************************************************************************
3397 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3399 CoolBand: TCoolBand;
3401 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3402 if CoolBand = nil then
3404 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3405 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3407 // *************************************************************************
3408 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3409 // *************************************************************************
3410 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3412 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3413 GikoForm.MessagePanel.Top :=
3414 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3415 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3416 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3417 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3419 // *************************************************************************
3420 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3421 // *************************************************************************
3422 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3424 MsgBarVisibleAction.Execute;
3426 // *************************************************************************
3427 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3428 // *************************************************************************
3429 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3431 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3432 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3434 // *************************************************************************
3435 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3436 // *************************************************************************
3437 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3440 if GikoForm.CabinetPanel.Visible then begin
3441 if GikoForm.TreeType = gtt2ch then begin
3442 GikoForm.CabinetVisible( False );
3444 CabinetBBSAction.Checked := False;
3446 CabinetBBSAction.Checked := True;
3449 GikoForm.CabinetVisible( True );
3450 CabinetBBSAction.Checked := True;
3453 if GikoForm.ActiveBBS = nil then
3454 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3456 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3459 // *************************************************************************
3460 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3461 // *************************************************************************
3462 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3464 GikoForm.ShowHistoryTree;
3466 // *************************************************************************
3467 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3468 // *************************************************************************
3469 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3475 if GikoForm.CabinetPanel.Visible then begin
3476 if GikoForm.TreeType = gttFavorite then begin
3477 GikoForm.CabinetVisible( False );
3478 CabinetFavoriteAction.Checked := False;
3480 CabinetFavoriteAction.Checked := True;
3483 GikoForm.CabinetVisible( True );
3484 CabinetFavoriteAction.Checked := True;
3487 // BBS...BBS, History, Favorite
3488 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3490 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3491 for i := 0 to b do begin
3492 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3493 if item is TBBSMenuItem then begin
3494 item.Checked := False;
3495 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3496 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3500 //
\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Ö
3501 GikoForm.HistoryToolBar.Hide;
3502 GikoForm.FavoriteToolBar.Show;
3503 GikoForm.TreeView.Visible := False;
3504 GikoForm.FavoriteTreeView.Visible := True;
3506 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3507 GikoForm.TreeType := gttFavorite;
3509 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3510 CabinetBBSAction.Checked := False;
3511 CabinetHistoryAction.Checked := False;
3513 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3514 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3517 // *************************************************************************
3518 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3519 // *************************************************************************
3520 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3522 case GikoForm.TreeType of
3523 gttHistory: CabinetHistoryAction.Execute;
3524 gttFavorite: CabinetFavoriteAction.Execute;
3526 CabinetBBSAction.Execute;
3529 // *************************************************************************
3530 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3531 // *************************************************************************
3532 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3534 //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ã
3536 // *************************************************************************
3537 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3538 // *************************************************************************
3539 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3541 GikoForm.ListView.ViewStyle := vsIcon;
3542 LargeIconAction.Checked := True;
3544 // *************************************************************************
3545 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3546 // *************************************************************************
3547 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3549 GikoForm.ListView.ViewStyle := vsSmallIcon;
3550 SmallIconAction.Checked := True;
3552 // *************************************************************************
3553 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3554 // *************************************************************************
3555 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3557 GikoForm.ListView.ViewStyle := vsList;
3558 ListIconAction.Checked := True;
3560 // *************************************************************************
3561 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3562 // *************************************************************************
3563 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3565 GikoForm.ListView.ViewStyle := vsReport;
3566 DetailIconAction.Checked := True;
3568 // *************************************************************************
3569 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3570 // *************************************************************************
3571 procedure TGikoDM.StopActionExecute(Sender: TObject);
3573 GikoForm.FControlThread.DownloadAbort;
3574 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3576 GikoForm.Animate.Active := False;
3579 GikoForm.ScreenCursor := crDefault;
3581 // *************************************************************************
3582 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3583 // *************************************************************************
3584 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3586 if ArrangeAction.Checked then begin
3588 GikoForm.ViewPanel.Align := alNone;
3589 GikoForm.ListSplitter.Align := alNone;
3590 GikoForm.ThreadPanel.Align := alNone;
3592 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3593 GikoForm.ViewPanel.Align := alLeft;
3595 GikoForm.ListSplitter.Width := 5;
3596 GikoForm.ListSplitter.Align := alLeft;
3598 GikoForm.ViewPanel.Left := -10;
3600 GikoForm.ThreadPanel.Align := alClient;
3602 GikoSys.Setting.ListOrientation := gloHorizontal;
3603 case GikoSys.Setting.ListWidthState of
3605 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3606 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3607 GikoForm.ViewPanel.Width := 1;
3610 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3611 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3614 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3615 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3616 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3621 GikoForm.ViewPanel.Align := alNone;
3622 GikoForm.ListSplitter.Align := alNone;
3623 GikoForm.ThreadPanel.Align := alNone;
3625 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3626 GikoForm.ViewPanel.Align := alTop;
3628 GikoForm.ListSplitter.Height := 5;
3629 GikoForm.ListSplitter.Align := alTop;
3631 GikoForm.ViewPanel.Top := -10;
3633 GikoForm.ThreadPanel.Align := alClient;
3634 GikoSys.Setting.ListOrientation := gloVertical;
3635 case GikoSys.Setting.ListHeightState of
3637 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3638 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3639 GikoForm.ViewPanel.Height := 1;
3642 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3643 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3646 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3647 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3648 GikoForm.ViewPanel.Height :=
3649 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3654 // *************************************************************************
3655 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3656 // *************************************************************************
3657 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3659 GikoForm.CabinetPanel.Width := 150;
3660 GikoForm.MessagePanel.Height := 40;
3662 GikoForm.BrowserSizeWidth := 200;
3663 GikoForm.BrowserSizeHeight := 200;
3664 if ArrangeAction.Checked then begin
3665 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3667 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3669 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3670 if GikoSys.Setting.ListHeightState = glsMax then begin
3671 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3672 GikoSys.Setting.ListHeightState := glsNormal;
3675 if GikoSys.Setting.ListWidthState = glsMax then begin
3676 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3677 GikoSys.Setting.ListWidthState := glsNormal;
3681 // *************************************************************************
3682 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3683 // *************************************************************************
3684 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3686 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3687 GikoForm.SetBrowserTabState;
3689 // *************************************************************************
3690 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3691 // *************************************************************************
3692 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3694 BrowserTabBottomAction.Checked := False;
3695 BrowserTabTopAction.Checked := True;
3696 GikoSys.Setting.BrowserTabPosition := gtpTop;
3697 GikoForm.SetBrowserTabState;
3699 // *************************************************************************
3700 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3701 // *************************************************************************
3702 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3704 BrowserTabTopAction.Checked := False;
3705 BrowserTabBottomAction.Checked := True;
3706 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3707 GikoForm.SetBrowserTabState;
3709 // *************************************************************************
3710 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3711 // *************************************************************************
3712 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3714 BrowserTabButtonStyleAction.Checked := False;
3715 BrowserTabFlatStyleAction.Checked := False;
3716 BrowserTabTabStyleAction.Checked := True;
3717 GikoSys.Setting.BrowserTabStyle := gtsTab;
3718 GikoForm.SetBrowserTabState;
3720 // *************************************************************************
3721 //!
\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é
3722 // *************************************************************************
3723 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3725 BrowserTabTabStyleAction.Checked := False;
3726 BrowserTabFlatStyleAction.Checked := False;
3727 BrowserTabButtonStyleAction.Checked := True;
3728 GikoSys.Setting.BrowserTabStyle := gtsButton;
3729 GikoForm.SetBrowserTabState;
3731 // *************************************************************************
3732 //!
\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é
3733 // *************************************************************************
3734 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3736 BrowserTabFlatStyleAction.Checked := True;
3737 BrowserTabTabStyleAction.Checked := False;
3738 BrowserTabButtonStyleAction.Checked := False;
3739 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3740 GikoForm.SetBrowserTabState;
3742 // *************************************************************************
3743 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3744 // *************************************************************************
3745 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3747 GikoForm.ActiveContent.Browser.SetFocus;
3749 // *************************************************************************
3750 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3751 // *************************************************************************
3752 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3754 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3755 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3756 TAction(Sender).Enabled := true
3758 TAction(Sender).Enabled := false;
3760 // *************************************************************************
3761 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3762 // *************************************************************************
3763 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3765 if GikoForm.ActiveContent <> nil then
3766 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3767 GikoForm.ListView.SetFocus;
3769 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3770 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é
3772 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3773 if (GikoForm.ListView.ItemFocused <> nil) then begin
3774 GikoForm.ListView.ItemFocused.MakeVisible(False);
3777 // *************************************************************************
3778 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3779 // *************************************************************************
3780 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3782 if GikoForm.ActiveContent <> nil then
3783 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3784 if GikoForm.TreeView.Visible then begin
3785 GikoForm.TreeView.SetFocus;
3786 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3787 GikoForm.TreeView.Items.Item[0].Selected := true;
3788 end else if GikoForm.FavoriteTreeView.Visible then begin
3789 GikoForm.FavoriteTreeView.SetFocus;
3790 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3791 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3794 // *************************************************************************
3795 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3796 // *************************************************************************
3797 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3799 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3801 // *************************************************************************
3802 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3803 // *************************************************************************
3804 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3806 BrowserMinAction.Execute;
3807 SetFocusForThreadListAction.Execute;
3809 // *************************************************************************
3810 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3811 // *************************************************************************
3812 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3814 BrowserMaxAction.Execute;
3815 SetFocusForBrowserAction.Execute;
3817 // *************************************************************************
3818 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3819 // *************************************************************************
3820 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3822 if GikoForm.ListView.Selected <> nil then begin
3823 GikoForm.ListView.Selected.Focused := True;
3824 GikoForm.ListView.Selected := nil;
3827 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3828 // *************************************************************************
3829 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3830 // *************************************************************************
3831 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3833 SetThreadReadProperty(true);
3835 // *************************************************************************
3836 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3837 // *************************************************************************
3838 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3840 SetThreadReadProperty(false);
3842 // *************************************************************************
3843 //!
\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Ç
3844 // *************************************************************************
3845 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3850 List := TList.Create;
3852 GikoForm.SelectListItem(List);
3853 for i := 0 to List.Count - 1 do begin
3854 if TObject(List[i]) is TThreadItem then begin
3855 if (TThreadItem(List[i]).IsLogFile) then begin
3856 TThreadItem(List[i]).UnRead := not read;
3860 if GikoForm.TreeView.Visible then
3861 GikoForm.TreeView.Refresh;
3862 if GikoForm.ListView.Visible then
3863 GikoForm.ListView.Refresh;
3868 // *************************************************************************
3869 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3870 // *************************************************************************
3871 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3873 GikoForm.ListViewAllSelect;
3875 // *************************************************************************
3876 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3877 // *************************************************************************
3878 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3880 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3882 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3883 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3884 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3886 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 +
3887 '
\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' +
3888 '
\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';
3889 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3892 limitSize : Integer;
3895 {
\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Í
3896 \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
3897 \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õ
3898 è
\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
3899 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3901 if MsgBox(GikoForm.Handle, RECALC_MES,
3902 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3903 //è
\87\92l
\82Ì
\8am
\94F
3904 limitSize := LIMIT_SIZE;
3905 limitStr := IntToStr(limitSize);
3906 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
3907 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3908 if (limitSize < 0) then begin
3909 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3910 ThreadSizeCalcForFileActionExecute(nil);
3912 RecalcThreadSize(limitSize);
3917 //! 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
3918 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3920 i, j, tmpSize : Integer;
3923 Thread: TThreadItem;
3926 //
\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
3927 GikoForm.ScreenCursor := crHourGlass;
3929 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3930 for i := 0 to BoardGroups[0].Count - 1 do begin
3931 Obj := BoardGroups[0].Objects[i];
3932 if (Obj <> nil) then begin
3933 Board := TBoard(Obj);
3934 if not Board.IsThreadDatRead then begin
3935 GikoSys.ReadSubjectFile(Board);
3937 for j := 0 to Board.Count - 1 do begin
3938 Thread := Board.Items[j];
3939 if (Thread <> nil) and (Thread.IsLogFile)
3940 and (Thread.Size <= limit) then begin
3941 dat := TStringList.Create;
3943 tmpSize := Thread.Size;
3945 dat.LoadFromFile(Thread.GetThreadFileName);
3946 tmpSize := Length(dat.Text);
3947 tmpSize := tmpSize - dat.Count;
3950 Thread.Size := tmpSize;
3957 GikoForm.ProgressBar.StepBy(1);
3960 GikoForm.ScreenCursor := crDefault;
3962 GikoForm.ProgressBar.Position := 0;
3963 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
3965 // *************************************************************************
3966 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
3967 // *************************************************************************
3968 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
3970 form : TInputAssistForm;
3972 form := TInputAssistForm.Create(GikoForm);
3980 // *************************************************************************
3981 //!
\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é
3982 // *************************************************************************
3983 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
3985 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
3986 GikoForm.ActiveContent.OpenFindDialog;
3990 // *************************************************************************
3991 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
3992 // *************************************************************************
3993 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
3996 if GikoForm.ClickNode = nil then Exit;
3999 GikoForm.ClickNode.Text + #13#10;
4002 // *************************************************************************
4003 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4004 // *************************************************************************
4005 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4009 if ( EditorFormExists ) then begin
4010 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4011 for i := Screen.CustomFormCount - 1 downto 0 do begin
4012 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4013 TEditorForm(Screen.CustomForms[i]).Close;
4018 // *************************************************************************
4019 //!
\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é
4020 // *************************************************************************
4021 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4023 if (Sender is TAction) then begin
4024 TAction(Sender).Enabled := EditorFormExists;
4027 // *************************************************************************
4028 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4029 // *************************************************************************
4030 function TGikoDM.EditorFormExists(): boolean;
4035 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4036 for i := Screen.CustomFormCount - 1 downto 0 do begin
4037 if (Screen.CustomForms[i] is TEditorForm) then begin
4044 // *************************************************************************
4045 //!
\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é
4046 // *************************************************************************
4047 procedure TGikoDM.ClearNameTextAllEditor();
4051 for i := 0 to Screen.CustomFormCount - 1 do begin
4052 if (Screen.CustomForms[i] is TEditorForm) then begin
4053 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4057 // *************************************************************************
4058 //!
\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é
4059 // *************************************************************************
4060 procedure TGikoDM.ClearMailAllEditor();
4064 for i := 0 to Screen.CustomFormCount - 1 do begin
4065 if TObject(Screen.CustomForms[i]) is TEditorForm then
4066 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4070 // *************************************************************************
4071 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4072 // *************************************************************************
4073 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4075 PrevMoveHistory.Enabled :=
4076 (MoveHisotryManager.HisotryIndex > 0)
4078 // *************************************************************************
4079 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4080 // *************************************************************************
4081 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4083 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4084 BackToHistory(MoveHisotryManager.getPrevItem
4085 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4086 .Objects[GikoForm.BrowserTab.TabIndex])));
4088 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4091 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4092 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4094 browser : TWebBrowser;
4097 if ( item <> nil ) then begin
4098 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4099 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4100 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4101 if (browser <> nil) then begin
4103 doc := Idispatch( olevariant(browser.ControlInterface).Document) as IHTMLDocument2;
4104 doc.Body.ScrollTop := item.ScrollTop;
4110 MoveURLWithHistory(item.ThreadItem.URL);
4114 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4115 procedure TGikoDM.MoveURLWithHistory(URL : String);
4120 GikoForm.MoveToURL(URL);
4121 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4122 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4123 if idx = -1 then begin
4124 GikoForm.AddressComboBox.Items.Insert(0, URL);
4125 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4126 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4128 GikoForm.AddressComboBox.Items.Delete(idx);
4129 GikoForm.AddressComboBox.Items.Insert(0, URL);
4132 // *************************************************************************
4133 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4134 // *************************************************************************
4135 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4137 NextMoveHistory.Enabled :=
4138 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4140 // *************************************************************************
4141 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4142 // *************************************************************************
4143 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4145 BackToHistory(MoveHisotryManager.getNextItem);
4147 // *************************************************************************
4148 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4149 // *************************************************************************
4150 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4152 browser : TWebBrowser;
4153 elem : IHTMLElement;
4155 if (GikoForm.GetActiveContent <> nil) then begin
4156 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4157 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4158 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4159 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4160 if (browser <> nil) then begin
4162 elem := IHTMLDocument2(browser.Document).activeElement;
4171 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4172 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4174 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4175 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4177 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4178 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4180 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4181 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4183 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4184 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4186 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4187 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4189 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4190 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4192 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4193 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4195 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4196 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4198 GikoForm.StoredTaskTray;
4199 StoredTaskTrayAction.Tag := -1;
4203 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4204 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4206 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4208 links : IHTMLElementCollection;
4211 links := GetActiveThreadLinks;
4212 if (links <> nil) then begin
4213 urls := TStringList.Create;
4215 GetImageLinkURLs(links, urls, 0);
4216 Clipboard.SetTextBuf(urls.GetText);
4224 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4225 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4227 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4229 links : IHTMLElementCollection;
4231 ThreadItem : TThreadItem;
4233 ThreadItem := GikoForm.GetActiveContent;
4234 links := GetActiveThreadLinks;
4235 if (ThreadItem <> nil) and (links <> nil) then begin
4236 urls := TStringList.Create;
4238 GetImageLinkURLs(links, urls,
4239 (ThreadItem.Count - ThreadItem.NewResCount + 1) );
4240 Clipboard.SetTextBuf(urls.GetText);
4247 \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
4248 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4250 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4252 browser : TWebBrowser;
4255 if (GikoForm.GetActiveContent <> nil) then begin
4256 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4257 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4258 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4259 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4260 if (browser <> nil) then begin
4262 Result := IHTMLDocument2(browser.Document).links;
4272 \brief
\83C
\83\81\81[
\83W
\82Ö
\82Ì
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4273 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4274 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4275 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4277 procedure TGikoDM.GetImageLinkURLs(links : IHTMLElementCollection;
4278 URLs : TStringList; const Start: Integer);
4281 item : IHTMLElement;
4284 if (links <> nil) then begin
4286 for i := 0 to links.length - 1 do begin
4287 item := links.item(i, 0) as IHTMLElement;
4288 if (item <> nil) then begin
4289 url := item.getAttribute('href', 0);
4290 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4291 if (Pos('menu:', url) > 0) then begin
4292 index := StrToInt64Def(
4293 Copy(url, 5, Length(url)), index + 1
4296 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4297 if (index >= Start) then begin
4298 ext := ExtractFileExt( AnsiLowerCase(url) );
4299 // jpg,jpeg,gif,png
\82ð
\83`
\83F
\83b
\83N
4300 if (ext = '.jpg') or (ext = '.jpeg') or
4301 (ext = '.gif') or (ext = '.png') then begin
4311 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4312 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4314 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4316 if ( GikoForm.AddressToolBar.Visible ) then begin
4317 GikoForm.AddressComboBox.SetFocus;
4321 \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é
4323 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4325 form : TNewBoardURLForm;
4328 if (EditorFormExists) then begin
4329 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4330 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4333 form := TNewBoardURLForm.Create(Self);
4341 procedure TGikoDM.NGWordEditFormActionExecute(Sender: TObject);
4343 form: TNGWordEditForm;
4345 form := TNGWordEditForm.Create(Self);