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 procedure EditNGActionExecute(Sender: TObject);
235 procedure ReloadActionExecute(Sender: TObject);
236 procedure GoFowardActionExecute(Sender: TObject);
237 procedure GoBackActionExecute(Sender: TObject);
238 procedure MoveToActionExecute(Sender: TObject);
239 procedure FavoriteAddActionExecute(Sender: TObject);
240 procedure FavoriteArrangeActionExecute(Sender: TObject);
241 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
242 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
243 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
244 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
245 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
246 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
247 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
248 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
249 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
250 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
251 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
252 procedure OnlyAHundredResActionExecute(Sender: TObject);
253 procedure OnlyKokoResActionExecute(Sender: TObject);
254 procedure OnlyNewResActionExecute(Sender: TObject);
255 procedure BrowserMaxActionExecute(Sender: TObject);
256 procedure BrowserMinActionExecute(Sender: TObject);
257 procedure ScrollTopActionExecute(Sender: TObject);
258 procedure ScrollLastActionExecute(Sender: TObject);
259 procedure ScrollNewActionExecute(Sender: TObject);
260 procedure ScrollKokoActionExecute(Sender: TObject);
261 procedure ScrollKokoActionUpdate(Sender: TObject);
262 procedure EditorActionExecute(Sender: TObject);
263 procedure IEActionExecute(Sender: TObject);
264 procedure ShowThreadActionExecute(Sender: TObject);
265 procedure ShowBoardActionExecute(Sender: TObject);
266 procedure URLCopyActionExecute(Sender: TObject);
267 procedure NameCopyActionExecute(Sender: TObject);
268 procedure NameURLCopyActionExecute(Sender: TObject);
269 procedure ItemReloadActionExecute(Sender: TObject);
270 procedure BrowserTabCloseActionExecute(Sender: TObject);
271 procedure BrowserTabCloseActionUpdate(Sender: TObject);
272 procedure NotSelectTabCloseActionExecute(Sender: TObject);
273 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
274 procedure AllTabCloseActionExecute(Sender: TObject);
275 procedure ActiveLogDeleteActionExecute(Sender: TObject);
276 procedure LeftmostTabSelectActionExecute(Sender: TObject);
277 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
278 procedure LeftTabSelectActionExecute(Sender: TObject);
279 procedure RightTabSelectActionExecute(Sender: TObject);
280 procedure RightTabSelectActionUpdate(Sender: TObject);
281 procedure RightmostTabSelectActionExecute(Sender: TObject);
282 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
283 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
284 procedure SelectResActionExecute(Sender: TObject);
285 procedure AllResActionExecute(Sender: TObject);
286 procedure ResRangeActionExecute(Sender: TObject);
287 procedure UpBoardActionExecute(Sender: TObject);
288 procedure JumpToNumOfResActionExecute(Sender: TObject);
289 procedure RightTabCloseActionExecute(Sender: TObject);
290 procedure RightTabCloseActionUpdate(Sender: TObject);
291 procedure LeftTabCloseActionExecute(Sender: TObject);
292 procedure DataModuleCreate(Sender: TObject);
293 procedure SearchActionExecute(Sender: TObject);
294 procedure OptionActionExecute(Sender: TObject);
295 procedure RoundActionExecute(Sender: TObject);
296 procedure KeySettingActionExecute(Sender: TObject);
297 procedure KotehanActionExecute(Sender: TObject);
298 procedure ToolBarSettingActionExecute(Sender: TObject);
299 procedure MuteActionExecute(Sender: TObject);
300 procedure TreeSelectBoradReloadExecute(Sender: TObject);
301 procedure TreeSelectThreadReloadExecute(Sender: TObject);
302 procedure TreeSelectURLCopyExecute(Sender: TObject);
303 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
304 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
305 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
306 procedure TreeSelectNameCopyExecute(Sender: TObject);
307 procedure LoginActionExecute(Sender: TObject);
308 procedure NewBoardActionExecute(Sender: TObject);
309 procedure LogDeleteActionExecute(Sender: TObject);
310 procedure LogDeleteActionUpdate(Sender: TObject);
311 procedure SelectTextClearActionExecute(Sender: TObject);
312 procedure NameTextClearActionExecute(Sender: TObject);
313 procedure MailTextClearActionExecute(Sender: TObject);
314 procedure ExitActionExecute(Sender: TObject);
315 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
316 procedure ExportFavoriteFileAccept(Sender: TObject);
317 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
318 procedure SelectItemSaveForDatExecute(Sender: TObject);
319 procedure TabsSaveActionExecute(Sender: TObject);
320 procedure TabsOpenActionExecute(Sender: TObject);
321 procedure BeLogInOutActionExecute(Sender: TObject);
322 procedure BeLogInOutActionUpdate(Sender: TObject);
323 procedure KokomadeActionExecute(Sender: TObject);
324 procedure ZenbuActionExecute(Sender: TObject);
325 procedure KokoResActionExecute(Sender: TObject);
326 procedure KoreCopyExecute(Sender: TObject);
327 procedure SameIDResAnchorActionExecute(Sender: TObject);
328 procedure IndividualAbon1ActionExecute(Sender: TObject);
329 procedure IndividualAbon0ActionExecute(Sender: TObject);
330 procedure AntiIndividualAbonActionExecute(Sender: TObject);
331 procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
332 procedure IndividualAbonID1ActionExecute(Sender: TObject);
333 procedure IndividualAbonID0ActionExecute(Sender: TObject);
334 procedure GikoNaviWebPageActionExecute(Sender: TObject);
335 procedure MonazillaWebPageActionExecute(Sender: TObject);
336 procedure BBS2chWebPageActionExecute(Sender: TObject);
337 procedure GikoFolderOpenActionExecute(Sender: TObject);
338 procedure AboutActionExecute(Sender: TObject);
339 procedure GikoHelpActionExecute(Sender: TObject);
340 procedure WikiFAQWebPageActionExecute(Sender: TObject);
341 procedure ListNumberVisibleActionExecute(Sender: TObject);
342 procedure UpFolderActionExecute(Sender: TObject);
343 procedure UpFolderActionUpdate(Sender: TObject);
344 procedure IconStyleExecute(Sender: TObject);
345 procedure AllItemActionExecute(Sender: TObject);
346 procedure LogItemActionExecute(Sender: TObject);
347 procedure NewItemActionExecute(Sender: TObject);
348 procedure ThreadRangeActionExecute(Sender: TObject);
349 procedure SelectItemActionExecute(Sender: TObject);
350 procedure ThreadEditorActionExecute(Sender: TObject);
351 procedure BoardIEActionExecute(Sender: TObject);
352 procedure SelectItemURLCopyActionExecute(Sender: TObject);
353 procedure SelectItemURLCopyActionUpdate(Sender: TObject);
354 procedure SelectItemNameCopyActionExecute(Sender: TObject);
355 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
356 procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
357 procedure SelectListReloadActionExecute(Sender: TObject);
358 procedure SelectListReloadActionUpdate(Sender: TObject);
359 procedure SelectThreadReloadActionExecute(Sender: TObject);
360 procedure SelectThreadReloadActionUpdate(Sender: TObject);
361 procedure SelectReservActionExecute(Sender: TObject);
362 procedure SelectReservActionUpdate(Sender: TObject);
363 procedure SelectNewRoundNameExecute(Sender: TObject);
364 procedure SelectDeleteRoundExecute(Sender: TObject);
365 procedure BoardFavoriteAddActionExecute(Sender: TObject);
366 procedure BoardFavoriteAddActionUpdate(Sender: TObject);
367 procedure LogFolderOpenActionExecute(Sender: TObject);
368 procedure LogFolderOpenActionUpdate(Sender: TObject);
369 procedure BrowsBoradHeadActionExecute(Sender: TObject);
370 procedure SortActiveColumnActionExecute(Sender: TObject);
371 procedure SortNextColumnActionExecute(Sender: TObject);
372 procedure SortPrevColumnActionExecute(Sender: TObject);
373 procedure StdToolBarVisibleActionExecute(Sender: TObject);
374 procedure AddressBarVisibleActionExecute(Sender: TObject);
375 procedure LinkBarVisibleActionExecute(Sender: TObject);
376 procedure ListToolBarVisibleActionExecute(Sender: TObject);
377 procedure ListNameBarVisibleActionExecute(Sender: TObject);
378 procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
379 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
380 procedure MsgBarVisibleActionExecute(Sender: TObject);
381 procedure MsgBarCloseActionExecute(Sender: TObject);
382 procedure StatusBarVisibleActionExecute(Sender: TObject);
383 procedure CabinetBBSActionExecute(Sender: TObject);
384 procedure CabinetHistoryActionExecute(Sender: TObject);
385 procedure CabinetFavoriteActionExecute(Sender: TObject);
386 procedure CabinetVisibleActionExecute(Sender: TObject);
387 procedure CabinetCloseActionExecute(Sender: TObject);
388 procedure LargeIconActionExecute(Sender: TObject);
389 procedure SmallIconActionExecute(Sender: TObject);
390 procedure ListIconActionExecute(Sender: TObject);
391 procedure DetailIconActionExecute(Sender: TObject);
392 procedure StopActionExecute(Sender: TObject);
393 procedure ArrangeActionExecute(Sender: TObject);
394 procedure PaneInitActionExecute(Sender: TObject);
395 procedure BrowserTabVisibleActionExecute(Sender: TObject);
396 procedure BrowserTabTopActionExecute(Sender: TObject);
397 procedure BrowserTabBottomActionExecute(Sender: TObject);
398 procedure BrowserTabTabStyleActionExecute(Sender: TObject);
399 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
400 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
401 procedure SetFocusForBrowserActionExecute(Sender: TObject);
402 procedure SetFocusForBrowserActionUpdate(Sender: TObject);
403 procedure SetFocusForThreadListActionExecute(Sender: TObject);
404 procedure SetFocusForCabinetActionExecute(Sender: TObject);
405 procedure SetFocusForCabinetActionUpdate(Sender: TObject);
406 procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
407 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
408 procedure UnSelectedListViewActionExecute(Sender: TObject);
409 procedure KidokuActionExecute(Sender: TObject);
410 procedure MidokuActionExecute(Sender: TObject);
411 procedure AllSelectActionExecute(Sender: TObject);
412 procedure AllSelectActionUpdate(Sender: TObject);
413 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
414 procedure SetInputAssistActionExecute(Sender: TObject);
415 procedure OpenFindDialogActionExecute(Sender: TObject);
416 procedure ArchiveItemActionExecute(Sender: TObject);
417 procedure LiveItemActionExecute(Sender: TObject);
418 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
419 procedure CloseAllEditorActionExecute(Sender: TObject);
420 procedure CloseAllEditorActionUpdate(Sender: TObject);
421 procedure PrevMoveHistoryUpdate(Sender: TObject);
422 procedure PrevMoveHistoryExecute(Sender: TObject);
423 procedure NextMoveHistoryUpdate(Sender: TObject);
424 procedure NextMoveHistoryExecute(Sender: TObject);
425 procedure ClickActiveElementActionExecute(Sender: TObject);
426 procedure VKDownActionExecute(Sender: TObject);
427 procedure VKUpActionExecute(Sender: TObject);
428 procedure VKRightActionExecute(Sender: TObject);
429 procedure VKLeftActionExecute(Sender: TObject);
430 procedure StoredTaskTrayActionExecute(Sender: TObject);
431 procedure LeftTabSelectActionUpdate(Sender: TObject);
432 procedure RightmostTabSelectActionUpdate(Sender: TObject);
433 procedure NewImageLinkToClipBoardActionExecute(Sender: TObject);
434 procedure AllImageLinkToClipbordActionExecute(Sender: TObject);
435 procedure SetForcusForAddresBarActionExecute(Sender: TObject);
436 procedure NewBoardSearchActionExecute(Sender: TObject);
439 procedure ClearResFilter;
440 procedure SetResRange(range: Integer);
441 procedure SetThreadAreaHorNormal;
442 procedure SetThreadAreaHorizontal(gls : TGikoListState);
443 procedure SetThreadAreaVerNormal;
444 procedure SetThreadAreaVertical(gls : TGikoListState);
445 procedure SetThreadReadProperty(read: Boolean);
446 procedure SelectThreadSaveToFile(dat: Boolean);
447 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
448 procedure RecalcThreadSize(limit : Integer);
449 procedure ClearSelectComboBox;
450 procedure ClearMailAllEditor();
451 procedure ClearNameTextAllEditor();
452 procedure MoveURLWithHistory(URL : String);
453 procedure BackToHistory(item: TMoveHistoryItem);
454 function GetActiveThreadLinks : IHTMLElementCollection;
455 procedure GetImageLinkURLs(links : IHTMLElementCollection;
456 URLs : TStringList; const Start: Integer);
459 procedure RepaintStatusBar;
460 function EditorFormExists(): boolean;
461 procedure GetTabURLs(AStringList: TStringList);
462 procedure OpenURLs(AStringList: TStringList);
464 { Published
\90é
\8c¾ }
465 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
466 procedure DependActiveCntentActionUpdate(Sender: TObject);
467 //! 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é
468 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
469 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
470 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
480 Windows, Math, Clipbrd,
481 Giko, GikoSystem, GikoUtil, BoardGroup,
482 FavoriteArrange, Favorite, MojuUtils,
483 Editor, ListSelect, Search, Option, Round,
484 KeySetting, Gesture, Kotehan, ToolBarSetting,
485 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
486 GikoBayesian, About, ShellAPI,
487 RoundName, RoundData, Menus, ListViewUtils,
488 ThreadControl, GikoMessage, InputAssist,
489 DefaultFileManager, Forms, NewBoardURL;
492 MSG_ERROR : string = '
\83G
\83\89\81[';
495 // *************************************************************************
496 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
497 // *************************************************************************
498 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
500 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
502 // *************************************************************************
503 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
504 // *************************************************************************
505 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
507 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
508 and (GikoForm.GetActiveContent.IsLogFile);
510 // *************************************************************************
511 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
512 // *************************************************************************
513 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
515 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
517 // *************************************************************************
518 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
519 // *************************************************************************
520 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
522 //
\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
523 GikoSys.FAbon.EditNGwords;
525 // *************************************************************************
526 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
527 // *************************************************************************
528 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
530 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
531 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
532 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½',
533 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
535 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
536 GikoForm.RepaintAllTabsBrowser();
539 // *************************************************************************
540 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
541 // *************************************************************************
542 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
544 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
545 if GikoSys.FAbon.GoBack =false then begin
546 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½',
547 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
549 //
\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
551 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
552 GikoForm.RepaintAllTabsBrowser();
555 // *************************************************************************
556 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
557 // *************************************************************************
558 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
560 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
561 if GikoSys.FAbon.GoForward =false then begin
562 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½',
563 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
565 //
\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
567 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
568 GikoForm.RepaintAllTabsBrowser();
571 // *************************************************************************
572 //! 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
573 // *************************************************************************
574 procedure TGikoDM.RepaintStatusBar;
578 //
\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
579 s := GikoSys.FAbon.NGwordname;
580 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
581 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
582 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
583 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
584 GikoForm.StatusBarResize(nil);
586 // *************************************************************************
587 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
588 // *************************************************************************
589 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
591 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
593 MoveURLWithHistory( Trim(GikoForm.AddressComboBox.Text) );
595 // *************************************************************************
596 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
597 // *************************************************************************
598 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
600 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
602 // *************************************************************************
603 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
604 // *************************************************************************
605 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
607 Dlg: TFavoriteArrangeDialog;
609 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
615 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
616 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
618 // *************************************************************************
619 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
620 // *************************************************************************
621 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
625 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
627 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
628 while node <> nil do begin
629 if node.HasChildren then
630 node.Expanded := False;
631 node := node.GetNext;
636 // *************************************************************************
637 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
638 // *************************************************************************
639 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
644 if GikoForm.ClickNode = nil then
646 if GikoForm.ClickNode.IsFirstNode then
648 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
650 GikoForm.FavoriteTreeView.ReadOnly := False;
651 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
652 node := GikoForm.ClickNode.Parent;
653 while node <> nil do begin
654 node.Expanded := True;
657 GikoForm.ClickNode.EditText;
659 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 );
661 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
662 FavoriteDM.Modified := true;
665 // *************************************************************************
666 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
667 // *************************************************************************
668 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
670 NewFavFolder: TFavoriteFolder;
674 if GikoForm.ClickNode = nil then
678 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
679 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
680 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
683 NewFavFolder := TFavoriteFolder.Create;
684 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
685 Node.ImageIndex := 14;
686 Node.SelectedIndex := 14;
687 // FClickNode.Selected.Expanded := True;
688 GikoForm.FavoriteTreeView.Selected := Node;
689 GikoForm.ClickNode := Node;
690 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
691 FavoriteDM.Modified := true;
692 FavoriteTreeViewRenameAction.Execute;
697 // *************************************************************************
698 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
699 // *************************************************************************
700 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
702 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';
703 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
704 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
707 if GikoForm.ClickNode = nil then
709 if GikoForm.ClickNode.IsFirstNode then
711 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
712 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
713 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
716 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
721 GikoForm.ClickNode.Delete;
722 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
723 FavoriteDM.Modified := true;
728 // *************************************************************************
729 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
730 // *************************************************************************
731 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
734 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
736 // *************************************************************************
737 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
738 // *************************************************************************
739 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
741 FavThread: TFavoriteThreadItem;
742 FavBoard: TFavoriteBoardItem;
745 if (GikoForm.ClickNode = nil) then Exit;
747 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
749 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
750 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
751 if FavThread.Item <> nil then
752 GikoForm.DownloadContent(FavThread.Item, shiftDown);
753 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
754 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
755 GikoForm.DownloadList(FavBoard.Item, shiftDown);
759 // *************************************************************************
760 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
761 // *************************************************************************
762 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
765 if GikoForm.ClickNode = nil then Exit;
767 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
768 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
771 // *************************************************************************
772 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
773 // *************************************************************************
774 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
777 if GikoForm.ClickNode = nil then Exit;
779 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
781 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
784 GikoForm.ClickNode.Text + #13#10;
788 // *************************************************************************
789 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
790 // *************************************************************************
791 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
794 favItem : TFavoriteItem;
797 if GikoForm.ClickNode = nil then Exit;
799 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
800 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
801 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
802 favItem.URL + #13#10;
806 // *************************************************************************
807 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
808 // *************************************************************************
809 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
811 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';
812 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
814 ThreadItem: TThreadItem;
815 FavThread: TFavoriteThreadItem;
818 if GikoForm.ClickNode = nil then Exit;
819 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
821 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
822 ThreadItem := FavThread.Item;
825 if GikoSys.Setting.DeleteMsg then begin
826 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
827 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
831 GikoForm.DeleteHistory(ThreadItem);
832 GikoForm.DeleteTab(ThreadItem);
833 ThreadItem.DeleteLogFile;
835 GikoForm.ListView.Refresh;
840 // *************************************************************************
841 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
842 // *************************************************************************
843 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
846 threadItem : TThreadItem;
849 if GikoForm.ClickNode = nil then Exit;
851 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
853 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
854 if threadItem = nil then
856 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
860 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
861 procedure TGikoDM.ClearResFilter;
863 FilterList : TStringList;
865 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
866 FilterList := TStringList.Create;
868 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
869 GikoSys.FSelectResFilter.Reverse := False;
873 GikoForm.SelectResWord := '';
875 // *************************************************************************
876 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
877 // *************************************************************************
878 procedure TGikoDM.SetResRange(range: Integer);
880 if GikoSys.ResRange <> range then begin
881 GikoSys.ResRange := range;
882 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
884 GikoForm.RepaintAllTabsBrowser();
887 // *************************************************************************
888 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
889 // *************************************************************************
890 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
892 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
893 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
895 GikoForm.ResRangeMenuSelect := 100;
896 OnlyAHundredResAction.Checked := True;
897 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
900 // *************************************************************************
901 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
902 // *************************************************************************
903 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
905 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
906 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
908 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
909 OnlyKokoResAction.Checked := True;
911 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
912 SetResRange(Ord( grrKoko ));
914 // *************************************************************************
915 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
916 // *************************************************************************
917 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
919 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
920 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
922 GikoForm.ResRangeMenuSelect := Ord( grrNew );
923 OnlyNewResAction.Checked := True;
925 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
926 SetResRange(Ord( grrNew ));
928 // *************************************************************************
929 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
930 // *************************************************************************
931 procedure TGikoDM.SetThreadAreaHorNormal;
933 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
934 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
935 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
936 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
937 GikoSys.Setting.ListWidthState := glsNormal;
939 // *************************************************************************
940 //!
\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@
941 // *************************************************************************
942 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
944 if GikoSys.Setting.ListWidthState = glsNormal then
945 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
947 if (gls = glsMax) then begin
948 GikoForm.ViewPanel.Width := 1;
949 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
950 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
951 GikoSys.Setting.ListWidthState := glsMax;
952 end else if (gls = glsMin) then begin
953 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
954 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
955 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
956 GikoSys.Setting.ListWidthState := glsMin;
959 // *************************************************************************
960 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
961 // *************************************************************************
962 procedure TGikoDM.SetThreadAreaVerNormal;
964 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
965 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
966 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
967 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
968 GikoSys.Setting.ListHeightState := glsNormal;
970 // *************************************************************************
971 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
972 // *************************************************************************
973 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
975 if GikoSys.Setting.ListHeightState = glsNormal then
976 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
977 if (gls = glsMin) then begin
978 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
979 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
980 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
981 GikoSys.Setting.ListHeightState := glsMin;
982 end else if (gls = glsMax) then begin
983 GikoForm.ViewPanel.Height := 1;
984 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
985 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
986 GikoSys.Setting.ListHeightState := glsMax;
989 // *************************************************************************
990 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
991 // *************************************************************************
992 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
994 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
995 case GikoSys.Setting.ListWidthState of
997 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
998 SetThreadAreaHorNormal;
1000 glsMin, glsNormal: begin
1001 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1002 SetThreadAreaHorizontal(glsMax);
1006 case GikoSys.Setting.ListHeightState of
1008 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1009 SetThreadAreaVerNormal;
1011 glsMin, glsNormal: begin
1012 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
1013 SetThreadAreaVertical(glsMax);
1018 // *************************************************************************
1019 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
1020 // *************************************************************************
1021 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1023 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1024 case GikoSys.Setting.ListWidthState of
1025 glsMax, glsNormal: begin
1026 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1027 SetThreadAreaHorizontal(glsMin);
1030 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1031 SetThreadAreaHorNormal;
1035 case GikoSys.Setting.ListHeightState of
1036 glsMax, glsNormal: begin
1037 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1038 SetThreadAreaVertical(glsMin);
1041 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1042 SetThreadAreaVerNormal;
1047 // *************************************************************************
1048 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1049 // *************************************************************************
1050 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1052 GikoForm.BrowserMovement('top');
1054 // *************************************************************************
1055 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1056 // *************************************************************************
1057 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1059 GikoForm.BrowserMovement('bottom');
1061 // *************************************************************************
1062 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1063 // *************************************************************************
1064 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1066 GikoForm.BrowserMovement('new');
1068 // *************************************************************************
1069 //!
\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é
1070 // *************************************************************************
1071 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1073 GikoForm.BrowserMovement('koko');
1075 // *************************************************************************
1076 //!
\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
1077 // *************************************************************************
1078 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1080 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1081 and (GikoForm.GetActiveContent.IsLogFile)
1082 and (GikoForm.GetActiveContent.Kokomade <> -1);
1084 // *************************************************************************
1085 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1086 // *************************************************************************
1087 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1089 Editor: TEditorForm;
1092 Item := GikoForm.GetActiveContent;
1093 if Item = nil then Exit;
1094 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1095 Editor.SetThreadItem(Item);
1097 Editor.BodyEdit.SetFocus;
1099 // *************************************************************************
1100 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1101 // *************************************************************************
1102 procedure TGikoDM.IEActionExecute(Sender: TObject);
1104 ShowThreadAction.Execute;
1106 // *************************************************************************
1107 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1108 // *************************************************************************
1109 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1111 ThreadItem: TThreadItem;
1113 ThreadItem := GikoForm.GetActiveContent;
1114 if ThreadItem = nil then Exit;
1115 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1117 // *************************************************************************
1118 //!
\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é
1119 // *************************************************************************
1120 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1122 ThreadItem: TThreadItem;
1124 ThreadItem := GikoForm.GetActiveContent;
1125 if ThreadItem = nil then Exit;
1126 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1128 // *************************************************************************
1129 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1130 // *************************************************************************
1131 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1136 if TObject(GikoForm.GetActiveContent) is TBoard then
1137 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1138 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1139 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1141 Clipboard.AsText := s;
1143 // *************************************************************************
1144 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1145 // *************************************************************************
1146 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1151 if TObject(GikoForm.GetActiveContent) is TBoard then
1152 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1153 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1154 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1156 Clipboard.AsText := s;
1158 // *************************************************************************
1159 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1160 // *************************************************************************
1161 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1166 if TObject(GikoForm.GetActiveContent) is TBoard then
1167 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1168 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1169 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1171 Clipboard.AsText := s;
1173 // *************************************************************************
1174 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1175 // *************************************************************************
1176 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1178 ThreadItem: TThreadItem;
1181 ThreadItem := GikoForm.GetActiveContent;
1182 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1183 if ThreadItem <> nil then
1184 GikoForm.DownloadContent(ThreadItem, shiftDown);
1186 // *************************************************************************
1187 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1188 // *************************************************************************
1189 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1193 idx := GikoForm.BrowserTab.TabIndex;
1194 if idx <> -1 then begin
1195 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1196 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1200 // *************************************************************************
1201 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1202 // *************************************************************************
1203 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1205 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1207 // *************************************************************************
1208 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1209 // *************************************************************************
1210 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1215 idx := GikoForm.BrowserTab.TabIndex;
1216 if idx = -1 then Exit;
1217 GikoForm.BrowserTab.Tabs.BeginUpdate;
1218 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1219 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1220 GikoForm.BrowserTab.Tabs.Delete(i);
1222 if idx > 0 then begin
1223 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1224 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1225 GikoForm.BrowserTab.Tabs.Delete(i);
1228 GikoForm.BrowserTab.Tabs.EndUpdate;
1230 // *************************************************************************
1231 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1232 // *************************************************************************
1233 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1235 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1237 // *************************************************************************
1238 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1239 // *************************************************************************
1240 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1244 if GikoSys.Setting.ShowDialogForAllTabClose then
1245 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
1248 GikoForm.ActiveContent := nil;
1249 GikoForm.BrowserNullTab.Thread := nil;
1250 GikoForm.BrowserTab.OnChange := nil;
1251 GikoForm.BrowserTab.Tabs.BeginUpdate;
1252 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1253 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1255 GikoForm.BrowserTab.Tabs.Clear;
1256 GikoForm.BrowserTab.Tabs.EndUpdate;
1257 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1258 GikoForm.SetContent(GikoForm.BrowserNullTab);
1259 GikoForm.Caption := CAPTION_NAME ;
1261 // *************************************************************************
1262 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1263 // *************************************************************************
1264 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1266 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';
1267 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1270 ThreadItem: TThreadItem;
1272 idx := GikoForm.BrowserTab.TabIndex;
1273 if idx <> -1 then begin
1274 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1275 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1276 if GikoSys.Setting.DeleteMsg then
1277 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1278 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1280 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1281 GikoForm.DeleteHistory(ThreadItem);
1282 ThreadItem.DeleteLogFile;
1283 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1284 GikoForm.ListView.Refresh;
1288 // *************************************************************************
1289 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1290 // *************************************************************************
1291 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1293 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1294 GikoForm.BrowserTab.TabIndex := 0;
1295 GikoForm.BrowserTab.OnChange(nil);
1298 // *************************************************************************
1299 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1300 // *************************************************************************
1301 procedure TGikoDM.LeftTabSelectActionUpdate(Sender: TObject);
1303 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1304 LeftmostTabSelectActionUpdate(Sender);
1306 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1310 // *************************************************************************
1311 //!
\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
1312 // *************************************************************************
1313 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1315 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1316 and (GikoForm.BrowserTab.TabIndex <> 0);
1318 // *************************************************************************
1319 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1320 // *************************************************************************
1321 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1323 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1324 if GikoForm.BrowserTab.TabIndex = -1 then begin
1325 GikoForm.BrowserTab.TabIndex := 0;
1326 GikoForm.BrowserTab.OnChange(nil);
1327 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1328 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1329 GikoForm.BrowserTab.OnChange(nil);
1331 if (GikoSys.Setting.LoopBrowserTabs) and
1332 (GikoForm.BrowserTab.TabIndex = 0) then begin
1333 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1334 GikoForm.BrowserTab.OnChange(nil);
1339 // *************************************************************************
1340 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1341 // *************************************************************************
1342 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1344 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1345 if GikoForm.BrowserTab.TabIndex = -1 then begin
1346 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1347 GikoForm.BrowserTab.OnChange(nil);
1348 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1349 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1350 GikoForm.BrowserTab.OnChange(nil);
1352 if (GikoSys.Setting.LoopBrowserTabs) and
1353 (GikoForm.BrowserTab.TabIndex = (GikoForm.BrowserTab.Tabs.Count - 1)) then begin
1354 GikoForm.BrowserTab.TabIndex := 0;
1355 GikoForm.BrowserTab.OnChange(nil);
1360 // *************************************************************************
1361 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1362 // *************************************************************************
1363 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1365 if ( not GikoSys.Setting.LoopBrowserTabs ) then begin
1366 RightmostTabSelectActionUpdate(Sender);
1368 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1372 // *************************************************************************
1373 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1374 // *************************************************************************
1375 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1377 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1378 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1379 GikoForm.BrowserTab.OnChange(nil);
1382 // *************************************************************************
1383 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
1384 // *************************************************************************
1385 procedure TGikoDM.RightmostTabSelectActionUpdate(Sender: TObject);
1387 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1388 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1391 // *************************************************************************
1392 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1393 // *************************************************************************
1394 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1396 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1397 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1399 // *************************************************************************
1400 //!
\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
1401 // *************************************************************************
1402 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1404 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1405 and (GikoForm.ListView.SelCount > 0);
1407 // *************************************************************************
1408 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1409 // *************************************************************************
1410 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1412 Dlg: TListSelectDialog;
1413 FilterList : TStringList;
1416 Dlg := TListSelectDialog.Create(GikoForm);
1418 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1419 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1421 if Dlg.ModalResult = mrOK then begin
1422 SelectResAction.Checked := True;
1423 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1424 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1425 ResRangeAction.Execute;
1427 GikoSys.ResRange := Ord( grrSelect );
1429 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1430 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1432 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1433 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1435 GikoSys.Setting.SelectTextList.Delete(idx);
1436 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1437 while Dlg.SelectComboBox.Items.Count > 100 do begin
1438 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1442 if GikoForm.SelectComboBoxPanel.Visible then
1443 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1447 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1448 FilterList := TStringList.Create;
1450 GikoSys.FSelectResFilter.Reverse := True;
1451 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1452 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1454 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1458 GikoForm.RepaintAllTabsBrowser();
1461 //
\83L
\83\83\83\93\83Z
\83\8b
1462 if GikoSys.ResRange <> Ord( grrSelect ) then
1463 ResRangeAction.Execute;
1470 // *************************************************************************
1471 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1472 // *************************************************************************
1473 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1475 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1476 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1478 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1479 AllResAction.Checked := True;
1481 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1482 SetResRange(Ord( grrAll ));
1484 // *************************************************************************
1485 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1486 // *************************************************************************
1487 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1489 case GikoForm.ResRangeMenuSelect of
1490 Ord( grrAll ): AllResAction.Execute;
1491 Ord( grrKoko ): OnlyKokoResAction.Execute;
1492 Ord( grrNew ): OnlyNewResAction.Execute;
1493 100: OnlyAHundredResAction.Execute;
1497 // *************************************************************************
1498 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1499 // *************************************************************************
1500 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1502 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1504 // *************************************************************************
1505 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1506 // *************************************************************************
1507 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1513 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
1514 str := ZenToHan(str);
1515 res := StrToIntDef(str, -1);
1516 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1517 GikoForm.ActiveContent.Move(IntToStr(res));
1518 SetFocusForBrowserAction.Execute;
1519 end else if res > GikoForm.GetActiveContent.Count then begin
1520 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1521 SetFocusForBrowserAction.Execute;
1525 // *************************************************************************
1526 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1527 // *************************************************************************
1528 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1533 idx := GikoForm.BrowserTab.TabIndex;
1534 if idx = -1 then Exit;
1535 GikoForm.BrowserTab.Tabs.BeginUpdate;
1536 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1537 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1538 GikoForm.BrowserTab.Tabs.Delete(i);
1540 GikoForm.BrowserTab.Tabs.EndUpdate;
1542 // *************************************************************************
1543 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1544 // *************************************************************************
1545 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1547 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1549 // *************************************************************************
1550 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1551 // *************************************************************************
1552 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1557 idx := GikoForm.BrowserTab.TabIndex;
1558 if idx = -1 then Exit;
1559 GikoForm.BrowserTab.Tabs.BeginUpdate;
1560 if idx > 0 then begin
1561 for i := idx - 1 downto 0 do begin
1562 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1563 GikoForm.BrowserTab.Tabs.Delete(i);
1566 GikoForm.BrowserTab.Tabs.EndUpdate;
1568 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1569 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1571 // 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
1572 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1573 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1574 TDefaultFileManager.CopyDefaultFiles(
1575 GikoSys.GetAppDir + 'defaultFiles.ini');
1577 // *************************************************************************
1578 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1579 // *************************************************************************
1580 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1585 if GikoForm.SearchDialog = nil then begin
1586 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1587 chk := GikoForm.GetActiveList
1591 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1592 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1596 GikoForm.SearchDialog.Show;
1600 // *************************************************************************
1601 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1602 // *************************************************************************
1603 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1607 Dlg := TOptionDialog.Create(GikoForm);
1614 // *************************************************************************
1615 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1616 // *************************************************************************
1617 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1621 Dlg := TRoundDialog.Create(GikoForm);
1628 // *************************************************************************
1629 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1630 // *************************************************************************
1631 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1633 Dlg: TKeySettingForm;
1635 Dlg := TKeySettingForm.Create(GikoForm);
1637 if Dlg.ShowModal = mrOk then begin
1638 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1639 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1640 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1645 MouseGesture.UnHook;
1646 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1647 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1648 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1649 if GikoSys.Setting.GestureEnabled then begin
1650 GikoSys.Setting.Gestures.ClearGesture;
1651 GikoSys.Setting.Gestures.LoadGesture(
1652 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1653 MouseGesture.SetHook( GikoForm.Handle );
1657 // *************************************************************************
1658 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1659 // *************************************************************************
1660 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1662 Dlg: TKotehanDialog;
1664 Dlg := TKotehanDialog.Create(GikoForm);
1671 // *************************************************************************
1672 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1673 // *************************************************************************
1674 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1676 Dlg: TToolBarSettingDialog;
1679 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1681 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1682 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1683 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1684 case GikoForm.ToolBarSettingSender of
1685 tssMain: Dlg.ToolBarIndex := 0;
1686 tssList: Dlg.ToolBarIndex := 1;
1687 tssBrowser: Dlg.ToolBarIndex := 2;
1689 if Dlg.ShowModal = mrOK then begin
1690 GikoForm.SetToolBarPopup;
1692 //
\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é
1693 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1694 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1695 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1696 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1697 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1699 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1700 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1701 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1702 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1703 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1705 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1706 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1707 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1708 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1709 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1712 SaveToolBarSetting(GikoForm.StdToolBar);
1713 SaveToolBarSetting(GikoForm.ListToolBar);
1714 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1715 GikoForm.SetSelectComboBox;
1716 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1717 SaveToolBarSetting(GikoForm.BrowserToolBar);
1721 GikoForm.ToolBarSettingSender := tssNone;
1724 // *************************************************************************
1725 //!
\83~
\83\85\81[
\83g
1726 // *************************************************************************
1727 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1729 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1731 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1732 // *************************************************************************
1733 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1734 // *************************************************************************
1735 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1738 TmpTreeNode: TTreeNode;
1740 TmpTreeNode := GikoForm.ClickNode;
1741 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1744 if TObject(TmpTreeNode.Data) is TBoard then
1745 Board := TBoard(TmpTreeNode.Data)
1746 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1747 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1749 if Board <> nil then
1750 GikoForm.DownloadList(Board);
1752 // *************************************************************************
1753 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1754 // *************************************************************************
1755 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1757 ThreadItem: TThreadItem;
1758 TmpTreeNode: TTreeNode;
1760 TmpTreeNode := GikoForm.ClickNode;
1761 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1764 if TObject(TmpTreeNode.Data) is TThreadItem then
1765 ThreadItem := TThreadItem(TmpTreeNode.Data)
1766 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1767 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1769 if ThreadItem <> nil then
1770 GikoForm.DownloadContent(ThreadItem);
1772 // *************************************************************************
1773 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1774 // *************************************************************************
1775 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1777 TmpTreeNode: TTreeNode;
1780 TmpTreeNode := GikoForm.ClickNode;
1781 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1782 if TObject(TmpTreeNode.Data) is TBoard then begin
1783 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1784 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1785 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1786 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1787 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1788 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1789 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1791 Clipboard.AsText := s;
1793 // *************************************************************************
1794 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1795 // *************************************************************************
1796 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1798 TmpTreeNode: TTreeNode;
1801 TmpTreeNode := GikoForm.ClickNode;
1802 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1803 if TObject(TmpTreeNode.Data) is TBoard then begin
1804 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1805 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1806 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1807 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1808 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1809 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1810 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1812 Clipboard.AsText := s;
1814 // *************************************************************************
1815 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1816 // *************************************************************************
1817 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1819 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1821 // *************************************************************************
1822 //!
\94Â
\96¼
\8c\9f\8dõ
1823 // *************************************************************************
1824 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1828 CurItem : TTreeNode;
1831 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1834 if GikoForm.TreeView.Selected = nil then
1835 CurItem := GikoForm.TreeView.Items.GetFirstNode
1837 CurItem := GikoForm.TreeView.Selected.GetNext;
1838 if CurItem = nil then
1839 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1841 while CurItem <> nil do begin
1842 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1845 CurItem := CurItem.GetNext;
1848 if CurItem = nil then begin
1849 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1850 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1851 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1855 GikoForm.TreeView.Select(CurItem);
1856 GikoForm.TreeView.SetFocus;
1858 GikoForm.TreeView.Select(CurItem);
1859 GikoForm.TreeView.SetFocus;
1860 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1861 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1874 // *************************************************************************
1875 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1876 // *************************************************************************
1877 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1881 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1882 s := GikoForm.ClickNode.Text;
1883 Clipboard.AsText := s;
1885 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1886 // *************************************************************************
1887 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1888 // *************************************************************************
1889 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1894 if GikoSys.Dolib.Connected then begin
1895 //
\83\8d\83O
\83A
\83E
\83g
1896 GikoSys.Dolib.Disconnect;
1897 LoginAction.Checked := False;
1898 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1899 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1901 TmpCursor := GikoForm.ScreenCursor;
1902 GikoForm.ScreenCursor := crHourGlass;
1904 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1905 if not GikoSys.Setting.ForcedLogin then begin
1906 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1907 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1908 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1909 if GikoSys.Setting.ReadProxy then begin
1910 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1911 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1913 GikoSys.Dolib.ProxyAddress := '';
1914 GikoSys.Dolib.ProxyPort := 0;
1916 if GikoSys.Dolib.Connect then begin
1917 LoginAction.Checked := True;
1918 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1919 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1920 //LoginToolButton.Style := tbsCheck;
1922 // 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);
1923 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1924 GikoForm.PlaySound('Error');
1925 LoginAction.Checked := False;
1926 //LoginToolButton.Down := False;
1927 ///LoginToolButton.Style := tbsButton;
1930 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
1931 + '
\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
1932 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1933 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1934 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1935 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1936 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1937 if GikoSys.Setting.ReadProxy then begin
1938 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1939 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1941 GikoSys.Dolib.ProxyAddress := '';
1942 GikoSys.Dolib.ProxyPort := 0;
1944 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1945 GikoSys.Dolib.ForcedConnect;
1946 if GikoSys.Dolib.Connect then begin
1947 LoginAction.Checked := True;
1948 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1949 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1950 //LoginToolButton.Style := tbsCheck;
1952 // 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);
1953 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1954 GikoForm.PlaySound('Error');
1955 LoginAction.Checked := False;
1956 //LoginToolButton.Down := False;
1957 //LoginToolButton.Style := tbsButton;
1960 LoginAction.Checked := False;
1961 //LoginToolButton.Down := False;
1962 //LoginToolButton.Style := tbsButton;
1966 GikoForm.ScreenCursor := TmpCursor;
1970 // *************************************************************************
1971 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1972 // *************************************************************************
1973 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
1975 Dlg: TNewBoardDialog;
1978 if (EditorFormExists) then begin
1979 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
1980 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
1983 Dlg := TNewBoardDialog.Create(GikoForm);
1990 // *************************************************************************
1991 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1992 // *************************************************************************
1993 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
1995 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';
1996 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';
1997 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1999 ThreadItem: TThreadItem;
2000 TmpListItem: TListItem;
2004 List := TList.Create;
2006 TmpListItem := GikoForm.ListView.Selected;
2007 while TmpListItem <> nil do begin
2008 if TObject(TmpListItem.Data) is TThreadItem then begin
2009 ThreadItem := TThreadItem(TmpListItem.Data);
2010 if ThreadItem.IsLogFile then
2011 List.Add(ThreadItem);
2013 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
2016 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
2017 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
2018 if List.Count = 1 then begin
2019 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
2022 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
2028 for i := 0 to List.Count - 1 do begin
2029 ThreadItem := TThreadItem(List[i]);
2030 GikoForm.DeleteHistory(ThreadItem);
2031 GikoForm.DeleteTab(ThreadItem);
2032 ThreadItem.DeleteLogFile;
2034 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
2036 GikoForm.ListView.Refresh;
2041 // *************************************************************************
2042 //! 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Ê
2043 // *************************************************************************
2044 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
2046 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
2047 and (GikoForm.ListView.SelCount > 0);
2049 // *************************************************************************
2050 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2051 // *************************************************************************
2052 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
2054 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';
2055 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2057 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2058 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2060 GikoSys.Setting.SelectTextList.Clear;
2061 GikoForm.SelectComboBox.Items.Clear;
2062 GikoForm.SelectComboBox.Text := '';
2063 GikoForm.SetListViewType( gvtAll );
2065 // *************************************************************************
2066 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2067 // *************************************************************************
2068 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2070 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';
2071 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2073 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2074 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2076 GikoSys.Setting.NameList.Clear;
2077 ClearNameTextAllEditor
2079 // *************************************************************************
2080 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2081 // *************************************************************************
2082 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2084 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';
2085 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2087 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2088 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2090 GikoSys.Setting.MailList.Clear;
2093 // *************************************************************************
2094 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2095 // *************************************************************************
2096 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2100 // *************************************************************************
2101 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2102 // *************************************************************************
2103 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2105 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2107 // *************************************************************************
2108 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2109 // *************************************************************************
2110 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2112 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2113 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2115 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2118 // *************************************************************************
2119 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2120 // *************************************************************************
2121 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2128 List := TList.Create;
2130 GikoForm.ScreenCursor := crHourGlass;
2131 GikoForm.SelectListItem(List);
2132 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2133 (GikoSys.Setting.ListHeightState = glsMax)) or
2134 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2135 (GikoSys.Setting.ListWidthState = glsMax)) then
2136 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2137 else if(List.Count = 0) then
2138 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2141 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2142 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2144 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2145 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2147 for i := 0 to List.Count - 1 do begin
2148 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2150 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2152 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2154 if SaveDialog.Execute then begin
2156 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2157 PChar(SaveDialog.FileName), true);
2159 html := TStringList.Create;
2160 title := TThreadItem(List[i]).Title;
2162 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2163 html.SaveToFile(SaveDialog.FileName);
2164 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2174 GikoForm.ScreenCursor := crDefault;
2178 // *************************************************************************
2179 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2180 // *************************************************************************
2181 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2183 SelectThreadSaveToFile(false);
2185 // *************************************************************************
2186 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2187 // *************************************************************************
2188 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2190 SelectThreadSaveToFile(true);
2192 // *************************************************************************
2193 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2194 // *************************************************************************
2195 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2197 Filename = 'tab.sav';
2198 bFilename = '~tab.sav';
2200 SaveStringList: TStringList;
2202 SaveStringList := TStringList.Create;
2204 GetTabURLs(SaveStringList);
2206 if FileExists( GikoSys.GetAppDir + Filename) then begin
2207 CopyFile(PChar(GikoSys.GetAppDir + Filename),
2208 PChar(GikoSys.GetAppDir + bFilename), False);
2212 SaveStringList.SaveToFile(GikoSys.GetAppDir + Filename);
2214 SaveStringList.Free;
2217 // *************************************************************************
2218 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82É
\90Ý
\92è
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\8eæ
\93¾
2219 // *************************************************************************
2220 procedure TGikoDM.GetTabURLs(AStringList: TStringList);
2222 rec : TBrowserRecord;
2225 for i := 0 to GikoForm.BrowserTab.Tabs.Count -1 do begin
2227 rec := TBrowserRecord( GikoForm.BrowserTab.Tabs.Objects[ i ] );
2228 if( rec <> nil) and (rec.Thread <> nil) then
2229 AStringList.Add( rec.Thread.URL );
2234 // *************************************************************************
2235 //!
\8ew
\92è
\82³
\82ê
\82½URL
\82ð
\8aJ
\82«
\81C
\90æ
\93ª
\82Ì
\83^
\83u
\82É
\83t
\83H
\81[
\83J
\83X
\82·
\82é
2236 // *************************************************************************
2237 procedure TGikoDM.OpenURLs(AStringList: TStringList);
2239 GikoTab : TGikoTabAppend;
2243 if (AStringList <> nil) then begin
2244 GikoTab := GikoSys.Setting.BrowserTabAppend;
2246 bound := AStringList.Count - 1;
2247 if bound > -1 then begin
2248 GikoSys.Setting.BrowserTabAppend := gtpLast;
2249 for i := 0 to bound do begin
2250 item := BBSsFindThreadFromURL( AStringList[ i ] );
2252 GikoForm.InsertBrowserTab( item, false );
2254 //
\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Ñ
2255 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
2256 GikoForm.BrowserTab.OnChange(nil);
2260 GikoSys.Setting.BrowserTabAppend := GikoTab;
2264 // *************************************************************************
2265 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2266 // *************************************************************************
2267 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2269 TABFILE = 'tab.sav';
2274 URLs := TStringList.Create();
2276 fileName := ExtractFilePath(Application.ExeName) + TABFILE;
2277 if FileExists(fileName) then begin
2279 URLs.LoadFromFile(fileName);
2280 if (URLs.Count = 0) then begin
2281 //
\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
2282 SysUtils.DeleteFile(fileName);
2287 on EFOpenError do ShowMessage('
\83^
\83u
\83t
\83@
\83C
\83\8b\82ª
\8aJ
\82¯
\82Ü
\82¹
\82ñ');
2294 if (GikoForm.BrowserTab.Tabs.Count = 0) and
2295 (TabsOpenAction.Tag <> 1) then begin
2296 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2299 // *************************************************************************
2300 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2301 // *************************************************************************
2302 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2304 GikoSys.Setting.BeLogin := not GikoSys.Setting.BeLogin;
2306 // *************************************************************************
2307 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
2308 // *************************************************************************
2309 procedure TGikoDM.BeLogInOutActionUpdate(Sender: TObject);
2311 if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
2312 if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
2313 else BeLogInOutAction.Checked := false;
2314 BeLogInOutAction.Enabled := true
2316 BeLogInOutAction.Enabled := false;
2318 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2319 // *************************************************************************
2320 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2321 // *************************************************************************
2322 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2325 ThreadItem: TThreadItem;
2327 No := GikoForm.KokoPopupMenu.Tag;
2328 if No = 0 then Exit;
2329 ThreadItem := GikoForm.GetActiveContent;
2330 if ThreadItem = nil then Exit;
2331 ThreadItem.Kokomade := No;
2332 GikoForm.ActiveContent.Thread.ScrollTop :=
2333 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2334 GikoForm.ActiveContent.Repaint := true;
2335 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2336 //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é
2337 //Application.ProcessMessages;
2339 // *************************************************************************
2340 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2341 // *************************************************************************
2342 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2344 ThreadItem: TThreadItem;
2346 ThreadItem := GikoForm.GetActiveContent;
2347 if ThreadItem = nil then Exit;
2348 ThreadItem.Kokomade := -1;
2349 GikoForm.ActiveContent.Thread.ScrollTop :=
2350 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2351 GikoForm.ActiveContent.Repaint := true;
2352 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2353 //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é
2354 //Application.ProcessMessages;
2356 // *************************************************************************
2357 //!
\83R
\83R
\82É
\83\8c\83X
2358 // *************************************************************************
2359 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2361 Editor: TEditorForm;
2365 Number := GikoForm.KokoPopupMenu.Tag;
2366 if Number = 0 then Exit;
2367 Item := GikoForm.GetActiveContent;
2368 if Item = nil then Exit;
2370 Editor := TEditorForm.Create(GikoForm);
2371 Editor.SetThreadItem(Item);
2372 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2374 Editor.BodyEdit.SetFocus;
2376 // *************************************************************************
2377 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2378 // *************************************************************************
2379 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2381 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2383 // *************************************************************************
2384 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2385 // *************************************************************************
2386 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2388 ThreadItem : TThreadItem;
2389 No, count, rc : Integer;
2393 No := GikoForm.KokoPopupMenu.Tag;
2394 if No = 0 then Exit;
2395 ThreadItem := GikoForm.GetActiveContent;
2396 if ThreadItem = nil then Exit;
2397 count := GikoSys.GetSameIDResCount(No, GikoForm.ActiveContent.Thread);
2399 if count > 20 then begin
2400 rc := GikoUtil.MsgBox(GikoForm.Handle,
2401 '20
\8cÂ
\88È
\8fã
\82 \82è
\82Ü
\82·
\82ª
\81A
\82·
\82×
\82Ä
\95\
\8e¦
\82µ
\82Ü
\82·
\82©
\81H',
2402 'ID
\83|
\83b
\83v
\83A
\83b
\83v
\8cx
\8d\90',
2403 MB_YESNO or MB_ICONQUESTION);
2404 limited := rc <> ID_YES;
2406 body := GikoSys.GetSameIDResAnchor(No, ThreadItem, limited);
2407 GikoForm.ActiveContent.IDAnchorPopup(body);
2409 // *************************************************************************
2410 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2411 // *************************************************************************
2412 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2414 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2416 // *************************************************************************
2417 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2418 // *************************************************************************
2419 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2421 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2423 // *************************************************************************
2424 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2425 // *************************************************************************
2426 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2428 IndividualForm :TIndividualAbonForm;
2429 ThreadItem : TThreadItem;
2431 ReadList : TStringList;
2432 wordCount : TWordCount;
2434 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2436 ThreadItem := GikoForm.GetActiveContent;
2437 ThreadItem.ScrollTop :=
2438 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2439 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2440 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2441 ReadList := TStringList.Create;
2442 wordCount := TWordCount.Create;
2444 {$IFDEF SPAM_FILTER_ENABLED}
2445 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2446 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2447 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2448 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2449 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2451 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2452 GikoForm.ActiveContent.Repaint := true;
2453 GikoForm.InsertBrowserTab( ThreadItem, True );
2460 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2461 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2465 IndividualForm.Release;
2468 // *************************************************************************
2469 //!
\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
2470 // *************************************************************************
2471 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2473 IndividualForm :TIndividualAbonForm;
2474 ThreadItem : TThreadItem;
2476 ReadList : TStringList;
2477 wordCount : TWordCount;
2478 {$IFDEF SPAM_FILTER_ENABLED}
2482 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2484 ThreadItem := GikoForm.GetActiveContent;
2485 ThreadItem.ScrollTop :=
2486 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2487 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2488 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2489 if (IndividualForm.ShowModal = mrOK) then begin
2490 ReadList := TStringList.Create;
2491 wordCount := TWordCount.Create;
2493 {$IFDEF SPAM_FILTER_ENABLED}
2494 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2495 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2496 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2497 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2498 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2499 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2502 if IndividualForm.FRepaint then begin
2503 GikoForm.ActiveContent.Repaint := true;
2504 GikoForm.InsertBrowserTab( ThreadItem, True );
2512 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2513 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2517 IndividualForm.Release;
2520 // *************************************************************************
2521 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2522 // *************************************************************************
2523 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2525 GikoForm.IndividualAbonID(1);
2527 // *************************************************************************
2528 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2529 // *************************************************************************
2530 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2532 GikoForm.IndividualAbonID(0);
2534 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2535 // *************************************************************************
2536 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2537 // *************************************************************************
2538 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2540 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2542 // *************************************************************************
2543 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2544 // *************************************************************************
2545 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2547 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2549 // *************************************************************************
2550 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2551 // *************************************************************************
2552 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2554 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2556 // *************************************************************************
2557 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2558 // *************************************************************************
2559 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2561 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2563 // *************************************************************************
2564 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2565 // *************************************************************************
2566 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2570 Dlg := TAboutDialog.Create(GikoForm);
2577 // *************************************************************************
2578 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2579 // *************************************************************************
2580 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2584 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2585 if not FileExists(FileName) then begin
2588 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2589 '
\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 +
2590 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2595 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2597 // *************************************************************************
2598 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2599 // *************************************************************************
2600 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2602 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2604 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2605 // *************************************************************************
2606 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2607 // *************************************************************************
2608 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2610 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2611 GikoForm.ListView.Refresh;
2613 // *************************************************************************
2614 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2615 // *************************************************************************
2616 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2618 if GikoForm.GetActiveList is TBoard then begin
2619 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2620 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2621 end else if GikoForm.GetActiveList is TCategory then begin
2622 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2625 // *************************************************************************
2626 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2627 // *************************************************************************
2628 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2630 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS);
2632 // *************************************************************************
2633 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2634 // *************************************************************************
2635 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2637 case GikoForm.ListView.ViewStyle of
2638 vsIcon: SmallIconAction.Execute;
2639 vsSmallIcon: ListIconAction.Execute;
2640 vsList: DetailIconAction.Execute;
2641 vsReport: LargeIconAction.Execute;
2644 // *************************************************************************
2645 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2646 // *************************************************************************
2647 procedure TGikoDM.ClearSelectComboBox;
2649 if GikoForm.SelectComboBoxPanel.Visible then begin
2650 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2651 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2652 GikoForm.ListView.SetFocus;
2655 // *************************************************************************
2656 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2657 // *************************************************************************
2658 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2661 if GikoForm.ViewType <> gvtAll then
2662 GikoForm.SetListViewType(gvtAll);
2663 GikoSys.Setting.ThreadRange := gtrAll;
2664 AllItemAction.Checked := True;
2665 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2666 GikoForm.ModifySelectList;
2667 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2668 ClearSelectComboBox;
2672 // *************************************************************************
2673 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2674 // *************************************************************************
2675 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2678 if GikoForm.ViewType <> gvtLog then
2679 GikoForm.SetListViewType(gvtLog);
2680 GikoSys.Setting.ThreadRange := gtrLog;
2681 LogItemAction.Checked := True;
2682 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2683 GikoForm.ModifySelectList;
2684 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2685 ClearSelectComboBox;
2689 // *************************************************************************
2690 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2691 // *************************************************************************
2692 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2696 if GikoForm.ViewType <> gvtNew then
2697 GikoForm.SetListViewType(gvtNew);
2698 GikoSys.Setting.ThreadRange := gtrNew;
2699 NewItemAction.Checked := True;
2700 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2701 GikoForm.ModifySelectList;
2702 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2703 ClearSelectComboBox;
2707 // *************************************************************************
2708 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2709 // *************************************************************************
2710 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2713 if GikoForm.ViewType <> gvtArch then
2714 GikoForm.SetListViewType(gvtArch);
2715 GikoSys.Setting.ThreadRange := gtrArch;
2716 ArchiveItemAction.Checked := True;
2717 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2718 GikoForm.ModifySelectList;
2719 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2720 ClearSelectComboBox;
2724 // *************************************************************************
2725 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2726 // *************************************************************************
2727 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2730 if GikoForm.ViewType <> gvtLive then
2731 GikoForm.SetListViewType(gvtLive);
2732 GikoSys.Setting.ThreadRange := gtrLive;
2733 LiveItemAction.Checked := True;
2734 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2735 GikoForm.ModifySelectList;
2736 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2737 ClearSelectComboBox;
2742 // *************************************************************************
2743 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2744 // *************************************************************************
2745 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2747 case GikoSys.Setting.ThreadRange of
2748 gtrAll: AllItemAction.Execute;
2749 gtrLog: LogItemAction.Execute;
2750 gtrNew: NewItemAction.Execute;
2751 gtrArch: ArchiveItemAction.Execute;
2752 gtrLive: LiveItemAction.Execute;
2755 // *************************************************************************
2756 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2757 // *************************************************************************
2758 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2761 Dlg: TListSelectDialog;
2764 if GikoForm.SelectComboBoxPanel.Visible then begin
2765 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2766 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2767 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2768 if GikoSys.Setting.ListWidthState = glsMax then
2769 BrowserMinAction.Execute;
2771 if GikoSys.Setting.ListHeightState = glsMax then
2772 BrowserMinAction.Execute;
2774 GikoForm.SelectComboBox.SetFocus;
2781 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2782 GikoForm.SelectComboBox.Text := '';
2783 GikoForm.SelectComboBox.Color := clWindow;
2786 AllItemAction.Checked := False;
2787 LogItemAction.Checked := False;
2788 NewItemAction.Checked := False;
2789 //SelectItemAction.Checked := True;
2790 GikoForm.ModifySelectList;
2791 Dlg := TListSelectDialog.Create(GikoForm);
2793 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2794 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2796 if Dlg.ModalResult = mrCancel then begin
2797 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2798 AllItemAction.Checked := True;
2799 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2800 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2803 if GikoForm.GetActiveList is TBoard then
2804 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2806 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2808 GikoSys.Setting.SelectTextList.Delete(idx);
2809 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2810 while Dlg.SelectComboBox.Items.Count > 100 do begin
2811 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2814 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2815 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2816 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2818 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2819 GikoForm.SelectComboBox.Color := clWindow;
2821 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2827 // *************************************************************************
2828 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2829 // *************************************************************************
2830 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2832 Editor: TEditorForm;
2834 if not (GikoForm.GetActiveList is TBoard) then
2836 Editor := TEditorForm.Create(GikoForm);
2837 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2839 Editor.BodyEdit.SetFocus;
2841 // *************************************************************************
2842 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2843 // *************************************************************************
2844 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2848 if GikoForm.GetActiveList is TBoard then begin
2849 URL := TBoard(GikoForm.GetActiveList).URL;
2850 GikoSys.OpenBrowser(URL, gbtAuto);
2853 // *************************************************************************
2854 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2855 // *************************************************************************
2856 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2863 List := TList.Create;
2865 GikoForm.SelectListItem(List);
2866 for i := 0 to List.Count - 1 do begin
2867 if TObject(List[i]) is TBoard then
2868 s := s + TBoard(List[i]).URL + #13#10
2869 else if TObject(List[i]) is TThreadItem then
2870 s := s + TThreadItem(List[i]).URL + #13#10;
2873 Clipboard.AsText := s;
2878 // *************************************************************************
2879 //!
\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
2880 // *************************************************************************
2881 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2883 if ((GikoForm.GetActiveList is TBoard) or
2884 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2885 TAction(Sender).Enabled := True
2887 TAction(Sender).Enabled := False;
2889 // *************************************************************************
2890 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2891 // *************************************************************************
2892 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2899 List := TList.Create;
2901 GikoForm.SelectListItem(List);
2902 for i := 0 to List.Count - 1 do begin
2903 if TObject(List[i]) is TBoard then
2904 s := s + TBoard(List[i]).Title + #13#10
2905 else if TObject(List[i]) is TThreadItem then
2906 s := s + TThreadItem(List[i]).Title + #13#10;
2909 Clipboard.AsText := s;
2914 // *************************************************************************
2915 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2916 // *************************************************************************
2917 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2919 if ((GikoForm.GetActiveList is TBoard) or
2920 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2921 TAction(Sender).Enabled := True
2923 TAction(Sender).Enabled := False;
2925 // *************************************************************************
2926 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2927 // *************************************************************************
2928 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2935 List := TList.Create;
2937 GikoForm.SelectListItem(List);
2938 for i := 0 to List.Count - 1 do begin
2939 if TObject(List[i]) is TBoard then
2940 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2941 else if TObject(List[i]) is TThreadItem then
2942 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
2945 Clipboard.AsText := s;
2950 // *************************************************************************
2951 //!
\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é
2952 // *************************************************************************
2953 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
2960 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2961 GikoForm.ActiveListColumnSave;
2962 if GikoForm.GetActiveList is TCategory then begin
2963 List := TList.Create;
2965 GikoForm.SelectListItem(List);
2966 if List.Count > 5 then begin
2967 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
2968 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
2969 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
2972 for i := 0 to List.Count - 1 do begin
2973 if TObject(List[i]) is TBoard then
2974 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
2979 end else if GikoForm.GetActiveList is TBoard then begin
2980 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
2983 // *************************************************************************
2984 //!
\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
2985 // *************************************************************************
2986 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
2988 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
2989 TAction(Sender).Enabled := True
2990 else if GikoForm.GetActiveList is TBoard then
2991 TAction(Sender).Enabled := True
2993 TAction(Sender).Enabled := False;
2995 // *************************************************************************
2996 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
2997 // *************************************************************************
2998 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
3005 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
3006 List := TList.Create;
3008 GikoForm.SelectListItem(List);
3009 if List.Count > 10 then begin
3010 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
3011 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
3012 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
3015 for i := 0 to List.Count - 1 do begin
3016 if TObject(List[i]) is TThreadItem then
3017 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
3023 // *************************************************************************
3024 //!
\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
3025 // *************************************************************************
3026 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
3028 TAction(Sender).Enabled :=
3029 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
3031 // *************************************************************************
3032 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
3033 // *************************************************************************
3034 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
3036 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
3037 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
3039 // *************************************************************************
3040 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
3041 // *************************************************************************
3042 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
3047 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
3048 List := TList.Create;
3050 GikoForm.SelectListItem(List);
3051 for i := 0 to List.Count - 1 do begin
3052 if TObject(List[i]) is TThreadItem then begin
3053 if TThreadItem(List[i]).IsLogFile then begin
3054 SelectReservAction.Enabled := True;
3059 SelectReservAction.Enabled := False;
3063 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
3064 SelectReservAction.Enabled := True
3066 SelectReservAction.Enabled := False;
3068 // *************************************************************************
3069 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
3070 // *************************************************************************
3071 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
3074 Dlg: TRoundNameDialog;
3078 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
3079 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
3082 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
3083 cnt := RoundList.Count[grtBoard];
3084 cnt := cnt + RoundList.Count[grtItem];
3085 if cnt > 500 then begin
3086 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
3090 Dlg := TRoundNameDialog.Create(GikoForm);
3093 if Dlg.ModalResult <> mrCancel then begin
3094 s := Trim(Dlg.RoundNameEdit.Text);
3095 if (Sender is TMenuItem) then begin
3096 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
3097 end else if (Sender is TAction) then begin
3098 if (GikoForm.ListView.Selected <> nil) then begin
3099 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3100 GikoForm.SetSelectItemRound(True, s,
3101 TThreadItem(GikoForm.ListView.Selected.Data).Title);
3102 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3103 GikoForm.SetSelectItemRound(True, s,
3104 TBoard(GikoForm.ListView.Selected.Data).Title);
3108 GikoForm.ListView.Refresh;
3114 // *************************************************************************
3115 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
3116 // *************************************************************************
3117 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
3121 if (Sender is TMenuItem) then begin
3123 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
3126 end else if (Sender is TAction) then begin
3128 if GikoForm.ListView.Selected <> nil then begin
3129 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
3130 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
3131 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
3132 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3134 GikoForm.SetSelectItemRound(False, '', s);
3140 GikoForm.ListView.Refresh;
3142 // *************************************************************************
3143 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3144 // *************************************************************************
3145 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3147 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3148 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3150 // *************************************************************************
3151 //!
\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
3152 // *************************************************************************
3153 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3155 BoardFavoriteAddAction.Enabled :=
3156 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3158 // *************************************************************************
3159 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3160 // *************************************************************************
3161 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3165 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3166 (GikoSys.Setting.ListHeightState = glsMax)) or
3167 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3168 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3169 if(GikoForm.GetActiveContent <> nil) then begin
3170 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3172 end else if GikoForm.GetActiveList is TCategory then begin
3173 List := TList.Create;
3175 GikoForm.SelectListItem(List);
3176 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3180 end else if GikoForm.GetActiveList is TBoard then begin
3181 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3185 // *************************************************************************
3186 //! 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Ê
3187 // *************************************************************************
3188 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3190 if ((GikoForm.GetActiveList is TBoard) or (GikoForm.GetActiveList is TCategory))
3191 and (GikoForm.ListView.SelCount > 0) then
3192 TAction(Sender).Enabled := True
3194 TAction(Sender).Enabled := False;
3196 // *************************************************************************
3197 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3198 // *************************************************************************
3199 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3201 RefURL, URL : string;
3205 if GikoForm.GetActiveList is TCategory then begin
3206 List := TList.Create;
3208 GikoForm.SelectListItem(List);
3209 RefURL := TBoard(List[0]).URL;
3213 end else if GikoForm.GetActiveList is TBoard then begin
3214 RefURL := TBoard(GikoForm.GetActiveList).URL
3216 if RefURL <> '' then begin
3217 if RefURL[Length(RefURL)] <> '/' then
3218 URL := RefURL + '/' + 'head.txt'
3220 URL := RefURL + 'head.txt';
3222 GikoForm.MoveToURL(URL);
3224 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3228 // *************************************************************************
3229 //!
\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é
3230 // *************************************************************************
3231 function TGikoDM.GetSortProperties(List: TObject;
3232 var vSortOrder: Boolean): Boolean;
3235 if (List <> nil) then begin
3236 if (List is TBBS) then begin
3237 vSortOrder := GikoSys.Setting.BBSSortOrder;
3238 end else if (List is TCategory) then begin
3239 vSortOrder := GikoSys.Setting.CategorySortOrder;
3240 end else if (List is TBoard) then begin
3241 vSortOrder := GikoSys.Setting.BoardSortOrder;
3249 // *************************************************************************
3250 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3251 // *************************************************************************
3252 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3257 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3258 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3259 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3260 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3262 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3263 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3270 // *************************************************************************
3271 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3272 // *************************************************************************
3273 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3277 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3278 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3279 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3281 if id > GikoForm.ListView.Columns.Count - 1 then
3283 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3284 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3290 // *************************************************************************
3291 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3292 // *************************************************************************
3293 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3297 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3298 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3299 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3302 id := GikoForm.ListView.Columns.Count - 1;
3303 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3304 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3310 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3311 // *************************************************************************
3312 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3313 // *************************************************************************
3314 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3316 CoolBand: TCoolBand;
3318 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3319 if CoolBand = nil then
3321 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3322 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3323 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3325 // *************************************************************************
3326 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3327 // *************************************************************************
3328 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3330 CoolBand: TCoolBand;
3332 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3333 if CoolBand = nil then
3335 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3336 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3337 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3339 // *************************************************************************
3340 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3341 // *************************************************************************
3342 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3344 CoolBand: TCoolBand;
3346 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3347 if CoolBand = nil then
3349 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3350 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3351 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3353 // *************************************************************************
3354 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3355 // *************************************************************************
3356 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3358 CoolBand: TCoolBand;
3360 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3361 if CoolBand = nil then
3363 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3364 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3366 // *************************************************************************
3367 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3368 // *************************************************************************
3369 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3371 CoolBand: TCoolBand;
3373 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3374 if CoolBand = nil then
3376 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3377 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3379 // *************************************************************************
3380 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3381 // *************************************************************************
3382 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3384 CoolBand: TCoolBand;
3386 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3387 if CoolBand = nil then
3389 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3390 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3392 // *************************************************************************
3393 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3394 // *************************************************************************
3395 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3397 CoolBand: TCoolBand;
3399 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3400 if CoolBand = nil then
3402 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3403 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3405 // *************************************************************************
3406 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3407 // *************************************************************************
3408 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3410 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3411 GikoForm.MessagePanel.Top :=
3412 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3413 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3414 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3415 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3417 // *************************************************************************
3418 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3419 // *************************************************************************
3420 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3422 MsgBarVisibleAction.Execute;
3424 // *************************************************************************
3425 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3426 // *************************************************************************
3427 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3429 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3430 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3432 // *************************************************************************
3433 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3434 // *************************************************************************
3435 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3438 if GikoForm.CabinetPanel.Visible then begin
3439 if GikoForm.TreeType = gtt2ch then begin
3440 GikoForm.CabinetVisible( False );
3442 CabinetBBSAction.Checked := False;
3444 CabinetBBSAction.Checked := True;
3447 GikoForm.CabinetVisible( True );
3448 CabinetBBSAction.Checked := True;
3451 if GikoForm.ActiveBBS = nil then
3452 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3454 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3457 // *************************************************************************
3458 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3459 // *************************************************************************
3460 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3462 GikoForm.ShowHistoryTree;
3464 // *************************************************************************
3465 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3466 // *************************************************************************
3467 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3473 if GikoForm.CabinetPanel.Visible then begin
3474 if GikoForm.TreeType = gttFavorite then begin
3475 GikoForm.CabinetVisible( False );
3476 CabinetFavoriteAction.Checked := False;
3478 CabinetFavoriteAction.Checked := True;
3481 GikoForm.CabinetVisible( True );
3482 CabinetFavoriteAction.Checked := True;
3485 // BBS...BBS, History, Favorite
3486 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3488 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3489 for i := 0 to b do begin
3490 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3491 if item is TBBSMenuItem then begin
3492 item.Checked := False;
3493 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3494 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3498 //
\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Ö
3499 GikoForm.HistoryToolBar.Hide;
3500 GikoForm.FavoriteToolBar.Show;
3501 GikoForm.TreeView.Visible := False;
3502 GikoForm.FavoriteTreeView.Visible := True;
3504 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3505 GikoForm.TreeType := gttFavorite;
3507 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3508 CabinetBBSAction.Checked := False;
3509 CabinetHistoryAction.Checked := False;
3511 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3512 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3515 // *************************************************************************
3516 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3517 // *************************************************************************
3518 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3520 case GikoForm.TreeType of
3521 gttHistory: CabinetHistoryAction.Execute;
3522 gttFavorite: CabinetFavoriteAction.Execute;
3524 CabinetBBSAction.Execute;
3527 // *************************************************************************
3528 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3529 // *************************************************************************
3530 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3532 //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ã
3534 // *************************************************************************
3535 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3536 // *************************************************************************
3537 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3539 GikoForm.ListView.ViewStyle := vsIcon;
3540 LargeIconAction.Checked := True;
3542 // *************************************************************************
3543 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3544 // *************************************************************************
3545 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3547 GikoForm.ListView.ViewStyle := vsSmallIcon;
3548 SmallIconAction.Checked := True;
3550 // *************************************************************************
3551 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3552 // *************************************************************************
3553 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3555 GikoForm.ListView.ViewStyle := vsList;
3556 ListIconAction.Checked := True;
3558 // *************************************************************************
3559 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3560 // *************************************************************************
3561 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3563 GikoForm.ListView.ViewStyle := vsReport;
3564 DetailIconAction.Checked := True;
3566 // *************************************************************************
3567 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3568 // *************************************************************************
3569 procedure TGikoDM.StopActionExecute(Sender: TObject);
3571 GikoForm.FControlThread.DownloadAbort;
3572 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3574 GikoForm.Animate.Active := False;
3577 GikoForm.ScreenCursor := crDefault;
3579 // *************************************************************************
3580 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3581 // *************************************************************************
3582 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3584 if ArrangeAction.Checked then begin
3586 GikoForm.ViewPanel.Align := alNone;
3587 GikoForm.ListSplitter.Align := alNone;
3588 GikoForm.ThreadPanel.Align := alNone;
3590 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3591 GikoForm.ViewPanel.Align := alLeft;
3593 GikoForm.ListSplitter.Width := 5;
3594 GikoForm.ListSplitter.Align := alLeft;
3596 GikoForm.ViewPanel.Left := -10;
3598 GikoForm.ThreadPanel.Align := alClient;
3600 GikoSys.Setting.ListOrientation := gloHorizontal;
3601 case GikoSys.Setting.ListWidthState of
3603 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3604 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3605 GikoForm.ViewPanel.Width := 1;
3608 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3609 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3612 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3613 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3614 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3619 GikoForm.ViewPanel.Align := alNone;
3620 GikoForm.ListSplitter.Align := alNone;
3621 GikoForm.ThreadPanel.Align := alNone;
3623 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3624 GikoForm.ViewPanel.Align := alTop;
3626 GikoForm.ListSplitter.Height := 5;
3627 GikoForm.ListSplitter.Align := alTop;
3629 GikoForm.ViewPanel.Top := -10;
3631 GikoForm.ThreadPanel.Align := alClient;
3632 GikoSys.Setting.ListOrientation := gloVertical;
3633 case GikoSys.Setting.ListHeightState of
3635 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3636 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3637 GikoForm.ViewPanel.Height := 1;
3640 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3641 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3644 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3645 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3646 GikoForm.ViewPanel.Height :=
3647 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3652 // *************************************************************************
3653 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3654 // *************************************************************************
3655 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3657 GikoForm.CabinetPanel.Width := 150;
3658 GikoForm.MessagePanel.Height := 40;
3660 GikoForm.BrowserSizeWidth := 200;
3661 GikoForm.BrowserSizeHeight := 200;
3662 if ArrangeAction.Checked then begin
3663 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3665 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3667 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3668 if GikoSys.Setting.ListHeightState = glsMax then begin
3669 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3670 GikoSys.Setting.ListHeightState := glsNormal;
3673 if GikoSys.Setting.ListWidthState = glsMax then begin
3674 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3675 GikoSys.Setting.ListWidthState := glsNormal;
3679 // *************************************************************************
3680 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3681 // *************************************************************************
3682 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3684 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3685 GikoForm.SetBrowserTabState;
3687 // *************************************************************************
3688 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3689 // *************************************************************************
3690 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3692 BrowserTabBottomAction.Checked := False;
3693 BrowserTabTopAction.Checked := True;
3694 GikoSys.Setting.BrowserTabPosition := gtpTop;
3695 GikoForm.SetBrowserTabState;
3697 // *************************************************************************
3698 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3699 // *************************************************************************
3700 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3702 BrowserTabTopAction.Checked := False;
3703 BrowserTabBottomAction.Checked := True;
3704 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3705 GikoForm.SetBrowserTabState;
3707 // *************************************************************************
3708 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3709 // *************************************************************************
3710 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3712 BrowserTabButtonStyleAction.Checked := False;
3713 BrowserTabFlatStyleAction.Checked := False;
3714 BrowserTabTabStyleAction.Checked := True;
3715 GikoSys.Setting.BrowserTabStyle := gtsTab;
3716 GikoForm.SetBrowserTabState;
3718 // *************************************************************************
3719 //!
\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é
3720 // *************************************************************************
3721 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3723 BrowserTabTabStyleAction.Checked := False;
3724 BrowserTabFlatStyleAction.Checked := False;
3725 BrowserTabButtonStyleAction.Checked := True;
3726 GikoSys.Setting.BrowserTabStyle := gtsButton;
3727 GikoForm.SetBrowserTabState;
3729 // *************************************************************************
3730 //!
\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é
3731 // *************************************************************************
3732 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3734 BrowserTabFlatStyleAction.Checked := True;
3735 BrowserTabTabStyleAction.Checked := False;
3736 BrowserTabButtonStyleAction.Checked := False;
3737 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3738 GikoForm.SetBrowserTabState;
3740 // *************************************************************************
3741 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3742 // *************************************************************************
3743 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3745 GikoForm.ActiveContent.Browser.SetFocus;
3747 // *************************************************************************
3748 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3749 // *************************************************************************
3750 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3752 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3753 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3754 TAction(Sender).Enabled := true
3756 TAction(Sender).Enabled := false;
3758 // *************************************************************************
3759 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3760 // *************************************************************************
3761 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3763 if GikoForm.ActiveContent <> nil then
3764 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3765 GikoForm.ListView.SetFocus;
3767 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3768 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é
3770 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3771 if (GikoForm.ListView.ItemFocused <> nil) then begin
3772 GikoForm.ListView.ItemFocused.MakeVisible(False);
3775 // *************************************************************************
3776 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3777 // *************************************************************************
3778 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3780 if GikoForm.ActiveContent <> nil then
3781 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3782 if GikoForm.TreeView.Visible then begin
3783 GikoForm.TreeView.SetFocus;
3784 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3785 GikoForm.TreeView.Items.Item[0].Selected := true;
3786 end else if GikoForm.FavoriteTreeView.Visible then begin
3787 GikoForm.FavoriteTreeView.SetFocus;
3788 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3789 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3792 // *************************************************************************
3793 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3794 // *************************************************************************
3795 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3797 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3799 // *************************************************************************
3800 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3801 // *************************************************************************
3802 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3804 BrowserMinAction.Execute;
3805 SetFocusForThreadListAction.Execute;
3807 // *************************************************************************
3808 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3809 // *************************************************************************
3810 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3812 BrowserMaxAction.Execute;
3813 SetFocusForBrowserAction.Execute;
3815 // *************************************************************************
3816 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3817 // *************************************************************************
3818 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3820 if GikoForm.ListView.Selected <> nil then begin
3821 GikoForm.ListView.Selected.Focused := True;
3822 GikoForm.ListView.Selected := nil;
3825 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3826 // *************************************************************************
3827 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3828 // *************************************************************************
3829 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3831 SetThreadReadProperty(true);
3833 // *************************************************************************
3834 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3835 // *************************************************************************
3836 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3838 SetThreadReadProperty(false);
3840 // *************************************************************************
3841 //!
\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Ç
3842 // *************************************************************************
3843 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3848 List := TList.Create;
3850 GikoForm.SelectListItem(List);
3851 for i := 0 to List.Count - 1 do begin
3852 if TObject(List[i]) is TThreadItem then begin
3853 if (TThreadItem(List[i]).IsLogFile) then begin
3854 TThreadItem(List[i]).UnRead := not read;
3858 if GikoForm.TreeView.Visible then
3859 GikoForm.TreeView.Refresh;
3860 if GikoForm.ListView.Visible then
3861 GikoForm.ListView.Refresh;
3866 // *************************************************************************
3867 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3868 // *************************************************************************
3869 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3871 GikoForm.ListViewAllSelect;
3873 // *************************************************************************
3874 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3875 // *************************************************************************
3876 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3878 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3880 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3881 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3882 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3884 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 +
3885 '
\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' +
3886 '
\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';
3887 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3890 limitSize : Integer;
3893 {
\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Í
3894 \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
3895 \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õ
3896 è
\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
3897 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3899 if MsgBox(GikoForm.Handle, RECALC_MES,
3900 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3901 //è
\87\92l
\82Ì
\8am
\94F
3902 limitSize := LIMIT_SIZE;
3903 limitStr := IntToStr(limitSize);
3904 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
3905 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3906 if (limitSize < 0) then begin
3907 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3908 ThreadSizeCalcForFileActionExecute(nil);
3910 RecalcThreadSize(limitSize);
3915 //! 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
3916 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3918 i, j, tmpSize : Integer;
3921 Thread: TThreadItem;
3924 //
\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
3925 GikoForm.ScreenCursor := crHourGlass;
3927 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3928 for i := 0 to BoardGroups[0].Count - 1 do begin
3929 Obj := BoardGroups[0].Objects[i];
3930 if (Obj <> nil) then begin
3931 Board := TBoard(Obj);
3932 if not Board.IsThreadDatRead then begin
3933 GikoSys.ReadSubjectFile(Board);
3935 for j := 0 to Board.Count - 1 do begin
3936 Thread := Board.Items[j];
3937 if (Thread <> nil) and (Thread.IsLogFile)
3938 and (Thread.Size <= limit) then begin
3939 dat := TStringList.Create;
3941 tmpSize := Thread.Size;
3943 dat.LoadFromFile(Thread.GetThreadFileName);
3944 tmpSize := Length(dat.Text);
3945 tmpSize := tmpSize - dat.Count;
3948 Thread.Size := tmpSize;
3955 GikoForm.ProgressBar.StepBy(1);
3958 GikoForm.ScreenCursor := crDefault;
3960 GikoForm.ProgressBar.Position := 0;
3961 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
3963 // *************************************************************************
3964 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
3965 // *************************************************************************
3966 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
3968 form : TInputAssistForm;
3970 form := TInputAssistForm.Create(GikoForm);
3978 // *************************************************************************
3979 //!
\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é
3980 // *************************************************************************
3981 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
3983 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
3984 GikoForm.ActiveContent.OpenFindDialog;
3988 // *************************************************************************
3989 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
3990 // *************************************************************************
3991 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
3994 if GikoForm.ClickNode = nil then Exit;
3997 GikoForm.ClickNode.Text + #13#10;
4000 // *************************************************************************
4001 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\82·
\82×
\82Ä
\82Ì
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\95Â
\82¶
\82é
4002 // *************************************************************************
4003 procedure TGikoDM.CloseAllEditorActionExecute(Sender: TObject);
4007 if ( EditorFormExists ) then begin
4008 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\95Â
\82¶
\82é
4009 for i := Screen.CustomFormCount - 1 downto 0 do begin
4010 if TObject(Screen.CustomForms[i]) is TEditorForm then begin
4011 TEditorForm(Screen.CustomForms[i]).Close;
4016 // *************************************************************************
4017 //!
\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é
4018 // *************************************************************************
4019 procedure TGikoDM.CloseAllEditorActionUpdate(Sender: TObject);
4021 if (Sender is TAction) then begin
4022 TAction(Sender).Enabled := EditorFormExists;
4025 // *************************************************************************
4026 //!
\83X
\83N
\83\8a\81[
\83\93\8fã
\82ÉEditorForm
\82ª
\82¢
\82é
\82©
4027 // *************************************************************************
4028 function TGikoDM.EditorFormExists(): boolean;
4033 //
\83X
\83N
\83\8a\81[
\83\93\8fã
\82Ì
\91S
\82Ä
\82Ì
\83t
\83H
\81[
\83\80\82©
\82ç
\81AEditorForm
\82ð
\92T
\82·
4034 for i := Screen.CustomFormCount - 1 downto 0 do begin
4035 if (Screen.CustomForms[i] is TEditorForm) then begin
4042 // *************************************************************************
4043 //!
\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é
4044 // *************************************************************************
4045 procedure TGikoDM.ClearNameTextAllEditor();
4049 for i := 0 to Screen.CustomFormCount - 1 do begin
4050 if (Screen.CustomForms[i] is TEditorForm) then begin
4051 TEditorForm(Screen.CustomForms[i]).NameComboBox.Items.Clear;
4055 // *************************************************************************
4056 //!
\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é
4057 // *************************************************************************
4058 procedure TGikoDM.ClearMailAllEditor();
4062 for i := 0 to Screen.CustomFormCount - 1 do begin
4063 if TObject(Screen.CustomForms[i]) is TEditorForm then
4064 TEditorForm(Screen.CustomForms[i]).MailComboBox.Items.Clear;
4068 // *************************************************************************
4069 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
\82Ì
\8dX
\90V
\8f\88\97\9d
4070 // *************************************************************************
4071 procedure TGikoDM.PrevMoveHistoryUpdate(Sender: TObject);
4073 PrevMoveHistory.Enabled :=
4074 (MoveHisotryManager.HisotryIndex > 0)
4076 // *************************************************************************
4077 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\96ß
\82é
4078 // *************************************************************************
4079 procedure TGikoDM.PrevMoveHistoryExecute(Sender: TObject);
4081 if ( GikoForm.BrowserTab.TabIndex >= 0 ) then begin
4082 BackToHistory(MoveHisotryManager.getPrevItem
4083 (TBrowserRecord(GikoForm.BrowserTab.Tabs
4084 .Objects[GikoForm.BrowserTab.TabIndex])));
4086 BackToHistory(MoveHisotryManager.getPrevItem( nil ) );
4089 //!
\83\8a\83\93\83N
\97\9a\97ð
\8f\88\97\9d
4090 procedure TGikoDM.BackToHistory(item: TMoveHistoryItem);
4092 browser : TWebBrowser;
4095 if ( item <> nil ) then begin
4096 if ( GikoForm.GetActiveContent = item.ThreadItem ) then begin
4097 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4098 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4099 if (browser <> nil) then begin
4101 doc := Idispatch( olevariant(browser.ControlInterface).Document) as IHTMLDocument2;
4102 doc.Body.ScrollTop := item.ScrollTop;
4108 MoveURLWithHistory(item.ThreadItem.URL);
4112 //!
\97\9a\97ð
\8f\88\97\9d\82Â
\82«URL
\88Ú
\93®
4113 procedure TGikoDM.MoveURLWithHistory(URL : String);
4118 GikoForm.MoveToURL(URL);
4119 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
4120 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
4121 if idx = -1 then begin
4122 GikoForm.AddressComboBox.Items.Insert(0, URL);
4123 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
4124 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
4126 GikoForm.AddressComboBox.Items.Delete(idx);
4127 GikoForm.AddressComboBox.Items.Insert(0, URL);
4130 // *************************************************************************
4131 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
\82Ì
\8dX
\90V
\8f\88\97\9d
4132 // *************************************************************************
4133 procedure TGikoDM.NextMoveHistoryUpdate(Sender: TObject);
4135 NextMoveHistory.Enabled :=
4136 (MoveHisotryManager.HisotryIndex < MoveHisotryManager.Count - 1);
4138 // *************************************************************************
4139 //!
\83\8a\83\93\83N
\97\9a\97ð
\82ð
\90i
\82Þ
4140 // *************************************************************************
4141 procedure TGikoDM.NextMoveHistoryExecute(Sender: TObject);
4143 BackToHistory(MoveHisotryManager.getNextItem);
4145 // *************************************************************************
4146 //!
\83A
\83N
\83e
\83B
\83u
\97v
\91f
\82Ì
\83N
\83\8a\83b
\83N
4147 // *************************************************************************
4148 procedure TGikoDM.ClickActiveElementActionExecute(Sender: TObject);
4150 browser : TWebBrowser;
4151 elem : IHTMLElement;
4153 if (GikoForm.GetActiveContent <> nil) then begin
4154 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4155 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4156 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4157 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4158 if (browser <> nil) then begin
4160 elem := IHTMLDocument2(browser.Document).activeElement;
4169 //!
\81«
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4170 procedure TGikoDM.VKDownActionExecute(Sender: TObject);
4172 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY, 0);
4173 keybd_event(VK_DOWN, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4175 //!
\81ª
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4176 procedure TGikoDM.VKUpActionExecute(Sender: TObject);
4178 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY, 0);
4179 keybd_event(VK_UP, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4181 //!
\81¨
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4182 procedure TGikoDM.VKRightActionExecute(Sender: TObject);
4184 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4185 keybd_event(VK_RIGHT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4187 //!
\81©
\83L
\81[
\82Ì
\83G
\83~
\83\85\83\8c\81[
\83g
\83A
\83N
\83V
\83\87\83\93
4188 procedure TGikoDM.VKLeftActionExecute(Sender: TObject);
4190 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
4191 keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
4193 //!
\83^
\83X
\83N
\83g
\83\8c\83C
\82É
\8ai
\94[
\82·
\82é
4194 procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
4196 GikoForm.StoredTaskTray;
4197 StoredTaskTrayAction.Tag := -1;
4201 \breif
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4202 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4204 procedure TGikoDM.AllImageLinkToClipbordActionExecute(Sender: TObject);
4206 links : IHTMLElementCollection;
4209 links := GetActiveThreadLinks;
4210 if (links <> nil) then begin
4211 urls := TStringList.Create;
4213 GetImageLinkURLs(links, urls, 0);
4214 Clipboard.SetTextBuf(urls.GetText);
4222 \breif
\90V
\92\85\83\8c\83X
\82Ì
\83\8a\83\93\83N
\83C
\83\81\81[
\83W
\8eæ
\93¾
4223 \83C
\83\81\81[
\83W
\82Í
\81C*.jpg, *.jpeg, *.gif, *.png
4225 procedure TGikoDM.NewImageLinkToClipBoardActionExecute(Sender: TObject);
4227 links : IHTMLElementCollection;
4229 ThreadItem : TThreadItem;
4231 ThreadItem := GikoForm.GetActiveContent;
4232 links := GetActiveThreadLinks;
4233 if (ThreadItem <> nil) and (links <> nil) then begin
4234 urls := TStringList.Create;
4236 GetImageLinkURLs(links, urls,
4237 (ThreadItem.Count - ThreadItem.NewResCount + 1) );
4238 Clipboard.SetTextBuf(urls.GetText);
4245 \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
4246 \return IHTMLElementCollection
\83\8a\83\93\83N
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4248 function TGikoDM.GetActiveThreadLinks : IHTMLElementCollection;
4250 browser : TWebBrowser;
4253 if (GikoForm.GetActiveContent <> nil) then begin
4254 if (GikoForm.BrowserTab.Tabs.Count > 0) and
4255 (GikoForm.BrowserTab.TabIndex >= 0) then begin
4256 browser := TBrowserRecord(GikoForm.BrowserTab.Tabs
4257 .Objects[GikoForm.BrowserTab.TabIndex]).Browser;
4258 if (browser <> nil) then begin
4260 Result := IHTMLDocument2(browser.Document).links;
4270 \brief
\83C
\83\81\81[
\83W
\82Ö
\82Ì
\83\8a\83\93\83N
\82ÌURL
\82ð
\8eæ
\93¾
\82·
\82é
4271 \param links
\8eæ
\93¾
\82·
\82é
\83\8a\83\93\83N
\82Ì
\91S
\91Ì
\82Ì
\83R
\83\8c\83N
\83V
\83\87\83\93
4272 \param URLs
\8eæ
\93¾
\82µ
\82½URL
\82Ì
\95Û
\91¶
\90æ
4273 \param Start
\90Ý
\92è
\82µ
\82½
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82ð
\8eæ
\93¾( > 0)
4275 procedure TGikoDM.GetImageLinkURLs(links : IHTMLElementCollection;
4276 URLs : TStringList; const Start: Integer);
4279 item : IHTMLElement;
4282 if (links <> nil) then begin
4284 for i := 0 to links.length - 1 do begin
4285 item := links.item(i, 0) as IHTMLElement;
4286 if (item <> nil) then begin
4287 url := item.getAttribute('href', 0);
4288 //
\83\8c\83X
\82Ì
\94Ô
\8d\86\82ð
\8dX
\90V
4289 if (Pos('menu:', url) > 0) then begin
4290 index := StrToInt64Def(
4291 Copy(url, 5, Length(url)), index + 1
4294 //
\8aJ
\8en
\83\8c\83X
\94Ô
\8d\86\88È
\8d~
\82©
\83`
\83F
\83b
\83N
4295 if (index >= Start) then begin
4296 ext := ExtractFileExt( AnsiLowerCase(url) );
4297 // jpg,jpeg,gif,png
\82ð
\83`
\83F
\83b
\83N
4298 if (ext = '.jpg') or (ext = '.jpeg') or
4299 (ext = '.gif') or (ext = '.png') then begin
4309 \brief
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
4310 \param Sender
\83C
\83x
\83\93\83g
\82Ì
\94
\90¶
\8c³
4312 procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject);
4314 if ( GikoForm.AddressToolBar.Visible ) then begin
4315 GikoForm.AddressComboBox.SetFocus;
4319 \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é
4321 procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject);
4323 form : TNewBoardURLForm;
4326 if (EditorFormExists) then begin
4327 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
4328 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
4331 form := TNewBoardURLForm.Create(Self);