OSDN Git Service

61e7bc7a735d9e3d3f2f984acd07ad9cd4c553a8
[gikonavigoeson/gikonavi.git] / GikoDataModule.pas
1 unit GikoDataModule;
2
3 interface
4
5 uses
6   SysUtils, Classes, ExtActns, StdActns, ActnList, ImgList, Controls;
7
8 type
9   TGikoDM = class(TDataModule)
10     GikoFormActionList: TActionList;
11     OnlyAHundredResAction: TAction;
12     OnlyKokoResAction: TAction;
13     LoginAction: TAction;
14     NewBoardAction: TAction;
15     LogDeleteAction: TAction;
16     KidokuAction: TAction;
17     StdToolBarVisibleAction: TAction;
18     AddressBarVisibleAction: TAction;
19     LinkBarVisibleAction: TAction;
20     ListToolBarVisibleAction: TAction;
21     SearchAction: TAction;
22     GikoNaviWebPageAction: TAction;
23     MonazillaWebPageAction: TAction;
24     BBS2chWebPageAction: TAction;
25     GikoFolderOpenAction: TAction;
26     AboutAction: TAction;
27     SelectTextClearAction: TAction;
28     NameTextClearAction: TAction;
29     MailTextClearAction: TAction;
30     ExitAction: TAction;
31     ListNameBarVisibleAction: TAction;
32     BrowserToolBarVisibleAction: TAction;
33     BrowserNameBarVisibleAction: TAction;
34     MsgBarVisibleAction: TAction;
35     MsgBarCloseAction: TAction;
36     StatusBarVisibleAction: TAction;
37     CabinetBBSAction: TAction;
38     CabinetHistoryAction: TAction;
39     OnlyNewResAction: TAction;
40     CabinetFavoriteAction: TAction;
41     CabinetVisibleAction: TAction;
42     ListNumberVisibleAction: TAction;
43     UpFolderAction: TAction;
44     CabinetCloseAction: TAction;
45     IconStyle: TAction;
46     LargeIconAction: TAction;
47     SmallIconAction: TAction;
48     ListIconAction: TAction;
49     DetailIconAction: TAction;
50     MidokuAction: TAction;
51     AllSelectAction: TAction;
52     AllItemAction: TAction;
53     LogItemAction: TAction;
54     NewItemAction: TAction;
55     ThreadRangeAction: TAction;
56     SelectItemAction: TAction;
57     StopAction: TAction;
58     OptionAction: TAction;
59     RoundAction: TAction;
60     BrowserMaxAction: TAction;
61     BrowserMinAction: TAction;
62     ScrollTopAction: TAction;
63     ScrollLastAction: TAction;
64     ScrollNewAction: TAction;
65     ScrollKokoAction: TAction;
66     EditorAction: TAction;
67     IEAction: TAction;
68     ShowThreadAction: TAction;
69     ShowBoardAction: TAction;
70     URLCopyAction: TAction;
71     NameCopyAction: TAction;
72     NameURLCopyAction: TAction;
73     ItemReloadAction: TAction;
74     ThreadEditorAction: TAction;
75     BoardIEAction: TAction;
76     SelectItemURLCopyAction: TAction;
77     SelectItemNameCopyAction: TAction;
78     SelectItemNameURLCopyAction: TAction;
79     SelectListReloadAction: TAction;
80     SelectThreadReloadAction: TAction;
81     BrowserTabCloseAction: TAction;
82     NotSelectTabCloseAction: TAction;
83     AllTabCloseAction: TAction;
84     KokomadeAction: TAction;
85     ZenbuAction: TAction;
86     KokoResAction: TAction;
87     TreeSelectBoradReload: TAction;
88     TreeSelectThreadReload: TAction;
89     TreeSelectURLCopy: TAction;
90     SelectReservAction: TAction;
91     SelectNewRoundName: TAction;
92     SelectDeleteRound: TAction;
93     KeySettingAction: TAction;
94     ArrangeAction: TAction;
95     ActiveLogDeleteAction: TAction;
96     TreeSelectNameURLCopy: TAction;
97     PaneInitAction: TAction;
98     LeftmostTabSelectAction: TAction;
99     LeftTabSelectAction: TAction;
100     RightTabSelectAction: TAction;
101     RightmostTabSelectAction: TAction;
102     FavoriteAddAction: TAction;
103     BoardFavoriteAddAction: TAction;
104     ThreadFavoriteAddAction: TAction;
105     TreeSelectFavoriteAddAction: TAction;
106     FavoriteArrangeAction: TAction;
107     MoveToAction: TAction;
108     BrowserTabVisibleAction: TAction;
109     BrowserTabTopAction: TAction;
110     BrowserTabBottomAction: TAction;
111     BrowserTabTabStyleAction: TAction;
112     BrowserTabButtonStyleAction: TAction;
113     BrowserTabFlatStyleAction: TAction;
114     GikoHelpAction: TAction;
115     KotehanAction: TAction;
116     ToolBarSettingAction: TAction;
117     SelectResAction: TAction;
118     AllResAction: TAction;
119     EditNGAction: TAction;
120     ReloadAction: TAction;
121     GoFowardAction: TAction;
122     GoBackAction: TAction;
123     TreeSelectSearchBoardName: TAction;
124     FavoriteTreeViewRenameAction: TAction;
125     FavoriteTreeViewNewFolderAction: TAction;
126     FavoriteTreeViewDeleteAction: TAction;
127     FavoriteTreeViewBrowseFolderAction: TAction;
128     FavoriteTreeViewReloadAction: TAction;
129     FavoriteTreeViewURLCopyAction: TAction;
130     FavoriteTreeViewNameCopyAction: TAction;
131     FavoriteTreeViewNameURLCopyAction: TAction;
132     FavoriteTreeViewLogDeleteAction: TAction;
133     ResRangeAction: TAction;
134     ExportFavoriteFile: TFileSaveAs;
135     FavoriteTreeViewBrowseBoardAction: TAction;
136     FavoriteTreeViewBrowseThreadAction: TAction;
137     UpBoardAction: TAction;
138     KoreCopy: TAction;
139     TreeSelectNameCopy: TAction;
140     SetFocusForBrowserAction: TAction;
141     SetFocusForThreadListAction: TAction;
142     SetFocusForCabinetAction: TAction;
143     FileRun1: TFileRun;
144     ThreadlistMaxAndFocusAction: TAction;
145     BrowserMaxAndFocusAction: TAction;
146     SelectItemSaveForHTML: TAction;
147     SelectItemSaveForDat: TAction;
148     FileSaveAs1: TFileSaveAs;
149     LogFolderOpenAction: TAction;
150     TabsSaveAction: TAction;
151     TabsOpenAction: TAction;
152     BrowsBoradHeadAction: TAction;
153     TabAutoSaveAction: TAction;
154     TabAutoLoadAction: TAction;
155     JumpToNumOfResAction: TAction;
156     FavoriteTreeViewCollapseAction: TAction;
157     RightTabCloseAction: TAction;
158     LeftTabCloseAction: TAction;
159     SameIDResAnchorAction: TAction;
160     IndividualAbon1Action: TAction;
161     IndividualAbon0Action: TAction;
162     AntiIndividualAbonAction: TAction;
163     AntiIndividualAbonDlgAction: TAction;
164     IndividualAbonID1Action: TAction;
165     IndividualAbonID0Action: TAction;
166     MuteAction: TAction;
167     SortActiveColumnAction: TAction;
168     SortNextColumnAction: TAction;
169     SortPrevColumnAction: TAction;
170     BeLogInOutAction: TAction;
171     UnSelectedListViewAction: TAction;
172     WikiFAQWebPageAction: TAction;
173     ToobarImageList: TImageList;
174     procedure EditNGActionExecute(Sender: TObject);
175     procedure ReloadActionExecute(Sender: TObject);
176     procedure GoFowardActionExecute(Sender: TObject);
177     procedure GoBackActionExecute(Sender: TObject);
178     procedure MoveToActionExecute(Sender: TObject);
179     procedure FavoriteAddActionExecute(Sender: TObject);
180     procedure FavoriteArrangeActionExecute(Sender: TObject);
181     procedure FavoriteTreeViewCollapseActionExecute(Sender: TObject);
182   private
183         { Private \90é\8c¾ }
184   public
185         { Public \90é\8c¾ }
186   published
187         { Published \90é\8c¾ }
188         procedure DependActiveCntentActionUpdate(Sender: TObject);
189   end;
190
191 var
192   GikoDM: TGikoDM;
193
194 implementation
195
196 uses
197         Windows, Math, Messages,
198         Giko, GikoSystem, GikoUtil,
199         FavoriteArrange;
200
201
202 const
203         USER_SETLINKBAR                                 = WM_USER + 2003;
204         
205 {$R *.dfm}
206 // *************************************************************************
207 // NG\83\8f\81[\83h\95Ò\8fW
208 // *************************************************************************
209 procedure TGikoDM.EditNGActionExecute(Sender: TObject);
210 begin
211         //\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
212         GikoSys.FAbon.EditNGwords;
213 end;
214 // *************************************************************************
215 // NG\83\8f\81[\83h\93Ç\82Ý\8d\9e\82Ý\81i\8dÄ\93Ç\82Ý\8d\9e\82Ý\81j
216 // *************************************************************************
217 procedure TGikoDM.ReloadActionExecute(Sender: TObject);
218 begin
219         //\83\8a\83\8d\81[\83h\82ð\8eÀ\8ds\81@\8e¸\94s\82µ\82½\82ç\83\81\83b\83Z\81[\83W\8fo\97Í
220         if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
221                 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½', '\83G\83\89\81[', MB_OK or MB_ICONEXCLAMATION);
222         end else begin
223                 //\91S\82Ä\82Ì\83^\83u\82É\8dÄ\95`\89æ\82ð\90Ý\92è
224                 GikoForm.RepaintAllTabsBrowser();
225         end;
226 end;
227 // *************************************************************************
228 // NG\83\8f\81[\83h\93Ç\82Ý\8d\9e\82Ý\81i\88ê\82Â\8cã\82ë\81j
229 // *************************************************************************
230 procedure TGikoDM.GoFowardActionExecute(Sender: TObject);
231 var
232         s: string;
233 begin
234         //\88ê\82Â\8cã\82ë\82Ì\93Ç\82Ý\8d\9e\82Ý\81@\8e¸\94s\82µ\82½\82ç\83\81\83b\83Z\81[\83W\8fo\97Í
235         if GikoSys.FAbon.GoBack =false then begin
236                 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½', '\83G\83\89\81[', MB_OK or MB_ICONEXCLAMATION);
237         end else begin
238                 //\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
239                 s := GikoSys.FAbon.NGwordname;
240                 GikoForm.StatusBar.Panels.Items[2].Text := s;
241                 //\83X\83e\81[\83^\83X\82Ì\95\\8e¦\83T\83C\83Y\82Ì\83\8a\83T\83C\83Y
242                 GikoForm.StatusBar.Panels[2].Width := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
243                 GikoForm.StatusBarResize(Sender);
244                 //\91S\82Ä\82Ì\83^\83u\82É\8dÄ\95`\89æ\82ð\90Ý\92è
245                 GikoForm.RepaintAllTabsBrowser();
246         end;
247 end;
248 // *************************************************************************
249 // NG\83\8f\81[\83h\93Ç\82Ý\8d\9e\82Ý\81i\88ê\82Â\91O\81j
250 // *************************************************************************
251 procedure TGikoDM.GoBackActionExecute(Sender: TObject);
252 var
253         s: string;
254 begin
255         //\88ê\82Â\8cã\82ë\82Ì\93Ç\82Ý\8d\9e\82Ý\81@\8e¸\94s\82µ\82½\82ç\83\81\83b\83Z\81[\83W\8fo\97Í
256         if GikoSys.FAbon.GoForward =false then begin
257                 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½', '\83G\83\89\81[', MB_OK or MB_ICONEXCLAMATION);
258         end else begin
259         //\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
260                 s := GikoSys.FAbon.NGwordname;
261                 GikoForm.StatusBar.Panels.Items[2].Text := s;
262         //\83X\83e\81[\83^\83X\82Ì\95\\8e¦\83T\83C\83Y\82Ì\83\8a\83T\83C\83Y
263                 GikoForm.StatusBar.Panels[2].Width := Max(GikoForm.StatusBar.Canvas.TextWidth(s), 100);
264                 GikoForm.StatusBarResize(Sender);
265         //\91S\82Ä\82Ì\83^\83u\82É\8dÄ\95`\89æ\82ð\90Ý\92è
266                 GikoForm.RepaintAllTabsBrowser();
267         end;
268 end;
269 // *************************************************************************
270 // \83A\83h\83\8c\83X\83o\81[\82É\95\\8e¦\82µ\82Ä\82¢\82é\83A\83h\83\8c\83X\82Ö\88Ú\93®\82·\82é
271 // *************************************************************************
272 procedure TGikoDM.MoveToActionExecute(Sender: TObject);
273 var
274         URL: string;
275         idx: Integer;
276 begin
277         //\83A\83h\83\8c\83X\83R\83\93\83{\83{\83b\83N\83X\82©\82çURL\82ð\8eæ\93¾
278         URL := Trim(GikoForm.AddressComboBox.Text);
279         //URL\82É\88Ú\93®
280         GikoForm.MoveToURL(URL);
281         //\88È\89º\81A\97\9a\97ð\82Ì\8f\88\97\9d
282         idx := GikoForm.AddressComboBox.Items.IndexOf(URL);
283         if idx = -1 then begin
284                 GikoForm.AddressComboBox.Items.Insert(0, URL);
285                 if GikoForm.AddressComboBox.Items.Count > GikoSys.Setting.AddressHistoryCount then
286                         GikoForm.AddressComboBox.Items.Delete(GikoForm.AddressComboBox.Items.Count - 1);
287         end else begin
288                 GikoForm.AddressComboBox.Items.Delete(idx);
289                 GikoForm.AddressComboBox.Items.Insert(0, URL);
290         end;
291 end;
292 // *************************************************************************
293 // TAction\82ÅGetActiveContent\82ªnil\88È\8aO\82Å\97L\8cø\82É\82È\82é
294 // *************************************************************************
295 procedure TGikoDM.DependActiveCntentActionUpdate(Sender: TObject);
296 begin
297         TAction(Sender).Enabled := (GikoForm.GetActiveContent <> nil);
298 end;
299 // *************************************************************************
300 // \82¨\8bC\82É\93ü\82è\82Ì\92Ç\89Á\83_\83C\83A\83\8d\83O\82ð\8aJ\82­
301 // *************************************************************************
302 procedure TGikoDM.FavoriteAddActionExecute(Sender: TObject);
303 begin
304         GikoForm.ShowFavoriteAddDialog(GikoForm.GetActiveContent);
305 end;
306 // *************************************************************************
307 // \82¨\8bC\82É\93ü\82è\82Ì\90®\97\9d\83_\83C\83A\83\8d\83O\82ð\8aJ\82­
308 // *************************************************************************
309 procedure TGikoDM.FavoriteArrangeActionExecute(Sender: TObject);
310 var
311         Dlg: TFavoriteArrangeDialog;
312 begin
313         Dlg := TFavoriteArrangeDialog.Create(Self);
314         try
315                 Dlg.ShowModal;
316         finally
317                 Dlg.Release;
318         end;
319         //\83\8a\83\93\83N\83o\81[\82É\8dX\90V\82ð\93`\82¦\82é
320         PostMessage( GikoForm.Handle, USER_SETLINKBAR, 0, 0 );
321 end;
322 // *************************************************************************
323 // \83c\83\8a\81[\82ð\91S\82Ä\95Â\82\82é
324 // *************************************************************************
325 procedure TGikoDM.FavoriteTreeViewCollapseActionExecute(Sender: TObject);
326 var
327         node    : TTreeNode;
328 begin
329         node := GikoForm.FavoriteTreeView.Items.GetFirstNode;
330         try
331                 //\83m\81[\83h\82ª\91±\82­\8cÀ\82è\81@\83m\81[\83h\82ð\8fk\8f¬\82³\82¹\82é
332                 while node <> nil do begin
333                         if node.HasChildren then
334                                 node.Expanded := False;
335                         node := node.GetNext;
336                 end;
337         except
338         end;
339 end;
340
341 end.