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);
440 procedure ClearResFilter;
441 procedure SetResRange(range: Integer);
442 procedure SetThreadAreaHorNormal;
443 procedure SetThreadAreaHorizontal(gls : TGikoListState);
444 procedure SetThreadAreaVerNormal;
445 procedure SetThreadAreaVertical(gls : TGikoListState);
446 procedure SetThreadReadProperty(read: Boolean);
447 procedure SelectThreadSaveToFile(dat: Boolean);
448 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
449 procedure RecalcThreadSize(limit : Integer);
450 procedure ClearSelectComboBox;
451 procedure ClearMailAllEditor();
452 procedure ClearNameTextAllEditor();
453 procedure MoveURLWithHistory(URL : String);
454 procedure BackToHistory(item: TMoveHistoryItem);
455 function GetActiveThreadLinks : IHTMLElementCollection;
456 procedure GetImageLinkURLs(links : IHTMLElementCollection;
457 URLs : TStringList; const Start: Integer);
460 procedure RepaintStatusBar;
461 function EditorFormExists(): boolean;
462 procedure GetTabURLs(AStringList: TStringList);
463 procedure OpenURLs(AStringList: TStringList);
465 { Published
\90é
\8c¾ }
466 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
467 procedure DependActiveCntentActionUpdate(Sender: TObject);
468 //! 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é
469 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
470 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
471 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
481 Windows, Math, Clipbrd,
482 Giko, GikoSystem, GikoUtil, BoardGroup,
483 FavoriteArrange, Favorite, MojuUtils,
484 Editor, ListSelect, Search, Option, Round,
485 KeySetting, Gesture, Kotehan, ToolBarSetting,
486 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
487 GikoBayesian, About, ShellAPI,
488 RoundName, RoundData, Menus, ListViewUtils,
489 ThreadControl, GikoMessage, InputAssist,
490 DefaultFileManager, Forms, NewBoardURL;
493 MSG_ERROR : string = '
\83G
\83\89\81[';
496 // *************************************************************************
497 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
498 // *************************************************************************
499 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
501 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
503 // *************************************************************************
504 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
505 // *************************************************************************
506 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
508 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
509 and (GikoForm.GetActiveContent.IsLogFile);
511 // *************************************************************************
512 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
513 // *************************************************************************
514 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
516 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
518 // *************************************************************************
519 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
520 // *************************************************************************
521 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
523 //
\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
524 GikoSys.FAbon.EditNGwords;
526 // *************************************************************************
527 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
528 // *************************************************************************
529 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
531 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
532 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
533 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½',
534 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
536 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
537 GikoForm.RepaintAllTabsBrowser();
540 // *************************************************************************
541 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
542 // *************************************************************************
543 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
545 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
546 if GikoSys.FAbon.GoBack =false then begin
547 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½',
548 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
550 //
\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
552 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
553 GikoForm.RepaintAllTabsBrowser();
556 // *************************************************************************
557 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
558 // *************************************************************************
559 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
561 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
562 if GikoSys.FAbon.GoForward =false then begin
563 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½',
564 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
566 //
\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
568 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
569 GikoForm.RepaintAllTabsBrowser();
572 // *************************************************************************
573 //! 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
574 // *************************************************************************
575 procedure TGikoDM.RepaintStatusBar;
579 //
\83X
\83e
\81[
\83^
\83X
\82É
\95\
\8e¦
\82³
\82ê
\82éNG
\83\8f\81[
\83h
\83t
\83@
\83C
\83\8b\96¼
\82ð
\8dX
\90V
580 s := GikoSys.FAbon.NGwordname;
581 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
582 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
583 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
584 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
585 GikoForm.StatusBarResize(nil);
587 // *************************************************************************
588 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
589 // *************************************************************************
590 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
592 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
594 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
596 // *************************************************************************
597 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
598 // *************************************************************************
599 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
601 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
603 // *************************************************************************
604 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
605 // *************************************************************************
606 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
608 Dlg: TFavoriteArrangeDialog;
610 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
616 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
617 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
619 // *************************************************************************
620 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
621 // *************************************************************************
622 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
626 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
628 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
629 while node <> nil do begin
630 if node.HasChildren then
631 node.Expanded := False;
632 node := node.GetNext;
637 // *************************************************************************
638 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
639 // *************************************************************************
640 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
645 if GikoForm.ClickNode = nil then
647 if GikoForm.ClickNode.IsFirstNode then
649 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
651 GikoForm.FavoriteTreeView.ReadOnly := False;
652 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
653 node := GikoForm.ClickNode.Parent;
654 while node <> nil do begin
655 node.Expanded := True;
658 GikoForm.ClickNode.EditText;
660 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 );
662 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
663 FavoriteDM.Modified := true;
666 // *************************************************************************
667 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
668 // *************************************************************************
669 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
671 NewFavFolder: TFavoriteFolder;
675 if GikoForm.ClickNode = nil then
679 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
680 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
681 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
684 NewFavFolder := TFavoriteFolder.Create;
685 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
686 Node.ImageIndex := 14;
687 Node.SelectedIndex := 14;
688 // FClickNode.Selected.Expanded := True;
689 GikoForm.FavoriteTreeView.Selected := Node;
690 GikoForm.ClickNode := Node;
691 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
692 FavoriteDM.Modified := true;
693 FavoriteTreeViewRenameAction.Execute;
698 // *************************************************************************
699 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
700 // *************************************************************************
701 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
703 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';
704 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
705 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
708 if GikoForm.ClickNode = nil then
710 if GikoForm.ClickNode.IsFirstNode then
712 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
713 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
714 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
717 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
722 GikoForm.ClickNode.Delete;
723 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
724 FavoriteDM.Modified := true;
729 // *************************************************************************
730 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
731 // *************************************************************************
732 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
735 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
737 // *************************************************************************
738 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
739 // *************************************************************************
740 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
742 FavThread: TFavoriteThreadItem;
743 FavBoard: TFavoriteBoardItem;
746 if (GikoForm.ClickNode = nil) then Exit;
748 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
750 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
751 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
752 if FavThread.Item <> nil then
753 GikoForm.DownloadContent(FavThread.Item, shiftDown);
754 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
755 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
756 GikoForm.DownloadList(FavBoard.Item, shiftDown);
760 // *************************************************************************
761 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
762 // *************************************************************************
763 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
766 if GikoForm.ClickNode = nil then Exit;
768 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
769 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
772 // *************************************************************************
773 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
774 // *************************************************************************
775 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
778 if GikoForm.ClickNode = nil then Exit;
780 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
782 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
785 GikoForm.ClickNode.Text + #13#10;
789 // *************************************************************************
790 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
791 // *************************************************************************
792 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
795 favItem : TFavoriteItem;
798 if GikoForm.ClickNode = nil then Exit;
800 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
801 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
802 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
803 favItem.URL + #13#10;
807 // *************************************************************************
808 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
809 // *************************************************************************
810 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
812 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';
813 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
815 ThreadItem: TThreadItem;
816 FavThread: TFavoriteThreadItem;
819 if GikoForm.ClickNode = nil then Exit;
820 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
822 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
823 ThreadItem := FavThread.Item;
826 if GikoSys.Setting.DeleteMsg then begin
827 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
828 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
832 GikoForm.DeleteHistory(ThreadItem);
833 GikoForm.DeleteTab(ThreadItem);
834 ThreadItem.DeleteLogFile;
836 GikoForm.ListView.Refresh;
841 // *************************************************************************
842 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
843 // *************************************************************************
844 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
847 threadItem : TThreadItem;
850 if GikoForm.ClickNode = nil then Exit;
852 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
854 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
855 if threadItem = nil then
857 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
861 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
862 procedure TGikoDM.ClearResFilter;
864 FilterList : TStringList;
866 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
867 FilterList := TStringList.Create;
869 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
870 GikoSys.FSelectResFilter.Reverse := False;
874 GikoForm.SelectResWord := '';
876 // *************************************************************************
877 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
878 // *************************************************************************
879 procedure TGikoDM.SetResRange(range: Integer);
881 if GikoSys.ResRange <> range then begin
882 GikoSys.ResRange := range;
883 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
885 GikoForm.RepaintAllTabsBrowser();
888 // *************************************************************************
889 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
890 // *************************************************************************
891 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
893 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
894 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
896 GikoForm.ResRangeMenuSelect := 100;
897 OnlyAHundredResAction.Checked := True;
898 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
901 // *************************************************************************
902 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
903 // *************************************************************************
904 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
906 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
907 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
909 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
910 OnlyKokoResAction.Checked := True;
912 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
913 SetResRange(Ord( grrKoko ));
915 // *************************************************************************
916 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
917 // *************************************************************************
918 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
920 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
921 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
923 GikoForm.ResRangeMenuSelect := Ord( grrNew );
924 OnlyNewResAction.Checked := True;
926 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
927 SetResRange(Ord( grrNew ));
929 // *************************************************************************
930 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
931 // *************************************************************************
932 procedure TGikoDM.SetThreadAreaHorNormal;
934 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
935 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
936 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
937 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
938 GikoSys.Setting.ListWidthState := glsNormal;
940 // *************************************************************************
941 //!
\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@
942 // *************************************************************************
943 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
945 if GikoSys.Setting.ListWidthState = glsNormal then
946 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
948 if (gls = glsMax) then begin
949 GikoForm.ViewPanel.Width := 1;
950 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
951 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
952 GikoSys.Setting.ListWidthState := glsMax;
953 end else if (gls = glsMin) then begin
954 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
955 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
956 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
957 GikoSys.Setting.ListWidthState := glsMin;
960 // *************************************************************************
961 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
962 // *************************************************************************
963 procedure TGikoDM.SetThreadAreaVerNormal;
965 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
966 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
967 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
968 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
969 GikoSys.Setting.ListHeightState := glsNormal;
971 // *************************************************************************
972 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
973 // *************************************************************************
974 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
976 if GikoSys.Setting.ListHeightState = glsNormal then
977 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
978 if (gls = glsMin) then begin
979 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
980 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
981 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
982 GikoSys.Setting.ListHeightState := glsMin;
983 end else if (gls = glsMax) then begin
984 GikoForm.ViewPanel.Height := 1;
985 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
986 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
987 GikoSys.Setting.ListHeightState := glsMax;
990 // *************************************************************************
991 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
992 // *************************************************************************
993 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
995 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
996 case GikoSys.Setting.ListWidthState of
998 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
999 SetThreadAreaHorNormal;
1001 glsMin, glsNormal: begin
1002 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1003 SetThreadAreaHorizontal(glsMax);
1007 case GikoSys.Setting.ListHeightState of
1009 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1010 SetThreadAreaVerNormal;
1012 glsMin, glsNormal: begin
1013 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1014 SetThreadAreaVertical(glsMax);
1019 // *************************************************************************
1020 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1021 // *************************************************************************
1022 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1024 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1025 case GikoSys.Setting.ListWidthState of
1026 glsMax, glsNormal: begin
1027 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1028 SetThreadAreaHorizontal(glsMin);
1031 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1032 SetThreadAreaHorNormal;
1036 case GikoSys.Setting.ListHeightState of
1037 glsMax, glsNormal: begin
1038 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1039 SetThreadAreaVertical(glsMin);
1042 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1043 SetThreadAreaVerNormal;
1048 // *************************************************************************
1049 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1050 // *************************************************************************
1051 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1053 GikoForm.BrowserMovement('top');
1055 // *************************************************************************
1056 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1057 // *************************************************************************
1058 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1060 GikoForm.BrowserMovement('bottom');
1062 // *************************************************************************
1063 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1064 // *************************************************************************
1065 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1067 GikoForm.BrowserMovement('new');
1069 // *************************************************************************
1070 //!
\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é
1071 // *************************************************************************
1072 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1074 GikoForm.BrowserMovement('koko');
1076 // *************************************************************************
1077 //!
\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
1078 // *************************************************************************
1079 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1081 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1082 and (GikoForm.GetActiveContent.IsLogFile)
1083 and (GikoForm.GetActiveContent.Kokomade <> -1);
1085 // *************************************************************************
1086 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1087 // *************************************************************************
1088 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1090 Editor: TEditorForm;
1093 Item := GikoForm.GetActiveContent;
1094 if Item = nil then Exit;
1095 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1096 Editor.SetThreadItem(Item);
1098 Editor.BodyEdit.SetFocus;
1100 // *************************************************************************
1101 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1102 // *************************************************************************
1103 procedure TGikoDM.IEActionExecute(Sender: TObject);
1105 ShowThreadAction.Execute;
1107 // *************************************************************************
1108 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1109 // *************************************************************************
1110 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1112 ThreadItem: TThreadItem;
1114 ThreadItem := GikoForm.GetActiveContent;
1115 if ThreadItem = nil then Exit;
1116 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1118 // *************************************************************************
1119 //!
\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é
1120 // *************************************************************************
1121 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1123 ThreadItem: TThreadItem;
1125 ThreadItem := GikoForm.GetActiveContent;
1126 if ThreadItem = nil then Exit;
1127 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1129 // *************************************************************************
1130 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1131 // *************************************************************************
1132 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1137 if TObject(GikoForm.GetActiveContent) is TBoard then
1138 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1139 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1140 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1142 Clipboard.AsText := s;
1144 // *************************************************************************
1145 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1146 // *************************************************************************
1147 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1152 if TObject(GikoForm.GetActiveContent) is TBoard then
1153 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1154 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1155 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1157 Clipboard.AsText := s;
1159 // *************************************************************************
1160 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1161 // *************************************************************************
1162 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1167 if TObject(GikoForm.GetActiveContent) is TBoard then
1168 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1169 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1170 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1172 Clipboard.AsText := s;
1174 // *************************************************************************
1175 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1176 // *************************************************************************
1177 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1179 ThreadItem: TThreadItem;
1182 ThreadItem := GikoForm.GetActiveContent;
1183 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1184 if ThreadItem <> nil then
1185 GikoForm.DownloadContent(ThreadItem, shiftDown);
1187 // *************************************************************************
1188 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1189 // *************************************************************************
1190 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1194 idx := GikoForm.BrowserTab.TabIndex;
1195 if idx <> -1 then begin
1196 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1197 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1201 // *************************************************************************
1202 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1203 // *************************************************************************
1204 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1206 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1208 // *************************************************************************
1209 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1210 // *************************************************************************
1211 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1216 idx := GikoForm.BrowserTab.TabIndex;
1217 if idx = -1 then Exit;
1218 GikoForm.BrowserTab.Tabs.BeginUpdate;
1219 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1220 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1221 GikoForm.BrowserTab.Tabs.Delete(i);
1223 if idx > 0 then begin
1224 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1225 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1226 GikoForm.BrowserTab.Tabs.Delete(i);
1229 GikoForm.BrowserTab.Tabs.EndUpdate;
1231 // *************************************************************************
1232 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1233 // *************************************************************************
1234 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1236 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1238 // *************************************************************************
1239 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1240 // *************************************************************************
1241 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1245 if GikoSys.Setting.ShowDialogForAllTabClose then
1246 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
1249 GikoForm.ActiveContent := nil;
1250 GikoForm.BrowserNullTab.Thread := nil;
1251 GikoForm.BrowserTab.OnChange := nil;
1252 GikoForm.BrowserTab.Tabs.BeginUpdate;
1253 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1254 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1256 GikoForm.BrowserTab.Tabs.Clear;
1257 GikoForm.BrowserTab.Tabs.EndUpdate;
1258 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1259 GikoForm.SetContent(GikoForm.BrowserNullTab);
1260 GikoForm.Caption := CAPTION_NAME ;
1262 // *************************************************************************
1263 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1264 // *************************************************************************
1265 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1267 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';
1268 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1271 ThreadItem: TThreadItem;
1273 idx := GikoForm.BrowserTab.TabIndex;
1274 if idx <> -1 then begin
1275 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1276 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1277 if GikoSys.Setting.DeleteMsg then
1278 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1279 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1281 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1282 GikoForm.DeleteHistory(ThreadItem);
1283 ThreadItem.DeleteLogFile;
1284 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1285 GikoForm.ListView.Refresh;
1289 // *************************************************************************
1290 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1291 // *************************************************************************
1292 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1294 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1295 GikoForm.BrowserTab.TabIndex := 0;
1296 GikoForm.BrowserTab.OnChange(nil);
1299 // *************************************************************************
1300 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1301 // *************************************************************************
1302 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1304 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1305 LeftmostTabSelectActionUpdate(Sender);
1307 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1311 // *************************************************************************
1312 //!
\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
1313 // *************************************************************************
1314 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1316 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1317 and (GikoForm.BrowserTab.TabIndex <> 0);
1319 // *************************************************************************
1320 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1321 // *************************************************************************
1322 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1324 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1325 if GikoForm.BrowserTab.TabIndex = -1 then begin
1326 GikoForm.BrowserTab.TabIndex := 0;
1327 GikoForm.BrowserTab.OnChange(nil);
1328 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1329 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1330 GikoForm.BrowserTab.OnChange(nil);
1332 if (GikoSys.Setting.LoopBrowserTabs) and
1333 (GikoForm.BrowserTab.TabIndex = 0) then begin
1334 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1335 GikoForm.BrowserTab.OnChange(nil);
1340 // *************************************************************************
1341 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1342 // *************************************************************************
1343 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1345 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1346 if GikoForm.BrowserTab.TabIndex = -1 then begin
1347 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1348 GikoForm.BrowserTab.OnChange(nil);
1349 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1350 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1351 GikoForm.BrowserTab.OnChange(nil);
1353 if (GikoSys.Setting.LoopBrowserTabs) and
1354 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1355 GikoForm.BrowserTab.TabIndex := 0;
1356 GikoForm.BrowserTab.OnChange(nil);
1361 // *************************************************************************
1362 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1363 // *************************************************************************
1364 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1366 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1367 RightmostTabSelectActionUpdate(Sender);
1369 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1373 // *************************************************************************
1374 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1375 // *************************************************************************
1376 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1378 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1379 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1380 GikoForm.BrowserTab.OnChange(nil);
1383 // *************************************************************************
1384 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1385 // *************************************************************************
1386 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1388 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1389 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1392 // *************************************************************************
1393 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1394 // *************************************************************************
1395 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1397 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1398 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1400 // *************************************************************************
1401 //!
\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
1402 // *************************************************************************
1403 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1405 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1406 and (GikoForm.ListView.SelCount > 0);
1408 // *************************************************************************
1409 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1410 // *************************************************************************
1411 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1413 Dlg: TListSelectDialog;
1414 FilterList : TStringList;
1417 Dlg := TListSelectDialog.Create(GikoForm);
1419 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1420 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1422 if Dlg.ModalResult = mrOK then begin
1423 SelectResAction.Checked := True;
1424 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1425 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1426 ResRangeAction.Execute;
1428 GikoSys.ResRange := Ord( grrSelect );
1430 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1431 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1433 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1434 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1436 GikoSys.Setting.SelectTextList.Delete(idx);
1437 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1438 while Dlg.SelectComboBox.Items.Count > 100 do begin
1439 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1443 if GikoForm.SelectComboBoxPanel.Visible then
1444 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1448 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1449 FilterList := TStringList.Create;
1451 GikoSys.FSelectResFilter.Reverse := True;
1452 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1453 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1455 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1459 GikoForm.RepaintAllTabsBrowser();
1462 //
\83L
\83\83\83\93\83Z
\83\8b
1463 if GikoSys.ResRange <> Ord( grrSelect ) then
1464 ResRangeAction.Execute;
1471 // *************************************************************************
1472 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1473 // *************************************************************************
1474 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1476 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1477 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1479 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1480 AllResAction.Checked := True;
1482 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1483 SetResRange(Ord( grrAll ));
1485 // *************************************************************************
1486 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1487 // *************************************************************************
1488 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1490 case GikoForm.ResRangeMenuSelect of
1491 Ord( grrAll ): AllResAction.Execute;
1492 Ord( grrKoko ): OnlyKokoResAction.Execute;
1493 Ord( grrNew ): OnlyNewResAction.Execute;
1494 100: OnlyAHundredResAction.Execute;
1498 // *************************************************************************
1499 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1500 // *************************************************************************
1501 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1503 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1505 // *************************************************************************
1506 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1507 // *************************************************************************
1508 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1514 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
1515 str := ZenToHan(str);
1516 res := StrToIntDef(str, -1);
1517 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1518 GikoForm.ActiveContent.Move(IntToStr(res));
1519 SetFocusForBrowserAction.Execute;
1520 end else if res > GikoForm.GetActiveContent.Count then begin
1521 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1522 SetFocusForBrowserAction.Execute;
1526 // *************************************************************************
1527 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1528 // *************************************************************************
1529 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1534 idx := GikoForm.BrowserTab.TabIndex;
1535 if idx = -1 then Exit;
1536 GikoForm.BrowserTab.Tabs.BeginUpdate;
1537 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1538 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1539 GikoForm.BrowserTab.Tabs.Delete(i);
1541 GikoForm.BrowserTab.Tabs.EndUpdate;
1543 // *************************************************************************
1544 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1545 // *************************************************************************
1546 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1548 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1550 // *************************************************************************
1551 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1552 // *************************************************************************
1553 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1558 idx := GikoForm.BrowserTab.TabIndex;
1559 if idx = -1 then Exit;
1560 GikoForm.BrowserTab.Tabs.BeginUpdate;
1561 if idx > 0 then begin
1562 for i := idx - 1 downto 0 do begin
1563 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1564 GikoForm.BrowserTab.Tabs.Delete(i);
1567 GikoForm.BrowserTab.Tabs.EndUpdate;
1569 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1570 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1572 // 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
1573 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1574 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1575 TDefaultFileManager.CopyDefaultFiles(
1576 GikoSys.GetAppDir + 'defaultFiles.ini');
1578 // *************************************************************************
1579 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1580 // *************************************************************************
1581 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1586 if GikoForm.SearchDialog = nil then begin
1587 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1588 chk := GikoForm.GetActiveList
1592 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1593 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1597 GikoForm.SearchDialog.Show;
1601 // *************************************************************************
1602 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1603 // *************************************************************************
1604 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1608 Dlg := TOptionDialog.Create(GikoForm);
1615 // *************************************************************************
1616 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1617 // *************************************************************************
1618 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1622 Dlg := TRoundDialog.Create(GikoForm);
1629 // *************************************************************************
1630 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1631 // *************************************************************************
1632 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1634 Dlg: TKeySettingForm;
1636 Dlg := TKeySettingForm.Create(GikoForm);
1638 if Dlg.ShowModal = mrOk then begin
1639 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1640 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1641 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1646 MouseGesture.UnHook;
1647 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1648 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1649 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1650 if GikoSys.Setting.GestureEnabled then begin
1651 GikoSys.Setting.Gestures.ClearGesture;
1652 GikoSys.Setting.Gestures.LoadGesture(
1653 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1654 MouseGesture.SetHook( GikoForm.Handle );
1658 // *************************************************************************
1659 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1660 // *************************************************************************
1661 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1663 Dlg: TKotehanDialog;
1665 Dlg := TKotehanDialog.Create(GikoForm);
1672 // *************************************************************************
1673 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1674 // *************************************************************************
1675 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1677 Dlg: TToolBarSettingDialog;
1680 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1682 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1683 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1684 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1685 case GikoForm.ToolBarSettingSender of
1686 tssMain: Dlg.ToolBarIndex := 0;
1687 tssList: Dlg.ToolBarIndex := 1;
1688 tssBrowser: Dlg.ToolBarIndex := 2;
1690 if Dlg.ShowModal = mrOK then begin
1691 GikoForm.SetToolBarPopup;
1693 //
\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é
1694 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1695 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1696 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1697 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1698 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1700 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1701 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1702 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1703 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1704 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1706 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1707 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1708 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1709 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1710 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1713 SaveToolBarSetting(GikoForm.StdToolBar);
1714 SaveToolBarSetting(GikoForm.ListToolBar);
1715 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1716 GikoForm.SetSelectComboBox;
1717 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1718 SaveToolBarSetting(GikoForm.BrowserToolBar);
1722 GikoForm.ToolBarSettingSender := tssNone;
1725 // *************************************************************************
1726 //!
\83~
\83\85\81[
\83g
1727 // *************************************************************************
1728 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1730 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1732 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1733 // *************************************************************************
1734 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1735 // *************************************************************************
1736 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1739 TmpTreeNode: TTreeNode;
1741 TmpTreeNode := GikoForm.ClickNode;
1742 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1745 if TObject(TmpTreeNode.Data) is TBoard then
1746 Board := TBoard(TmpTreeNode.Data)
1747 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1748 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1750 if Board <> nil then
1751 GikoForm.DownloadList(Board);
1753 // *************************************************************************
1754 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1755 // *************************************************************************
1756 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1758 ThreadItem: TThreadItem;
1759 TmpTreeNode: TTreeNode;
1761 TmpTreeNode := GikoForm.ClickNode;
1762 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1765 if TObject(TmpTreeNode.Data) is TThreadItem then
1766 ThreadItem := TThreadItem(TmpTreeNode.Data)
1767 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1768 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1770 if ThreadItem <> nil then
1771 GikoForm.DownloadContent(ThreadItem);
1773 // *************************************************************************
1774 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1775 // *************************************************************************
1776 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1778 TmpTreeNode: TTreeNode;
1781 TmpTreeNode := GikoForm.ClickNode;
1782 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1783 if TObject(TmpTreeNode.Data) is TBoard then begin
1784 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1785 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1786 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1787 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1788 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1789 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1790 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1792 Clipboard.AsText := s;
1794 // *************************************************************************
1795 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1796 // *************************************************************************
1797 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1799 TmpTreeNode: TTreeNode;
1802 TmpTreeNode := GikoForm.ClickNode;
1803 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1804 if TObject(TmpTreeNode.Data) is TBoard then begin
1805 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1806 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1807 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1808 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1809 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1810 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1811 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1813 Clipboard.AsText := s;
1815 // *************************************************************************
1816 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1817 // *************************************************************************
1818 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1820 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1822 // *************************************************************************
1823 //!
\94Â
\96¼
\8c\9f\8dõ
1824 // *************************************************************************
1825 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1829 CurItem : TTreeNode;
1832 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1835 if GikoForm.TreeView.Selected = nil then
1836 CurItem := GikoForm.TreeView.Items.GetFirstNode
1838 CurItem := GikoForm.TreeView.Selected.GetNext;
1839 if CurItem = nil then
1840 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1842 while CurItem <> nil do begin
1843 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1846 CurItem := CurItem.GetNext;
1849 if CurItem = nil then begin
1850 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1851 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1852 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1856 GikoForm.TreeView.Select(CurItem);
1857 GikoForm.TreeView.SetFocus;
1859 GikoForm.TreeView.Select(CurItem);
1860 GikoForm.TreeView.SetFocus;
1861 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1862 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1875 // *************************************************************************
1876 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1877 // *************************************************************************
1878 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1882 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1883 s := GikoForm.ClickNode.Text;
1884 Clipboard.AsText := s;
1886 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1887 // *************************************************************************
1888 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1889 // *************************************************************************
1890 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1895 if GikoSys.Dolib.Connected then begin
1896 //
\83\8d\83O
\83A
\83E
\83g
1897 GikoSys.Dolib.Disconnect;
1898 LoginAction.Checked := False;
1899 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1900 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1902 TmpCursor := GikoForm.ScreenCursor;
1903 GikoForm.ScreenCursor := crHourGlass;
1905 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1906 if not GikoSys.Setting.ForcedLogin then begin
1907 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1908 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1909 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1910 if GikoSys.Setting.ReadProxy then begin
1911 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1912 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1914 GikoSys.Dolib.ProxyAddress := '';
1915 GikoSys.Dolib.ProxyPort := 0;
1917 if GikoSys.Dolib.Connect then begin
1918 LoginAction.Checked := True;
1919 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1920 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1921 //LoginToolButton.Style := tbsCheck;
1923 // 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);
1924 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1925 GikoForm.PlaySound('Error');
1926 LoginAction.Checked := False;
1927 //LoginToolButton.Down := False;
1928 ///LoginToolButton.Style := tbsButton;
1931 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
1932 + '
\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
1933 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1934 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1935 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1936 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1937 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1938 if GikoSys.Setting.ReadProxy then begin
1939 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1940 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1942 GikoSys.Dolib.ProxyAddress := '';
1943 GikoSys.Dolib.ProxyPort := 0;
1945 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1946 GikoSys.Dolib.ForcedConnect;
1947 if GikoSys.Dolib.Connect then begin
1948 LoginAction.Checked := True;
1949 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1950 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1951 //LoginToolButton.Style := tbsCheck;
1953 // 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);
1954 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1955 GikoForm.PlaySound('Error');
1956 LoginAction.Checked := False;
1957 //LoginToolButton.Down := False;
1958 //LoginToolButton.Style := tbsButton;
1961 LoginAction.Checked := False;
1962 //LoginToolButton.Down := False;
1963 //LoginToolButton.Style := tbsButton;
1967 GikoForm.ScreenCursor := TmpCursor;
1971 // *************************************************************************
1972 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1973 // *************************************************************************
1974 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
1976 Dlg: TNewBoardDialog;
1979 if (EditorFormExists) then begin
1980 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
1981 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
1984 Dlg := TNewBoardDialog.Create(GikoForm);
1991 // *************************************************************************
1992 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1993 // *************************************************************************
1994 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
1996 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';
1997 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';
1998 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2000 ThreadItem: TThreadItem;
2001 TmpListItem: TListItem;
2005 List := TList.Create;
2007 TmpListItem := GikoForm.ListView.Selected;
2008 while TmpListItem <> nil do begin
2009 if TObject(TmpListItem.Data) is TThreadItem then begin
2010 ThreadItem := TThreadItem(TmpListItem.Data);
2011 if ThreadItem.IsLogFile then
2012 List.Add(ThreadItem);
2014 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2017 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2018 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2019 if List.Count = 1 then begin
2020 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
2023 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
2029 for i := 0 to List.Count - 1 do begin
2030 ThreadItem := TThreadItem(List[i]);
2031 GikoForm.DeleteHistory(ThreadItem);
2032 GikoForm.DeleteTab(ThreadItem);
2033 ThreadItem.DeleteLogFile;
2035 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2037 GikoForm.ListView.Refresh;
2042 // *************************************************************************
2043 //! 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Ê
2044 // *************************************************************************
2045 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2047 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2048 and (GikoForm.ListView.SelCount > 0);
2050 // *************************************************************************
2051 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2052 // *************************************************************************
2053 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2055 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';
2056 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2058 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2059 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2061 GikoSys.Setting.SelectTextList.Clear;
2062 GikoForm.SelectComboBox.Items.Clear;
2063 GikoForm.SelectComboBox.Text := '';
2064 GikoForm.SetListViewType( gvtAll );
2066 // *************************************************************************
2067 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2068 // *************************************************************************
2069 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2071 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';
2072 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2074 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2075 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2077 GikoSys.Setting.NameList.Clear;
2078 ClearNameTextAllEditor
2080 // *************************************************************************
2081 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2082 // *************************************************************************
2083 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2085 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';
2086 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2088 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2089 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2091 GikoSys.Setting.MailList.Clear;
2094 // *************************************************************************
2095 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2096 // *************************************************************************
2097 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2101 // *************************************************************************
2102 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2103 // *************************************************************************
2104 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2106 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2108 // *************************************************************************
2109 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2110 // *************************************************************************
2111 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2113 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2114 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2116 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2119 // *************************************************************************
2120 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2121 // *************************************************************************
2122 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2129 List := TList.Create;
2131 GikoForm.ScreenCursor := crHourGlass;
2132 GikoForm.SelectListItem(List);
2133 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2134 (GikoSys.Setting.ListHeightState = glsMax)) or
2135 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2136 (GikoSys.Setting.ListWidthState = glsMax)) then
2137 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2138 else if(List.Count = 0) then
2139 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2142 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2143 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2145 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2146 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2148 for i := 0 to List.Count - 1 do begin
2149 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2151 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2153 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2155 if SaveDialog.Execute then begin
2157 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2158 PChar(SaveDialog.FileName), true);
2160 html := TStringList.Create;
2161 title := TThreadItem(List[i]).Title;
2163 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2164 html.SaveToFile(SaveDialog.FileName);
2165 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2175 GikoForm.ScreenCursor := crDefault;
2179 // *************************************************************************
2180 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2181 // *************************************************************************
2182 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2184 SelectThreadSaveToFile(false);
2186 // *************************************************************************
2187 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2188 // *************************************************************************
2189 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2191 SelectThreadSaveToFile(true);
2193 // *************************************************************************
2194 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2195 // *************************************************************************
2196 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2198 Filename = 'tab.sav';
2199 bFilename = '~tab.sav';
2201 SaveStringList: TStringList;
2203 SaveStringList := TStringList.Create;
2205 GetTabURLs(SaveStringList);
2207 if FileExists( GikoSys.GetAppDir + Filename) then begin
2208 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2209 PChar(GikoSys.GetAppDir + bFilename), False);
2213 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2215 SaveStringList.Free;
2218 // *************************************************************************
2219 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2220 // *************************************************************************
2221 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2223 rec : TBrowserRecord;
2226 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2228 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2229 if( rec <> nil) and (rec.Thread <> nil) then
2230 AStringList.Add( rec.Thread.URL );
2235 // *************************************************************************
2236 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2237 // *************************************************************************
2238 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2240 GikoTab : TGikoTabAppend;
2244 if (AStringList <> nil) then begin
2245 GikoTab := GikoSys.Setting.BrowserTabAppend;
2247 bound := AStringList.Count - 1;
2248 if bound > -1 then begin
2249 GikoSys.Setting.BrowserTabAppend := gtpLast;
2250 for i := 0 to bound do begin
2251 item := BBSsFindThreadFromURL( AStringList[ i ] );
2253 GikoForm.InsertBrowserTab( item, false );
2255 //
\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Ñ
2256 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
2257 GikoForm.BrowserTab.OnChange(nil);
2261 GikoSys.Setting.BrowserTabAppend := GikoTab;
2265 // *************************************************************************
2266 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2267 // *************************************************************************
2268 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2270 TABFILE = 'tab.sav';
2275 URLs := TStringList.Create();
2277 fileName := ExtractFilePath(Application.ExeName) + TABFILE;
2278 if FileExists(fileName) then begin
2280 URLs.LoadFromFile(fileName);
2281 if (URLs.Count = 0) then begin
2282 //
\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
2283 SysUtils.DeleteFile(fileName);
2288 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2295 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2296 (TabsOpenAction.Tag <> 1) then begin
2297 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2300 // *************************************************************************
2301 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2302 // *************************************************************************
2303 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2305 GikoSys.Setting.BeLogin := not GikoSys.Setting.BeLogin;
2307 // *************************************************************************
2308 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
2309 // *************************************************************************
2310 procedure TGikoDM.BeLogInOutActionUpdate(Sender: TObject);
2312 if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
2313 if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
2314 else BeLogInOutAction.Checked := false;
2315 BeLogInOutAction.Enabled := true
2317 BeLogInOutAction.Enabled := false;
2319 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2320 // *************************************************************************
2321 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2322 // *************************************************************************
2323 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2326 ThreadItem: TThreadItem;
2328 No := GikoForm.KokoPopupMenu.Tag;
2329 if No = 0 then Exit;
2330 ThreadItem := GikoForm.GetActiveContent;
2331 if ThreadItem = nil then Exit;
2332 ThreadItem.Kokomade := No;
2333 GikoForm.ActiveContent.Thread.ScrollTop :=
2334 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2335 GikoForm.ActiveContent.Repaint := true;
2336 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2337 //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é
2338 //Application.ProcessMessages;
2340 // *************************************************************************
2341 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2342 // *************************************************************************
2343 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2345 ThreadItem: TThreadItem;
2347 ThreadItem := GikoForm.GetActiveContent;
2348 if ThreadItem = nil then Exit;
2349 ThreadItem.Kokomade := -1;
2350 GikoForm.ActiveContent.Thread.ScrollTop :=
2351 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2352 GikoForm.ActiveContent.Repaint := true;
2353 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2354 //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é
2355 //Application.ProcessMessages;
2357 // *************************************************************************
2358 //!
\83R
\83R
\82É
\83\8c\83X
2359 // *************************************************************************
2360 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2362 Editor: TEditorForm;
2366 Number := GikoForm.KokoPopupMenu.Tag;
2367 if Number = 0 then Exit;
2368 Item := GikoForm.GetActiveContent;
2369 if Item = nil then Exit;
2371 Editor := TEditorForm.Create(GikoForm);
2372 Editor.SetThreadItem(Item);
2373 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2375 Editor.BodyEdit.SetFocus;
2377 // *************************************************************************
2378 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2379 // *************************************************************************
2380 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2382 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2384 // *************************************************************************
2385 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2386 // *************************************************************************
2387 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2391 ThreadItem : TThreadItem;
2396 No := GikoForm.KokoPopupMenu.Tag;
2397 if No = 0 then Exit;
2398 ThreadItem := GikoForm.GetActiveContent;
2399 if ThreadItem = nil then Exit;
2400 count := GikoSys.GetSameIDResCount(No, GikoForm.ActiveContent.Thread);
2402 if count > LIMIT then begin
2403 if ( GikoUtil.MsgBox(GikoForm.Handle,
2404 IntToStr(LIMIT) + '
\8cÂ
\88È
\8fã
\82 \82è
\82Ü
\82·
\82ª
\81A
\82·
\82×
\82Ä
\95\
\8e¦
\82µ
\82Ü
\82·
\82©
\81H',
2405 'ID
\83|
\83b
\83v
\83A
\83b
\83v
\8cx
\8d\90',
2406 MB_YESNO or MB_ICONQUESTION) = ID_YES ) then begin
2410 body := GikoSys.GetSameIDResAnchor(No, ThreadItem, limited);
2411 GikoForm.ActiveContent.IDAnchorPopup(body);
2413 // *************************************************************************
2414 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2415 // *************************************************************************
2416 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2418 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2420 // *************************************************************************
2421 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2422 // *************************************************************************
2423 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2425 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2427 // *************************************************************************
2428 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2429 // *************************************************************************
2430 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2432 IndividualForm :TIndividualAbonForm;
2433 ThreadItem : TThreadItem;
2435 ReadList : TStringList;
2436 wordCount : TWordCount;
2438 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2440 ThreadItem := GikoForm.GetActiveContent;
2441 ThreadItem.ScrollTop :=
2442 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2443 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2444 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2445 ReadList := TStringList.Create;
2446 wordCount := TWordCount.Create;
2448 {$IFDEF SPAM_FILTER_ENABLED}
2449 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2450 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2451 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2452 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2453 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2455 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2456 GikoForm.ActiveContent.Repaint := true;
2457 GikoForm.InsertBrowserTab( ThreadItem, True );
2464 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2465 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2469 IndividualForm.Release;
2472 // *************************************************************************
2473 //!
\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
2474 // *************************************************************************
2475 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2477 IndividualForm :TIndividualAbonForm;
2478 ThreadItem : TThreadItem;
2480 ReadList : TStringList;
2481 wordCount : TWordCount;
2482 {$IFDEF SPAM_FILTER_ENABLED}
2486 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2488 ThreadItem := GikoForm.GetActiveContent;
2489 ThreadItem.ScrollTop :=
2490 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2491 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2492 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2493 if (IndividualForm.ShowModal = mrOK) then begin
2494 ReadList := TStringList.Create;
2495 wordCount := TWordCount.Create;
2497 {$IFDEF SPAM_FILTER_ENABLED}
2498 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2499 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2500 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2501 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2502 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2503 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2506 if IndividualForm.FRepaint then begin
2507 GikoForm.ActiveContent.Repaint := true;
2508 GikoForm.InsertBrowserTab( ThreadItem, True );
2516 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2517 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2521 IndividualForm.Release;
2524 // *************************************************************************
2525 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2526 // *************************************************************************
2527 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2529 GikoForm.IndividualAbonID(1);
2531 // *************************************************************************
2532 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2533 // *************************************************************************
2534 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2536 GikoForm.IndividualAbonID(0);
2538 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2539 // *************************************************************************
2540 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2541 // *************************************************************************
2542 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2544 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2546 // *************************************************************************
2547 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2548 // *************************************************************************
2549 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2551 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2553 // *************************************************************************
2554 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2555 // *************************************************************************
2556 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2558 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2560 // *************************************************************************
2561 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2562 // *************************************************************************
2563 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2565 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2567 // *************************************************************************
2568 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2569 // *************************************************************************
2570 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2574 Dlg := TAboutDialog.Create(GikoForm);
2581 // *************************************************************************
2582 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2583 // *************************************************************************
2584 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2588 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2589 if not FileExists(FileName) then begin
2592 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2593 '
\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 +
2594 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2599 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2601 // *************************************************************************
2602 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2603 // *************************************************************************
2604 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2606 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2608 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2609 // *************************************************************************
2610 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2611 // *************************************************************************
2612 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2614 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2615 GikoForm.ListView.Refresh;
2617 // *************************************************************************
2618 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2619 // *************************************************************************
2620 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2622 if GikoForm.GetActiveList is TBoard then begin
2623 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2624 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2625 end else if GikoForm.GetActiveList is TCategory then begin
2626 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2629 // *************************************************************************
2630 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2631 // *************************************************************************
2632 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2634 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS);
2636 // *************************************************************************
2637 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2638 // *************************************************************************
2639 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2641 case GikoForm.ListView.ViewStyle of
2642 vsIcon: SmallIconAction.Execute;
2643 vsSmallIcon: ListIconAction.Execute;
2644 vsList: DetailIconAction.Execute;
2645 vsReport: LargeIconAction.Execute;
2648 // *************************************************************************
2649 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2650 // *************************************************************************
2651 procedure TGikoDM.ClearSelectComboBox;
2653 if GikoForm.SelectComboBoxPanel.Visible then begin
2654 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2655 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2656 GikoForm.ListView.SetFocus;
2659 // *************************************************************************
2660 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2661 // *************************************************************************
2662 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2665 if GikoForm.ViewType <> gvtAll then
2666 GikoForm.SetListViewType(gvtAll);
2667 GikoSys.Setting.ThreadRange := gtrAll;
2668 AllItemAction.Checked := True;
2669 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2670 GikoForm.ModifySelectList;
2671 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2672 ClearSelectComboBox;
2676 // *************************************************************************
2677 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2678 // *************************************************************************
2679 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2682 if GikoForm.ViewType <> gvtLog then
2683 GikoForm.SetListViewType(gvtLog);
2684 GikoSys.Setting.ThreadRange := gtrLog;
2685 LogItemAction.Checked := True;
2686 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2687 GikoForm.ModifySelectList;
2688 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2689 ClearSelectComboBox;
2693 // *************************************************************************
2694 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2695 // *************************************************************************
2696 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2700 if GikoForm.ViewType <> gvtNew then
2701 GikoForm.SetListViewType(gvtNew);
2702 GikoSys.Setting.ThreadRange := gtrNew;
2703 NewItemAction.Checked := True;
2704 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2705 GikoForm.ModifySelectList;
2706 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2707 ClearSelectComboBox;
2711 // *************************************************************************
2712 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2713 // *************************************************************************
2714 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2717 if GikoForm.ViewType <> gvtArch then
2718 GikoForm.SetListViewType(gvtArch);
2719 GikoSys.Setting.ThreadRange := gtrArch;
2720 ArchiveItemAction.Checked := True;
2721 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2722 GikoForm.ModifySelectList;
2723 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2724 ClearSelectComboBox;
2728 // *************************************************************************
2729 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2730 // *************************************************************************
2731 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2734 if GikoForm.ViewType <> gvtLive then
2735 GikoForm.SetListViewType(gvtLive);
2736 GikoSys.Setting.ThreadRange := gtrLive;
2737 LiveItemAction.Checked := True;
2738 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2739 GikoForm.ModifySelectList;
2740 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2741 ClearSelectComboBox;
2746 // *************************************************************************
2747 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2748 // *************************************************************************
2749 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2751 case GikoSys.Setting.ThreadRange of
2752 gtrAll: AllItemAction.Execute;
2753 gtrLog: LogItemAction.Execute;
2754 gtrNew: NewItemAction.Execute;
2755 gtrArch: ArchiveItemAction.Execute;
2756 gtrLive: LiveItemAction.Execute;
2759 // *************************************************************************
2760 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2761 // *************************************************************************
2762 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2765 Dlg: TListSelectDialog;
2768 if GikoForm.SelectComboBoxPanel.Visible then begin
2769 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2770 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2771 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2772 if GikoSys.Setting.ListWidthState = glsMax then
2773 BrowserMinAction.Execute;
2775 if GikoSys.Setting.ListHeightState = glsMax then
2776 BrowserMinAction.Execute;
2778 GikoForm.SelectComboBox.SetFocus;
2785 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2786 GikoForm.SelectComboBox.Text := '';
2787 GikoForm.SelectComboBox.Color := clWindow;
2790 AllItemAction.Checked := False;
2791 LogItemAction.Checked := False;
2792 NewItemAction.Checked := False;
2793 //SelectItemAction.Checked := True;
2794 GikoForm.ModifySelectList;
2795 Dlg := TListSelectDialog.Create(GikoForm);
2797 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2798 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2800 if Dlg.ModalResult = mrCancel then begin
2801 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2802 AllItemAction.Checked := True;
2803 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2804 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2807 if GikoForm.GetActiveList is TBoard then
2808 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2810 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2812 GikoSys.Setting.SelectTextList.Delete(idx);
2813 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2814 while Dlg.SelectComboBox.Items.Count > 100 do begin
2815 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2818 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2819 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2820 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2822 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2823 GikoForm.SelectComboBox.Color := clWindow;
2825 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2831 // *************************************************************************
2832 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2833 // *************************************************************************
2834 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2836 Editor: TEditorForm;
2838 if not (GikoForm.GetActiveList is TBoard) then
2840 Editor := TEditorForm.Create(GikoForm);
2841 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2843 Editor.BodyEdit.SetFocus;
2845 // *************************************************************************
2846 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2847 // *************************************************************************
2848 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2852 if GikoForm.GetActiveList is TBoard then begin
2853 URL := TBoard(GikoForm.GetActiveList).URL;
2854 GikoSys.OpenBrowser(URL, gbtAuto);
2857 // *************************************************************************
2858 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2859 // *************************************************************************
2860 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2867 List := TList.Create;
2869 GikoForm.SelectListItem(List);
2870 for i := 0 to List.Count - 1 do begin
2871 if TObject(List[i]) is TBoard then
2872 s := s + TBoard(List[i]).URL + #13#10
2873 else if TObject(List[i]) is TThreadItem then
2874 s := s + TThreadItem(List[i]).URL + #13#10;
2877 Clipboard.AsText := s;
2882 // *************************************************************************
2883 //!
\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
2884 // *************************************************************************
2885 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2887 if ((GikoForm.GetActiveList is TBoard) or
2888 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2889 TAction(Sender).Enabled := True
2891 TAction(Sender).Enabled := False;
2893 // *************************************************************************
2894 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2895 // *************************************************************************
2896 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2903 List := TList.Create;
2905 GikoForm.SelectListItem(List);
2906 for i := 0 to List.Count - 1 do begin
2907 if TObject(List[i]) is TCategory then
2908 s := s + TCategory(List[i]).Title + #13#10
2909 else if TObject(List[i]) is TBoard then
2910 s := s + TBoard(List[i]).Title + #13#10
2911 else if TObject(List[i]) is TThreadItem then
2912 s := s + TThreadItem(List[i]).Title + #13#10;
2915 Clipboard.AsText := s;
2920 // *************************************************************************
2921 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2922 // *************************************************************************
2923 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2925 if ((GikoForm.GetActiveList is TBBS) or
2926 (GikoForm.GetActiveList is TBoard) or
2927 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2928 TAction(Sender).Enabled := True
2930 TAction(Sender).Enabled := False;
2932 // *************************************************************************
2933 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2934 // *************************************************************************
2935 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2942 List := TList.Create;
2944 GikoForm.SelectListItem(List);
2945 for i := 0 to List.Count - 1 do begin
2946 if TObject(List[i]) is TBoard then
2947 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2948 else if TObject(List[i]) is TThreadItem then
2949 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
2952 Clipboard.AsText := s;
2957 // *************************************************************************
2958 //!
\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é
2959 // *************************************************************************
2960 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
2967 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2968 GikoForm.ActiveListColumnSave;
2969 if GikoForm.GetActiveList is TCategory then begin
2970 List := TList.Create;
2972 GikoForm.SelectListItem(List);
2973 if List.Count > 5 then begin
2974 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
2975 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
2976 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
2979 for i := 0 to List.Count - 1 do begin
2980 if TObject(List[i]) is TBoard then
2981 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
2986 end else if GikoForm.GetActiveList is TBoard then begin
2987 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
2990 // *************************************************************************
2991 //!
\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
2992 // *************************************************************************
2993 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
2995 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
2996 TAction(Sender).Enabled := True
2997 else if GikoForm.GetActiveList is TBoard then
2998 TAction(Sender).Enabled := True
3000 TAction(Sender).Enabled := False;
3002 // *************************************************************************
3003 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
3004 // *************************************************************************
3005 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3012 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3013 List := TList.Create;
3015 GikoForm.SelectListItem(List);
3016 if List.Count > 10 then begin
3017 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3018 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3019 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3022 for i := 0 to List.Count - 1 do begin
3023 if TObject(List[i]) is TThreadItem then
3024 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3030 // *************************************************************************
3031 //!
\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
3032 // *************************************************************************
3033 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3035 TAction(Sender).Enabled :=
3036 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3038 // *************************************************************************
3039 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3040 // *************************************************************************
3041 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3043 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3044 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3046 // *************************************************************************
3047 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3048 // *************************************************************************
3049 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3054 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3055 List := TList.Create;
3057 GikoForm.SelectListItem(List);
3058 for i := 0 to List.Count - 1 do begin
3059 if TObject(List[i]) is TThreadItem then begin
3060 if TThreadItem(List[i]).IsLogFile then begin
3061 SelectReservAction.Enabled := True;
3066 SelectReservAction.Enabled := False;
3070 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3071 SelectReservAction.Enabled := True
3073 SelectReservAction.Enabled := False;
3075 // *************************************************************************
3076 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3077 // *************************************************************************
3078 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3081 Dlg: TRoundNameDialog;
3085 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3086 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3089 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3090 cnt := RoundList.Count[grtBoard];
3091 cnt := cnt + RoundList.Count[grtItem];
3092 if cnt > 500 then begin
3093 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3097 Dlg := TRoundNameDialog.Create(GikoForm);
3100 if Dlg.ModalResult <> mrCancel then begin
3101 s := Trim(Dlg.RoundNameEdit.Text);
3102 if (Sender is TMenuItem) then begin
3103 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3104 end else if (Sender is TAction) then begin
3105 if (GikoForm.ListView.Selected <> nil) then begin
3106 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3107 GikoForm.SetSelectItemRound(True, s,
3108 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3109 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3110 GikoForm.SetSelectItemRound(True, s,
3111 TBoard(GikoForm.ListView.Selected.Data).Title);
3115 GikoForm.ListView.Refresh;
3121 // *************************************************************************
3122 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3123 // *************************************************************************
3124 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3128 if (Sender is TMenuItem) then begin
3130 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3133 end else if (Sender is TAction) then begin
3135 if GikoForm.ListView.Selected <> nil then begin
3136 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3137 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3138 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3139 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3141 GikoForm.SetSelectItemRound(False, '', s);
3147 GikoForm.ListView.Refresh;
3149 // *************************************************************************
3150 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3151 // *************************************************************************
3152 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3154 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3155 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3157 // *************************************************************************
3158 //!
\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
3159 // *************************************************************************
3160 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3162 BoardFavoriteAddAction.Enabled :=
3163 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3165 // *************************************************************************
3166 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3167 // *************************************************************************
3168 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3172 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3173 (GikoSys.Setting.ListHeightState = glsMax)) or
3174 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3175 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3176 if(GikoForm.GetActiveContent <> nil) then begin
3177 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3179 end else if GikoForm.GetActiveList is TCategory then begin
3180 List := TList.Create;
3182 GikoForm.SelectListItem(List);
3183 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3187 end else if GikoForm.GetActiveList is TBoard then begin
3188 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3192 // *************************************************************************
3193 //! 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Ê
3194 // *************************************************************************
3195 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3197 if ((GikoForm.GetActiveList is TBoard) or (GikoForm.GetActiveList is TCategory))
3198 and (GikoForm.ListView.SelCount > 0) then
3199 TAction(Sender).Enabled := True
3201 TAction(Sender).Enabled := False;
3203 // *************************************************************************
3204 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3205 // *************************************************************************
3206 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3208 RefURL, URL : string;
3212 if GikoForm.GetActiveList is TCategory then begin
3213 List := TList.Create;
3215 GikoForm.SelectListItem(List);
3216 RefURL := TBoard(List[0]).URL;
3220 end else if GikoForm.GetActiveList is TBoard then begin
3221 RefURL := TBoard(GikoForm.GetActiveList).URL
3223 if RefURL <> '' then begin
3224 if RefURL[Length(RefURL)] <> '/' then
3225 URL := RefURL + '/' + 'head.txt'
3227 URL := RefURL + 'head.txt';
3229 GikoForm.MoveToURL(URL);
3231 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3235 // *************************************************************************
3236 //!
\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é
3237 // *************************************************************************
3238 function TGikoDM.GetSortProperties(List: TObject;
3239 var vSortOrder: Boolean): Boolean;
3242 if (List <> nil) then begin
3243 if (List is TBBS) then begin
3244 vSortOrder := GikoSys.Setting.BBSSortOrder;
3245 end else if (List is TCategory) then begin
3246 vSortOrder := GikoSys.Setting.CategorySortOrder;
3247 end else if (List is TBoard) then begin
3248 vSortOrder := GikoSys.Setting.BoardSortOrder;
3256 // *************************************************************************
3257 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3258 // *************************************************************************
3259 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3264 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3265 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3266 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3267 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3269 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3270 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3277 // *************************************************************************
3278 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3279 // *************************************************************************
3280 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3284 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3285 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3286 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3288 if id > GikoForm.ListView.Columns.Count - 1 then
3290 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3291 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3297 // *************************************************************************
3298 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3299 // *************************************************************************
3300 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3304 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3305 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3306 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3309 id := GikoForm.ListView.Columns.Count - 1;
3310 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3311 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3317 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3318 // *************************************************************************
3319 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3320 // *************************************************************************
3321 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3323 CoolBand: TCoolBand;
3325 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3326 if CoolBand = nil then
3328 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3329 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3330 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3332 // *************************************************************************
3333 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3334 // *************************************************************************
3335 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3337 CoolBand: TCoolBand;
3339 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3340 if CoolBand = nil then
3342 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3343 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3344 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3346 // *************************************************************************
3347 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3348 // *************************************************************************
3349 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3351 CoolBand: TCoolBand;
3353 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3354 if CoolBand = nil then
3356 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3357 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3358 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3360 // *************************************************************************
3361 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3362 // *************************************************************************
3363 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3365 CoolBand: TCoolBand;
3367 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3368 if CoolBand = nil then
3370 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3371 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3373 // *************************************************************************
3374 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3375 // *************************************************************************
3376 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3378 CoolBand: TCoolBand;
3380 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3381 if CoolBand = nil then
3383 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3384 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3386 // *************************************************************************
3387 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3388 // *************************************************************************
3389 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3391 CoolBand: TCoolBand;
3393 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3394 if CoolBand = nil then
3396 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3397 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3399 // *************************************************************************
3400 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3401 // *************************************************************************
3402 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3404 CoolBand: TCoolBand;
3406 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3407 if CoolBand = nil then
3409 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3410 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3412 // *************************************************************************
3413 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3414 // *************************************************************************
3415 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3417 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3418 GikoForm.MessagePanel.Top :=
3419 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3420 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3421 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3422 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3424 // *************************************************************************
3425 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3426 // *************************************************************************
3427 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3429 MsgBarVisibleAction.Execute;
3431 // *************************************************************************
3432 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3433 // *************************************************************************
3434 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3436 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3437 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3439 // *************************************************************************
3440 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3441 // *************************************************************************
3442 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3445 if GikoForm.CabinetPanel.Visible then begin
3446 if GikoForm.TreeType = gtt2ch then begin
3447 GikoForm.CabinetVisible( False );
3449 CabinetBBSAction.Checked := False;
3451 CabinetBBSAction.Checked := True;
3454 GikoForm.CabinetVisible( True );
3455 CabinetBBSAction.Checked := True;
3458 if GikoForm.ActiveBBS = nil then
3459 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3461 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3464 // *************************************************************************
3465 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3466 // *************************************************************************
3467 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3469 GikoForm.ShowHistoryTree;
3471 // *************************************************************************
3472 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3473 // *************************************************************************
3474 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3480 if GikoForm.CabinetPanel.Visible then begin
3481 if GikoForm.TreeType = gttFavorite then begin
3482 GikoForm.CabinetVisible( False );
3483 CabinetFavoriteAction.Checked := False;
3485 CabinetFavoriteAction.Checked := True;
3488 GikoForm.CabinetVisible( True );
3489 CabinetFavoriteAction.Checked := True;
3492 // BBS...BBS, History, Favorite
3493 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3495 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3496 for i := 0 to b do begin
3497 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3498 if item is TBBSMenuItem then begin
3499 item.Checked := False;
3500 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3501 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3505 //
\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Ö
3506 GikoForm.HistoryToolBar.Hide;
3507 GikoForm.FavoriteToolBar.Show;
3508 GikoForm.TreeView.Visible := False;
3509 GikoForm.FavoriteTreeView.Visible := True;
3511 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3512 GikoForm.TreeType := gttFavorite;
3514 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3515 CabinetBBSAction.Checked := False;
3516 CabinetHistoryAction.Checked := False;
3518 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3519 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3522 // *************************************************************************
3523 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3524 // *************************************************************************
3525 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3527 case GikoForm.TreeType of
3528 gttHistory: CabinetHistoryAction.Execute;
3529 gttFavorite: CabinetFavoriteAction.Execute;
3531 CabinetBBSAction.Execute;
3534 // *************************************************************************
3535 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3536 // *************************************************************************
3537 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3539 //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ã
3541 // *************************************************************************
3542 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3543 // *************************************************************************
3544 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3546 GikoForm.ListView.ViewStyle := vsIcon;
3547 LargeIconAction.Checked := True;
3549 // *************************************************************************
3550 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3551 // *************************************************************************
3552 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3554 GikoForm.ListView.ViewStyle := vsSmallIcon;
3555 SmallIconAction.Checked := True;
3557 // *************************************************************************
3558 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3559 // *************************************************************************
3560 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3562 GikoForm.ListView.ViewStyle := vsList;
3563 ListIconAction.Checked := True;
3565 // *************************************************************************
3566 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3567 // *************************************************************************
3568 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3570 GikoForm.ListView.ViewStyle := vsReport;
3571 DetailIconAction.Checked := True;
3573 // *************************************************************************
3574 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3575 // *************************************************************************
3576 procedure TGikoDM.StopActionExecute(Sender: TObject);
3578 GikoForm.FControlThread.DownloadAbort;
3579 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3581 GikoForm.Animate.Active := False;
3584 GikoForm.ScreenCursor := crDefault;
3586 // *************************************************************************
3587 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3588 // *************************************************************************
3589 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3591 if ArrangeAction.Checked then begin
3593 GikoForm.ViewPanel.Align := alNone;
3594 GikoForm.ListSplitter.Align := alNone;
3595 GikoForm.ThreadPanel.Align := alNone;
3597 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3598 GikoForm.ViewPanel.Align := alLeft;
3600 GikoForm.ListSplitter.Width := 5;
3601 GikoForm.ListSplitter.Align := alLeft;
3603 GikoForm.ViewPanel.Left := -10;
3605 GikoForm.ThreadPanel.Align := alClient;
3607 GikoSys.Setting.ListOrientation := gloHorizontal;
3608 case GikoSys.Setting.ListWidthState of
3610 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3611 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3612 GikoForm.ViewPanel.Width := 1;
3615 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3616 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3619 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3620 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3621 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3626 GikoForm.ViewPanel.Align := alNone;
3627 GikoForm.ListSplitter.Align := alNone;
3628 GikoForm.ThreadPanel.Align := alNone;
3630 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3631 GikoForm.ViewPanel.Align := alTop;
3633 GikoForm.ListSplitter.Height := 5;
3634 GikoForm.ListSplitter.Align := alTop;
3636 GikoForm.ViewPanel.Top := -10;
3638 GikoForm.ThreadPanel.Align := alClient;
3639 GikoSys.Setting.ListOrientation := gloVertical;
3640 case GikoSys.Setting.ListHeightState of
3642 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3643 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3644 GikoForm.ViewPanel.Height := 1;
3647 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3648 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3651 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3652 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3653 GikoForm.ViewPanel.Height :=
3654 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3659 // *************************************************************************
3660 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3661 // *************************************************************************
3662 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3664 GikoForm.CabinetPanel.Width := 150;
3665 GikoForm.MessagePanel.Height := 40;
3667 GikoForm.BrowserSizeWidth := 200;
3668 GikoForm.BrowserSizeHeight := 200;
3669 if ArrangeAction.Checked then begin
3670 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3672 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3674 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3675 if GikoSys.Setting.ListHeightState = glsMax then begin
3676 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3677 GikoSys.Setting.ListHeightState := glsNormal;
3680 if GikoSys.Setting.ListWidthState = glsMax then begin
3681 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3682 GikoSys.Setting.ListWidthState := glsNormal;
3686 // *************************************************************************
3687 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3688 // *************************************************************************
3689 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3691 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3692 GikoForm.SetBrowserTabState;
3694 // *************************************************************************
3695 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3696 // *************************************************************************
3697 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3699 BrowserTabBottomAction.Checked := False;
3700 BrowserTabTopAction.Checked := True;
3701 GikoSys.Setting.BrowserTabPosition := gtpTop;
3702 GikoForm.SetBrowserTabState;
3704 // *************************************************************************
3705 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3706 // *************************************************************************
3707 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3709 BrowserTabTopAction.Checked := False;
3710 BrowserTabBottomAction.Checked := True;
3711 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3712 GikoForm.SetBrowserTabState;
3714 // *************************************************************************
3715 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3716 // *************************************************************************
3717 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3719 BrowserTabButtonStyleAction.Checked := False;
3720 BrowserTabFlatStyleAction.Checked := False;
3721 BrowserTabTabStyleAction.Checked := True;
3722 GikoSys.Setting.BrowserTabStyle := gtsTab;
3723 GikoForm.SetBrowserTabState;
3725 // *************************************************************************
3726 //!
\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é
3727 // *************************************************************************
3728 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3730 BrowserTabTabStyleAction.Checked := False;
3731 BrowserTabFlatStyleAction.Checked := False;
3732 BrowserTabButtonStyleAction.Checked := True;
3733 GikoSys.Setting.BrowserTabStyle := gtsButton;
3734 GikoForm.SetBrowserTabState;
3736 // *************************************************************************
3737 //!
\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é
3738 // *************************************************************************
3739 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3741 BrowserTabFlatStyleAction.Checked := True;
3742 BrowserTabTabStyleAction.Checked := False;
3743 BrowserTabButtonStyleAction.Checked := False;
3744 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3745 GikoForm.SetBrowserTabState;
3747 // *************************************************************************
3748 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3749 // *************************************************************************
3750 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3752 GikoForm.ActiveContent.Browser.SetFocus;
3754 // *************************************************************************
3755 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3756 // *************************************************************************
3757 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3759 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3760 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3761 TAction(Sender).Enabled := true
3763 TAction(Sender).Enabled := false;
3765 // *************************************************************************
3766 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3767 // *************************************************************************
3768 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3770 if GikoForm.ActiveContent <> nil then
3771 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3772 GikoForm.ListView.SetFocus;
3774 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3775 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é
3777 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3778 if (GikoForm.ListView.ItemFocused <> nil) then begin
3779 GikoForm.ListView.ItemFocused.MakeVisible(False);
3782 // *************************************************************************
3783 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3784 // *************************************************************************
3785 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3787 if GikoForm.ActiveContent <> nil then
3788 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3789 if GikoForm.TreeView.Visible then begin
3790 GikoForm.TreeView.SetFocus;
3791 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3792 GikoForm.TreeView.Items.Item[0].Selected := true;
3793 end else if GikoForm.FavoriteTreeView.Visible then begin
3794 GikoForm.FavoriteTreeView.SetFocus;
3795 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3796 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3799 // *************************************************************************
3800 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3801 // *************************************************************************
3802 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3804 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3806 // *************************************************************************
3807 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3808 // *************************************************************************
3809 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3811 BrowserMinAction.Execute;
3812 SetFocusForThreadListAction.Execute;
3814 // *************************************************************************
3815 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3816 // *************************************************************************
3817 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3819 BrowserMaxAction.Execute;
3820 SetFocusForBrowserAction.Execute;
3822 // *************************************************************************
3823 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3824 // *************************************************************************
3825 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3827 if GikoForm.ListView.Selected <> nil then begin
3828 GikoForm.ListView.Selected.Focused := True;
3829 GikoForm.ListView.Selected := nil;
3832 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3833 // *************************************************************************
3834 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3835 // *************************************************************************
3836 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3838 SetThreadReadProperty(true);
3840 // *************************************************************************
3841 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3842 // *************************************************************************
3843 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3845 SetThreadReadProperty(false);
3847 // *************************************************************************
3848 //!
\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Ç
3849 // *************************************************************************
3850 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3855 List := TList.Create;
3857 GikoForm.SelectListItem(List);
3858 for i := 0 to List.Count - 1 do begin
3859 if TObject(List[i]) is TThreadItem then begin
3860 if (TThreadItem(List[i]).IsLogFile) then begin
3861 TThreadItem(List[i]).UnRead := not read;
3865 if GikoForm.TreeView.Visible then
3866 GikoForm.TreeView.Refresh;
3867 if GikoForm.ListView.Visible then
3868 GikoForm.ListView.Refresh;
3873 // *************************************************************************
3874 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3875 // *************************************************************************
3876 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3878 GikoForm.ListViewAllSelect;
3880 // *************************************************************************
3881 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3882 // *************************************************************************
3883 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3885 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3887 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3888 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3889 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3891 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 +
3892 '
\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' +
3893 '
\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';
3894 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3897 limitSize : Integer;
3900 {
\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Í
3901 \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
3902 \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õ
3903 è
\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
3904 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3906 if MsgBox(GikoForm.Handle, RECALC_MES,
3907 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3908 //è
\87\92l
\82Ì
\8am
\94F
3909 limitSize := LIMIT_SIZE;
3910 limitStr := IntToStr(limitSize);
3911 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
3912 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3913 if (limitSize < 0) then begin
3914 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3915 ThreadSizeCalcForFileActionExecute(nil);
3917 RecalcThreadSize(limitSize);
3922 //! 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
3923 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3925 i, j, tmpSize : Integer;
3928 Thread: TThreadItem;
3931 //
\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
3932 GikoForm.ScreenCursor := crHourGlass;
3934 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3935 for i := 0 to BoardGroups[0].Count - 1 do begin
3936 Obj := BoardGroups[0].Objects[i];
3937 if (Obj <> nil) then begin
3938 Board := TBoard(Obj);
3939 if not Board.IsThreadDatRead then begin
3940 GikoSys.ReadSubjectFile(Board);
3942 for j := 0 to Board.Count - 1 do begin
3943 Thread := Board.Items[j];
3944 if (Thread <> nil) and (Thread.IsLogFile)
3945 and (Thread.Size <= limit) then begin
3946 dat := TStringList.Create;
3948 tmpSize := Thread.Size;
3950 dat.LoadFromFile(Thread.GetThreadFileName);
3951 tmpSize := Length(dat.Text);
3952 tmpSize := tmpSize - dat.Count;
3955 Thread.Size := tmpSize;
3962 GikoForm.ProgressBar.StepBy(1);
3965 GikoForm.ScreenCursor := crDefault;
3967 GikoForm.ProgressBar.Position := 0;
3968 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
3970 // *************************************************************************
3971 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
3972 // *************************************************************************
3973 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
3975 form : TInputAssistForm;
3977 form := TInputAssistForm.Create(GikoForm);
3985 // *************************************************************************
3986 //!
\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é
3987 // *************************************************************************
3988 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
3990 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
3991 GikoForm.ActiveContent.OpenFindDialog;
3995 // *************************************************************************
3996 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
3997 // *************************************************************************
3998 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
4001 if GikoForm.ClickNode = nil then Exit;
4004 GikoForm.ClickNode.Text + #13#10;
4007 // *************************************************************************
4008 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4009 // *************************************************************************
4010 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4014 if ( EditorFormExists ) then begin
4015 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4016 for i := Screen.CustomFormCount - 1 downto 0 do begin
4017 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4018 TEditorForm(Screen.CustomForms[i]).Close;
4023 // *************************************************************************
4024 //!
\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é
4025 // *************************************************************************
4026 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4028 if (Sender is TAction) then begin
4029 TAction(Sender).Enabled := EditorFormExists;
4032 // *************************************************************************
4033 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4034 // *************************************************************************
4035 function TGikoDM.EditorFormExists(): boolean;
4040 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4041 for i := Screen.CustomFormCount - 1 downto 0 do begin
4042 if (Screen.CustomForms[i] is TEditorForm) then begin
4049 // *************************************************************************
4050 //!
\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é
4051 // *************************************************************************
4052 procedure TGikoDM.ClearNameTextAllEditor();
4056 for i := 0 to Screen.CustomFormCount - 1 do begin
4057 if (Screen.CustomForms[i] is TEditorForm) then begin
4058 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4062 // *************************************************************************
4063 //!
\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é
4064 // *************************************************************************
4065 procedure TGikoDM.ClearMailAllEditor();
4069 for i := 0 to Screen.CustomFormCount - 1 do begin
4070 if TObject(Screen.CustomForms[i]) is TEditorForm then
4071 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4075 // *************************************************************************
4076 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4077 // *************************************************************************
4078 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4080 PrevMoveHistory.Enabled :=
4081 (MoveHisotryManager.HisotryIndex > 0)
4083 // *************************************************************************
4084 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4085 // *************************************************************************
4086 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4088 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4089 BackToHistory(MoveHisotryManager.getPrevItem
4090 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4091 .Objects[GikoForm.BrowserTab.TabIndex])));
4093 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4096 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4097 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4099 browser : TWebBrowser;
4102 if ( item <> nil ) then begin
4103 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4104 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4105 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4106 if (browser <> nil) then begin
4108 doc := Idispatch( olevariant(browser.ControlInterface).Document) as IHTMLDocument2;
4109 doc.Body.ScrollTop := item.ScrollTop;
4115 MoveURLWithHistory(item.ThreadItem.URL);
4119 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4120 procedure TGikoDM.MoveURLWithHistory(URL : String);
4125 GikoForm.MoveToURL(URL);
4126 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4127 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4128 if idx = -1 then begin
4129 GikoForm.AddressComboBox.Items.Insert(0, URL);
4130 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4131 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4133 GikoForm.AddressComboBox.Items.Delete(idx);
4134 GikoForm.AddressComboBox.Items.Insert(0, URL);
4137 // *************************************************************************
4138 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4139 // *************************************************************************
4140 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4142 NextMoveHistory.Enabled :=
4143 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4145 // *************************************************************************
4146 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4147 // *************************************************************************
4148 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4150 BackToHistory(MoveHisotryManager.getNextItem);
4152 // *************************************************************************
4153 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4154 // *************************************************************************
4155 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4157 browser : TWebBrowser;
4158 elem : IHTMLElement;
4160 if (GikoForm.GetActiveContent <> nil) then begin
4161 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4162 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4163 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4164 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4165 if (browser <> nil) then begin
4167 elem := IHTMLDocument2(browser.Document).activeElement;
4176 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4177 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4179 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4180 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4182 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4183 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4185 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4186 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4188 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4189 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4191 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4192 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4194 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4195 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4197 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4198 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4200 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4201 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4203 GikoForm.StoredTaskTray;
4204 StoredTaskTrayAction.Tag := -1;
4208 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4209 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4211 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4213 links : IHTMLElementCollection;
4216 links := GetActiveThreadLinks;
4217 if (links <> nil) then begin
4218 urls := TStringList.Create;
4220 GetImageLinkURLs(links, urls, 0);
4221 Clipboard.SetTextBuf(urls.GetText);
4229 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4230 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4232 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4234 links : IHTMLElementCollection;
4236 ThreadItem : TThreadItem;
4238 ThreadItem := GikoForm.GetActiveContent;
4239 links := GetActiveThreadLinks;
4240 if (ThreadItem <> nil) and (links <> nil) then begin
4241 urls := TStringList.Create;
4243 GetImageLinkURLs(links, urls,
4244 (ThreadItem.Count - ThreadItem.NewResCount + 1) );
4245 Clipboard.SetTextBuf(urls.GetText);
4252 \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
4253 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4255 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4257 browser : TWebBrowser;
4260 if (GikoForm.GetActiveContent <> nil) then begin
4261 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4262 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4263 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4264 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4265 if (browser <> nil) then begin
4267 Result := IHTMLDocument2(browser.Document).links;
4277 \brief
\83C
\83\81\81[
\83W
\82Ö
\82Ì
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4278 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4279 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4280 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4282 procedure TGikoDM.GetImageLinkURLs(links : IHTMLElementCollection;
4283 URLs : TStringList; const Start: Integer);
4286 item : IHTMLElement;
4289 if (links <> nil) then begin
4291 for i := 0 to links.length - 1 do begin
4292 item := links.item(i, 0) as IHTMLElement;
4293 if (item <> nil) then begin
4294 url := item.getAttribute('href', 0);
4295 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4296 if (Pos('menu:', url) > 0) then begin
4297 index := StrToInt64Def(
4298 Copy(url, 5, Length(url)), index + 1
4301 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4302 if (index >= Start) then begin
4303 ext := ExtractFileExt( AnsiLowerCase(url) );
4304 // jpg,jpeg,gif,png
\82ð
\83`
\83F
\83b
\83N
4305 if (ext = '.jpg') or (ext = '.jpeg') or
4306 (ext = '.gif') or (ext = '.png') then begin
4316 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4317 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4319 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4321 if ( GikoForm.AddressToolBar.Visible ) then begin
4322 GikoForm.AddressComboBox.SetFocus;
4326 \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é
4328 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4330 form : TNewBoardURLForm;
4333 if (EditorFormExists) then begin
4334 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4335 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4338 form := TNewBoardURLForm.Create(Self);