6 SysUtils, Classes, ExtActns, StdActns, ActnList, ImgList, Controls,
14 ComCtrls, BrowserRecord, Graphics, Messages, Setting, Dialogs,
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 TabAutoSaveAction: TAction;
196 TabAutoLoadAction: TAction;
197 JumpToNumOfResAction: TAction;
198 FavoriteTreeViewCollapseAction: TAction;
199 RightTabCloseAction: TAction;
200 LeftTabCloseAction: TAction;
201 SameIDResAnchorAction: TAction;
202 IndividualAbon1Action: TAction;
203 IndividualAbon0Action: TAction;
204 AntiIndividualAbonAction: TAction;
205 AntiIndividualAbonDlgAction: TAction;
206 IndividualAbonID1Action: TAction;
207 IndividualAbonID0Action: TAction;
209 SortActiveColumnAction: TAction;
210 SortNextColumnAction: TAction;
211 SortPrevColumnAction: TAction;
212 BeLogInOutAction: TAction;
213 UnSelectedListViewAction: TAction;
214 WikiFAQWebPageAction: TAction;
215 ToobarImageList: TImageList;
216 SaveDialog: TSaveDialog;
217 ThreadSizeCalcForFileAction: TAction;
218 SetInputAssistAction: TAction;
219 OpenFindDialogAction: TAction;
220 ArchiveItemAction: TAction;
221 LiveItemAction: TAction;
222 FavoriteTreeViewItemNameCopyAction: TAction;
223 procedure EditNGActionExecute(Sender: TObject);
224 procedure ReloadActionExecute(Sender: TObject);
225 procedure GoFowardActionExecute(Sender: TObject);
226 procedure GoBackActionExecute(Sender: TObject);
227 procedure MoveToActionExecute(Sender: TObject);
228 procedure FavoriteAddActionExecute(Sender: TObject);
229 procedure FavoriteArrangeActionExecute(Sender: TObject);
230 procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
231 procedure FavoriteTreeViewRenameActionExecute(Sender: TObject);
232 procedure FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
233 procedure FavoriteTreeViewDeleteActionExecute(Sender: TObject);
234 procedure FavoriteTreeViewBrowseFolderActionExecute(Sender: TObject);
235 procedure FavoriteTreeViewReloadActionExecute(Sender: TObject);
236 procedure FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
237 procedure FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
238 procedure FavoriteTreeViewNameURLCopyActionExecute(Sender: TObject);
239 procedure FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
240 procedure FavoriteTreeViewBrowseThreadActionExecute(Sender: TObject);
241 procedure OnlyAHundredResActionExecute(Sender: TObject);
242 procedure OnlyKokoResActionExecute(Sender: TObject);
243 procedure OnlyNewResActionExecute(Sender: TObject);
244 procedure BrowserMaxActionExecute(Sender: TObject);
245 procedure BrowserMinActionExecute(Sender: TObject);
246 procedure ScrollTopActionExecute(Sender: TObject);
247 procedure ScrollLastActionExecute(Sender: TObject);
248 procedure ScrollNewActionExecute(Sender: TObject);
249 procedure ScrollKokoActionExecute(Sender: TObject);
250 procedure ScrollKokoActionUpdate(Sender: TObject);
251 procedure EditorActionExecute(Sender: TObject);
252 procedure IEActionExecute(Sender: TObject);
253 procedure ShowThreadActionExecute(Sender: TObject);
254 procedure ShowBoardActionExecute(Sender: TObject);
255 procedure URLCopyActionExecute(Sender: TObject);
256 procedure NameCopyActionExecute(Sender: TObject);
257 procedure NameURLCopyActionExecute(Sender: TObject);
258 procedure ItemReloadActionExecute(Sender: TObject);
259 procedure BrowserTabCloseActionExecute(Sender: TObject);
260 procedure BrowserTabCloseActionUpdate(Sender: TObject);
261 procedure NotSelectTabCloseActionExecute(Sender: TObject);
262 procedure NotSelectTabCloseActionUpdate(Sender: TObject);
263 procedure AllTabCloseActionExecute(Sender: TObject);
264 procedure ActiveLogDeleteActionExecute(Sender: TObject);
265 procedure LeftmostTabSelectActionExecute(Sender: TObject);
266 procedure LeftmostTabSelectActionUpdate(Sender: TObject);
267 procedure LeftTabSelectActionExecute(Sender: TObject);
268 procedure RightTabSelectActionExecute(Sender: TObject);
269 procedure RightTabSelectActionUpdate(Sender: TObject);
270 procedure RightmostTabSelectActionExecute(Sender: TObject);
271 procedure ThreadFavoriteAddActionExecute(Sender: TObject);
272 procedure ThreadFavoriteAddActionUpdate(Sender: TObject);
273 procedure SelectResActionExecute(Sender: TObject);
274 procedure AllResActionExecute(Sender: TObject);
275 procedure ResRangeActionExecute(Sender: TObject);
276 procedure UpBoardActionExecute(Sender: TObject);
277 procedure JumpToNumOfResActionExecute(Sender: TObject);
278 procedure RightTabCloseActionExecute(Sender: TObject);
279 procedure RightTabCloseActionUpdate(Sender: TObject);
280 procedure LeftTabCloseActionExecute(Sender: TObject);
281 procedure DataModuleCreate(Sender: TObject);
282 procedure SearchActionExecute(Sender: TObject);
283 procedure OptionActionExecute(Sender: TObject);
284 procedure RoundActionExecute(Sender: TObject);
285 procedure KeySettingActionExecute(Sender: TObject);
286 procedure KotehanActionExecute(Sender: TObject);
287 procedure ToolBarSettingActionExecute(Sender: TObject);
288 procedure MuteActionExecute(Sender: TObject);
289 procedure TreeSelectBoradReloadExecute(Sender: TObject);
290 procedure TreeSelectThreadReloadExecute(Sender: TObject);
291 procedure TreeSelectURLCopyExecute(Sender: TObject);
292 procedure TreeSelectNameURLCopyExecute(Sender: TObject);
293 procedure TreeSelectFavoriteAddActionExecute(Sender: TObject);
294 procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
295 procedure TreeSelectNameCopyExecute(Sender: TObject);
296 procedure LoginActionExecute(Sender: TObject);
297 procedure NewBoardActionExecute(Sender: TObject);
298 procedure LogDeleteActionExecute(Sender: TObject);
299 procedure LogDeleteActionUpdate(Sender: TObject);
300 procedure SelectTextClearActionExecute(Sender: TObject);
301 procedure NameTextClearActionExecute(Sender: TObject);
302 procedure MailTextClearActionExecute(Sender: TObject);
303 procedure ExitActionExecute(Sender: TObject);
304 procedure ExportFavoriteFileBeforeExecute(Sender: TObject);
305 procedure ExportFavoriteFileAccept(Sender: TObject);
306 procedure SelectItemSaveForHTMLExecute(Sender: TObject);
307 procedure SelectItemSaveForDatExecute(Sender: TObject);
308 procedure TabsSaveActionExecute(Sender: TObject);
309 procedure TabsOpenActionExecute(Sender: TObject);
310 procedure TabAutoSaveActionExecute(Sender: TObject);
311 procedure TabAutoLoadActionExecute(Sender: TObject);
312 procedure BeLogInOutActionExecute(Sender: TObject);
313 procedure BeLogInOutActionUpdate(Sender: TObject);
314 procedure KokomadeActionExecute(Sender: TObject);
315 procedure ZenbuActionExecute(Sender: TObject);
316 procedure KokoResActionExecute(Sender: TObject);
317 procedure KoreCopyExecute(Sender: TObject);
318 procedure SameIDResAnchorActionExecute(Sender: TObject);
319 procedure IndividualAbon1ActionExecute(Sender: TObject);
320 procedure IndividualAbon0ActionExecute(Sender: TObject);
321 procedure AntiIndividualAbonActionExecute(Sender: TObject);
322 procedure AntiIndividualAbonDlgActionExecute(Sender: TObject);
323 procedure IndividualAbonID1ActionExecute(Sender: TObject);
324 procedure IndividualAbonID0ActionExecute(Sender: TObject);
325 procedure GikoNaviWebPageActionExecute(Sender: TObject);
326 procedure MonazillaWebPageActionExecute(Sender: TObject);
327 procedure BBS2chWebPageActionExecute(Sender: TObject);
328 procedure GikoFolderOpenActionExecute(Sender: TObject);
329 procedure AboutActionExecute(Sender: TObject);
330 procedure GikoHelpActionExecute(Sender: TObject);
331 procedure WikiFAQWebPageActionExecute(Sender: TObject);
332 procedure ListNumberVisibleActionExecute(Sender: TObject);
333 procedure UpFolderActionExecute(Sender: TObject);
334 procedure UpFolderActionUpdate(Sender: TObject);
335 procedure IconStyleExecute(Sender: TObject);
336 procedure AllItemActionExecute(Sender: TObject);
337 procedure LogItemActionExecute(Sender: TObject);
338 procedure NewItemActionExecute(Sender: TObject);
339 procedure ThreadRangeActionExecute(Sender: TObject);
340 procedure SelectItemActionExecute(Sender: TObject);
341 procedure ThreadEditorActionExecute(Sender: TObject);
342 procedure BoardIEActionExecute(Sender: TObject);
343 procedure SelectItemURLCopyActionExecute(Sender: TObject);
344 procedure SelectItemURLCopyActionUpdate(Sender: TObject);
345 procedure SelectItemNameCopyActionExecute(Sender: TObject);
346 procedure SelectItemNameCopyActionUpdate(Sender: TObject);
347 procedure SelectItemNameURLCopyActionExecute(Sender: TObject);
348 procedure SelectListReloadActionExecute(Sender: TObject);
349 procedure SelectListReloadActionUpdate(Sender: TObject);
350 procedure SelectThreadReloadActionExecute(Sender: TObject);
351 procedure SelectThreadReloadActionUpdate(Sender: TObject);
352 procedure SelectReservActionExecute(Sender: TObject);
353 procedure SelectReservActionUpdate(Sender: TObject);
354 procedure SelectNewRoundNameExecute(Sender: TObject);
355 procedure SelectDeleteRoundExecute(Sender: TObject);
356 procedure BoardFavoriteAddActionExecute(Sender: TObject);
357 procedure BoardFavoriteAddActionUpdate(Sender: TObject);
358 procedure LogFolderOpenActionExecute(Sender: TObject);
359 procedure LogFolderOpenActionUpdate(Sender: TObject);
360 procedure BrowsBoradHeadActionExecute(Sender: TObject);
361 procedure SortActiveColumnActionExecute(Sender: TObject);
362 procedure SortNextColumnActionExecute(Sender: TObject);
363 procedure SortPrevColumnActionExecute(Sender: TObject);
364 procedure StdToolBarVisibleActionExecute(Sender: TObject);
365 procedure AddressBarVisibleActionExecute(Sender: TObject);
366 procedure LinkBarVisibleActionExecute(Sender: TObject);
367 procedure ListToolBarVisibleActionExecute(Sender: TObject);
368 procedure ListNameBarVisibleActionExecute(Sender: TObject);
369 procedure BrowserToolBarVisibleActionExecute(Sender: TObject);
370 procedure BrowserNameBarVisibleActionExecute(Sender: TObject);
371 procedure MsgBarVisibleActionExecute(Sender: TObject);
372 procedure MsgBarCloseActionExecute(Sender: TObject);
373 procedure StatusBarVisibleActionExecute(Sender: TObject);
374 procedure CabinetBBSActionExecute(Sender: TObject);
375 procedure CabinetHistoryActionExecute(Sender: TObject);
376 procedure CabinetFavoriteActionExecute(Sender: TObject);
377 procedure CabinetVisibleActionExecute(Sender: TObject);
378 procedure CabinetCloseActionExecute(Sender: TObject);
379 procedure LargeIconActionExecute(Sender: TObject);
380 procedure SmallIconActionExecute(Sender: TObject);
381 procedure ListIconActionExecute(Sender: TObject);
382 procedure DetailIconActionExecute(Sender: TObject);
383 procedure StopActionExecute(Sender: TObject);
384 procedure ArrangeActionExecute(Sender: TObject);
385 procedure PaneInitActionExecute(Sender: TObject);
386 procedure BrowserTabVisibleActionExecute(Sender: TObject);
387 procedure BrowserTabTopActionExecute(Sender: TObject);
388 procedure BrowserTabBottomActionExecute(Sender: TObject);
389 procedure BrowserTabTabStyleActionExecute(Sender: TObject);
390 procedure BrowserTabButtonStyleActionExecute(Sender: TObject);
391 procedure BrowserTabFlatStyleActionExecute(Sender: TObject);
392 procedure SetFocusForBrowserActionExecute(Sender: TObject);
393 procedure SetFocusForBrowserActionUpdate(Sender: TObject);
394 procedure SetFocusForThreadListActionExecute(Sender: TObject);
395 procedure SetFocusForCabinetActionExecute(Sender: TObject);
396 procedure SetFocusForCabinetActionUpdate(Sender: TObject);
397 procedure ThreadlistMaxAndFocusActionExecute(Sender: TObject);
398 procedure BrowserMaxAndFocusActionExecute(Sender: TObject);
399 procedure UnSelectedListViewActionExecute(Sender: TObject);
400 procedure KidokuActionExecute(Sender: TObject);
401 procedure MidokuActionExecute(Sender: TObject);
402 procedure AllSelectActionExecute(Sender: TObject);
403 procedure AllSelectActionUpdate(Sender: TObject);
404 procedure ThreadSizeCalcForFileActionExecute(Sender: TObject);
405 procedure SetInputAssistActionExecute(Sender: TObject);
406 procedure OpenFindDialogActionExecute(Sender: TObject);
407 procedure ArchiveItemActionExecute(Sender: TObject);
408 procedure LiveItemActionExecute(Sender: TObject);
409 procedure FavoriteTreeViewItemNameCopyActionExecute(Sender: TObject);
412 procedure ClearResFilter;
413 procedure SetResRange(range: Integer);
414 procedure SetThreadAreaHorNormal;
415 procedure SetThreadAreaHorizontal(gls : TGikoListState);
416 procedure SetThreadAreaVerNormal;
417 procedure SetThreadAreaVertical(gls : TGikoListState);
418 procedure SetThreadReadProperty(read: Boolean);
419 procedure SelectThreadSaveToFile(dat: Boolean);
420 function GetSortProperties(List: TObject;var vSortOrder: Boolean): Boolean;
421 procedure RecalcThreadSize(limit : Integer);
422 procedure ClearSelectComboBox;
425 procedure RepaintStatusBar;
427 { Published
\90é
\8c¾ }
428 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
429 procedure DependActiveCntentActionUpdate(Sender: TObject);
430 //! 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é
431 procedure DependActiveCntentLogActionUpdate(Sender: TObject);
432 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
433 procedure DependActiveListTBoardActionUpdate(Sender: TObject);
443 Windows, Math, Clipbrd,
444 Giko, GikoSystem, GikoUtil, BoardGroup,
445 FavoriteArrange, Favorite, MojuUtils,
446 Editor, ListSelect, Search, Option, Round,
447 KeySetting, Gesture, Kotehan, ToolBarSetting,
448 ToolBarUtil, NewBoard, HTMLCreate, IndividualAbon,
449 GikoBayesian, About, ShellAPI,
450 RoundName, RoundData, Menus, ListViewUtils,
451 ThreadControl, GikoMessage, InputAssist,
455 MSG_ERROR : string = '
\83G
\83\89\81[';
458 // *************************************************************************
459 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82é
460 // *************************************************************************
461 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
463 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
465 // *************************************************************************
466 //! TAction
\82ÅGetActiveContent
\82ªnil
\88È
\8aO
\82©
\82Â
\83\8d\83O
\82ð
\8e\9d\82Á
\82Ä
\82¢
\82é
467 // *************************************************************************
468 procedure TGikoDM.DependActiveCntentLogActionUpdate(Sender: TObject);
470 TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil)
471 and (GikoForm.GetActiveContent.IsLogFile);
473 // *************************************************************************
474 //! TAction
\82ÅActiveList
\82ªTBoard
\82Å
\97L
\8cø
\82É
\82È
\82é
475 // *************************************************************************
476 procedure TGikoDM.DependActiveListTBoardActionUpdate(Sender: TObject);
478 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard);
480 // *************************************************************************
481 //! NG
\83\8f\81[
\83h
\95Ò
\8fW
482 // *************************************************************************
483 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
485 //
\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
486 GikoSys.FAbon.EditNGwords;
488 // *************************************************************************
489 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\8dÄ
\93Ç
\82Ý
\8d\9e\82Ý
\81j
490 // *************************************************************************
491 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
493 //
\83\8a\83\8d\81[
\83h
\82ð
\8eÀ
\8ds
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
494 if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
495 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½',
496 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
498 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
499 GikoForm.RepaintAllTabsBrowser();
502 // *************************************************************************
503 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\8cã
\82ë
\81j
504 // *************************************************************************
505 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
507 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
508 if GikoSys.FAbon.GoBack =false then begin
509 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½',
510 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
512 //
\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
514 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
515 GikoForm.RepaintAllTabsBrowser();
518 // *************************************************************************
519 //! NG
\83\8f\81[
\83h
\93Ç
\82Ý
\8d\9e\82Ý
\81i
\88ê
\82Â
\91O
\81j
520 // *************************************************************************
521 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
523 //
\88ê
\82Â
\8cã
\82ë
\82Ì
\93Ç
\82Ý
\8d\9e\82Ý
\81@
\8e¸
\94s
\82µ
\82½
\82ç
\83\81\83b
\83Z
\81[
\83W
\8fo
\97Í
524 if GikoSys.FAbon.GoForward =false then begin
525 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½',
526 MSG_ERROR, MB_OK or MB_ICONEXCLAMATION);
528 //
\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
530 //
\91S
\82Ä
\82Ì
\83^
\83u
\82É
\8dÄ
\95`
\89æ
\82ð
\90Ý
\92è
531 GikoForm.RepaintAllTabsBrowser();
534 // *************************************************************************
535 //! 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
536 // *************************************************************************
537 procedure TGikoDM.RepaintStatusBar;
541 //
\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
542 s := GikoSys.FAbon.NGwordname;
543 GikoForm.StatusBar.Panels.Items[GiKo.NGWORDNAME_PANEL].Text := s;
544 //
\83X
\83e
\81[
\83^
\83X
\82Ì
\95\
\8e¦
\83T
\83C
\83Y
\82Ì
\83\8a\83T
\83C
\83Y
545 GikoForm.StatusBar.Panels[GiKo.NGWORDNAME_PANEL].Width
546 := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
547 GikoForm.StatusBarResize(nil);
549 // *************************************************************************
550 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82É
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83A
\83h
\83\8c\83X
\82Ö
\88Ú
\93®
\82·
\82é
551 // *************************************************************************
552 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
557 //
\83A
\83h
\83\8c\83X
\83R
\83\93\83{
\83{
\83b
\83N
\83X
\82©
\82çURL
\82ð
\8eæ
\93¾
558 URL := Trim(GikoForm.AddressComboBox.Text);
560 GikoForm.MoveToURL(URL);
561 //
\88È
\89º
\81A
\97\9a\97ð
\82Ì
\8f\88\97\9d
562 idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
563 if idx = -1 then begin
564 GikoForm.AddressComboBox.Items.Insert(0, URL);
565 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
566 GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
568 GikoForm.AddressComboBox.Items.Delete(idx);
569 GikoForm.AddressComboBox.Items.Insert(0, URL);
572 // *************************************************************************
573 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\92Ç
\89Á
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
574 // *************************************************************************
575 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
577 GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
579 // *************************************************************************
580 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\90®
\97\9d\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
581 // *************************************************************************
582 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
584 Dlg: TFavoriteArrangeDialog;
586 Dlg := TFavoriteArrangeDialog.Create(GikoForm);
592 //
\83\8a\83\93\83N
\83o
\81[
\82É
\8dX
\90V
\82ð
\93`
\82¦
\82é
593 PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
595 // *************************************************************************
596 //!
\83c
\83\8a\81[
\82ð
\91S
\82Ä
\95Â
\82¶
\82é
597 // *************************************************************************
598 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
602 node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
604 //
\83m
\81[
\83h
\82ª
\91±
\82
\8cÀ
\82è
\81@
\83m
\81[
\83h
\82ð
\8fk
\8f¬
\82³
\82¹
\82é
605 while node <> nil do begin
606 if node.HasChildren then
607 node.Expanded := False;
608 node := node.GetNext;
613 // *************************************************************************
614 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\95Ò
\8fW
\82·
\82é
615 // *************************************************************************
616 procedure TGikoDM.FavoriteTreeViewRenameActionExecute(Sender: TObject);
621 if GikoForm.ClickNode = nil then
623 if GikoForm.ClickNode.IsFirstNode then
625 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then
627 GikoForm.FavoriteTreeView.ReadOnly := False;
628 if (GikoForm.TreeType = gttFavorite) and (GikoForm.CabinetPanel.Visible) then begin
629 node := GikoForm.ClickNode.Parent;
630 while node <> nil do begin
631 node.Expanded := True;
634 GikoForm.ClickNode.EditText;
636 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 );
638 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
639 FavoriteDM.Modified := true;
642 // *************************************************************************
643 //!
\90V
\82µ
\82
\82¨
\8bC
\82É
\93ü
\82è
\82É
\83t
\83H
\83\8b\83_
\82ð
\8dì
\90¬
\82·
\82é
644 // *************************************************************************
645 procedure TGikoDM.FavoriteTreeViewNewFolderActionExecute(Sender: TObject);
647 NewFavFolder: TFavoriteFolder;
651 if GikoForm.ClickNode = nil then
655 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteFolder) then begin
656 GikoForm.FavoriteTreeView.Selected := GikoForm.ClickNode.Parent;
657 GikoForm.ClickNode := GikoForm.ClickNode.Parent;
660 NewFavFolder := TFavoriteFolder.Create;
661 Node := GikoForm.FavoriteTreeView.Items.AddChildObject(GikoForm.ClickNode, '
\90V
\82µ
\82¢
\83t
\83H
\83\8b\83_', NewFavFolder);
662 Node.ImageIndex := 14;
663 Node.SelectedIndex := 14;
664 // FClickNode.Selected.Expanded := True;
665 GikoForm.FavoriteTreeView.Selected := Node;
666 GikoForm.ClickNode := Node;
667 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
668 FavoriteDM.Modified := true;
669 FavoriteTreeViewRenameAction.Execute;
674 // *************************************************************************
675 //!
\82±
\82Ì
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\8dí
\8f\9c\82·
\82é
676 // *************************************************************************
677 procedure TGikoDM.FavoriteTreeViewDeleteActionExecute(Sender: TObject);
679 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';
680 DEL_MSG = '
\81g^0
\81h
\82ð
\8dí
\8f\9c\82µ
\82Ü
\82·
\81B
\82æ
\82ë
\82µ
\82¢
\82Å
\82·
\82©
\81H';
681 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
684 if GikoForm.ClickNode = nil then
686 if GikoForm.ClickNode.IsFirstNode then
688 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
689 if GikoForm.ClickNode.Text = Favorite.FAVORITE_LINK_NAME then begin
690 if MsgBox(GikoForm.Handle, DEL_LINK_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
693 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
698 GikoForm.ClickNode.Delete;
699 //
\8dX
\90V
\82µ
\82½
\82±
\82Æ
\82ð
\8b³
\82¦
\82é
700 FavoriteDM.Modified := true;
705 // *************************************************************************
706 //!
\82±
\82Ì
\83t
\83H
\83\8b\83_
\82É
\93ü
\82Á
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\91S
\82Ä
\8aJ
\82
707 // *************************************************************************
708 procedure TGikoDM.FavoriteTreeViewBrowseFolderActionExecute(
711 GikoForm.FavoriteBrowseFolder( GikoForm.ClickNode );
713 // *************************************************************************
714 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
715 // *************************************************************************
716 procedure TGikoDM.FavoriteTreeViewReloadActionExecute(Sender: TObject);
718 FavThread: TFavoriteThreadItem;
719 FavBoard: TFavoriteBoardItem;
722 if (GikoForm.ClickNode = nil) then Exit;
724 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
726 if TObject( GikoForm.ClickNode.Data ) is TFavoriteThreadItem then begin
727 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
728 if FavThread.Item <> nil then
729 GikoForm.DownloadContent(FavThread.Item, shiftDown);
730 end else if TObject( GikoForm.ClickNode.Data ) is TFavoriteBoardItem then begin
731 FavBoard := TFavoriteBoardItem( GikoForm.ClickNode.Data );
732 GikoForm.DownloadList(FavBoard.Item, shiftDown);
736 // *************************************************************************
737 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
738 // *************************************************************************
739 procedure TGikoDM.FavoriteTreeViewURLCopyActionExecute(Sender: TObject);
742 if GikoForm.ClickNode = nil then Exit;
744 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
745 Clipboard.AsText := TFavoriteItem( GikoForm.ClickNode.Data ).URL + #13#10;
748 // *************************************************************************
749 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
750 // *************************************************************************
751 procedure TGikoDM.FavoriteTreeViewNameCopyActionExecute(Sender: TObject);
754 if GikoForm.ClickNode = nil then Exit;
756 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
758 TFavoriteItem(GikoForm.ClickNode.Data).GetItemTitle + #13#10;
761 GikoForm.ClickNode.Text + #13#10;
765 // *************************************************************************
766 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
767 // *************************************************************************
768 procedure TGikoDM.FavoriteTreeViewNameURLCopyActionExecute(
771 favItem : TFavoriteItem;
774 if GikoForm.ClickNode = nil then Exit;
776 if (TObject(GikoForm.ClickNode.Data) is TFavoriteItem) then begin
777 favItem := TFavoriteItem(GikoForm.ClickNode.Data);
778 Clipboard.AsText := favItem.GetItemTitle + #13#10 +
779 favItem.URL + #13#10;
783 // *************************************************************************
784 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
785 // *************************************************************************
786 procedure TGikoDM.FavoriteTreeViewLogDeleteActionExecute(Sender: TObject);
788 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';
789 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
791 ThreadItem: TThreadItem;
792 FavThread: TFavoriteThreadItem;
795 if GikoForm.ClickNode = nil then Exit;
796 if not (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then Exit;
798 FavThread := TFavoriteThreadItem( GikoForm.ClickNode.Data );
799 ThreadItem := FavThread.Item;
802 if GikoSys.Setting.DeleteMsg then begin
803 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
804 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
808 GikoForm.DeleteHistory(ThreadItem);
809 GikoForm.DeleteTab(ThreadItem);
810 ThreadItem.DeleteLogFile;
812 GikoForm.ListView.Refresh;
817 // *************************************************************************
818 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
819 // *************************************************************************
820 procedure TGikoDM.FavoriteTreeViewBrowseThreadActionExecute(
823 threadItem : TThreadItem;
826 if GikoForm.ClickNode = nil then Exit;
828 if (TObject(GikoForm.ClickNode.Data) is TFavoriteThreadItem) then begin
830 threadItem := TFavoriteThreadItem( GikoForm.ClickNode.Data ).Item;
831 if threadItem = nil then
833 GikoSys.OpenBrowser( threadItem.URL, gbtAuto );
837 //!
\83\8c\83X
\82Ì
\8di
\8d\9e\82Ý
\83t
\83B
\83\8b\83^
\81[
\82ð
\8bó
\82É
\82·
\82é
838 procedure TGikoDM.ClearResFilter;
840 FilterList : TStringList;
842 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
843 FilterList := TStringList.Create;
845 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
846 GikoSys.FSelectResFilter.Reverse := False;
850 GikoForm.SelectResWord := '';
852 // *************************************************************************
853 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
854 // *************************************************************************
855 procedure TGikoDM.SetResRange(range: Integer);
857 if GikoSys.ResRange <> range then begin
858 GikoSys.ResRange := range;
859 //
\83t
\83B
\83\8b\83^
\95¶
\8e\9a\97ñ
\82ð
\8bó
\82É
\82·
\82é
861 GikoForm.RepaintAllTabsBrowser();
864 // *************************************************************************
865 //!
\8dÅ
\90V100
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
866 // *************************************************************************
867 procedure TGikoDM.OnlyAHundredResActionExecute(Sender: TObject);
869 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
870 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
872 GikoForm.ResRangeMenuSelect := 100;
873 OnlyAHundredResAction.Checked := True;
874 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
877 // *************************************************************************
878 //!
\96¢
\93Ç
\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
879 // *************************************************************************
880 procedure TGikoDM.OnlyKokoResActionExecute(Sender: TObject);
882 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
883 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
885 GikoForm.ResRangeMenuSelect := Ord( grrKoko );
886 OnlyKokoResAction.Checked := True;
888 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
889 SetResRange(Ord( grrKoko ));
891 // *************************************************************************
892 //!
\90V
\92\85\83\8c\83X
\82Ì
\82Ý
\95\
\8e¦
893 // *************************************************************************
894 procedure TGikoDM.OnlyNewResActionExecute(Sender: TObject);
896 if (GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil)
897 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
899 GikoForm.ResRangeMenuSelect := Ord( grrNew );
900 OnlyNewResAction.Checked := True;
902 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
903 SetResRange(Ord( grrNew ));
905 // *************************************************************************
906 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloHorizontal
\81@
907 // *************************************************************************
908 procedure TGikoDM.SetThreadAreaHorNormal;
910 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
911 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
912 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
913 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
914 GikoSys.Setting.ListWidthState := glsNormal;
916 // *************************************************************************
917 //!
\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@
918 // *************************************************************************
919 procedure TGikoDM.SetThreadAreaHorizontal(gls : TGikoListState);
921 if GikoSys.Setting.ListWidthState = glsNormal then
922 GikoForm.BrowserSizeWidth := GikoForm.ViewPanel.Width;
924 if (gls = glsMax) then begin
925 GikoForm.ViewPanel.Width := 1;
926 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
927 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
928 GikoSys.Setting.ListWidthState := glsMax;
929 end else if (gls = glsMin) then begin
930 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
931 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
932 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
933 GikoSys.Setting.ListWidthState := glsMin;
936 // *************************************************************************
937 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
938 // *************************************************************************
939 procedure TGikoDM.SetThreadAreaVerNormal;
941 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
942 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
943 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
944 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
945 GikoSys.Setting.ListHeightState := glsNormal;
947 // *************************************************************************
948 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\8dÅ
\91å/
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
\92\8d)ListOrientation = gloVertical
949 // *************************************************************************
950 procedure TGikoDM.SetThreadAreaVertical(gls : TGikoListState);
952 if GikoSys.Setting.ListHeightState = glsNormal then
953 GikoForm.BrowserSizeHeight := GikoForm.ViewPanel.Height;
954 if (gls = glsMin) then begin
955 GikoForm.ViewPanel.Height := GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
956 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
957 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
958 GikoSys.Setting.ListHeightState := glsMin;
959 end else if (gls = glsMax) then begin
960 GikoForm.ViewPanel.Height := 1;
961 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
962 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
963 GikoSys.Setting.ListHeightState := glsMax;
966 // *************************************************************************
967 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\91å
\82«
\82
\95\
\8e¦
\82·
\82é
968 // *************************************************************************
969 procedure TGikoDM.BrowserMaxActionExecute(Sender: TObject);
971 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
972 case GikoSys.Setting.ListWidthState of
974 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
975 SetThreadAreaHorNormal;
977 glsMin, glsNormal: begin
978 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
979 SetThreadAreaHorizontal(glsMax);
983 case GikoSys.Setting.ListHeightState of
985 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
986 SetThreadAreaVerNormal;
988 glsMin, glsNormal: begin
989 //
\8dÅ
\91å
\95\
\8e¦
\82É
\82·
\82é
990 SetThreadAreaVertical(glsMax);
995 // *************************************************************************
996 //!
\83X
\83\8c\83b
\83h
\95\
\8e¦
\83G
\83\8a\83A
\82ð
\8f¬
\82³
\82
\95\
\8e¦
\82·
\82é
997 // *************************************************************************
998 procedure TGikoDM.BrowserMinActionExecute(Sender: TObject);
1000 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
1001 case GikoSys.Setting.ListWidthState of
1002 glsMax, glsNormal: begin
1003 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1004 SetThreadAreaHorizontal(glsMin);
1007 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1008 SetThreadAreaHorNormal;
1012 case GikoSys.Setting.ListHeightState of
1013 glsMax, glsNormal: begin
1014 //
\8dÅ
\8f¬
\95\
\8e¦
\82É
\82·
\82é
1015 SetThreadAreaVertical(glsMin);
1018 //
\92Ê
\8fí
\95\
\8e¦
\82É
\82·
\82é
1019 SetThreadAreaVerNormal;
1024 // *************************************************************************
1025 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90æ
\93ª
\82Ö
\88Ú
\93®
\82·
\82é
1026 // *************************************************************************
1027 procedure TGikoDM.ScrollTopActionExecute(Sender: TObject);
1029 GikoForm.BrowserMovement('top');
1031 // *************************************************************************
1032 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\8dÅ
\8cã
\82Ö
\88Ú
\93®
\82·
\82é
1033 // *************************************************************************
1034 procedure TGikoDM.ScrollLastActionExecute(Sender: TObject);
1036 GikoForm.BrowserMovement('bottom');
1038 // *************************************************************************
1039 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\90V
\92\85\82Ö
\88Ú
\93®
\82·
\82é
1040 // *************************************************************************
1041 procedure TGikoDM.ScrollNewActionExecute(Sender: TObject);
1043 GikoForm.BrowserMovement('new');
1045 // *************************************************************************
1046 //!
\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é
1047 // *************************************************************************
1048 procedure TGikoDM.ScrollKokoActionExecute(Sender: TObject);
1050 GikoForm.BrowserMovement('koko');
1052 // *************************************************************************
1053 //!
\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
1054 // *************************************************************************
1055 procedure TGikoDM.ScrollKokoActionUpdate(Sender: TObject);
1057 ScrollKokoAction.Enabled := (GikoForm.GetActiveContent <> nil)
1058 and (GikoForm.GetActiveContent.IsLogFile)
1059 and (GikoForm.GetActiveContent.Kokomade <> -1);
1061 // *************************************************************************
1062 //!
\83\8c\83X
\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
1063 // *************************************************************************
1064 procedure TGikoDM.EditorActionExecute(Sender: TObject);
1066 Editor: TEditorForm;
1069 Item := GikoForm.GetActiveContent;
1070 if Item = nil then Exit;
1071 Editor := TEditorForm.Create(GikoForm.GetMainForm);
1072 Editor.SetThreadItem(Item);
1074 Editor.BodyEdit.SetFocus;
1076 // *************************************************************************
1077 //!
\83X
\83\8c\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1078 // *************************************************************************
1079 procedure TGikoDM.IEActionExecute(Sender: TObject);
1081 ShowThreadAction.Execute;
1083 // *************************************************************************
1084 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
1085 // *************************************************************************
1086 procedure TGikoDM.ShowThreadActionExecute(Sender: TObject);
1088 ThreadItem: TThreadItem;
1090 ThreadItem := GikoForm.GetActiveContent;
1091 if ThreadItem = nil then Exit;
1092 GikoSys.OpenBrowser(ThreadItem.URL, gbtAuto);
1094 // *************************************************************************
1095 //!
\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é
1096 // *************************************************************************
1097 procedure TGikoDM.ShowBoardActionExecute(Sender: TObject);
1099 ThreadItem: TThreadItem;
1101 ThreadItem := GikoForm.GetActiveContent;
1102 if ThreadItem = nil then Exit;
1103 GikoSys.OpenBrowser(ThreadItem.ParentBoard.URL, gbtAuto);
1105 // *************************************************************************
1106 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1107 // *************************************************************************
1108 procedure TGikoDM.URLCopyActionExecute(Sender: TObject);
1113 if TObject(GikoForm.GetActiveContent) is TBoard then
1114 s := s + TBoard(GikoForm.GetActiveContent).URL + #13#10
1115 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1116 s := s + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1118 Clipboard.AsText := s;
1120 // *************************************************************************
1121 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
1122 // *************************************************************************
1123 procedure TGikoDM.NameCopyActionExecute(Sender: TObject);
1128 if TObject(GikoForm.GetActiveContent) is TBoard then
1129 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10
1130 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1131 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10;
1133 Clipboard.AsText := s;
1135 // *************************************************************************
1136 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\96¼
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1137 // *************************************************************************
1138 procedure TGikoDM.NameURLCopyActionExecute(Sender: TObject);
1143 if TObject(GikoForm.GetActiveContent) is TBoard then
1144 s := s + TBoard(GikoForm.GetActiveContent).Title + #13#10 + TBoard(GikoForm.GetActiveContent).URL + #13#10
1145 else if TObject(GikoForm.GetActiveContent) is TThreadItem then
1146 s := s + TThreadItem(GikoForm.GetActiveContent).Title + #13#10 + TThreadItem(GikoForm.GetActiveContent).URL + #13#10;
1148 Clipboard.AsText := s;
1150 // *************************************************************************
1151 //!
\95\
\8e¦
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1152 // *************************************************************************
1153 procedure TGikoDM.ItemReloadActionExecute(Sender: TObject);
1155 ThreadItem: TThreadItem;
1158 ThreadItem := GikoForm.GetActiveContent;
1159 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
1160 if ThreadItem <> nil then
1161 GikoForm.DownloadContent(ThreadItem, shiftDown);
1163 // *************************************************************************
1164 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82ð
\95Â
\82¶
\82é
1165 // *************************************************************************
1166 procedure TGikoDM.BrowserTabCloseActionExecute(Sender: TObject);
1170 idx := GikoForm.BrowserTab.TabIndex;
1171 if idx <> -1 then begin
1172 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1173 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1177 // *************************************************************************
1178 //!
\83^
\83u
\82ª
\82P
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1179 // *************************************************************************
1180 procedure TGikoDM.BrowserTabCloseActionUpdate(Sender: TObject);
1182 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0);
1184 // *************************************************************************
1185 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\88È
\8aO
\82ð
\95Â
\82¶
\82é
1186 // *************************************************************************
1187 procedure TGikoDM.NotSelectTabCloseActionExecute(Sender: TObject);
1192 idx := GikoForm.BrowserTab.TabIndex;
1193 if idx = -1 then Exit;
1194 GikoForm.BrowserTab.Tabs.BeginUpdate;
1195 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto GikoForm.BrowserTab.TabIndex + 1 do begin
1196 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1197 GikoForm.BrowserTab.Tabs.Delete(i);
1199 if idx > 0 then begin
1200 for i := GikoForm.BrowserTab.TabIndex - 1 downto 0 do begin
1201 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1202 GikoForm.BrowserTab.Tabs.Delete(i);
1205 GikoForm.BrowserTab.Tabs.EndUpdate;
1207 // *************************************************************************
1208 //!
\83^
\83u
\82ª
\82Q
\82Â
\88È
\8fã
\82 \82ê
\82ª
\97L
\8cø
\82É
\82·
\82éUpdate
\83C
\83x
\83\93\83g
1209 // *************************************************************************
1210 procedure TGikoDM.NotSelectTabCloseActionUpdate(Sender: TObject);
1212 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1214 // *************************************************************************
1215 //!
\91S
\82Ä
\82Ì
\83^
\83u
\82ð
\95Â
\82¶
\82é
1216 // *************************************************************************
1217 procedure TGikoDM.AllTabCloseActionExecute(Sender: TObject);
1221 if GikoSys.Setting.ShowDialogForAllTabClose then
1222 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
1225 GikoForm.ActiveContent := nil;
1226 GikoForm.BrowserNullTab.Thread := nil;
1227 GikoForm.BrowserTab.OnChange := nil;
1228 GikoForm.BrowserTab.Tabs.BeginUpdate;
1229 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto 0 do begin
1230 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1232 GikoForm.BrowserTab.Tabs.Clear;
1233 GikoForm.BrowserTab.Tabs.EndUpdate;
1234 GikoForm.BrowserTab.OnChange := GikoForm.BrowserTabChange;
1235 GikoForm.SetContent(GikoForm.BrowserNullTab);
1236 GikoForm.Caption := CAPTION_NAME ;
1238 // *************************************************************************
1239 //!
\8c»
\8dÝ
\8aJ
\82¢
\82Ä
\82¢
\82é
\83^
\83u
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1240 // *************************************************************************
1241 procedure TGikoDM.ActiveLogDeleteActionExecute(Sender: TObject);
1243 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';
1244 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1247 ThreadItem: TThreadItem;
1249 idx := GikoForm.BrowserTab.TabIndex;
1250 if idx <> -1 then begin
1251 if GikoForm.BrowserTab.Tabs.Objects[idx] <> nil then begin
1252 ThreadItem := TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]).Thread;
1253 if GikoSys.Setting.DeleteMsg then
1254 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1255 if MsgBox(GikoForm.Handle, StringReplace( DEL_MSG, '^0', ThreadItem.Title, [rfReplaceAll] ) , DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
1257 GikoForm.DeleteTab(TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[idx]));
1258 GikoForm.DeleteHistory(ThreadItem);
1259 ThreadItem.DeleteLogFile;
1260 if ThreadItem.ParentBoard = GikoForm.ActiveList then
1261 GikoForm.ListView.Refresh;
1265 // *************************************************************************
1266 //!
\88ê
\94Ô
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1267 // *************************************************************************
1268 procedure TGikoDM.LeftmostTabSelectActionExecute(Sender: TObject);
1270 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1271 GikoForm.BrowserTab.TabIndex := 0;
1272 GikoForm.BrowserTab.OnChange(nil);
1275 // *************************************************************************
1276 //!
\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
1277 // *************************************************************************
1278 procedure TGikoDM.LeftmostTabSelectActionUpdate(Sender: TObject);
1280 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1281 and (GikoForm.BrowserTab.TabIndex <> 0);
1283 // *************************************************************************
1284 //!
\8d¶
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1285 // *************************************************************************
1286 procedure TGikoDM.LeftTabSelectActionExecute(Sender: TObject);
1288 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1289 if GikoForm.BrowserTab.TabIndex = -1 then begin
1290 GikoForm.BrowserTab.TabIndex := 0;
1291 GikoForm.BrowserTab.OnChange(nil);
1292 end else if GikoForm.BrowserTab.TabIndex > 0 then begin
1293 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex - 1;
1294 GikoForm.BrowserTab.OnChange(nil);
1298 // *************************************************************************
1299 //!
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1300 // *************************************************************************
1301 procedure TGikoDM.RightTabSelectActionExecute(Sender: TObject);
1303 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1304 if GikoForm.BrowserTab.TabIndex = -1 then begin
1305 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1306 GikoForm.BrowserTab.OnChange(nil);
1307 end else if GikoForm.BrowserTab.TabIndex < (GikoForm.BrowserTab.Tabs.Count - 1) then begin
1308 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.TabIndex + 1;
1309 GikoForm.BrowserTab.OnChange(nil);
1313 // *************************************************************************
1314 //!
\83^
\83u
\82Ì
\90\94\82ª
\82P
\88È
\8fã
\82Å
\81A
\83^
\83u
\82ª
\89E
\92[
\88È
\8aO
\82Å
\97L
\8cø
\82É
\82È
\82éUpdate
\83C
\83x
\83\93\83g
1315 // *************************************************************************
1316 procedure TGikoDM.RightTabSelectActionUpdate(Sender: TObject);
1318 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 0)
1319 and (GikoForm.BrowserTab.TabIndex <> GikoForm.BrowserTab.Tabs.Count - 1);
1321 // *************************************************************************
1322 //!
\88ê
\94Ô
\89E
\82Ì
\83^
\83u
\82ð
\91I
\91ð
\82·
\82é
1323 // *************************************************************************
1324 procedure TGikoDM.RightmostTabSelectActionExecute(Sender: TObject);
1326 if GikoForm.BrowserTab.Tabs.Count > 0 then begin
1327 GikoForm.BrowserTab.TabIndex := GikoForm.BrowserTab.Tabs.Count - 1;
1328 GikoForm.BrowserTab.OnChange(nil);
1331 // *************************************************************************
1332 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
1333 // *************************************************************************
1334 procedure TGikoDM.ThreadFavoriteAddActionExecute(Sender: TObject);
1336 if TObject(GikoForm.ListView.Selected.Data) is TThreadItem then
1337 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
1339 // *************************************************************************
1340 //!
\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
1341 // *************************************************************************
1342 procedure TGikoDM.ThreadFavoriteAddActionUpdate(Sender: TObject);
1344 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1345 and (GikoForm.ListView.SelCount > 0);
1347 // *************************************************************************
1348 //!
\83\8c\83X
\82Ì
\93à
\97e
\82ð
\8di
\82è
\8d\9e\82Þ
1349 // *************************************************************************
1350 procedure TGikoDM.SelectResActionExecute(Sender: TObject);
1352 Dlg: TListSelectDialog;
1353 FilterList : TStringList;
1356 Dlg := TListSelectDialog.Create(GikoForm);
1358 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
1359 Dlg.SelectComboBox.Text := GikoForm.SelectResWord;
1361 if Dlg.ModalResult = mrOK then begin
1362 SelectResAction.Checked := True;
1363 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
1364 //
\8bó
\93ü
\97Í
\82Å OK
\82Í
\8di
\82è
\8d\9e\82Ý
\89ð
\8f\9c\82Æ
\93¯
\88Ó
\8b`
1365 ResRangeAction.Execute;
1367 GikoSys.ResRange := Ord( grrSelect );
1369 //
\8dÅ
\8cã
\82É
\90Ý
\92è
\82µ
\82½
\82à
\82Ì
\82ð
\8ao
\82¦
\82Ä
\82¨
\82
1370 GikoForm.SelectResWord := Dlg.SelectComboBox.Text;
1372 //
\8c\9f\8dõ
\97\9a\97ð
\82Ì
\8dX
\90V
1373 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
1375 GikoSys.Setting.SelectTextList.Delete(idx);
1376 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
1377 while Dlg.SelectComboBox.Items.Count > 100 do begin
1378 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
1382 if GikoForm.SelectComboBoxPanel.Visible then
1383 GikoForm.SelectComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1387 //
\83t
\83B
\83\8b\83^
\82Ì
\90Ý
\92è
1388 FilterList := TStringList.Create;
1390 GikoSys.FSelectResFilter.Reverse := True;
1391 FilterList.Delimiter := ' '; //
\8bæ
\90Ø
\82è
\8eq
\82ð
\94¼
\8ap
\83X
\83y
\81[
\83X
\82É
\90Ý
\92è
1392 FilterList.DelimitedText := Dlg.SelectComboBox.Text;
1394 GikoSys.FSelectResFilter.LoadFromStringList( FilterList );
1398 GikoForm.RepaintAllTabsBrowser();
1401 //
\83L
\83\83\83\93\83Z
\83\8b
1402 if GikoSys.ResRange <> Ord( grrSelect ) then
1403 ResRangeAction.Execute;
1410 // *************************************************************************
1411 //!
\91S
\82Ä
\82Ì
\83\8c\83X
\82ð
\95\
\8e¦
\82·
\82é
1412 // *************************************************************************
1413 procedure TGikoDM.AllResActionExecute(Sender: TObject);
1415 if(GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil )
1416 and (GikoForm.ActiveContent.Browser.Busy) then Exit;
1418 GikoForm.ResRangeMenuSelect := Ord( grrAll );
1419 AllResAction.Checked := True;
1421 //
\81@
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
\82·
\82é
1422 SetResRange(Ord( grrAll ));
1424 // *************************************************************************
1425 //!
\83\8c\83X
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
1426 // *************************************************************************
1427 procedure TGikoDM.ResRangeActionExecute(Sender: TObject);
1429 case GikoForm.ResRangeMenuSelect of
1430 Ord( grrAll ): AllResAction.Execute;
1431 Ord( grrKoko ): OnlyKokoResAction.Execute;
1432 Ord( grrNew ): OnlyNewResAction.Execute;
1433 100: OnlyAHundredResAction.Execute;
1437 // *************************************************************************
1438 //!
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82ð
\8aÜ
\82Þ
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
1439 // *************************************************************************
1440 procedure TGikoDM.UpBoardActionExecute(Sender: TObject);
1442 GikoForm.SelectTreeNode( GikoForm.GetActiveContent.ParentBoard, True );
1444 // *************************************************************************
1445 //!
\8ew
\92è
\82µ
\82½
\94Ô
\8d\86\82Ì
\83\8c\83X
\82É
\94ò
\82Ô
1446 // *************************************************************************
1447 procedure TGikoDM.JumpToNumOfResActionExecute(Sender: TObject);
1453 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
1454 str := ZenToHan(str);
1455 res := StrToIntDef(str, -1);
1456 if (res > 0) and (res <= GikoForm.GetActiveContent.Count) then begin
1457 GikoForm.ActiveContent.Move(IntToStr(res));
1458 SetFocusForBrowserAction.Execute;
1459 end else if res > GikoForm.GetActiveContent.Count then begin
1460 GikoForm.ActiveContent.Move(IntToStr(GikoForm.GetActiveContent.Count));
1461 SetFocusForBrowserAction.Execute;
1465 // *************************************************************************
1466 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\89E
\82ð
\95Â
\82¶
\82é
1467 // *************************************************************************
1468 procedure TGikoDM.RightTabCloseActionExecute(Sender: TObject);
1473 idx := GikoForm.BrowserTab.TabIndex;
1474 if idx = -1 then Exit;
1475 GikoForm.BrowserTab.Tabs.BeginUpdate;
1476 for i := GikoForm.BrowserTab.Tabs.Count - 1 downto idx + 1 do begin
1477 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1478 GikoForm.BrowserTab.Tabs.Delete(i);
1480 GikoForm.BrowserTab.Tabs.EndUpdate;
1482 // *************************************************************************
1483 //!
\83^
\83u
\82Ì
\90\94\82ª
\82Q
\88È
\8fã
\82Å
\97L
\8cø
\82ÈUpdate
\83C
\83x
\83\93\83g
1484 // *************************************************************************
1485 procedure TGikoDM.RightTabCloseActionUpdate(Sender: TObject);
1487 TAction(Sender).Enabled := (GikoForm.BrowserTab.Tabs.Count > 1);
1489 // *************************************************************************
1490 //!
\83A
\83N
\83e
\83B
\83u
\82È
\83^
\83u
\82æ
\82è
\8d¶
\82ð
\95Â
\82¶
\82é
1491 // *************************************************************************
1492 procedure TGikoDM.LeftTabCloseActionExecute(Sender: TObject);
1497 idx := GikoForm.BrowserTab.TabIndex;
1498 if idx = -1 then Exit;
1499 GikoForm.BrowserTab.Tabs.BeginUpdate;
1500 if idx > 0 then begin
1501 for i := idx - 1 downto 0 do begin
1502 TBrowserRecord(GikoForm.BrowserTab.Tabs.Objects[i]).Free;
1503 GikoForm.BrowserTab.Tabs.Delete(i);
1506 GikoForm.BrowserTab.Tabs.EndUpdate;
1508 ////////////////////////////////
\83X
\83\8c\83b
\83h
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1509 procedure TGikoDM.DataModuleCreate(Sender: TObject);
1511 // 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
1512 //
\8f\89\8aú
\89»
\8f\87\94Ô
\82É
\92\8d\88Ó
\82·
\82é
\82±
\82Æ
\81I
\81I
1513 //
\8f\89\89ñ
\8bN
\93®
\8e\9e\82Ì
\8f\89\8aú
\89»
\83t
\83@
\83C
\83\8b\90Ý
\92è
1514 TDefaultFileManager.CopyDefaultFiles(
1515 GikoSys.GetAppDir + 'defaultFiles.ini');
1517 // *************************************************************************
1518 //!
\83\8d\83O
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1519 // *************************************************************************
1520 procedure TGikoDM.SearchActionExecute(Sender: TObject);
1525 if GikoForm.SearchDialog = nil then begin
1526 if (GikoForm.GetActiveList is TCategory) or (GikoForm.GetActiveList is TBoard) then
1527 chk := GikoForm.GetActiveList
1531 GikoForm.SearchDialog := TSearchDialog.Create(GikoForm, chk);
1532 GikoForm.SearchDialog.SearchComboBox.Items.Assign( GikoSys.Setting.SelectTextList );
1536 GikoForm.SearchDialog.Show;
1540 // *************************************************************************
1541 //!
\83I
\83v
\83V
\83\87\83\93\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1542 // *************************************************************************
1543 procedure TGikoDM.OptionActionExecute(Sender: TObject);
1547 Dlg := TOptionDialog.Create(GikoForm);
1554 // *************************************************************************
1555 //!
\8f\84\89ñ
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1556 // *************************************************************************
1557 procedure TGikoDM.RoundActionExecute(Sender: TObject);
1561 Dlg := TRoundDialog.Create(GikoForm);
1568 // *************************************************************************
1569 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1570 // *************************************************************************
1571 procedure TGikoDM.KeySettingActionExecute(Sender: TObject);
1573 Dlg: TKeySettingForm;
1575 Dlg := TKeySettingForm.Create(GikoForm);
1577 if Dlg.ShowModal = mrOk then begin
1578 GikoSys.SaveKeySetting(GikoFormActionList, Setting.KEY_SETTING_FILE_NAME);
1579 GikoSys.SaveKeySetting(Dlg.EditorForm.ActionList, Setting.EKEY_SETTING_FILE_NAME);
1580 GikoSys.Setting.Gestures.SaveGesture( GikoSys.Setting.GetGestureFileName );
1585 MouseGesture.UnHook;
1586 MouseGesture.OnGestureStart := GikoForm.OnGestureStart;
1587 MouseGesture.OnGestureMove := GikoForm.OnGestureMove;
1588 MouseGesture.OnGestureEnd := GikoForm.OnGestureEnd;
1589 if GikoSys.Setting.GestureEnabled then begin
1590 GikoSys.Setting.Gestures.ClearGesture;
1591 GikoSys.Setting.Gestures.LoadGesture(
1592 GikoSys.Setting.GetGestureFileName, GikoFormActionList );
1593 MouseGesture.SetHook( GikoForm.Handle );
1597 // *************************************************************************
1598 //!
\83L
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1599 // *************************************************************************
1600 procedure TGikoDM.KotehanActionExecute(Sender: TObject);
1602 Dlg: TKotehanDialog;
1604 Dlg := TKotehanDialog.Create(GikoForm);
1611 // *************************************************************************
1612 //!
\83c
\81[
\83\8b\83o
\81[
\90Ý
\92è
\83_
\83C
\83A
\83\8d\83O
\82ð
\8aJ
\82
1613 // *************************************************************************
1614 procedure TGikoDM.ToolBarSettingActionExecute(Sender: TObject);
1616 Dlg: TToolBarSettingDialog;
1619 Dlg := TToolBarSettingDialog.Create(GikoForm, GikoFormActionList);
1621 Dlg.AddToolBar(GikoForm.StdToolBar, gttStandard);
1622 Dlg.AddToolBar(GikoForm.ListToolBar, gttList);
1623 Dlg.AddToolBar(GikoForm.BrowserToolBar, gttBrowser);
1624 case GikoForm.ToolBarSettingSender of
1625 tssMain: Dlg.ToolBarIndex := 0;
1626 tssList: Dlg.ToolBarIndex := 1;
1627 tssBrowser: Dlg.ToolBarIndex := 2;
1629 if Dlg.ShowModal = mrOK then begin
1630 GikoForm.SetToolBarPopup;
1632 //
\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é
1633 for i := 0 to GikoForm.MainCoolBar.Bands.Count - 1 do begin
1634 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1635 GikoForm.MainCoolBar.Bands[i].MinWidth + 1;
1636 GikoForm.MainCoolBar.Bands[i].MinWidth :=
1637 GikoForm.MainCoolBar.Bands[i].MinWidth - 1;
1639 for i := 0 to GikoForm.ListCoolBar.Bands.Count - 1 do begin
1640 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1641 GikoForm.ListCoolBar.Bands[i].MinWidth + 1;
1642 GikoForm.ListCoolBar.Bands[i].MinWidth :=
1643 GikoForm.ListCoolBar.Bands[i].MinWidth - 1;
1645 for i := 0 to GikoForm.BrowserCoolBar.Bands.Count - 1 do begin
1646 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1647 GikoForm.BrowserCoolBar.Bands[i].MinWidth + 1;
1648 GikoForm.BrowserCoolBar.Bands[i].MinWidth :=
1649 GikoForm.BrowserCoolBar.Bands[i].MinWidth - 1;
1652 SaveToolBarSetting(GikoForm.StdToolBar);
1653 SaveToolBarSetting(GikoForm.ListToolBar);
1654 //ListToolBar
\82É
\82¢
\82é
\82©
\82à
\82µ
\82ê
\82È
\82¢
\8di
\8d\9e\82ÝComboBox
\82ð
\94z
\92u
1655 GikoForm.SetSelectComboBox;
1656 GikoForm.ResetBandInfo( GikoForm.ListCoolBar, GikoForm.ListToolBar );
1657 SaveToolBarSetting(GikoForm.BrowserToolBar);
1661 GikoForm.ToolBarSettingSender := tssNone;
1664 // *************************************************************************
1665 //!
\83~
\83\85\81[
\83g
1666 // *************************************************************************
1667 procedure TGikoDM.MuteActionExecute(Sender: TObject);
1669 GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
1671 ////////////////////////////////
\83c
\81[
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1672 // *************************************************************************
1673 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1674 // *************************************************************************
1675 procedure TGikoDM.TreeSelectBoradReloadExecute(Sender: TObject);
1678 TmpTreeNode: TTreeNode;
1680 TmpTreeNode := GikoForm.ClickNode;
1681 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1684 if TObject(TmpTreeNode.Data) is TBoard then
1685 Board := TBoard(TmpTreeNode.Data)
1686 else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then
1687 Board := TFavoriteBoardItem(TmpTreeNode.Data).Item;
1689 if Board <> nil then
1690 GikoForm.DownloadList(Board);
1692 // *************************************************************************
1693 //!
\91I
\91ð
\82³
\82ê
\82½
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
1694 // *************************************************************************
1695 procedure TGikoDM.TreeSelectThreadReloadExecute(Sender: TObject);
1697 ThreadItem: TThreadItem;
1698 TmpTreeNode: TTreeNode;
1700 TmpTreeNode := GikoForm.ClickNode;
1701 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1704 if TObject(TmpTreeNode.Data) is TThreadItem then
1705 ThreadItem := TThreadItem(TmpTreeNode.Data)
1706 else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then
1707 ThreadItem := TFavoriteThreadItem(TmpTreeNode.Data).Item;
1709 if ThreadItem <> nil then
1710 GikoForm.DownloadContent(ThreadItem);
1712 // *************************************************************************
1713 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
1714 // *************************************************************************
1715 procedure TGikoDM.TreeSelectURLCopyExecute(Sender: TObject);
1717 TmpTreeNode: TTreeNode;
1720 TmpTreeNode := GikoForm.ClickNode;
1721 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1722 if TObject(TmpTreeNode.Data) is TBoard then begin
1723 s := TBoard(TmpTreeNode.Data).URL + #13#10;
1724 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1725 s := TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1726 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1727 s := TThreadItem(TmpTreeNode.Data).URL + #13#10;
1728 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1729 s := TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1731 Clipboard.AsText := s;
1733 // *************************************************************************
1734 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
1735 // *************************************************************************
1736 procedure TGikoDM.TreeSelectNameURLCopyExecute(Sender: TObject);
1738 TmpTreeNode: TTreeNode;
1741 TmpTreeNode := GikoForm.ClickNode;
1742 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1743 if TObject(TmpTreeNode.Data) is TBoard then begin
1744 s := TBoard(TmpTreeNode.Data).Title + #13#10 + TBoard(TmpTreeNode.Data).URL + #13#10;
1745 end else if TObject(TmpTreeNode.Data) is TFavoriteBoardItem then begin
1746 s := TFavoriteBoardItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteBoardItem(TmpTreeNode.Data).URL + #13#10;
1747 end else if (TObject(TmpTreeNode.Data) is TThreadItem) then begin
1748 s := TThreadItem(TmpTreeNode.Data).Title + #13#10 + TThreadItem(TmpTreeNode.Data).URL + #13#10;
1749 end else if TObject(TmpTreeNode.Data) is TFavoriteThreadItem then begin
1750 s := TFavoriteThreadItem(TmpTreeNode.Data).Item.Title + #13#10 + TFavoriteThreadItem(TmpTreeNode.Data).URL + #13#10;
1752 Clipboard.AsText := s;
1754 // *************************************************************************
1755 //!
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
1756 // *************************************************************************
1757 procedure TGikoDM.TreeSelectFavoriteAddActionExecute(Sender: TObject);
1759 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ClickNode.Data));
1761 // *************************************************************************
1762 //!
\94Â
\96¼
\8c\9f\8dõ
1763 // *************************************************************************
1764 procedure TGikoDM.TreeSelectSearchBoardNameExecute(Sender: TObject);
1768 CurItem : TTreeNode;
1771 if InputQuery('
\94Â
\96¼
\8c\9f\8dõ','
\94Â
\96¼
\82Ì
\93ü
\97Í',s) then begin
1774 if GikoForm.TreeView.Selected = nil then
1775 CurItem := GikoForm.TreeView.Items.GetFirstNode
1777 CurItem := GikoForm.TreeView.Selected.GetNext;
1778 if CurItem = nil then
1779 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1781 while CurItem <> nil do begin
1782 if (CurItem.ImageIndex <> 2) and (VaguePos(s,CurItem.Text) <> 0) then begin
1785 CurItem := CurItem.GetNext;
1788 if CurItem = nil then begin
1789 msg := '
\90æ
\93ª
\82É
\96ß
\82è
\82Ü
\82·
\82©
\81H';
1790 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1791 CurItem := GikoForm.TreeView.Items.GetFirstNode;
1795 GikoForm.TreeView.Select(CurItem);
1796 GikoForm.TreeView.SetFocus;
1798 GikoForm.TreeView.Select(CurItem);
1799 GikoForm.TreeView.SetFocus;
1800 msg := '
\8e\9f\82É
\8ds
\82«
\82Ü
\82·
\82©
\81H';
1801 if MsgBox(GikoForm.Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes then begin
1814 // *************************************************************************
1815 //!
\91I
\91ð
\82³
\82ê
\82½
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
1816 // *************************************************************************
1817 procedure TGikoDM.TreeSelectNameCopyExecute(Sender: TObject);
1821 GikoForm.TreeView.Selected := GikoForm.ClickNode;
1822 s := GikoForm.ClickNode.Text;
1823 Clipboard.AsText := s;
1825 ////////////////////////////////
\83c
\83\8a\81[
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
1826 // *************************************************************************
1827 //!
\83\8d\83O
\83C
\83\93\81^
\83\8d\83O
\83A
\83E
\83g
\82ð
\82·
\82é
1828 // *************************************************************************
1829 procedure TGikoDM.LoginActionExecute(Sender: TObject);
1834 if GikoSys.Dolib.Connected then begin
1835 //
\83\8d\83O
\83A
\83E
\83g
1836 GikoSys.Dolib.Disconnect;
1837 LoginAction.Checked := False;
1838 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogout), nil, gmiOK);
1839 LoginAction.Caption := '
\83\8d\83O
\83C
\83\93(&L)';
1841 TmpCursor := GikoForm.ScreenCursor;
1842 GikoForm.ScreenCursor := crHourGlass;
1844 //
\92Ê
\8fí
\83\8d\83O
\83C
\83\93
1845 if not GikoSys.Setting.ForcedLogin then begin
1846 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1847 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1848 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1849 if GikoSys.Setting.ReadProxy then begin
1850 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1851 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1853 GikoSys.Dolib.ProxyAddress := '';
1854 GikoSys.Dolib.ProxyPort := 0;
1856 if GikoSys.Dolib.Connect then begin
1857 LoginAction.Checked := True;
1858 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1859 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1860 //LoginToolButton.Style := tbsCheck;
1862 // 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);
1863 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1864 GikoForm.PlaySound('Error');
1865 LoginAction.Checked := False;
1866 //LoginToolButton.Down := False;
1867 ///LoginToolButton.Style := tbsButton;
1870 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
1871 + '
\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
1872 + '
\82±
\82Ì
\83\82\81[
\83h
\82Å
\83\8d\83O
\83C
\83\93\82ð
\8e\8e\82Ý
\82Ü
\82·
\82©
\81H' + #13#10;
1873 if MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_YESNO or MB_ICONEXCLAMATION) = IDYES then begin
1874 GikoSys.Dolib.ClientUA := 'gikoNavi/1.00';
1875 GikoSys.Dolib.UserName := GikoSys.Setting.UserID;
1876 GikoSys.Dolib.Password := GikoSys.Setting.Password;
1877 if GikoSys.Setting.ReadProxy then begin
1878 GikoSys.Dolib.ProxyAddress := GikoSys.Setting.ReadProxyAddress;
1879 GikoSys.Dolib.ProxyPort := GikoSys.Setting.ReadProxyPort;
1881 GikoSys.Dolib.ProxyAddress := '';
1882 GikoSys.Dolib.ProxyPort := 0;
1884 //SSL
\8fá
\8aQ
\97p
\8b
\90§
\83\8d\83O
\83C
\83\93
1885 GikoSys.Dolib.ForcedConnect;
1886 if GikoSys.Dolib.Connect then begin
1887 LoginAction.Checked := True;
1888 GikoForm.AddMessageList(GikoSys.GetGikoMessage(gmForceLogin) + GikoSys.Setting.UserID, nil, gmiOK);
1889 LoginAction.Caption := '
\83\8d\83O
\83A
\83E
\83g(&L)';
1890 //LoginToolButton.Style := tbsCheck;
1892 // 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);
1893 GikoForm.AddMessageList(GikoSys.Dolib.ErrorMsg, nil, gmiNG);
1894 GikoForm.PlaySound('Error');
1895 LoginAction.Checked := False;
1896 //LoginToolButton.Down := False;
1897 //LoginToolButton.Style := tbsButton;
1900 LoginAction.Checked := False;
1901 //LoginToolButton.Down := False;
1902 //LoginToolButton.Style := tbsButton;
1906 GikoForm.ScreenCursor := TmpCursor;
1910 // *************************************************************************
1911 //!
\83{
\81[
\83h
\8dX
\90V
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
1912 // *************************************************************************
1913 procedure TGikoDM.NewBoardActionExecute(Sender: TObject);
1915 Dlg: TNewBoardDialog;
1918 if GikoForm.EditorFormExists then begin
1919 Msg := '
\83\8c\83X
\83G
\83f
\83B
\83^
\82ð
\91S
\82Ä
\95Â
\82¶
\82Ä
\82
\82¾
\82³
\82¢';
1920 MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP);
1923 Dlg := TNewBoardDialog.Create(GikoForm);
1930 // *************************************************************************
1931 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8dí
\8f\9c\82·
\82é
1932 // *************************************************************************
1933 procedure TGikoDM.LogDeleteActionExecute(Sender: TObject);
1935 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';
1936 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';
1937 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1939 ThreadItem: TThreadItem;
1940 TmpListItem: TListItem;
1944 List := TList.Create;
1946 TmpListItem := GikoForm.ListView.Selected;
1947 while TmpListItem <> nil do begin
1948 if TObject(TmpListItem.Data) is TThreadItem then begin
1949 ThreadItem := TThreadItem(TmpListItem.Data);
1950 if ThreadItem.IsLogFile then
1951 List.Add(ThreadItem);
1953 TmpListItem := GikoForm.ListView.GetNextItem(TmpListItem, sdAll, [isSelected]);
1956 if GikoSys.Setting.DeleteMsg and (List.Count > 0) then begin
1957 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then begin
1958 if List.Count = 1 then begin
1959 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
1962 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
1968 for i := 0 to List.Count - 1 do begin
1969 ThreadItem := TThreadItem(List[i]);
1970 GikoForm.DeleteHistory(ThreadItem);
1971 GikoForm.DeleteTab(ThreadItem);
1972 ThreadItem.DeleteLogFile;
1974 GikoForm.TreeView.Refresh; // UnRead
\82Ì
\95\
\8e¦
\82ð
\8dX
\90V
1976 GikoForm.ListView.Refresh;
1981 // *************************************************************************
1982 //! 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Ê
1983 // *************************************************************************
1984 procedure TGikoDM.LogDeleteActionUpdate(Sender: TObject);
1986 TAction(Sender).Enabled := (GikoForm.GetActiveList is TBoard)
1987 and (GikoForm.ListView.SelCount > 0);
1989 // *************************************************************************
1990 //!
\8di
\8d\9e\82Ý
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
1991 // *************************************************************************
1992 procedure TGikoDM.SelectTextClearActionExecute(Sender: TObject);
1994 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';
1995 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
1997 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
1998 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2000 GikoSys.Setting.SelectTextList.Clear;
2001 GikoForm.SelectComboBox.Items.Clear;
2002 GikoForm.SelectComboBox.Text := '';
2003 GikoForm.SetListViewType( gvtAll );
2005 // *************************************************************************
2006 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\96¼
\91O
\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2007 // *************************************************************************
2008 procedure TGikoDM.NameTextClearActionExecute(Sender: TObject);
2010 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';
2011 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2013 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2014 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2016 GikoSys.Setting.NameList.Clear;
2017 GikoForm.AllEditroFormNameTextClearClear;
2019 // *************************************************************************
2020 //!
\83\8c\83X
\83G
\83f
\83B
\83^
\82Ì
\83\81\81[
\83\8b\97\9a\97ð
\82ð
\8fÁ
\8b\8e\82·
\82é
2021 // *************************************************************************
2022 procedure TGikoDM.MailTextClearActionExecute(Sender: TObject);
2024 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';
2025 DEL_TITLE = '
\8dí
\8f\9c\8am
\94F';
2027 if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then
2028 if MsgBox(GikoForm.Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then
2030 GikoSys.Setting.MailList.Clear;
2031 GikoForm.AllEditroFormMailTextClearClear;
2033 // *************************************************************************
2034 //!
\83M
\83R
\83i
\83r
\82ð
\8fI
\97¹
\82·
\82é
2035 // *************************************************************************
2036 procedure TGikoDM.ExitActionExecute(Sender: TObject);
2040 // *************************************************************************
2041 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\91O
\8f\88\97\9d
2042 // *************************************************************************
2043 procedure TGikoDM.ExportFavoriteFileBeforeExecute(Sender: TObject);
2045 ExportFavoriteFile.Dialog.FileName := FavoriteDM.GetFavoriteFilePath;
2047 // *************************************************************************
2048 //!
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83G
\83N
\83X
\83|
\81[
\83g
\81@
\8eÀ
\8ds
\8f\88\97\9d
2049 // *************************************************************************
2050 procedure TGikoDM.ExportFavoriteFileAccept(Sender: TObject);
2052 if FavoriteDM.SaveFavoriteFile( ExportFavoriteFile.Dialog.FileName ) Then begin
2053 ShowMessage('
\83t
\83@
\83C
\83\8b\82ð
\8fo
\97Í
\82µ
\82Ü
\82µ
\82½');
2055 ShowMessage('
\83t
\83@
\83C
\83\8b\82Ì
\8fo
\97Í
\82É
\8e¸
\94s
\82µ
\82Ü
\82µ
\82½');
2058 // *************************************************************************
2059 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ð
\83t
\83@
\83C
\83\8b\82É
\95Û
\91¶
\82·
\82é
2060 // *************************************************************************
2061 procedure TGikoDM.SelectThreadSaveToFile(dat: Boolean);
2068 List := TList.Create;
2070 GikoForm.ScreenCursor := crHourGlass;
2071 GikoForm.SelectListItem(List);
2072 if ((GikoSys.Setting.ListOrientation = gloVertical) and
2073 (GikoSys.Setting.ListHeightState = glsMax)) or
2074 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
2075 (GikoSys.Setting.ListWidthState = glsMax)) then
2076 ShowMessage('
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\95\
\8e¦
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2077 else if(List.Count = 0) then
2078 ShowMessage('
\83X
\83\8c\83b
\83h
\82ð
\91I
\91ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢')
2081 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðdat
\82Ì
\82Ü
\82Ü
\95Û
\91¶';
2082 SaveDialog.Filter := 'DAT
\83t
\83@
\83C
\83\8b(*.dat)|*.dat';
2084 SaveDialog.Title := '
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶';
2085 SaveDialog.Filter := 'HTML
\83t
\83@
\83C
\83\8b(*.html)|*.html';
2087 for i := 0 to List.Count - 1 do begin
2088 if (TObject(List[i]) is TThreadItem) and (TThreadItem(List[i]).IsLogFile) then begin
2090 SaveDialog.FileName := TThreadItem(List[i]).FileName;
2092 SaveDialog.FileName := ReplaseNoValidateChar(TThreadItem(List[i]).Title) + '.html';
2094 if SaveDialog.Execute then begin
2096 CopyFile(PChar(TThreadItem(List[i]).FilePath),
2097 PChar(SaveDialog.FileName), true);
2099 html := TStringList.Create;
2100 title := TThreadItem(List[i]).Title;
2102 HTMLCreater.CreateHTML3(html, TThreadItem(List[i]), title);
2103 html.SaveToFile(SaveDialog.FileName);
2104 THTMLCreate.SkinorCSSFilesCopy(ExtractFilePath(SaveDialog.FileName));
2114 GikoForm.ScreenCursor := crDefault;
2118 // *************************************************************************
2119 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðHTML
\89»
\82µ
\82Ä
\95Û
\91¶
2120 // *************************************************************************
2121 procedure TGikoDM.SelectItemSaveForHTMLExecute(Sender: TObject);
2123 SelectThreadSaveToFile(false);
2125 // *************************************************************************
2126 //!
\91I
\91ð
\83X
\83\8c\83b
\83h
\82ðDAT
\8c`
\8e®
\82Ì
\82Ü
\82Ü
\95Û
\91¶
2127 // *************************************************************************
2128 procedure TGikoDM.SelectItemSaveForDatExecute(Sender: TObject);
2130 SelectThreadSaveToFile(true);
2132 // *************************************************************************
2133 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95Û
\91¶
2134 // *************************************************************************
2135 procedure TGikoDM.TabsSaveActionExecute(Sender: TObject);
2137 GikoForm.SaveTabURLs;
2139 // *************************************************************************
2140 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\95\9c\8c³
2141 // *************************************************************************
2142 procedure TGikoDM.TabsOpenActionExecute(Sender: TObject);
2144 GikoForm.LoadTabURLs;
2145 // TabsOpenAction.Tag
\82Í
\81C
\94Â
\88ê
\97\97\8dX
\90V
\82©
\82ç
\8cÄ
\82Î
\82ê
\82½
\82Æ
\82«
\82Í1
\82É
\82È
\82Á
\82Ä
\82¢
\82é
2146 if (GikoForm.BrowserTab.Tabs.Count = 0)
2147 and (TabsOpenAction.Tag = 0) then begin
2148 ShowMessage('
\95\
\8e¦
\82·
\82é
\83^
\83u
\82ª
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
2151 // *************************************************************************
2152 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\8e©
\93®
\95Û
\91¶
2153 // *************************************************************************
2154 procedure TGikoDM.TabAutoSaveActionExecute(Sender: TObject);
2156 GikoForm.SaveTabURLs;
2158 // *************************************************************************
2159 //!
\83^
\83u
\82Ì
\8f\87\94Ô
\82ð
\8e©
\93®
\95\9c\8c³
2160 // *************************************************************************
2161 procedure TGikoDM.TabAutoLoadActionExecute(Sender: TObject);
2163 GikoForm.LoadTabURLs;
2165 // *************************************************************************
2166 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
2167 // *************************************************************************
2168 procedure TGikoDM.BeLogInOutActionExecute(Sender: TObject);
2170 GikoSys.Setting.BeLogin := not GikoSys.Setting.BeLogin;
2172 // *************************************************************************
2173 //! Be2ch
\82É
\83\8d\83O
\83C
\83\93/
\83\8d\83O
\83A
\83E
\83g
\82·
\82é
\82ÌUpdate
\83C
\83x
\83\93\83g
2174 // *************************************************************************
2175 procedure TGikoDM.BeLogInOutActionUpdate(Sender: TObject);
2177 if (GikoSys.Setting.BeUserID <> '') and (GikoSys.Setting.BeCode <> '') then begin
2178 if (GikoSys.Setting.BeLogin) then BeLogInOutAction.Checked := true
2179 else BeLogInOutAction.Checked := false;
2180 BeLogInOutAction.Enabled := true
2182 BeLogInOutAction.Enabled := false;
2184 ////////////////////////////////
\83t
\83@
\83C
\83\8b\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2185 // *************************************************************************
2186 //!
\83R
\83R
\82Ü
\82Å
\93Ç
\82ñ
\82¾
2187 // *************************************************************************
2188 procedure TGikoDM.KokomadeActionExecute(Sender: TObject);
2191 ThreadItem: TThreadItem;
2193 No := GikoForm.KokoPopupMenu.Tag;
2194 if No = 0 then Exit;
2195 ThreadItem := GikoForm.GetActiveContent;
2196 if ThreadItem = nil then Exit;
2197 ThreadItem.Kokomade := No;
2198 GikoForm.ActiveContent.Thread.ScrollTop :=
2199 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2200 GikoForm.ActiveContent.Repaint := true;
2201 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2202 //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é
2203 //Application.ProcessMessages;
2205 // *************************************************************************
2206 //!
\91S
\95\94\93Ç
\82ñ
\82¾
2207 // *************************************************************************
2208 procedure TGikoDM.ZenbuActionExecute(Sender: TObject);
2210 ThreadItem: TThreadItem;
2212 ThreadItem := GikoForm.GetActiveContent;
2213 if ThreadItem = nil then Exit;
2214 ThreadItem.Kokomade := -1;
2215 GikoForm.ActiveContent.Thread.ScrollTop :=
2216 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2217 GikoForm.ActiveContent.Repaint := true;
2218 GikoForm.InsertBrowserTab(GikoForm.ActiveContent.Thread, true);
2219 //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é
2220 //Application.ProcessMessages;
2222 // *************************************************************************
2223 //!
\83R
\83R
\82É
\83\8c\83X
2224 // *************************************************************************
2225 procedure TGikoDM.KokoResActionExecute(Sender: TObject);
2227 Editor: TEditorForm;
2231 Number := GikoForm.KokoPopupMenu.Tag;
2232 if Number = 0 then Exit;
2233 Item := GikoForm.GetActiveContent;
2234 if Item = nil then Exit;
2236 Editor := TEditorForm.Create(GikoForm);
2237 Editor.SetThreadItem(Item);
2238 Editor.BodyEdit.Text := '>>' + IntToStr(Number) + #13#10;
2240 Editor.BodyEdit.SetFocus;
2242 // *************************************************************************
2243 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2244 // *************************************************************************
2245 procedure TGikoDM.KoreCopyExecute(Sender: TObject);
2247 GikoForm.KonoresCopy(GikoForm.KokoPopupMenu.Tag, true);
2249 // *************************************************************************
2250 //!
\91I
\91ð
\82µ
\82½
\83\8c\83X
\82ð
\83R
\83s
\81[
\82·
\82é
2251 // *************************************************************************
2252 procedure TGikoDM.SameIDResAnchorActionExecute(Sender: TObject);
2254 ThreadItem : TThreadItem;
2255 No, count, rc : Integer;
2259 No := GikoForm.KokoPopupMenu.Tag;
2260 if No = 0 then Exit;
2261 ThreadItem := GikoForm.GetActiveContent;
2262 if ThreadItem = nil then Exit;
2263 count := GikoSys.GetSameIDResCount(No, GikoForm.ActiveContent.Thread);
2265 if count > 20 then begin
2266 rc := GikoUtil.MsgBox(GikoForm.Handle,
2267 '20
\8cÂ
\88È
\8fã
\82 \82è
\82Ü
\82·
\82ª
\81A
\82·
\82×
\82Ä
\95\
\8e¦
\82µ
\82Ü
\82·
\82©
\81H',
2268 'ID
\83|
\83b
\83v
\83A
\83b
\83v
\8cx
\8d\90',
2269 MB_YESNO or MB_ICONQUESTION);
2270 limited := rc <> ID_YES;
2272 body := GikoSys.GetSameIDResAnchor(No, ThreadItem, limited);
2273 GikoForm.ActiveContent.IDAnchorPopup(body);
2275 // *************************************************************************
2276 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\92Ê
\8fí
\81j
2277 // *************************************************************************
2278 procedure TGikoDM.IndividualAbon1ActionExecute(Sender: TObject);
2280 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 1);
2282 // *************************************************************************
2283 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\81@
\81i
\93§
\96¾
\81j
2284 // *************************************************************************
2285 procedure TGikoDM.IndividualAbon0ActionExecute(Sender: TObject);
2287 GikoForm.IndividualAbon(GikoForm.KokoPopupMenu.Tag, 0);
2289 // *************************************************************************
2290 //!
\82±
\82Ì
\83\8c\83X
\82 \82Ú
\81`
\82ñ
\89ð
\8f\9c
2291 // *************************************************************************
2292 procedure TGikoDM.AntiIndividualAbonActionExecute(Sender: TObject);
2294 IndividualForm :TIndividualAbonForm;
2295 ThreadItem : TThreadItem;
2297 ReadList : TStringList;
2298 wordCount : TWordCount;
2300 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2302 ThreadItem := GikoForm.GetActiveContent;
2303 ThreadItem.ScrollTop :=
2304 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2305 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2306 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2307 ReadList := TStringList.Create;
2308 wordCount := TWordCount.Create;
2310 {$IFDEF SPAM_FILTER_ENABLED}
2311 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2312 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2313 GikoSys.SpamCountWord( ReadList[ KokoPopupMenu.Tag - 1 ], wordCount );
2314 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2315 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2317 if IndividualForm.DeleteNG(GikoForm.KokoPopupMenu.Tag) then begin
2318 GikoForm.ActiveContent.Repaint := true;
2319 GikoForm.InsertBrowserTab( ThreadItem, True );
2326 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2327 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2331 IndividualForm.Release;
2334 // *************************************************************************
2335 //!
\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
2336 // *************************************************************************
2337 procedure TGikoDM.AntiIndividualAbonDlgActionExecute(Sender: TObject);
2339 IndividualForm :TIndividualAbonForm;
2340 ThreadItem : TThreadItem;
2342 ReadList : TStringList;
2343 wordCount : TWordCount;
2344 {$IFDEF SPAM_FILTER_ENABLED}
2348 IndividualForm := TIndividualAbonForm.Create(GikoForm);
2350 ThreadItem := GikoForm.GetActiveContent;
2351 ThreadItem.ScrollTop :=
2352 OleVariant(IHTMLDocument2(GikoForm.ActiveContent.Browser.Document)).Body.ScrollTop;
2353 if (ThreadItem <> nil) and (ThreadItem.IsLogFile) then begin
2354 if IndividualForm.SetThreadLogFileName(ThreadItem.GetThreadFileName) then begin
2355 if (IndividualForm.ShowModal = mrOK) then begin
2356 ReadList := TStringList.Create;
2357 wordCount := TWordCount.Create;
2359 {$IFDEF SPAM_FILTER_ENABLED}
2360 //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2361 ReadList.LoadFromFile( ThreadItem.GetThreadFileName );
2362 for i := 0 to IndividualForm.DeleteList.Count - 1 do begin
2363 GikoSys.SpamCountWord( ReadList[ StrToInt(IndividualForm.DeleteList[i]) - 1 ], wordCount );
2364 GikoSys.SpamForget( wordCount, True ); //
\83X
\83p
\83\80\82ð
\89ð
\8f\9c
2365 GikoSys.SpamLearn( wordCount, False ); //
\83n
\83\80\82É
\90Ý
\92è
2368 if IndividualForm.FRepaint then begin
2369 GikoForm.ActiveContent.Repaint := true;
2370 GikoForm.InsertBrowserTab( ThreadItem, True );
2378 msg := '
\82±
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\82Í
\8cÂ
\95Ê
\82 \82Ú
\81`
\82ñ
\82ð
\8ds
\82Á
\82Ä
\82Ü
\82¹
\82ñ';
2379 MsgBox(GikoForm.Handle, msg, '
\83\81\83b
\83Z
\81[
\83W', MB_OK);
2383 IndividualForm.Release;
2386 // *************************************************************************
2387 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\92Ê
\8fí
2388 // *************************************************************************
2389 procedure TGikoDM.IndividualAbonID1ActionExecute(Sender: TObject);
2391 GikoForm.IndividualAbonID(1);
2393 // *************************************************************************
2394 //!
\82±
\82ÌID
\82 \82Ú
\81`
\82ñ
\81@
\93§
\96¾
2395 // *************************************************************************
2396 procedure TGikoDM.IndividualAbonID0ActionExecute(Sender: TObject);
2398 GikoForm.IndividualAbonID(0);
2400 ////////////////////////////////
\83u
\83\89\83E
\83U
\83|
\83b
\83v
\83A
\83b
\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2401 // *************************************************************************
2402 //!
\83M
\83R
\83i
\83r
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2403 // *************************************************************************
2404 procedure TGikoDM.GikoNaviWebPageActionExecute(Sender: TObject);
2406 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_GIKONAVI, gbtAuto);
2408 // *************************************************************************
2409 //!
\83\82\83i
\83W
\83\89\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2410 // *************************************************************************
2411 procedure TGikoDM.MonazillaWebPageActionExecute(Sender: TObject);
2413 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_MONAZILLA, gbtAuto);
2415 // *************************************************************************
2416 //!
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\83g
\83b
\83v
\83y
\81[
\83W
\82ð
\95\
\8e¦
\82·
\82é
2417 // *************************************************************************
2418 procedure TGikoDM.BBS2chWebPageActionExecute(Sender: TObject);
2420 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_2ch, gbtAuto);
2422 // *************************************************************************
2423 //!
\83M
\83R
\83i
\83r
\82Ì
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
2424 // *************************************************************************
2425 procedure TGikoDM.GikoFolderOpenActionExecute(Sender: TObject);
2427 GikoSys.CreateProcess('explorer.exe', '/e,"' + GikoSys.GetAppDir + '"');
2429 // *************************************************************************
2430 //!
\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\82ð
\95\
\8e¦
\82·
\82é
2431 // *************************************************************************
2432 procedure TGikoDM.AboutActionExecute(Sender: TObject);
2436 Dlg := TAboutDialog.Create(GikoForm);
2443 // *************************************************************************
2444 //!
\83M
\83R
\83i
\83r
\82Ì
\83w
\83\8b\83v
\82ð
\95\
\8e¦
\82·
\82é
2445 // *************************************************************************
2446 procedure TGikoDM.GikoHelpActionExecute(Sender: TObject);
2450 FileName := GikoSys.GetAppDir + 'batahlp.chm';
2451 if not FileExists(FileName) then begin
2454 '
\83w
\83\8b\83v
\82ª
\8c©
\82Â
\82©
\82è
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½' + #13#10 +
2455 '
\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 +
2456 '
\83w
\83\8b\83v
\82Í
\83M
\83R
\83i
\83r
\82Ì
\83T
\83C
\83g
\82É
\92u
\82¢
\82Ä
\82 \82è
\82Ü
\82·',
2461 ShellExecute(GikoForm.Handle, 'open', PChar(FileName), '', PChar(GikoSys.GetAppDir), SW_SHOW);
2463 // *************************************************************************
2464 //!
\83M
\83R
\83i
\83rWiki
\82Ì
\83E
\83F
\83u
\83T
\83C
\83g
\82ð
\95\
\8e¦
\82·
\82é
2465 // *************************************************************************
2466 procedure TGikoDM.WikiFAQWebPageActionExecute(Sender: TObject);
2468 GikoSys.OpenBrowser(PROTOCOL_HTTP + URL_Wiki, gbtAuto);
2470 ////////////////////////////////
\83w
\83\8b\83v
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
2471 // *************************************************************************
2472 //!
\83\8a\83X
\83g
\94Ô
\8d\86\95\
\8e¦
\82ð
\95Ï
\8dX
\82·
\82é
2473 // *************************************************************************
2474 procedure TGikoDM.ListNumberVisibleActionExecute(Sender: TObject);
2476 GikoSys.Setting.ListViewNo := ListNumberVisibleAction.Checked;
2477 GikoForm.ListView.Refresh;
2479 // *************************************************************************
2480 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82é
2481 // *************************************************************************
2482 procedure TGikoDM.UpFolderActionExecute(Sender: TObject);
2484 if GikoForm.GetActiveList is TBoard then begin
2485 if TBoard(GikoForm.GetActiveList).ParentCategory <> nil then
2486 GikoForm.SelectTreeNode(TBoard(GikoForm.GetActiveList).ParentCategory, True);
2487 end else if GikoForm.GetActiveList is TCategory then begin
2488 GikoForm.SelectTreeNode(TCategory(GikoForm.GetActiveList).ParenTBBS, True);
2491 // *************************************************************************
2492 //!
\8fã
\88Ê
\83t
\83H
\83\8b\83_
\82É
\88Ú
\93®
\82·
\82éUpDate
\83C
\83x
\83\93\83g
2493 // *************************************************************************
2494 procedure TGikoDM.UpFolderActionUpdate(Sender: TObject);
2496 UpFolderAction.Enabled := not (GikoForm.GetActiveList is TBBS);
2498 // *************************************************************************
2499 //!
\95\
\8e¦
\81@
\95\
\8e¦
\83\8a\83X
\83g
\82Ì
\83\82\81[
\83h
\95Ï
\8dX
2500 // *************************************************************************
2501 procedure TGikoDM.IconStyleExecute(Sender: TObject);
2503 case GikoForm.ListView.ViewStyle of
2504 vsIcon: SmallIconAction.Execute;
2505 vsSmallIcon: ListIconAction.Execute;
2506 vsList: DetailIconAction.Execute;
2507 vsReport: LargeIconAction.Execute;
2510 // *************************************************************************
2511 //! SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
\82·
\82é
2512 // *************************************************************************
2513 procedure TGikoDM.ClearSelectComboBox;
2515 if GikoForm.SelectComboBoxPanel.Visible then begin
2516 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2517 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2518 GikoForm.ListView.SetFocus;
2521 // *************************************************************************
2522 //!
\83X
\83\8c\83b
\83h
\82ð
\82·
\82×
\82Ä
\95\
\8e¦
\82·
\82é
2523 // *************************************************************************
2524 procedure TGikoDM.AllItemActionExecute(Sender: TObject);
2527 if GikoForm.ViewType <> gvtAll then
2528 GikoForm.SetListViewType(gvtAll);
2529 GikoSys.Setting.ThreadRange := gtrAll;
2530 AllItemAction.Checked := True;
2531 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2532 GikoForm.ModifySelectList;
2533 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2534 ClearSelectComboBox;
2538 // *************************************************************************
2539 //!
\83\8d\83O
\97L
\82è
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\82ð
\95\
\8e¦
\82·
\82é
2540 // *************************************************************************
2541 procedure TGikoDM.LogItemActionExecute(Sender: TObject);
2544 if GikoForm.ViewType <> gvtLog then
2545 GikoForm.SetListViewType(gvtLog);
2546 GikoSys.Setting.ThreadRange := gtrLog;
2547 LogItemAction.Checked := True;
2548 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2549 GikoForm.ModifySelectList;
2550 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2551 ClearSelectComboBox;
2555 // *************************************************************************
2556 //!
\90V
\92\85\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2557 // *************************************************************************
2558 procedure TGikoDM.NewItemActionExecute(Sender: TObject);
2562 if GikoForm.ViewType <> gvtNew then
2563 GikoForm.SetListViewType(gvtNew);
2564 GikoSys.Setting.ThreadRange := gtrNew;
2565 NewItemAction.Checked := True;
2566 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2567 GikoForm.ModifySelectList;
2568 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2569 ClearSelectComboBox;
2573 // *************************************************************************
2574 //! DAT
\97\8e\82¿
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2575 // *************************************************************************
2576 procedure TGikoDM.ArchiveItemActionExecute(Sender: TObject);
2579 if GikoForm.ViewType <> gvtArch then
2580 GikoForm.SetListViewType(gvtArch);
2581 GikoSys.Setting.ThreadRange := gtrArch;
2582 ArchiveItemAction.Checked := True;
2583 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2584 GikoForm.ModifySelectList;
2585 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2586 ClearSelectComboBox;
2590 // *************************************************************************
2591 //!
\90¶
\91¶
\83X
\83\8c\83b
\83h
\82Ì
\82Ý
\95\
\8e¦
\82·
\82é
2592 // *************************************************************************
2593 procedure TGikoDM.LiveItemActionExecute(Sender: TObject);
2596 if GikoForm.ViewType <> gvtLive then
2597 GikoForm.SetListViewType(gvtLive);
2598 GikoSys.Setting.ThreadRange := gtrLive;
2599 LiveItemAction.Checked := True;
2600 // SelectComboBox
\82Ì
\97\9a\97ð
\82ð
\8dX
\90V
\82µ
\82Ä
\82¨
\82
2601 GikoForm.ModifySelectList;
2602 // SelectComboBox
\82Ì
\92l
\82ð
\83N
\83\8a\83A
2603 ClearSelectComboBox;
2608 // *************************************************************************
2609 //!
\83X
\83\8c\83b
\83h
\82Ì
\95\
\8e¦
\94Í
\88Í
\82ð
\90Ý
\92è
2610 // *************************************************************************
2611 procedure TGikoDM.ThreadRangeActionExecute(Sender: TObject);
2613 case GikoSys.Setting.ThreadRange of
2614 gtrAll: AllItemAction.Execute;
2615 gtrLog: LogItemAction.Execute;
2616 gtrNew: NewItemAction.Execute;
2617 gtrArch: ArchiveItemAction.Execute;
2618 gtrLive: LiveItemAction.Execute;
2621 // *************************************************************************
2622 //!
\83X
\83\8c\83b
\83h
\8di
\8d\9e\82Ý
\83_
\83C
\83A
\83\8d\83O
\82ð
\95\
\8e¦
\82·
\82é
2623 // *************************************************************************
2624 procedure TGikoDM.SelectItemActionExecute(Sender: TObject);
2627 Dlg: TListSelectDialog;
2630 if GikoForm.SelectComboBoxPanel.Visible then begin
2631 if GikoForm.SelectComboBoxPanel.Left + GikoForm.SelectComboBoxPanel.Width < GikoForm.ListToolBar.Width then begin
2632 // SelectComboBox
\82ª
\82 \82é
\8fê
\8d\87\82Í
\83t
\83H
\81[
\83J
\83X
\82ð
\88Ú
\82·
2633 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
2634 if GikoSys.Setting.ListWidthState = glsMax then
2635 BrowserMinAction.Execute;
2637 if GikoSys.Setting.ListHeightState = glsMax then
2638 BrowserMinAction.Execute;
2640 GikoForm.SelectComboBox.SetFocus;
2647 if GikoForm.SelectComboBox.Text = SELECTCOMBOBOX_NAME then begin
2648 GikoForm.SelectComboBox.Text := '';
2649 GikoForm.SelectComboBox.Color := clWindow;
2652 AllItemAction.Checked := False;
2653 LogItemAction.Checked := False;
2654 NewItemAction.Checked := False;
2655 //SelectItemAction.Checked := True;
2656 GikoForm.ModifySelectList;
2657 Dlg := TListSelectDialog.Create(GikoForm);
2659 Dlg.SelectComboBox.Items.Assign(GikoSys.Setting.SelectTextList);
2660 Dlg.SelectComboBox.Text := GikoForm.SelectComboBox.Text;
2662 if Dlg.ModalResult = mrCancel then begin
2663 if Length( GikoForm.SelectComboBox.Text ) = 0 then begin
2664 AllItemAction.Checked := True;
2665 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2666 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2669 if GikoForm.GetActiveList is TBoard then
2670 GikoForm.SetListViewType(gvtUser, TBoard(GikoForm.GetActiveList).ParentCategory.ParenTBBS.SelectText , Dlg.KubetsuCheckBox.Checked);
2672 idx := GikoSys.Setting.SelectTextList.IndexOf(Dlg.SelectComboBox.Text);
2674 GikoSys.Setting.SelectTextList.Delete(idx);
2675 GikoSys.Setting.SelectTextList.Insert(0, Dlg.SelectComboBox.Text);
2676 while Dlg.SelectComboBox.Items.Count > 100 do begin
2677 Dlg.SelectComboBox.Items.Delete(Dlg.SelectComboBox.Items.Count - 1);
2680 if Length( Dlg.SelectComboBox.Text ) = 0 then begin
2681 GikoForm.SelectComboBox.Text := SELECTCOMBOBOX_NAME;
2682 GikoForm.SelectComboBox.Color := SELECTCOMBOBOX_COLOR;
2684 GikoForm.SelectComboBox.Text := Dlg.SelectComboBox.Text;
2685 GikoForm.SelectComboBox.Color := clWindow;
2687 GikoForm.SetListViewType(gvtUser, Dlg.SelectComboBox.Text, Dlg.KubetsuCheckBox.Checked);
2693 // *************************************************************************
2694 //!
\90V
\83X
\83\8c\8f\91\82«
\8d\9e\82Ý
\83E
\83B
\83\93\83h
\83E
\82ð
\95\
\8e¦
\82·
\82é
2695 // *************************************************************************
2696 procedure TGikoDM.ThreadEditorActionExecute(Sender: TObject);
2698 Editor: TEditorForm;
2700 if not (GikoForm.GetActiveList is TBoard) then
2702 Editor := TEditorForm.Create(GikoForm);
2703 Editor.SetBoard(TBoard(GikoForm.GetActiveList));
2705 Editor.BodyEdit.SetFocus;
2707 // *************************************************************************
2708 //!
\8c»
\8dÝ
\95\
\8e¦
\82µ
\82Ä
\82¢
\82é
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
2709 // *************************************************************************
2710 procedure TGikoDM.BoardIEActionExecute(Sender: TObject);
2714 if GikoForm.GetActiveList is TBoard then begin
2715 URL := TBoard(GikoForm.GetActiveList).URL;
2716 GikoSys.OpenBrowser(URL, gbtAuto);
2719 // *************************************************************************
2720 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ÌURL
\82ð
\83R
\83s
\81[
\82·
\82é
2721 // *************************************************************************
2722 procedure TGikoDM.SelectItemURLCopyActionExecute(Sender: TObject);
2729 List := TList.Create;
2731 GikoForm.SelectListItem(List);
2732 for i := 0 to List.Count - 1 do begin
2733 if TObject(List[i]) is TBoard then
2734 s := s + TBoard(List[i]).URL + #13#10
2735 else if TObject(List[i]) is TThreadItem then
2736 s := s + TThreadItem(List[i]).URL + #13#10;
2739 Clipboard.AsText := s;
2744 // *************************************************************************
2745 //!
\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
2746 // *************************************************************************
2747 procedure TGikoDM.SelectItemURLCopyActionUpdate(Sender: TObject);
2749 if ((GikoForm.GetActiveList is TBoard) or
2750 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2751 TAction(Sender).Enabled := True
2753 TAction(Sender).Enabled := False;
2755 // *************************************************************************
2756 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82é
2757 // *************************************************************************
2758 procedure TGikoDM.SelectItemNameCopyActionExecute(Sender: TObject);
2765 List := TList.Create;
2767 GikoForm.SelectListItem(List);
2768 for i := 0 to List.Count - 1 do begin
2769 if TObject(List[i]) is TBoard then
2770 s := s + TBoard(List[i]).Title + #13#10
2771 else if TObject(List[i]) is TThreadItem then
2772 s := s + TThreadItem(List[i]).Title + #13#10;
2775 Clipboard.AsText := s;
2780 // *************************************************************************
2781 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82Ì
\96¼
\91O
\82ð
\83R
\83s
\81[
\82·
\82éUpdate
\83C
\83x
\83\93\83g
2782 // *************************************************************************
2783 procedure TGikoDM.SelectItemNameCopyActionUpdate(Sender: TObject);
2785 if ((GikoForm.GetActiveList is TBoard) or
2786 (GikoForm.GetActiveList is TCategory))and (GikoForm.ListView.SelCount > 0) then
2787 TAction(Sender).Enabled := True
2789 TAction(Sender).Enabled := False;
2791 // *************************************************************************
2792 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82Ì
\96¼
\91O
\82ÆURL
\82ð
\83R
\83s
\81[
\82·
\82é
2793 // *************************************************************************
2794 procedure TGikoDM.SelectItemNameURLCopyActionExecute(Sender: TObject);
2801 List := TList.Create;
2803 GikoForm.SelectListItem(List);
2804 for i := 0 to List.Count - 1 do begin
2805 if TObject(List[i]) is TBoard then
2806 s := s + TBoard(List[i]).Title + #13#10 + TBoard(List[i]).URL + #13#10
2807 else if TObject(List[i]) is TThreadItem then
2808 s := s + TThreadItem(List[i]).Title + #13#10 + TThreadItem(List[i]).URL + #13#10;
2811 Clipboard.AsText := s;
2816 // *************************************************************************
2817 //!
\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é
2818 // *************************************************************************
2819 procedure TGikoDM.SelectListReloadActionExecute(Sender: TObject);
2826 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2827 GikoForm.ActiveListColumnSave;
2828 if GikoForm.GetActiveList is TCategory then begin
2829 List := TList.Create;
2831 GikoForm.SelectListItem(List);
2832 if List.Count > 5 then begin
2833 msg := '5
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
2834 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
2835 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
2838 for i := 0 to List.Count - 1 do begin
2839 if TObject(List[i]) is TBoard then
2840 GikoForm.DownloadList(TBoard(List[i]), shiftDown);
2845 end else if GikoForm.GetActiveList is TBoard then begin
2846 GikoForm.DownloadList(TBoard(GikoForm.GetActiveList), shiftDown);
2849 // *************************************************************************
2850 //!
\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
2851 // *************************************************************************
2852 procedure TGikoDM.SelectListReloadActionUpdate(Sender: TObject);
2854 if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
2855 TAction(Sender).Enabled := True
2856 else if GikoForm.GetActiveList is TBoard then
2857 TAction(Sender).Enabled := True
2859 TAction(Sender).Enabled := False;
2861 // *************************************************************************
2862 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\83_
\83E
\83\93\83\8d\81[
\83h
\82·
\82é
2863 // *************************************************************************
2864 procedure TGikoDM.SelectThreadReloadActionExecute(Sender: TObject);
2871 shiftDown := GetAsyncKeyState(VK_SHIFT) = Smallint($8001);
2872 List := TList.Create;
2874 GikoForm.SelectListItem(List);
2875 if List.Count > 10 then begin
2876 msg := '10
\8cÂ
\88È
\8fã
\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ' + #13#10
2877 + '
\82Q
\82¿
\82á
\82ñ
\82Ë
\82é
\95\89\89×
\8cy
\8c¸
\82É
\82²
\8b¦
\97Í
\82
\82¾
\82³
\82¢';
2878 MsgBox(GikoForm.Handle, msg, '
\8cx
\8d\90', MB_ICONEXCLAMATION);
2881 for i := 0 to List.Count - 1 do begin
2882 if TObject(List[i]) is TThreadItem then
2883 GikoForm.DownloadContent(TThreadItem(List[i]), shiftDown);
2889 // *************************************************************************
2890 //!
\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
2891 // *************************************************************************
2892 procedure TGikoDM.SelectThreadReloadActionUpdate(Sender: TObject);
2894 TAction(Sender).Enabled :=
2895 (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0);
2897 // *************************************************************************
2898 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñ
2899 // *************************************************************************
2900 procedure TGikoDM.SelectReservActionExecute(Sender: TObject);
2902 //INFO 2005/11/19
\83_
\83~
\81[
\81H
\81@by
\82à
\82¶
\82ã
2903 //
\82±
\82Ì
\83R
\83\81\83\93\83g
\8dí
\8f\9c\82µ
\82Ä
\82Í
\91Ê
\96Ú
2905 // *************************************************************************
2906 //!
\83X
\83\8c\83b
\83h
\8f\84\89ñ
\97\
\96ñUpdate
\83C
\83x
\83\93\83g
2907 // *************************************************************************
2908 procedure TGikoDM.SelectReservActionUpdate(Sender: TObject);
2913 if (GikoForm.GetActiveList is TBoard) and (GikoForm.ListView.SelCount > 0) then begin
2914 List := TList.Create;
2916 GikoForm.SelectListItem(List);
2917 for i := 0 to List.Count - 1 do begin
2918 if TObject(List[i]) is TThreadItem then begin
2919 if TThreadItem(List[i]).IsLogFile then begin
2920 SelectReservAction.Enabled := True;
2925 SelectReservAction.Enabled := False;
2929 end else if (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0) then
2930 SelectReservAction.Enabled := True
2932 SelectReservAction.Enabled := False;
2934 // *************************************************************************
2935 //!
\91I
\91ð
\82µ
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82É
\90V
\82µ
\82¢
\96¼
\91O
\82Å
\8f\84\89ñ
\97\
\96ñ
2936 // *************************************************************************
2937 procedure TGikoDM.SelectNewRoundNameExecute(Sender: TObject);
2940 Dlg: TRoundNameDialog;
2944 //
\8cÄ
\82Ñ
\8fo
\82µ
\8c³
\82ª
\81ATAction
\82ÅListView
\82É
\91I
\91ð
\82ª
\82¢
\82È
\82¯
\82ê
\82Î
\81AEXIT
\82·
\82é
2945 if (Sender is TAction) and (GikoForm.ListView.Selected = nil) then
2948 //
\93o
\98^
\8fã
\8cÀ
\83`
\83F
\83b
\83N
2949 cnt := RoundList.Count[grtBoard];
2950 cnt := cnt + RoundList.Count[grtItem];
2951 if cnt > 500 then begin
2952 MsgBox(GikoForm.Handle, '
\8f\84\89ñ
\82Í500
\88È
\8fã
\93o
\98^
\82Å
\82«
\82Ü
\82¹
\82ñ', MSG_ERROR, MB_OK or MB_ICONSTOP);
2956 Dlg := TRoundNameDialog.Create(GikoForm);
2959 if Dlg.ModalResult <> mrCancel then begin
2960 s := Trim(Dlg.RoundNameEdit.Text);
2961 if (Sender is TMenuItem) then begin
2962 GikoForm.SetSelectItemRound(True, s, TMenuItem(Sender).Parent.Name);
2963 end else if (Sender is TAction) then begin
2964 if (GikoForm.ListView.Selected <> nil) then begin
2965 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
2966 GikoForm.SetSelectItemRound(True, s,
2967 TThreadItem(GikoForm.ListView.Selected.Data).Title);
2968 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
2969 GikoForm.SetSelectItemRound(True, s,
2970 TBoard(GikoForm.ListView.Selected.Data).Title);
2974 GikoForm.ListView.Refresh;
2980 // *************************************************************************
2981 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\83X
\83\8c\83b
\83h
\82Ì
\8f\84\89ñ
\82ð
\8dí
\8f\9c\82·
\82é
2982 // *************************************************************************
2983 procedure TGikoDM.SelectDeleteRoundExecute(Sender: TObject);
2987 if (Sender is TMenuItem) then begin
2989 GikoForm.SetSelectItemRound(False, '', TMenuItem(Sender).Parent.Name);
2992 end else if (Sender is TAction) then begin
2994 if GikoForm.ListView.Selected <> nil then begin
2995 if (TObject(GikoForm.ListView.Selected.Data) is TThreadItem) then begin
2996 s := TThreadItem(GikoForm.ListView.Selected.Data).Title;
2997 end else if (TObject(GikoForm.ListView.Selected.Data) is TBoard) then begin
2998 s := TBoard(GikoForm.ListView.Selected.Data).Title;
3000 GikoForm.SetSelectItemRound(False, '', s);
3006 GikoForm.ListView.Refresh;
3008 // *************************************************************************
3009 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\94Â
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\82É
\92Ç
\89Á
\82·
\82é
3010 // *************************************************************************
3011 procedure TGikoDM.BoardFavoriteAddActionExecute(Sender: TObject);
3013 if TObject(GikoForm.ListView.Selected.Data) is TBoard then
3014 GikoForm.ShowFavoriteAddDialog(TObject(GikoForm.ListView.Selected.Data));
3016 // *************************************************************************
3017 //!
\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
3018 // *************************************************************************
3019 procedure TGikoDM.BoardFavoriteAddActionUpdate(Sender: TObject);
3021 BoardFavoriteAddAction.Enabled :=
3022 (GikoForm.GetActiveList is TCategory) and (GikoForm.ListView.SelCount > 0);
3024 // *************************************************************************
3025 //! Explorer
\82ÅLog
\83t
\83H
\83\8b\83_
\82ð
\8aJ
\82
3026 // *************************************************************************
3027 procedure TGikoDM.LogFolderOpenActionExecute(Sender: TObject);
3031 if ((GikoSys.Setting.ListOrientation = gloVertical) and
3032 (GikoSys.Setting.ListHeightState = glsMax)) or
3033 ((GikoSys.Setting.ListOrientation = gloHorizontal) and
3034 (GikoSys.Setting.ListWidthState = glsMax)) then begin
3035 if(GikoForm.GetActiveContent <> nil) then begin
3036 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(GikoForm.GetActiveContent.FilePath) + '"');
3038 end else if GikoForm.GetActiveList is TCategory then begin
3039 List := TList.Create;
3041 GikoForm.SelectListItem(List);
3042 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(List[0]).FilePath) + '"');
3046 end else if GikoForm.GetActiveList is TBoard then begin
3047 GikoSys.CreateProcess('explorer.exe', '/e,"' + ExtractFilePath(TBoard(GikoForm.GetActiveList).FilePath) + '"');
3051 // *************************************************************************
3052 //! 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Ê
3053 // *************************************************************************
3054 procedure TGikoDM.LogFolderOpenActionUpdate(Sender: TObject);
3056 if ((GikoForm.GetActiveList is TBoard) or (GikoForm.GetActiveList is TCategory))
3057 and (GikoForm.ListView.SelCount > 0) then
3058 TAction(Sender).Enabled := True
3060 TAction(Sender).Enabled := False;
3062 // *************************************************************************
3063 //! Header.txt
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
3064 // *************************************************************************
3065 procedure TGikoDM.BrowsBoradHeadActionExecute(Sender: TObject);
3067 RefURL, URL : string;
3071 if GikoForm.GetActiveList is TCategory then begin
3072 List := TList.Create;
3074 GikoForm.SelectListItem(List);
3075 RefURL := TBoard(List[0]).URL;
3079 end else if GikoForm.GetActiveList is TBoard then begin
3080 RefURL := TBoard(GikoForm.GetActiveList).URL
3082 if RefURL <> '' then begin
3083 if RefURL[Length(RefURL)] <> '/' then
3084 URL := RefURL + '/' + 'head.txt'
3086 URL := RefURL + 'head.txt';
3088 GikoForm.MoveToURL(URL);
3090 ShowMessage('
\94Â
\82ð
\93Á
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\82Å
\82µ
\82½
\81B');
3094 // *************************************************************************
3095 //!
\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é
3096 // *************************************************************************
3097 function TGikoDM.GetSortProperties(List: TObject;
3098 var vSortOrder: Boolean): Boolean;
3101 if (List <> nil) then begin
3102 if (List is TBBS) then begin
3103 vSortOrder := GikoSys.Setting.BBSSortOrder;
3104 end else if (List is TCategory) then begin
3105 vSortOrder := GikoSys.Setting.CategorySortOrder;
3106 end else if (List is TBoard) then begin
3107 vSortOrder := GikoSys.Setting.BoardSortOrder;
3115 // *************************************************************************
3116 //!
\8c»
\8dÝ
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
\82·
\82é
3117 // *************************************************************************
3118 procedure TGikoDM.SortActiveColumnActionExecute(Sender: TObject);
3123 if GetSortProperties(GikoForm.GetActiveList, so) then begin
3124 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3125 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3126 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3128 TListViewUtils.ListViewSort(nil, GikoForm.ListView,
3129 GikoForm.ListView.Column[ i ], ListNumberVisibleAction.Checked,
3136 // *************************************************************************
3137 //!
\89E
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3138 // *************************************************************************
3139 procedure TGikoDM.SortNextColumnActionExecute(Sender: TObject);
3143 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3144 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3145 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3147 if id > GikoForm.ListView.Columns.Count - 1 then
3149 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3150 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3156 // *************************************************************************
3157 //!
\8d¶
\97×
\82Ì
\83J
\83\89\83\80\82ð
\83\
\81[
\83g
3158 // *************************************************************************
3159 procedure TGikoDM.SortPrevColumnActionExecute(Sender: TObject);
3163 for i := 0 to GikoForm.ListView.Columns.Count - 1 do begin
3164 if (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
3165 (GikoForm.ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
3168 id := GikoForm.ListView.Columns.Count - 1;
3169 TListViewUtils.ListViewSort( nil, GikoForm.ListView,
3170 GikoForm.ListView.Column[ id ], ListNumberVisibleAction.Checked,
3176 ////////////////////////////////
\94Â
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3177 // *************************************************************************
3178 //!
\95W
\8f\80\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3179 // *************************************************************************
3180 procedure TGikoDM.StdToolBarVisibleActionExecute(Sender: TObject);
3182 CoolBand: TCoolBand;
3184 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.StdToolBar);
3185 if CoolBand = nil then
3187 GikoSys.Setting.StdToolBarVisible := StdToolBarVisibleAction.Checked;
3188 CoolBand.Visible := GikoSys.Setting.StdToolBarVisible;
3189 GikoForm.StdToolBarVisiblePMenu.Checked := GikoSys.Setting.StdToolBarVisible;
3191 // *************************************************************************
3192 //!
\83A
\83h
\83\8c\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3193 // *************************************************************************
3194 procedure TGikoDM.AddressBarVisibleActionExecute(Sender: TObject);
3196 CoolBand: TCoolBand;
3198 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.AddressToolBar);
3199 if CoolBand = nil then
3201 GikoSys.Setting.AddressBarVisible := AddressBarVisibleAction.Checked;
3202 CoolBand.Visible := GikoSys.Setting.AddressBarVisible;
3203 GikoForm.AddressToolBarVisiblePMenu.Checked := GikoSys.Setting.AddressBarVisible;
3205 // *************************************************************************
3206 //!
\83\8a\83\93\83N
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3207 // *************************************************************************
3208 procedure TGikoDM.LinkBarVisibleActionExecute(Sender: TObject);
3210 CoolBand: TCoolBand;
3212 CoolBand := GikoForm.GetCoolBand(GikoForm.MainCoolBar, GikoForm.LinkToolBar);
3213 if CoolBand = nil then
3215 GikoSys.Setting.LinkBarVisible := LinkBarVisibleAction.Checked;
3216 CoolBand.Visible := GikoSys.Setting.LinkBarVisible;
3217 GikoForm.LinkToolBarVisiblePMenu.Checked := GikoSys.Setting.LinkBarVisible;
3219 // *************************************************************************
3220 //!
\83\8a\83X
\83g
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3221 // *************************************************************************
3222 procedure TGikoDM.ListToolBarVisibleActionExecute(Sender: TObject);
3224 CoolBand: TCoolBand;
3226 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListToolBar);
3227 if CoolBand = nil then
3229 CoolBand.Visible := ListToolBarVisibleAction.Checked;
3230 GikoSys.Setting.ListToolBarVisible := ListToolBarVisibleAction.Checked;
3232 // *************************************************************************
3233 //!
\83\8a\83X
\83g
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3234 // *************************************************************************
3235 procedure TGikoDM.ListNameBarVisibleActionExecute(Sender: TObject);
3237 CoolBand: TCoolBand;
3239 CoolBand := GikoForm.GetCoolBand(GikoForm.ListCoolBar, GikoForm.ListNameToolBar);
3240 if CoolBand = nil then
3242 CoolBand.Visible := ListNameBarVisibleAction.Checked;
3243 GikoSys.Setting.ListNameBarVisible := ListNameBarVisibleAction.Checked;
3245 // *************************************************************************
3246 //!
\83u
\83\89\83E
\83U
\83c
\81[
\83\8b\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3247 // *************************************************************************
3248 procedure TGikoDM.BrowserToolBarVisibleActionExecute(Sender: TObject);
3250 CoolBand: TCoolBand;
3252 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserToolBar);
3253 if CoolBand = nil then
3255 CoolBand.Visible := BrowserToolBarVisibleAction.Checked;
3256 GikoSys.Setting.BrowserToolBarVisible := BrowserToolBarVisibleAction.Checked;
3258 // *************************************************************************
3259 //!
\83u
\83\89\83E
\83U
\96¼
\8fÌ
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3260 // *************************************************************************
3261 procedure TGikoDM.BrowserNameBarVisibleActionExecute(Sender: TObject);
3263 CoolBand: TCoolBand;
3265 CoolBand := GikoForm.GetCoolBand(GikoForm.BrowserCoolBar, GikoForm.BrowserNameToolBar);
3266 if CoolBand = nil then
3268 CoolBand.Visible := BrowserNameBarVisibleAction.Checked;
3269 GikoSys.Setting.BrowserNameBarVisible := BrowserNameBarVisibleAction.Checked;
3271 // *************************************************************************
3272 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3273 // *************************************************************************
3274 procedure TGikoDM.MsgBarVisibleActionExecute(Sender: TObject);
3276 GikoForm.MessageSplitter.Visible := MsgBarVisibleAction.Checked;
3277 GikoForm.MessagePanel.Top :=
3278 GikoForm.MessageSplitter.Top + GikoForm.MessageSplitter.Height;
3279 GikoForm.MessageSplitter.Top := GikoForm.MessagePanel.Top + 1;
3280 GikoForm.MessagePanel.Visible := MsgBarVisibleAction.Checked;
3281 GikoSys.Setting.MessageBarVisible := MsgBarVisibleAction.Checked;
3283 // *************************************************************************
3284 //!
\83\81\83b
\83Z
\81[
\83W
\83o
\81[
\82ð
\95Â
\82¶
\82é
3285 // *************************************************************************
3286 procedure TGikoDM.MsgBarCloseActionExecute(Sender: TObject);
3288 MsgBarVisibleAction.Execute;
3290 // *************************************************************************
3291 //!
\83X
\83e
\81[
\83^
\83X
\83o
\81[
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3292 // *************************************************************************
3293 procedure TGikoDM.StatusBarVisibleActionExecute(Sender: TObject);
3295 GikoForm.StatusBar.Visible := StatusBarVisibleAction.Checked;
3296 GikoSys.Setting.StatusBarVisible := StatusBarVisibleAction.Checked;
3298 // *************************************************************************
3299 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\8cf
\8e¦
\94Â
\82É
\82·
\82é
3300 // *************************************************************************
3301 procedure TGikoDM.CabinetBBSActionExecute(Sender: TObject);
3304 if GikoForm.CabinetPanel.Visible then begin
3305 if GikoForm.TreeType = gtt2ch then begin
3306 GikoForm.CabinetVisible( False );
3308 CabinetBBSAction.Checked := False;
3310 CabinetBBSAction.Checked := True;
3313 GikoForm.CabinetVisible( True );
3314 CabinetBBSAction.Checked := True;
3317 if GikoForm.ActiveBBS = nil then
3318 GikoForm.ShowBBSTree( BBSs[ 0 ] )
3320 GikoForm.ShowBBSTree( GikoForm.ActiveBBS );
3323 // *************************************************************************
3324 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\97\9a\97ð
\83\8a\83X
\83g
\82É
\82·
\82é
3325 // *************************************************************************
3326 procedure TGikoDM.CabinetHistoryActionExecute(Sender: TObject);
3328 GikoForm.ShowHistoryTree;
3330 // *************************************************************************
3331 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\82ð
\82¨
\8bC
\82É
\93ü
\82è
\83\8a\83X
\83g
\82É
\82·
\82é
3332 // *************************************************************************
3333 procedure TGikoDM.CabinetFavoriteActionExecute(Sender: TObject);
3339 if GikoForm.CabinetPanel.Visible then begin
3340 if GikoForm.TreeType = gttFavorite then begin
3341 GikoForm.CabinetVisible( False );
3342 CabinetFavoriteAction.Checked := False;
3344 CabinetFavoriteAction.Checked := True;
3347 GikoForm.CabinetVisible( True );
3348 CabinetFavoriteAction.Checked := True;
3351 // BBS...BBS, History, Favorite
3352 GikoSys.Setting.CabinetIndex := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3354 b := GikoForm.CabinetSelectPopupMenu.Items.Count - 1;
3355 for i := 0 to b do begin
3356 item := GikoForm.CabinetSelectPopupMenu.Items[ i ];
3357 if item is TBBSMenuItem then begin
3358 item.Checked := False;
3359 // CabinetMenu
\82Í CabinetSelectPopupMenu
\82Æ
\93¯
\82¶
\82Æ
\8c\88\82ß
\82¤
\82¿
\82µ
\82¿
\82á
\82¤
3360 GikoForm.CabinetMenu.Items[ i ].Checked := False;
3364 //
\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Ö
3365 GikoForm.HistoryToolBar.Hide;
3366 GikoForm.FavoriteToolBar.Show;
3367 GikoForm.TreeView.Visible := False;
3368 GikoForm.FavoriteTreeView.Visible := True;
3370 GikoForm.CabinetSelectToolButton.Caption := '
\82¨
\8bC
\82É
\93ü
\82è';
3371 GikoForm.TreeType := gttFavorite;
3373 //
\83\81\83j
\83\85\81[
\8by
\82Ñ
\83{
\83^
\83\93\82Ì
\83`
\83F
\83b
\83N
\82ð
\90Ý
\92è
3374 CabinetBBSAction.Checked := False;
3375 CabinetHistoryAction.Checked := False;
3377 //
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\83c
\83\8a\81[
\82ð
\93W
\8aJ
3378 GikoForm.FavoriteTreeView.Items.GetFirstNode.Expanded := True;
3381 // *************************************************************************
3382 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3383 // *************************************************************************
3384 procedure TGikoDM.CabinetVisibleActionExecute(Sender: TObject);
3386 case GikoForm.TreeType of
3387 gttHistory: CabinetHistoryAction.Execute;
3388 gttFavorite: CabinetFavoriteAction.Execute;
3390 CabinetBBSAction.Execute;
3393 // *************************************************************************
3394 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82ð
\95Â
\82¶
\82é
3395 // *************************************************************************
3396 procedure TGikoDM.CabinetCloseActionExecute(Sender: TObject);
3398 //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ã
3400 // *************************************************************************
3401 //!
\83\8a\83X
\83g
\82ð
\91å
\82«
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3402 // *************************************************************************
3403 procedure TGikoDM.LargeIconActionExecute(Sender: TObject);
3405 GikoForm.ListView.ViewStyle := vsIcon;
3406 LargeIconAction.Checked := True;
3408 // *************************************************************************
3409 //!
\83\8a\83X
\83g
\82ð
\8f¬
\82³
\82¢
\83A
\83C
\83R
\83\93\95\
\8e¦
\82É
\82·
\82é
3410 // *************************************************************************
3411 procedure TGikoDM.SmallIconActionExecute(Sender: TObject);
3413 GikoForm.ListView.ViewStyle := vsSmallIcon;
3414 SmallIconAction.Checked := True;
3416 // *************************************************************************
3417 //!
\83\8a\83X
\83g
\82ð
\88ê
\97\97\95\
\8e¦
\82É
\82·
\82é
3418 // *************************************************************************
3419 procedure TGikoDM.ListIconActionExecute(Sender: TObject);
3421 GikoForm.ListView.ViewStyle := vsList;
3422 ListIconAction.Checked := True;
3424 // *************************************************************************
3425 //!
\83\8a\83X
\83g
\82ð
\8fÚ
\8d×
\95\
\8e¦
\82É
\82·
\82é
3426 // *************************************************************************
3427 procedure TGikoDM.DetailIconActionExecute(Sender: TObject);
3429 GikoForm.ListView.ViewStyle := vsReport;
3430 DetailIconAction.Checked := True;
3432 // *************************************************************************
3433 //!
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\92\86\8e~
\82·
\82é
3434 // *************************************************************************
3435 procedure TGikoDM.StopActionExecute(Sender: TObject);
3437 GikoForm.FControlThread.DownloadAbort;
3438 if GikoForm.WorkCount <> 0 then GikoForm.WorkCount := 0;
3440 GikoForm.Animate.Active := False;
3443 GikoForm.ScreenCursor := crDefault;
3445 // *************************************************************************
3446 //!
\83\8a\83X
\83g
\82Æ
\83u
\83\89\83E
\83U
\82Ì
\8fc
\89¡
\94z
\92u
\82ð
\95Ï
\8dX
\82·
\82é
3447 // *************************************************************************
3448 procedure TGikoDM.ArrangeActionExecute(Sender: TObject);
3450 if ArrangeAction.Checked then begin
3452 GikoForm.ViewPanel.Align := alNone;
3453 GikoForm.ListSplitter.Align := alNone;
3454 GikoForm.ThreadPanel.Align := alNone;
3456 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3457 GikoForm.ViewPanel.Align := alLeft;
3459 GikoForm.ListSplitter.Width := 5;
3460 GikoForm.ListSplitter.Align := alLeft;
3462 GikoForm.ViewPanel.Left := -10;
3464 GikoForm.ThreadPanel.Align := alClient;
3466 GikoSys.Setting.ListOrientation := gloHorizontal;
3467 case GikoSys.Setting.ListWidthState of
3469 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3470 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3471 GikoForm.ViewPanel.Width := 1;
3474 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3475 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_MIN;
3478 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3479 BrowserMinAction.ImageIndex := TOOL_ICON_WIDTH_NORMAL;
3480 GikoForm.ViewPanel.Width := GikoForm.ThreadMainPanel.Width - 80;
3485 GikoForm.ViewPanel.Align := alNone;
3486 GikoForm.ListSplitter.Align := alNone;
3487 GikoForm.ThreadPanel.Align := alNone;
3489 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3490 GikoForm.ViewPanel.Align := alTop;
3492 GikoForm.ListSplitter.Height := 5;
3493 GikoForm.ListSplitter.Align := alTop;
3495 GikoForm.ViewPanel.Top := -10;
3497 GikoForm.ThreadPanel.Align := alClient;
3498 GikoSys.Setting.ListOrientation := gloVertical;
3499 case GikoSys.Setting.ListHeightState of
3501 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3502 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3503 GikoForm.ViewPanel.Height := 1;
3506 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3507 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_MIN;
3510 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3511 BrowserMinAction.ImageIndex := TOOL_ICON_HEIGHT_NORMAL;
3512 GikoForm.ViewPanel.Height :=
3513 GikoForm.ThreadMainPanel.Height - GikoForm.BrowserCoolBar.Height - 7;
3518 // *************************************************************************
3519 //!
\83y
\83C
\83\93\82Ì
\83T
\83C
\83Y
\82ð
\8f\89\8aú
\89»
\82·
\82é
3520 // *************************************************************************
3521 procedure TGikoDM.PaneInitActionExecute(Sender: TObject);
3523 GikoForm.CabinetPanel.Width := 150;
3524 GikoForm.MessagePanel.Height := 40;
3526 GikoForm.BrowserSizeWidth := 200;
3527 GikoForm.BrowserSizeHeight := 200;
3528 if ArrangeAction.Checked then begin
3529 GikoForm.ViewPanel.Width := GikoForm.BrowserSizeWidth;
3531 GikoForm.ViewPanel.Height := GikoForm.BrowserSizeHeight;
3533 if GikoSys.Setting.ListOrientation = gloHorizontal then begin
3534 if GikoSys.Setting.ListHeightState = glsMax then begin
3535 BrowserMaxAction.ImageIndex := TOOL_ICON_HEIGHT_MAX;
3536 GikoSys.Setting.ListHeightState := glsNormal;
3539 if GikoSys.Setting.ListWidthState = glsMax then begin
3540 BrowserMaxAction.ImageIndex := TOOL_ICON_WIDTH_MAX;
3541 GikoSys.Setting.ListWidthState := glsNormal;
3545 // *************************************************************************
3546 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\95\
\8e¦
\8fó
\91Ô
\82ð
\95Ï
\8dX
\82·
\82é
3547 // *************************************************************************
3548 procedure TGikoDM.BrowserTabVisibleActionExecute(Sender: TObject);
3550 GikoSys.Setting.BrowserTabVisible := BrowserTabVisibleAction.Checked;
3551 GikoForm.SetBrowserTabState;
3553 // *************************************************************************
3554 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\8fã
\82É
\95\
\8e¦
\82·
\82é
3555 // *************************************************************************
3556 procedure TGikoDM.BrowserTabTopActionExecute(Sender: TObject);
3558 BrowserTabBottomAction.Checked := False;
3559 BrowserTabTopAction.Checked := True;
3560 GikoSys.Setting.BrowserTabPosition := gtpTop;
3561 GikoForm.SetBrowserTabState;
3563 // *************************************************************************
3564 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82ð
\89º
\82É
\95\
\8e¦
\82·
\82é
3565 // *************************************************************************
3566 procedure TGikoDM.BrowserTabBottomActionExecute(Sender: TObject);
3568 BrowserTabTopAction.Checked := False;
3569 BrowserTabBottomAction.Checked := True;
3570 GikoSys.Setting.BrowserTabPosition := gtpBottom;
3571 GikoForm.SetBrowserTabState;
3573 // *************************************************************************
3574 //!
\83u
\83\89\83E
\83U
\83^
\83u
\82Ì
\83X
\83^
\83C
\83\8b\82ð
\83^
\83u
\83X
\83^
\83C
\83\8b\82É
\82·
\82é
3575 // *************************************************************************
3576 procedure TGikoDM.BrowserTabTabStyleActionExecute(Sender: TObject);
3578 BrowserTabButtonStyleAction.Checked := False;
3579 BrowserTabFlatStyleAction.Checked := False;
3580 BrowserTabTabStyleAction.Checked := True;
3581 GikoSys.Setting.BrowserTabStyle := gtsTab;
3582 GikoForm.SetBrowserTabState;
3584 // *************************************************************************
3585 //!
\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é
3586 // *************************************************************************
3587 procedure TGikoDM.BrowserTabButtonStyleActionExecute(Sender: TObject);
3589 BrowserTabTabStyleAction.Checked := False;
3590 BrowserTabFlatStyleAction.Checked := False;
3591 BrowserTabButtonStyleAction.Checked := True;
3592 GikoSys.Setting.BrowserTabStyle := gtsButton;
3593 GikoForm.SetBrowserTabState;
3595 // *************************************************************************
3596 //!
\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é
3597 // *************************************************************************
3598 procedure TGikoDM.BrowserTabFlatStyleActionExecute(Sender: TObject);
3600 BrowserTabFlatStyleAction.Checked := True;
3601 BrowserTabTabStyleAction.Checked := False;
3602 BrowserTabButtonStyleAction.Checked := False;
3603 GikoSys.Setting.BrowserTabStyle := gtsFlat;
3604 GikoForm.SetBrowserTabState;
3606 // *************************************************************************
3607 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3608 // *************************************************************************
3609 procedure TGikoDM.SetFocusForBrowserActionExecute(Sender: TObject);
3611 GikoForm.ActiveContent.Browser.SetFocus;
3613 // *************************************************************************
3614 //!
\83u
\83\89\83E
\83U
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3615 // *************************************************************************
3616 procedure TGikoDM.SetFocusForBrowserActionUpdate(Sender: TObject);
3618 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) and
3619 (GikoForm.ActiveContent.Browser <> GikoForm.BrowserNullTab.Browser) then
3620 TAction(Sender).Enabled := true
3622 TAction(Sender).Enabled := false;
3624 // *************************************************************************
3625 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3626 // *************************************************************************
3627 procedure TGikoDM.SetFocusForThreadListActionExecute(Sender: TObject);
3629 if GikoForm.ActiveContent <> nil then
3630 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3631 GikoForm.ListView.SetFocus;
3633 if( GikoForm.ListView.Items.Count > 0 ) and (GikoForm.ListView.ItemFocused = nil) then
3634 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é
3636 //
\83X
\83N
\83\8d\81[
\83\8b\82³
\82¹
\82é
3637 if (GikoForm.ListView.ItemFocused <> nil) then begin
3638 GikoForm.ListView.ItemFocused.MakeVisible(False);
3641 // *************************************************************************
3642 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3643 // *************************************************************************
3644 procedure TGikoDM.SetFocusForCabinetActionExecute(Sender: TObject);
3646 if GikoForm.ActiveContent <> nil then
3647 GikoForm.WebBrowserClick(GikoForm.ActiveContent.Browser); //
\88ê
\89ñBrowser
\82É
\93\96\82Ä
\82È
\82¢
\82Æ
\93®
\82©
\82È
\82¢
\82Æ
\82«
\82ª
\82 \82é
3648 if GikoForm.TreeView.Visible then begin
3649 GikoForm.TreeView.SetFocus;
3650 if(GikoForm.TreeView.Items.Count > 0) and ( GikoForm.TreeView.Selected = nil ) then
3651 GikoForm.TreeView.Items.Item[0].Selected := true;
3652 end else if GikoForm.FavoriteTreeView.Visible then begin
3653 GikoForm.FavoriteTreeView.SetFocus;
3654 if(GikoForm.FavoriteTreeView.Items.Count > 0) and (GikoForm.FavoriteTreeView.Selected = nil) then
3655 GikoForm.FavoriteTreeView.Items.Item[0].Selected := true;
3658 // *************************************************************************
3659 //!
\83L
\83\83\83r
\83l
\83b
\83g
\82É
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82éUpdate
\83C
\83x
\83\93\83g
3660 // *************************************************************************
3661 procedure TGikoDM.SetFocusForCabinetActionUpdate(Sender: TObject);
3663 SetFocusForCabinetAction.Enabled := GikoForm.CabinetPanel.Visible;
3665 // *************************************************************************
3666 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3667 // *************************************************************************
3668 procedure TGikoDM.ThreadlistMaxAndFocusActionExecute(Sender: TObject);
3670 BrowserMinAction.Execute;
3671 SetFocusForThreadListAction.Execute;
3673 // *************************************************************************
3674 //!
\83X
\83\8c\95\
\8e¦
\82ð
\8dÅ
\91å
\89»
\82µ
\82Ä
\83t
\83H
\81[
\83J
\83X
\82ð
\93\96\82Ä
\82é
3675 // *************************************************************************
3676 procedure TGikoDM.BrowserMaxAndFocusActionExecute(Sender: TObject);
3678 BrowserMaxAction.Execute;
3679 SetFocusForBrowserAction.Execute;
3681 // *************************************************************************
3682 //!
\83X
\83\8c\83b
\83h
\88ê
\97\97\82Ì
\91I
\91ð
\82ð
\8dí
\8f\9c\82·
\82é
3683 // *************************************************************************
3684 procedure TGikoDM.UnSelectedListViewActionExecute(Sender: TObject);
3686 if GikoForm.ListView.Selected <> nil then begin
3687 GikoForm.ListView.Selected.Focused := True;
3688 GikoForm.ListView.Selected := nil;
3691 ////////////////////////////////
\95\
\8e¦
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3692 // *************************************************************************
3693 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\8aù
\93Ç
\82É
\82·
\82é
3694 // *************************************************************************
3695 procedure TGikoDM.KidokuActionExecute(Sender: TObject);
3697 SetThreadReadProperty(true);
3699 // *************************************************************************
3700 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
\82ð
\96¢
\93Ç
\82É
\82·
\82é
3701 // *************************************************************************
3702 procedure TGikoDM.MidokuActionExecute(Sender: TObject);
3704 SetThreadReadProperty(false);
3706 // *************************************************************************
3707 //!
\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Ç
3708 // *************************************************************************
3709 procedure TGikoDM.SetThreadReadProperty(read: Boolean);
3714 List := TList.Create;
3716 GikoForm.SelectListItem(List);
3717 for i := 0 to List.Count - 1 do begin
3718 if TObject(List[i]) is TThreadItem then begin
3719 if (TThreadItem(List[i]).IsLogFile) then begin
3720 TThreadItem(List[i]).UnRead := not read;
3724 if GikoForm.TreeView.Visible then
3725 GikoForm.TreeView.Refresh;
3726 if GikoForm.ListView.Visible then
3727 GikoForm.ListView.Refresh;
3732 // *************************************************************************
3733 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82é
3734 // *************************************************************************
3735 procedure TGikoDM.AllSelectActionExecute(Sender: TObject);
3737 GikoForm.ListViewAllSelect;
3739 // *************************************************************************
3740 //!
\83\8a\83X
\83g
\82ð
\91S
\82Ä
\91I
\91ð
\82·
\82éUpdate
\83C
\83x
\83\93\83g
3741 // *************************************************************************
3742 procedure TGikoDM.AllSelectActionUpdate(Sender: TObject);
3744 AllSelectAction.Enabled := GikoForm.ListView.SelCount > 0;
3746 ////////////////////////////////
\95Ò
\8fW
\82Ü
\82Å
\82¨
\82µ
\82Ü
\82¢/////////////////////
3747 //!
\83X
\83\8c\83b
\83h
\82Ì
\83T
\83C
\83Y
\82ð
\8dÄ
\8cv
\8eZ
\82·
\82é
3748 procedure TGikoDM.ThreadSizeCalcForFileActionExecute(Sender: TObject);
3750 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 +
3751 '
\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' +
3752 '
\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';
3753 RECALC_TITLE : String = '
\83X
\83\8c\83b
\83h
\82Ì
\97e
\97Ê
\82ð
\83t
\83@
\83C
\83\8b\82©
\82ç
\8dÄ
\8cv
\8eZ';
3756 limitSize : Integer;
3759 {
\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Í
3760 \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
3761 \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õ
3762 è
\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
3763 DAT
\82Ì
\83t
\83@
\83C
\83\8b\83T
\83C
\83Y
\82Å
\8dX
\90V
\82·
\82é
3765 if MsgBox(GikoForm.Handle, RECALC_MES,
3766 RECALC_TITLE, MB_YESNO or MB_ICONWARNING) = ID_YES then begin
3767 //è
\87\92l
\82Ì
\8am
\94F
3768 limitSize := LIMIT_SIZE;
3769 limitStr := IntToStr(limitSize);
3770 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
3771 limitSize := StrToInt(MojuUtils.ZenToHan(limitStr));
3772 if (limitSize < 0) then begin
3773 ShowMessage('è
\87\92l
\82É
\95\89\82Í
\8ew
\92è
\82Å
\82«
\82Ü
\82¹
\82ñ
\81I');
3774 ThreadSizeCalcForFileActionExecute(nil);
3776 RecalcThreadSize(limitSize);
3781 //! 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
3782 procedure TGikoDM.RecalcThreadSize(limit : Integer);
3784 i, j, tmpSize : Integer;
3787 Thread: TThreadItem;
3790 //
\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
3791 GikoForm.ScreenCursor := crHourGlass;
3793 GikoForm.ProgressBar.Max := BoardGroups[0].Count;
3794 for i := 0 to BoardGroups[0].Count - 1 do begin
3795 Obj := BoardGroups[0].Objects[i];
3796 if (Obj <> nil) then begin
3797 Board := TBoard(Obj);
3798 if not Board.IsThreadDatRead then begin
3799 GikoSys.ReadSubjectFile(Board);
3801 for j := 0 to Board.Count - 1 do begin
3802 Thread := Board.Items[j];
3803 if (Thread <> nil) and (Thread.IsLogFile)
3804 and (Thread.Size <= limit) then begin
3805 dat := TStringList.Create;
3807 tmpSize := Thread.Size;
3809 dat.LoadFromFile(Thread.GetThreadFileName);
3810 tmpSize := Length(dat.Text);
3811 tmpSize := tmpSize - dat.Count;
3814 Thread.Size := tmpSize;
3821 GikoForm.ProgressBar.StepBy(1);
3824 GikoForm.ScreenCursor := crDefault;
3826 GikoForm.ProgressBar.Position := 0;
3827 ShowMessage('
\8cv
\8eZ
\8fI
\97¹
\82µ
\82Ü
\82µ
\82½
\81B');
3829 //!
\93ü
\97Í
\83A
\83V
\83X
\83g
\82Ì
\90Ý
\92è
\83t
\83H
\81[
\83\80\82ð
\8cÄ
\82Ñ
\8fo
\82·
3830 procedure TGikoDM.SetInputAssistActionExecute(Sender: TObject);
3832 form : TInputAssistForm;
3834 form := TInputAssistForm.Create(GikoForm);
3842 // WebBrowser
\82Ì
\8c\9f\8dõ
\83_
\83C
\83A
\83\8d\83O
\82ð
\8cÄ
\82Ñ
\8fo
\82·
3843 procedure OpenFindDialog(Browser: TWebbrowser);
3845 CGID_WebBrowser: TGUID = '{ED016940-BD5B-11cf-BA4E-00C04FD70816}';
3848 CmdTarget : IOleCommandTarget;
3849 vaIn, vaOut: OleVariant;
3852 if Browser.Document <> nil then begin
3854 PtrGUID^ := CGID_WebBrowser;
3856 Browser.Document.QueryInterface(IOleCommandTarget, CmdTarget);
3857 if CmdTarget <> nil then begin
3859 CmdTarget.Exec(PtrGUID, HTMLID_FIND, 0, vaIn, vaOut);
3869 //!
\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é
3870 procedure TGikoDM.OpenFindDialogActionExecute(Sender: TObject);
3872 if( GikoForm.ActiveContent <> nil) and (GikoForm.ActiveContent.Browser <> nil) then begin
3873 OpenFindDialog(GikoForm.ActiveContent.Browser);
3877 // *************************************************************************
3878 //!
\91I
\91ð
\82³
\82ê
\82Ä
\82¢
\82é
\82¨
\8bC
\82É
\93ü
\82è
\82Ì
\95\
\8e¦
\96¼
\82ð
\83R
\83s
\81[
\82·
\82é
3879 // *************************************************************************
3880 procedure TGikoDM.FavoriteTreeViewItemNameCopyActionExecute(
3883 if GikoForm.ClickNode = nil then Exit;
3886 GikoForm.ClickNode.Text + #13#10;