ギコナビ
修订版 | 9602669bae51b1f1818810c4aee25f3c48365912 (tree) |
---|---|
时间 | 2007-01-22 02:43:45 |
作者 | cvs2git <cvs2git> |
Commiter | cvs2git |
This commit was manufactured by cvs2svn to create tag 'v1_54_0_680'.
@@ -162,34 +162,20 @@ var | ||
162 | 162 | PtrGUID: PGUID; |
163 | 163 | begin |
164 | 164 | if (Self.Browser <> nil) and (Self.Browser.Document <> nil) then begin |
165 | - //uEUªf[^ÌÇÝÝÌÍÇÝÝðÒÂ | |
166 | - while (Self.Browser.ReadyState <> READYSTATE_COMPLETE) and | |
167 | - (Self.Browser.ReadyState <> READYSTATE_INTERACTIVE) do begin | |
168 | - Sleep(1); | |
169 | - Application.ProcessMessages; | |
170 | - end; | |
171 | - vaIn := 0; | |
172 | - vaOut := 0; | |
173 | 165 | New(PtrGUID); |
174 | 166 | PtrGUID^ := CGID_WebBrowser; |
175 | - try | |
176 | - try | |
177 | - if Self.Browser.Document | |
178 | - .QueryInterface(IOleCommandTarget, CmdTarget) | |
179 | - = S_OK then begin | |
180 | - if CmdTarget <> nil then begin | |
181 | - try | |
182 | - CmdTarget.Exec(PtrGUID, HTMLID_FIND, 0, vaIn, vaOut); | |
183 | - finally | |
184 | - CmdTarget._Release; | |
185 | - end; | |
186 | - end; | |
187 | - end; | |
188 | - except | |
189 | - end; | |
190 | - finally | |
191 | - Dispose(PtrGUID); | |
192 | - end; | |
167 | + try | |
168 | + Self.Browser.Document.QueryInterface(IOleCommandTarget, CmdTarget); | |
169 | + if CmdTarget <> nil then begin | |
170 | + try | |
171 | + CmdTarget.Exec(PtrGUID, HTMLID_FIND, 0, vaIn, vaOut); | |
172 | + finally | |
173 | + CmdTarget._Release; | |
174 | + end; | |
175 | + end; | |
176 | + except | |
177 | + end; | |
178 | + Dispose(PtrGUID); | |
193 | 179 | end; |
194 | 180 | end; |
195 | 181 |
@@ -212,12 +212,14 @@ type | ||
212 | 212 | procedure Preview; |
213 | 213 | function Check: Boolean; |
214 | 214 | procedure SetNameList(sName, sMail: string); |
215 | - procedure Send(const ACOOKIE: string; const SPID: string; const PON: string; FirstWriting: Boolean); | |
215 | + procedure Send(ACOOKIE: string; SPID: string; PON: string; FirstWriting: Boolean); | |
216 | 216 | function GetActiveControlHandle: THandle; |
217 | 217 | procedure GetSendData(Source: TStringStream); |
218 | 218 | procedure SaveSendFile; |
219 | 219 | procedure SetContent(Content: string; ABrowser: TWebBrowser); |
220 | 220 | function GetResultType(ResponseText: string): TGikoResultType; |
221 | + /// øpÌæ¾ | |
222 | + function GetOEIndentChar : string; | |
221 | 223 | /// {¶Ìæ¾ |
222 | 224 | function GetBody : string; |
223 | 225 | //IdHttpÌú» |
@@ -235,7 +237,7 @@ type | ||
235 | 237 | //HEAD.TXT©®\¦ |
236 | 238 | procedure ShowBoardHead(ABoard: TBoard; AMemo: TMemo); |
237 | 239 | //LocalFusianaTrapAlart |
238 | - function LFusianaGet(const s: String): Boolean; | |
240 | + function LFusianaGet(s: String): Boolean; | |
239 | 241 | // CookieÌæ¾ |
240 | 242 | procedure GetCookie(Rawtext: String; ABoard: TBoard); |
241 | 243 | //! üÍAVXgÌ|bvAbvj [ÌNbNCxg |
@@ -246,26 +248,6 @@ type | ||
246 | 248 | procedure CancelSend(ABoard: TBoard; ASysMenu: HMENU); |
247 | 249 | //! Samba^C}[Cxg |
248 | 250 | procedure SambaTimer(Sender: TObject); |
249 | - //! EBhEÌÊuÆTCYÌÝè | |
250 | - procedure SetWindowRect; | |
251 | - //! g£^uÝè | |
252 | - procedure SetExtraTab; | |
253 | - //! Âæ¾ | |
254 | - function GetBoard : TBoard; | |
255 | - //! URLÌf[^ðstreamÉæèÞ | |
256 | - procedure GetWebData(const URL: string; const RefURL: string; | |
257 | - Modified: TDateTime; stream: TStream); | |
258 | - //! GikoFormÉV bZ[WðÇÁ·é | |
259 | - procedure AddFormMessageNew(icon: TGikoMessageIcon); | |
260 | - //! [Jfusianagbv | |
261 | - function isLocalFusianaTrap: Boolean; | |
262 | - //! [Jfusianagbv | |
263 | - function isRemoteFusianaTrap: Boolean; | |
264 | - //! Header¶ñæ¾ | |
265 | - function getHeaderStr(const ACOOKIE: string; const SPID : string; | |
266 | - const PON : string; Board : TBoard) : string; | |
267 | - //! fusianax_CAO | |
268 | - function FusianaMsgBox: Integer; | |
269 | 251 | protected |
270 | 252 | procedure CreateParams(var Params: TCreateParams); override; |
271 | 253 | public |
@@ -336,6 +318,10 @@ begin | ||
336 | 318 | end;} |
337 | 319 | |
338 | 320 | procedure TEditorForm.FormCreate(Sender: TObject); |
321 | +var | |
322 | + wp: TWindowPlacement; | |
323 | + hUser32 : HINST; | |
324 | + ini: TIniFile; | |
339 | 325 | begin |
340 | 326 | FWork := False; |
341 | 327 | FSambaTimer := TSambaTimer.Create(Self); |
@@ -346,7 +332,38 @@ begin | ||
346 | 332 | FThreadItem := nil; |
347 | 333 | |
348 | 334 | //EBhEÌÊuÝè |
349 | - SetWindowRect; | |
335 | + wp.length := sizeof(wp); | |
336 | + wp.rcNormalPosition.Top := GikoSys.Setting.EditWindowTop; | |
337 | + wp.rcNormalPosition.Left := GikoSys.Setting.EditWindowLeft; | |
338 | + | |
339 | + wp.rcNormalPosition.Bottom := GikoSys.Setting.EditWindowTop + GikoSys.Setting.EditWindowHeight; | |
340 | + wp.rcNormalPosition.Right := GikoSys.Setting.EditWindowLeft + GikoSys.Setting.EditWindowWidth; | |
341 | + wp.showCmd := SW_HIDE; | |
342 | + SetWindowPlacement(Handle, @wp); | |
343 | + | |
344 | + if GikoSys.Setting.EditWindowMax then | |
345 | + WindowState := wsMaximized; | |
346 | + | |
347 | + //EBhEªæÊOÈçæÊàÉÚ®·é | |
348 | + if (Left + Width) > Screen.Width then | |
349 | +// Left := Screen.Width - Width; | |
350 | + Left := 0; | |
351 | + if (Top + Height) > Screen.Height then | |
352 | +// Top := Screen.Height - Height; | |
353 | + Top := 0; | |
354 | + if Left < 0 then | |
355 | + Left := 0; | |
356 | + if Top < 0 then | |
357 | + Top := 0; | |
358 | + | |
359 | + //»ÝÌEBhEÌÊuðÛ¶ | |
360 | + GikoSys.Setting.EditWindowTop := Top + WINDOWMOVE_V; // ÉJEBhEÍ | |
361 | + GikoSys.Setting.EditWindowLeft := Left + WINDOWMOVE_H; // @@@EÎßºÉ¸ç· | |
362 | + //EBhEÌƳª¬³·¬¢êγÉß· | |
363 | + if GikoSys.Setting.EditWindowHeight < 144 then | |
364 | + Height := 400; | |
365 | + if GikoSys.Setting.EditWindowWidth < 144 then | |
366 | + Width := 640; | |
350 | 367 | |
351 | 368 | EditorPage.ActivePage := EditorTab; |
352 | 369 | FNameComboEdit := GetWindow(NameComboBox.Handle, GW_CHILD); |
@@ -354,8 +371,20 @@ begin | ||
354 | 371 | NameComboBox.Items.Assign(GikoSys.Setting.NameList); |
355 | 372 | MailComboBox.Items.Assign(GikoSys.Setting.MailList); |
356 | 373 | SetFont; |
357 | - // ¼§¾pÂ\Ýè | |
358 | - TransAction.Enabled := GikoSys.CanUser32DLL; | |
374 | + hUser32 := 0; | |
375 | + try | |
376 | + try | |
377 | + hUser32 := LoadLibrary('User32.dll'); | |
378 | + if hUser32 <> 0 then | |
379 | + TransAction.Enabled := true | |
380 | + else | |
381 | + TransAction.Enabled := false; | |
382 | + except | |
383 | + TransAction.Enabled := false; | |
384 | + end; | |
385 | + finally | |
386 | + FreeLibrary(hUser32); | |
387 | + end; | |
359 | 388 | |
360 | 389 | // EBhEÌXeCóÔ |
361 | 390 | if GikoSys.Setting.EditWindowStay then begin // XeCóÔ |
@@ -383,9 +412,17 @@ begin | ||
383 | 412 | |
384 | 413 | SpaceToNBSPAction.Checked := GikoSys.Setting.SpaceToNBSP; |
385 | 414 | AmpToCharRefAction.Checked := GikoSys.Setting.AmpToCharRef; |
386 | - // [J[{ÂgbvæÌ^uÌÝè | |
387 | - SetExtraTab; | |
388 | 415 | |
416 | + ini := TIniFile.Create(GikoSys.Setting.GetFileName); | |
417 | + | |
418 | + try | |
419 | + BoardtopTab.TabVisible := ini.Readbool('EditorForm', 'BoardTopTab', False); | |
420 | + BoardTop.Checked := BoardtopTab.TabVisible; | |
421 | + RocalRuleTab.TabVisible := ini.ReadBool('EditorForm', 'LocalRuleTab', False); | |
422 | + LocalRule.Checked := RocalRuleTab.TabVisible; | |
423 | + finally | |
424 | + ini.Free; | |
425 | + end; | |
389 | 426 | // L[ÝèÌÇÝÝ |
390 | 427 | GikoSys.LoadKeySetting(ActionList, GikoSys.GetEditorKeyFileName); |
391 | 428 | // }EXWFX`[ÌCXg[ |
@@ -403,6 +440,7 @@ begin | ||
403 | 440 | end; |
404 | 441 | SaveNameMailAction.Checked := True; |
405 | 442 | end; |
443 | + | |
406 | 444 | procedure TEditorForm.SetBoard(Item: TBoard); |
407 | 445 | begin |
408 | 446 | FBoard := Item; |
@@ -564,8 +602,10 @@ procedure TEditorForm.EditorPageChange(Sender: TObject); | ||
564 | 602 | var |
565 | 603 | tmpBoard: TBoard; |
566 | 604 | begin |
567 | - | |
568 | - tmpBoard := GetBoard; | |
605 | + if FThreadItem = nil then | |
606 | + tmpBoard := FBoard | |
607 | + else | |
608 | + tmpBoard := FThreadItem.ParentBoard; | |
569 | 609 | |
570 | 610 | if tmpBoard = nil then Exit; |
571 | 611 |
@@ -602,8 +642,10 @@ var | ||
602 | 642 | Board: TBoard; |
603 | 643 | begin |
604 | 644 | Result := True; |
605 | - | |
606 | - Board := GetBoard; | |
645 | + if FThreadItem = nil then | |
646 | + Board := FBoard | |
647 | + else | |
648 | + Board := FThreadItem.ParentBoard; | |
607 | 649 | |
608 | 650 | if (not GikoSys.Setting.UseMachineTime) and |
609 | 651 | ((Board.LastGetTime = 0) or |
@@ -740,33 +782,77 @@ begin | ||
740 | 782 | DrawMenuBar(Handle); |
741 | 783 | end; |
742 | 784 | |
743 | -procedure TEditorForm.Send( const ACOOKIE: string; const SPID: string; | |
744 | - const PON: string; FirstWriting: Boolean); | |
785 | +procedure TEditorForm.Send(ACOOKIE: string; SPID: string; PON: string; FirstWriting: Boolean); | |
786 | +const | |
787 | + MSG_FUSIANA : string = '[gzXgð\¦·é@\ªgíêĢܷ'#13#10 + | |
788 | + 'àµàÔáÁıÌû@ÅzXgª\¦³ê½ÆµÄàA©ÈÓCÈÌÅíËÉͶܹñB' + | |
789 | + #13#10#13#10'ÓCð¤±Æð³øµÄ«ÝÜ·©H'; | |
745 | 790 | var |
746 | 791 | TextStream: TStringStream; |
747 | 792 | Source: TStringStream; |
748 | 793 | ResponseText: string; |
749 | 794 | URL: string; |
795 | + RefURL: string; | |
750 | 796 | State: TGikoDownloadState; |
751 | 797 | ResultType: TGikoResultType; |
752 | 798 | MsgResult: Integer; |
799 | + Cookie: string; | |
753 | 800 | Board: TBoard; |
754 | 801 | sysMenu : HMENU; |
802 | + //fusianasangbv byèúÖ | |
803 | + Namae : String; | |
804 | + body : TStringList; | |
805 | + Remote : String; | |
806 | + ABoard : TBoard; | |
755 | 807 | {Protocol,Host, Path, Document, Port, Bookmark : String;} |
756 | 808 | begin |
757 | 809 | FAbort := False; |
758 | 810 | State := gdsError; |
759 | - Board := GetBoard; | |
811 | + Namae := THTMLCreate.RepHtml(NameComboBox.Text); | |
812 | + if FThreadItem = nil then | |
813 | + Board := FBoard | |
814 | + else | |
815 | + Board := FThreadItem.ParentBoard; | |
760 | 816 | |
761 | 817 | |
818 | +// tmpRawheader := ''; | |
762 | 819 | InitIdHTTP(Indy); |
763 | 820 | if FThreadItem = nil then begin |
764 | 821 | URL := FBoard.GetSendURL; |
765 | - Indy.Request.Referer := GikoSys.UrlToServer(FBoard.URL) + 'test/bbs.cgi'; | |
822 | + RefURL := GikoSys.UrlToServer(FBoard.URL) + 'test/bbs.cgi'; | |
766 | 823 | end else begin |
767 | 824 | URL := FThreadItem.GetSendURL; |
768 | - Indy.Request.Referer := FThreadItem.URL; | |
825 | + RefURL := FThreadItem.URL; | |
769 | 826 | end; |
827 | +// Indy.Request.UserAgent := GikoSys.GetUserAgent; | |
828 | + Indy.Request.Referer := RefURL; | |
829 | +// Indy.Request.AcceptEncoding := ''; | |
830 | + | |
831 | + Cookie := ''; | |
832 | + if ACOOKIE <> '' then | |
833 | + Cookie := ACOOKIE; | |
834 | + if SPID <> '' then | |
835 | + Cookie := Cookie + 'SPID=' + SPID + '; '; | |
836 | + if PON <> '' then | |
837 | + Cookie := Cookie + 'PON=' + PON + '; '; | |
838 | + | |
839 | + //zXgª2chÅABeÉLoginµÄ¢êÎBEÌf[^ðé | |
840 | + //GikoSys.ParseURI( URL, Protocol,Host, Path, Document, Port, Bookmark ); | |
841 | + //if GikoSys.Is2chHost(Host) and GikoSys.Setting.BeLogin then | |
842 | + if (Board.Is2ch) then begin | |
843 | + // ÅèÌNbL[ª êÎHí¹é | |
844 | + if Length(GikoSys.Setting.FixedCookie) > 0 then begin | |
845 | + // zXgª2chÌêCÅèÌNbL[ðHí¹é | |
846 | + Cookie := Cookie + GikoSys.Setting.FixedCookie + '; '; | |
847 | + end; | |
848 | + if (GikoSys.Setting.BeLogin) then begin | |
849 | + Cookie := Cookie + 'MDMD=' + GikoSys.Setting.BeCode + '; ' | |
850 | + + 'DMDM=' + GikoSys.Setting.BeUserID + '; '; | |
851 | + end; | |
852 | + | |
853 | + end; | |
854 | + | |
855 | + Cookie := 'Cookie: ' + Cookie + 'NAME=' + NameComboBox.Text + '; MAIL=' + MailComboBox.Text; | |
770 | 856 | |
771 | 857 | sysMenu := GetSystemMenu( Handle, false ); |
772 | 858 | EnableMenuItem( sysMenu, SC_CLOSE, MF_GRAYED ); |
@@ -780,7 +866,7 @@ begin | ||
780 | 866 | Indy.Request.AcceptLanguage := 'ja'; |
781 | 867 | Indy.Request.Accept := 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*'; |
782 | 868 | Indy.Request.ContentType := 'application/x-www-form-urlencoded'; |
783 | - Indy.Request.CustomHeaders.Add(getHeaderStr(ACOOKIE, SPID, PON, Board)); | |
869 | + Indy.Request.CustomHeaders.Add(Cookie); | |
784 | 870 | TextStream := TStringStream.Create(''); |
785 | 871 | Source := TStringStream.Create(''); |
786 | 872 | try |
@@ -790,15 +876,67 @@ begin | ||
790 | 876 | |
791 | 877 | if (FirstWriting) then begin |
792 | 878 | //tVAigbvx(LocalMode) by èúÖ |
793 | - if (isLocalFusianaTrap) then begin | |
794 | - CancelSend( Board, SysMenu ); | |
795 | - Exit; | |
796 | - end; | |
797 | - //tVAigbvx(Remote) | |
798 | - if (isRemoteFusianaTrap) then begin | |
799 | - CancelSend( Board, SysMenu ); | |
800 | - Exit; | |
801 | - end; | |
879 | + if GikoSys.Setting.LocalTrapAtt then begin | |
880 | + if LFusianaGet(Namae) then begin | |
881 | + MsgResult := MsgBox( Handle, MSG_FUSIANA, 'îñ', | |
882 | + MB_YESNO or MB_ICONQUESTION); | |
883 | + if MsgResult = IDNO then begin | |
884 | + CancelSend( Board, SysMenu ); | |
885 | + Exit; | |
886 | + end; | |
887 | + end; | |
888 | + if ((Namae = 'RèÂ') or (Namae = 'fusianasan')) then begin | |
889 | + MsgResult := MsgBox(Handle, MSG_FUSIANA, 'îñ', | |
890 | + MB_YESNO or MB_ICONQUESTION); | |
891 | + if MsgResult = IDNO then begin | |
892 | + CancelSend( Board, SysMenu ); | |
893 | + Exit; | |
894 | + end; | |
895 | + end; | |
896 | + end; | |
897 | + | |
898 | + if GikoSys.Setting.RemoteTrapAtt then begin | |
899 | + if FThreadItem = nil then | |
900 | + ABoard := FBoard | |
901 | + else | |
902 | + ABoard := FThreadItem.ParentBoard; | |
903 | + | |
904 | + if ABoard = nil then Exit; | |
905 | + | |
906 | + if FileExists(ABoard.GetSETTINGTXTFileName) then begin | |
907 | + body := TStringList.Create; | |
908 | + try | |
909 | + body.LoadFromFile(ABoard.GetSETTINGTXTFileName); | |
910 | + Remote := GetFusianaName(body, ABoard); | |
911 | + finally | |
912 | + body.Free; | |
913 | + end; | |
914 | + end else begin | |
915 | + //Setting.txtªÈ©Á½çæ¾ | |
916 | + //IÉת©©è»¤... | |
917 | + //if not FileExists(ABoard.GetSETTINGTXTFileName) then begin | |
918 | + GetSETTINGTXTAction.Execute; | |
919 | + body := TStringList.Create; | |
920 | + try | |
921 | + if FileExists(ABoard.GetSETTINGTXTFileName) then begin | |
922 | + body.LoadFromFile(ABoard.GetSETTINGTXTFileName); | |
923 | + Remote := GetFusianaName(body, ABoard); | |
924 | + end; | |
925 | + finally | |
926 | + body.Free; | |
927 | + end; | |
928 | + end; | |
929 | + | |
930 | + if Remote = 'fusianasan' then begin | |
931 | + MsgResult := MsgBox( | |
932 | + Handle, MSG_FUSIANA, 'îñ', | |
933 | + MB_YESNO or MB_ICONQUESTION); | |
934 | + if MsgResult = IDNO then begin | |
935 | + CancelSend( Board, SysMenu ); | |
936 | + Exit; | |
937 | + end; | |
938 | + end; | |
939 | + end; | |
802 | 940 | end; |
803 | 941 | |
804 | 942 | GetSendData(Source); |
@@ -926,23 +1064,34 @@ begin | ||
926 | 1064 | if FStatusCode = 302 then begin |
927 | 1065 | GikoForm.PlaySound('ResEnd'); |
928 | 1066 | SaveSendFile; |
929 | - AddFormMessageNew( gmiOK ); | |
1067 | + if FThreadItem = nil then | |
1068 | + GikoForm.AddMessageList(FBoard.Title + ' ' + GikoSys.GetGikoMessage(gmNewSure), nil, gmiOK) | |
1069 | + else | |
1070 | + GikoForm.AddMessageList(FThreadItem.Title + ' ' + GikoSys.GetGikoMessage(gmNewRes), nil, gmiOK); | |
930 | 1071 | Close; |
931 | 1072 | Exit; |
932 | 1073 | end; |
933 | 1074 | if State = gdsComplete then begin |
934 | 1075 | GikoForm.PlaySound('ResEnd'); |
935 | 1076 | SaveSendFile; |
936 | - AddFormMessageNew( gmiOK ); | |
1077 | + if FThreadItem = nil then | |
1078 | + GikoForm.AddMessageList(FBoard.Title + ' ' + GikoSys.GetGikoMessage(gmNewSure), nil, gmiOK) | |
1079 | + else | |
1080 | + GikoForm.AddMessageList(FThreadItem.Title + ' ' + GikoSys.GetGikoMessage(gmNewRes), nil, gmiOK); | |
937 | 1081 | Close; |
938 | 1082 | end else if State = gdsError then begin |
939 | - AddFormMessageNew( gmiOK ); | |
1083 | + if FThreadItem = nil then | |
1084 | + GikoForm.AddMessageList(FBoard.Title + ' ' + GikoSys.GetGikoMessage(gmNewSure), nil, gmiOK) | |
1085 | + else | |
1086 | + GikoForm.AddMessageList(FThreadItem.Title + ' ' + GikoSys.GetGikoMessage(gmNewRes), nil, gmiOK); | |
1087 | + | |
940 | 1088 | EditorPage.ActivePage := PreviewTab; |
941 | 1089 | SetContent(ResponseText, Browser); |
942 | 1090 | end else if State = gdsAbort then begin |
943 | 1091 | GikoForm.AddMessageList(FThreadItem.Title + ' ' + GikoSys.GetGikoMessage(gmAbort), nil, gmiSAD); |
944 | 1092 | end; |
945 | 1093 | end; |
1094 | + | |
946 | 1095 | function TEditorForm.GetResultType(ResponseText: string): TGikoResultType; |
947 | 1096 | begin |
948 | 1097 | if AnsiPos('«±ÝªIíèܵ½', ResponseText) <> 0 then |
@@ -977,7 +1126,10 @@ var | ||
977 | 1126 | Board: TBoard; |
978 | 1127 | body : string; |
979 | 1128 | begin |
980 | - Board := GetBoard; | |
1129 | + if FThreadItem = nil then | |
1130 | + Board := FBoard | |
1131 | + else | |
1132 | + Board := FThreadItem.ParentBoard; | |
981 | 1133 | |
982 | 1134 | if GikoSys.Setting.UseMachineTime then begin |
983 | 1135 | if GikoSys.Setting.TimeAdjust then |
@@ -1032,13 +1184,11 @@ begin | ||
1032 | 1184 | ini.WriteDateTime(sDate, 'Date', Now); |
1033 | 1185 | if FThreadItem = nil then begin |
1034 | 1186 | ini.WriteString(sDate, 'Title', MojuUtils.Sanitize(TitleEdit.Text)); |
1035 | - //ini.WriteString(sDate, 'BBS', FBoard.BBSID); | |
1036 | - ini.WriteString(sDate, 'URL', FBoard.URL); | |
1187 | + ini.WriteString(sDate, 'BBS', FBoard.BBSID); | |
1037 | 1188 | ini.WriteInteger(sDate, 'NewThread', 1); |
1038 | 1189 | end else begin |
1039 | 1190 | ini.WriteString(sDate, 'Title', FThreadItem.Title); |
1040 | - //ini.WriteString(sDate, 'BBS', FThreadItem.ParentBoard.BBSID); | |
1041 | - ini.WriteString(sDate, 'URL', FThreadItem.URL); | |
1191 | + ini.WriteString(sDate, 'BBS', FThreadItem.ParentBoard.BBSID); | |
1042 | 1192 | ini.WriteString(sDate, 'Key', ChangeFileExt(FThreadItem.FileName, '')); |
1043 | 1193 | end; |
1044 | 1194 |
@@ -1066,7 +1216,10 @@ begin | ||
1066 | 1216 | Application.ProcessMessages; |
1067 | 1217 | if not Check then Exit; |
1068 | 1218 | |
1069 | - Board := GetBoard; | |
1219 | + if FThreadItem = nil then | |
1220 | + Board := FBoard | |
1221 | + else | |
1222 | + Board := FThreadItem.ParentBoard; | |
1070 | 1223 | |
1071 | 1224 | if FThreadItem = nil then begin |
1072 | 1225 | rc := GikoUtil.MsgBox(Handle, |
@@ -1371,6 +1524,39 @@ begin | ||
1371 | 1524 | CanClose := not FWork; |
1372 | 1525 | end; |
1373 | 1526 | |
1527 | +function TEditorForm.GetOEIndentChar : string; | |
1528 | +var | |
1529 | + regKey : TRegistry; | |
1530 | + Identities : string; | |
1531 | + IndentChar : DWORD; | |
1532 | +const | |
1533 | + DEFAULT_CHAR = '> '; | |
1534 | + OE_MAIL_PATH = '\Software\Microsoft\Outlook Express\5.0\Mail'; | |
1535 | + INDENT_CHAR = 'Indent Char'; | |
1536 | +begin | |
1537 | + | |
1538 | + Result := DEFAULT_CHAR; | |
1539 | + regKey := TRegistry.Create; | |
1540 | + try | |
1541 | + try | |
1542 | + regKey.RootKey := HKEY_CURRENT_USER; | |
1543 | + if not regKey.OpenKey( 'Identities', False ) then | |
1544 | + Exit; | |
1545 | + Identities := regKey.ReadString( 'Default User ID' ); | |
1546 | + if Identities = '' then | |
1547 | + Exit; | |
1548 | + if not regKey.OpenKey( Identities + OE_MAIL_PATH, False ) then | |
1549 | + Exit; | |
1550 | + IndentChar := regKey.ReadInteger( INDENT_CHAR ); | |
1551 | + Result := Char( IndentChar ) + ' '; | |
1552 | + except | |
1553 | + end; | |
1554 | + finally | |
1555 | + regKey.Free; | |
1556 | + end; | |
1557 | + | |
1558 | +end; | |
1559 | + | |
1374 | 1560 | procedure TEditorForm.QuotePasteActionExecute(Sender: TObject); |
1375 | 1561 | var |
1376 | 1562 | s : TStringList; |
@@ -1378,7 +1564,7 @@ var | ||
1378 | 1564 | quote : string; |
1379 | 1565 | begin |
1380 | 1566 | |
1381 | - quote := GikoSys.GetOEIndentChar; | |
1567 | + quote := GetOEIndentChar; | |
1382 | 1568 | s := TStringList.Create; |
1383 | 1569 | try |
1384 | 1570 | s.Text := Clipboard.AsText; |
@@ -1423,59 +1609,68 @@ end; | ||
1423 | 1609 | |
1424 | 1610 | procedure TEditorForm.GetSETTINGTXTActionExecute(Sender: TObject); |
1425 | 1611 | var |
1426 | - memStream: TMemoryStream; | |
1427 | 1612 | URL, RefURL: string; |
1428 | 1613 | settingBody: TStringList; |
1429 | 1614 | tmpBoard: TBoard; |
1430 | 1615 | begin |
1431 | - if not FWork then begin | |
1432 | - FWork := True; | |
1433 | - | |
1434 | - tmpBoard := GetBoard; | |
1435 | - if tmpBoard <> nil then begin | |
1436 | - | |
1437 | - RefURL := tmpBoard.URL; | |
1438 | - if RefURL[Length(RefURL)] <> '/' then | |
1439 | - URL := RefURL + '/' + 'SETTING.TXT' | |
1440 | - else | |
1441 | - URL := RefURL + 'SETTING.TXT'; | |
1442 | - Screen.Cursor := crHourGlass; | |
1443 | - memStream := TMemoryStream.Create; | |
1444 | - try | |
1445 | - try | |
1446 | - StatusBar.Panels[0].Text := 'SETTING.TXT_E[h'; | |
1447 | - GetWebData(URL, RefURL, tmpBoard.SETTINGTXTTime, memStream); | |
1448 | - if( Indy.ResponseCode = 200 ) then begin | |
1449 | - settingBody := TStringList.Create; | |
1450 | - try | |
1451 | - memStream.Seek(0, soFromBeginning); | |
1452 | - settingBody.LoadFromStream(memStream); | |
1453 | - settingBody.SaveToFile(tmpBoard.GetSETTINGTXTFileName); | |
1454 | - tmpBoard.SETTINGTXTTime := Indy.Response.LastModified; | |
1455 | - tmpBoard.IsSETTINGTXT := true; | |
1456 | - tmpBoard.TitlePictureURL := GetTitlePictureURL(settingBody, tmpBoard); | |
1457 | - tmpBoard.Modified := true; | |
1458 | - finally | |
1459 | - settingBody.Free; | |
1460 | - end; | |
1461 | - StatusBar.Panels[0].Text := 'SETTING.TXTæ¾®¹(' + IntToStr(Indy.ResponseCode) + ')'; | |
1462 | - end; | |
1463 | - except | |
1464 | - on E: EIdException do begin | |
1465 | - if( AnsiPos('304', E.Message) > 0 ) then | |
1466 | - StatusBar.Panels[0].Text := 'SETTING.TXTXV³µ(' + IntToStr(Indy.ResponseCode) + ')' | |
1467 | - else | |
1468 | - StatusBar.Panels[0].Text := 'SETTING.TXTæ¾G[(' + IntToStr(Indy.ResponseCode) + ')'; | |
1469 | - end; | |
1470 | - end; | |
1471 | - finally | |
1472 | - memStream.Free; | |
1473 | - Screen.Cursor := crDefault; | |
1474 | - end; | |
1475 | - ShowBoardInformation(tmpBoard, BoardInformationMemo); | |
1476 | - end; | |
1477 | - FWork := False; | |
1478 | - end; | |
1616 | + | |
1617 | + if FWork then begin | |
1618 | + Exit; | |
1619 | + end; | |
1620 | + | |
1621 | + FWork := True; | |
1622 | + | |
1623 | + InitIdHTTP(Indy); | |
1624 | + if FThreadItem = nil then | |
1625 | + tmpBoard := FBoard | |
1626 | + else | |
1627 | + tmpBoard := FThreadItem.ParentBoard; | |
1628 | + | |
1629 | + if tmpBoard = nil then Exit; | |
1630 | + | |
1631 | + RefURL := tmpBoard.URL; | |
1632 | + if RefURL[Length(RefURL)] <> '/' then | |
1633 | + URL := RefURL + '/' + 'SETTING.TXT' | |
1634 | + else | |
1635 | + URL := RefURL + 'SETTING.TXT'; | |
1636 | + | |
1637 | + Indy.Request.LastModified := tmpBoard.SETTINGTXTTime; | |
1638 | + Indy.Request.Referer := RefURL; | |
1639 | + Screen.Cursor := crHourGlass; | |
1640 | + settingBody := TStringList.Create; | |
1641 | + try | |
1642 | + StatusBar.Panels[0].Text := 'SETTING.TXT_E[h'; | |
1643 | + try | |
1644 | + IdAntiFreeze.Active := True; | |
1645 | + try | |
1646 | + settingBody.Text := Indy.Get(URL); | |
1647 | + finally | |
1648 | + IdAntiFreeze.Active := False; | |
1649 | + end; | |
1650 | + if( Indy.ResponseCode = 200 ) then begin | |
1651 | + settingBody.SaveToFile(tmpBoard.GetSETTINGTXTFileName); | |
1652 | + tmpBoard.SETTINGTXTTime := Indy.Response.LastModified; | |
1653 | + tmpBoard.IsSETTINGTXT := true; | |
1654 | + tmpBoard.TitlePictureURL := GetTitlePictureURL(settingBody, tmpBoard); | |
1655 | + tmpBoard.Modified := true; | |
1656 | + StatusBar.Panels[0].Text := 'SETTING.TXTæ¾®¹(' + IntToStr(Indy.ResponseCode) + ')'; | |
1657 | + end; | |
1658 | + except | |
1659 | + on E: EIdException do begin | |
1660 | + if( AnsiPos('304', E.Message) > 0 ) then | |
1661 | + StatusBar.Panels[0].Text := 'SETTING.TXTXV³µ(' + IntToStr(Indy.ResponseCode) + ')' | |
1662 | + else | |
1663 | + StatusBar.Panels[0].Text := 'SETTING.TXTæ¾G[(' + IntToStr(Indy.ResponseCode) + ')'; | |
1664 | + end; | |
1665 | + end; | |
1666 | + finally | |
1667 | + settingBody.Free; | |
1668 | + Screen.Cursor := crDefault; | |
1669 | + FWork := False; | |
1670 | + end; | |
1671 | + ShowBoardInformation(tmpBoard, BoardInformationMemo); | |
1672 | + | |
1673 | + | |
1479 | 1674 | end; |
1480 | 1675 | |
1481 | 1676 | procedure TEditorForm.ShowBoardInformation(ABoard: TBoard; AMemo: TMemo); |
@@ -1549,60 +1744,51 @@ begin | ||
1549 | 1744 | Exit; |
1550 | 1745 | |
1551 | 1746 | FWork := True; |
1747 | + | |
1748 | + InitIdHTTP(Indy); | |
1552 | 1749 | memStream := TMemoryStream.Create; |
1553 | 1750 | try |
1554 | - tmpBoard := GetBoard; | |
1751 | + if FThreadItem = nil then | |
1752 | + tmpBoard := FBoard | |
1753 | + else | |
1754 | + tmpBoard := FThreadItem.ParentBoard; | |
1555 | 1755 | |
1556 | - if (tmpBoard <> nil) and (tmpBoard.TitlePictureURL <> '') then begin | |
1756 | + Indy.Request.Referer := tmpBoard.URL; | |
1757 | + if tmpBoard.TitlePictureURL <> '' then begin | |
1557 | 1758 | StatusBar.Panels[0].Text := 'Âgbvæ_E[h'; |
1558 | 1759 | Screen.Cursor := crHourGlass; |
1559 | 1760 | try |
1560 | - // URLðwèµÄÉÇÝÞ | |
1561 | - GetWebData(tmpBoard.TitlePictureURL, tmpBoard.URL, | |
1562 | - ZERO_DATE, memStream); | |
1761 | + IdAntiFreeze.Active := True; | |
1762 | + try | |
1763 | + Indy.Get(tmpBoard.TitlePictureURL, memStream); | |
1764 | + finally | |
1765 | + IdAntiFreeze.Active := False; | |
1766 | + end; | |
1563 | 1767 | if Indy.ResponseCode = 200 then begin |
1564 | 1768 | memStream.SaveToFile(tmpBoard.GetTitlePictureFileName); |
1565 | 1769 | ShowTitlePicture(); |
1566 | 1770 | tmpBoard.Modified := true; |
1567 | 1771 | end; |
1568 | - StatusBar.Panels[0].Text := 'Âgbvæ (' + IntToStr(Indy.ResponseCode) + ')'; | |
1569 | 1772 | except |
1570 | 1773 | end; |
1571 | 1774 | end; |
1572 | 1775 | finally |
1573 | - memStream.Free; | |
1574 | - FWork := False; | |
1575 | 1776 | Screen.Cursor := crDefault; |
1777 | + StatusBar.Panels[0].Text := 'Âgbvæ (' + IntToStr(Indy.ResponseCode) + ')'; | |
1778 | + memStream.Free; | |
1576 | 1779 | end; |
1577 | -end; | |
1578 | -{ | |
1579 | -\brief URLÌf[^ðstreamÉÇÝÞ | |
1580 | -\param URL ÇÝÞæ | |
1581 | -\param RefURL refererÉÝè·é | |
1582 | -\param Modified ModifiedÉÝè·é | |
1583 | -\param stream ÇÝñ¾f[^ÌÛ¶æ | |
1584 | -} | |
1585 | -procedure TEditorForm.GetWebData(const URL: string; const RefURL: string; | |
1586 | - Modified: TDateTime; stream: TStream); | |
1587 | -begin | |
1588 | - InitIdHTTP(Indy); | |
1589 | - Indy.Request.Referer := RefURL; | |
1590 | - Indy.Request.LastModified := Modified; | |
1591 | - | |
1592 | - IdAntiFreeze.Active := True; | |
1593 | - try | |
1594 | - Indy.Get(URL, stream); | |
1595 | - finally | |
1596 | - IdAntiFreeze.Active := False; | |
1597 | - end; | |
1598 | 1780 | |
1781 | + FWork := False; | |
1599 | 1782 | end; |
1600 | 1783 | procedure TEditorForm.ShowTitlePicture(); |
1601 | 1784 | var |
1602 | 1785 | tmpBoard: TBoard; |
1603 | 1786 | s: String; |
1604 | 1787 | begin |
1605 | - tmpBoard := GetBoard; | |
1788 | + if FThreadItem = nil then | |
1789 | + tmpBoard := FBoard | |
1790 | + else | |
1791 | + tmpBoard := FThreadItem.ParentBoard; | |
1606 | 1792 | |
1607 | 1793 | if FileExists(tmpBoard.GetTitlePictureFileName) then begin |
1608 | 1794 | TitlePictureBrowser.Navigate(tmpBoard.GetTitlePictureFileName); |
@@ -1632,63 +1818,71 @@ var | ||
1632 | 1818 | URL, RefURL: string; |
1633 | 1819 | settingBody: TStringList; |
1634 | 1820 | tmpBoard: TBoard; |
1635 | - memStream: TMemoryStream; | |
1636 | 1821 | begin |
1637 | - if not FWork then begin | |
1822 | + if FWork then | |
1823 | + Exit; | |
1638 | 1824 | FWork := True; |
1639 | 1825 | |
1640 | - tmpBoard := GetBoard; | |
1641 | - if (tmpBoard <> nil) then begin | |
1642 | - | |
1643 | - RefURL := tmpBoard.URL; | |
1644 | - if RefURL[Length(RefURL)] <> '/' then | |
1645 | - URL := RefURL + '/' + 'head.txt' | |
1646 | - else | |
1647 | - URL := RefURL + 'head.txt'; | |
1648 | - | |
1649 | - Screen.Cursor := crHourGlass; | |
1650 | - memStream := TMemoryStream.Create; | |
1651 | - try | |
1652 | - StatusBar.Panels[0].Text := '[J[(head.txt)_E[h'; | |
1653 | - try | |
1654 | - GetWebData(URL, RefURL, tmpBoard.HEADTXTTime, memStream); | |
1655 | - if( Indy.ResponseCode = 200 ) then begin | |
1656 | - settingBody := TStringList.Create; | |
1657 | - try | |
1658 | - memStream.Seek(0, soFromBeginning); | |
1659 | - settingBody.LoadFromStream(memStream); | |
1660 | - settingBody.Insert(0, '<HTML lang="ja"><HEAD>'); | |
1661 | - settingBody.Insert(1, '<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">'); | |
1662 | - settingBody.Insert(2, '<TITLE>' + tmpBoard.Title + '</TITLE>'); | |
1663 | - settingBody.Insert(3, '<base href="' + RefURL + '"></HEAD><BODY>'); | |
1664 | - settingBody.Add('</BODY></HTML>'); | |
1665 | - settingBody.SaveToFile(tmpBoard.GETHEADTXTFileName); | |
1666 | - tmpBoard.HEADTXTTime := Indy.Response.LastModified; | |
1667 | - tmpBoard.IsHEADTXT := true; | |
1668 | - tmpBoard.Modified := true; | |
1669 | - finally | |
1670 | - settingBody.Free; | |
1671 | - end; | |
1672 | - StatusBar.Panels[0].Text := '[J[æ¾®¹(' + IntToStr(Indy.ResponseCode) + ')'; | |
1673 | - end; | |
1674 | - except | |
1675 | - on E: EIdException do begin | |
1676 | - if( AnsiPos('304', E.Message) > 0 ) then | |
1677 | - StatusBar.Panels[0].Text := '[J[XV³µ(' + IntToStr(Indy.ResponseCode) + ')' | |
1678 | - else | |
1679 | - StatusBar.Panels[0].Text := '[J[æ¾G[(' + IntToStr(Indy.ResponseCode) + ')'; | |
1680 | - end; | |
1681 | - end; | |
1682 | - finally | |
1683 | - memStream.Free; | |
1684 | - Screen.Cursor := crDefault; | |
1685 | - end; | |
1686 | - if tmpBoard.IsHEADTXT then begin | |
1687 | - ShowBoardHead(tmpboard, LocalEdit); | |
1688 | - end; | |
1689 | - end; | |
1826 | + InitIdHTTP(Indy); | |
1827 | + if FThreadItem = nil then | |
1828 | + tmpBoard := FBoard | |
1829 | + else | |
1830 | + tmpBoard := FThreadItem.ParentBoard; | |
1831 | + | |
1832 | + if tmpBoard = nil then Exit; | |
1833 | + | |
1834 | + RefURL := tmpBoard.URL; | |
1835 | + if RefURL[Length(RefURL)] <> '/' then | |
1836 | + URL := RefURL + '/' + 'head.txt' | |
1837 | + else | |
1838 | + URL := RefURL + 'head.txt'; | |
1839 | + | |
1840 | + if FileExists(tmpBoard.GETHEADTXTFileName) then | |
1841 | + Indy.Request.LastModified := tmpBoard.HEADTXTTime | |
1842 | + else | |
1843 | + Indy.Request.LastModified := ZERO_DATE; | |
1844 | + | |
1845 | + Indy.Request.Referer := RefURL; | |
1846 | + Screen.Cursor := crHourGlass; | |
1847 | + settingBody := TStringList.Create; | |
1848 | + try | |
1849 | + StatusBar.Panels[0].Text := '[J[(head.txt)_E[h'; | |
1850 | + try | |
1851 | + IdAntiFreeze.Active := True; | |
1852 | + try | |
1853 | + settingBody.Text := Indy.Get(URL); | |
1854 | + finally | |
1855 | + IdAntiFreeze.Active := False; | |
1856 | + end; | |
1857 | + if( Indy.ResponseCode = 200 ) then begin | |
1858 | + settingBody.Insert(0, '<HTML lang="ja"><HEAD>'); | |
1859 | + settingBody.Insert(1, '<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">'); | |
1860 | + settingBody.Insert(2, '<TITLE>' + tmpBoard.Title + '</TITLE>'); | |
1861 | + settingBody.Insert(3, '<base href="' + RefURL + '"></HEAD><BODY>'); | |
1862 | + settingBody.Add('</BODY></HTML>'); | |
1863 | + settingBody.SaveToFile(tmpBoard.GETHEADTXTFileName); | |
1864 | + tmpBoard.HEADTXTTime := Indy.Response.LastModified; | |
1865 | + tmpBoard.IsHEADTXT := true; | |
1866 | + tmpBoard.Modified := true; | |
1867 | + StatusBar.Panels[0].Text := '[J[æ¾®¹(' + IntToStr(Indy.ResponseCode) + ')'; | |
1868 | + end; | |
1869 | + except | |
1870 | + on E: EIdException do begin | |
1871 | + if( AnsiPos('304', E.Message) > 0 ) then | |
1872 | + StatusBar.Panels[0].Text := '[J[XV³µ(' + IntToStr(Indy.ResponseCode) + ')' | |
1873 | + else | |
1874 | + StatusBar.Panels[0].Text := '[J[æ¾G[(' + IntToStr(Indy.ResponseCode) + ')'; | |
1875 | + end; | |
1876 | + end; | |
1877 | + finally | |
1878 | + settingBody.Free; | |
1879 | + Screen.Cursor := crDefault; | |
1690 | 1880 | FWork := False; |
1691 | - end; | |
1881 | + end; | |
1882 | + if tmpBoard.IsHEADTXT then begin | |
1883 | + ShowBoardHead(tmpboard, LocalEdit); | |
1884 | + end; | |
1885 | + | |
1692 | 1886 | |
1693 | 1887 | end; |
1694 | 1888 |
@@ -1699,7 +1893,10 @@ var | ||
1699 | 1893 | begin |
1700 | 1894 | body := GetBody; |
1701 | 1895 | //ǤàAüsª¸êĽÁÛ¢¯ÇA{©æª©çÈ¢B |
1702 | - Board := GetBoard; | |
1896 | + if FThreadItem = nil then | |
1897 | + Board := FBoard | |
1898 | + else | |
1899 | + Board := FThreadItem.ParentBoard; | |
1703 | 1900 | |
1704 | 1901 | if Board.BoardPlugIn <> nil then |
1705 | 1902 | body := CustomStringReplace(body, #13#10, '<br>') |
@@ -1710,13 +1907,12 @@ end; | ||
1710 | 1907 | |
1711 | 1908 | procedure TEditorForm.LocalRuleClick(Sender: TObject); |
1712 | 1909 | var |
1713 | - ini: TMemIniFile; | |
1910 | + ini: TIniFile; | |
1714 | 1911 | begin |
1715 | - ini := TMemIniFile.Create(GikoSys.Setting.GetFileName); | |
1912 | + ini := TIniFile.Create(GikoSys.Setting.GetFileName); | |
1716 | 1913 | try |
1717 | 1914 | RocalRuleTab.TabVisible := LocalRule.Checked; |
1718 | 1915 | ini.WriteBool('EditorForm', 'LocalRuleTab', RocalRuleTab.TabVisible); |
1719 | - ini.UpdateFile; | |
1720 | 1916 | finally |
1721 | 1917 | ini.Free; |
1722 | 1918 | end; |
@@ -1757,7 +1953,6 @@ var | ||
1757 | 1953 | Action: TAction; |
1758 | 1954 | begin |
1759 | 1955 | s := MouseGesture.GetGestureStr; |
1760 | - MouseGesture.Clear; | |
1761 | 1956 | Action := GikoSys.Setting.Gestures.GetGestureAction(s); |
1762 | 1957 | if Action <> nil then |
1763 | 1958 | Action.Execute; |
@@ -1788,7 +1983,10 @@ var | ||
1788 | 1983 | URL: String; |
1789 | 1984 | ABoard: TBoard; |
1790 | 1985 | begin |
1791 | - ABoard := GetBoard; | |
1986 | + if FThreadItem = nil then | |
1987 | + ABoard := FBoard | |
1988 | + else | |
1989 | + ABoard := FThreadItem.ParentBoard; | |
1792 | 1990 | |
1793 | 1991 | if ABoard = nil then Exit; |
1794 | 1992 |
@@ -1802,14 +2000,12 @@ begin | ||
1802 | 2000 | KotehanCheckBox.Enabled := SaveNameMailAction.Checked; |
1803 | 2001 | end; |
1804 | 2002 | |
1805 | -function TEditorForm.LFusianaGet(const s: String): Boolean; | |
1806 | -const | |
1807 | - FUSIANA = 'fusianasan'; | |
2003 | +function TEditorForm.LFusianaGet(s: String): Boolean; | |
1808 | 2004 | var |
1809 | 2005 | i: Integer; |
1810 | 2006 | begin |
1811 | - i := AnsiPos(FUSIANA, s); | |
1812 | - Result := (i > 0); | |
2007 | + i := AnsiPos('fusianasan', s); | |
2008 | + if (i > 0) then Result := True else Result := False; | |
1813 | 2009 | end; |
1814 | 2010 | |
1815 | 2011 | procedure TEditorForm.BeLogInOutEActionExecute(Sender: TObject); |
@@ -2086,7 +2282,11 @@ var | ||
2086 | 2282 | Board : TBoard; |
2087 | 2283 | begin |
2088 | 2284 | // Xbhª³¢@X§ÄÌÆ«ÍFBoardð¼Úg¤ |
2089 | - Board := GetBoard; | |
2285 | + if FThreadItem = nil then begin | |
2286 | + Board := FBoard | |
2287 | + end else begin | |
2288 | + Board := FThreadItem.ParentBoard; | |
2289 | + end; | |
2090 | 2290 | |
2091 | 2291 | // NbL[ÌîñðÌÄé |
2092 | 2292 | Board.Cookie := ''; |
@@ -2120,208 +2320,5 @@ begin | ||
2120 | 2320 | Format('%8.0fboß', [SecondSpan(FNow, FSambaTimer.WriteDeta)]); |
2121 | 2321 | end; |
2122 | 2322 | end; |
2123 | -{ | |
2124 | -\brief EBhEÌÊuÆTCYÌÝè | |
2125 | -} | |
2126 | -procedure TEditorForm.SetWindowRect; | |
2127 | -var | |
2128 | - wp: TWindowPlacement; | |
2129 | -begin | |
2130 | - //EBhEÌÊuÝè | |
2131 | - wp.length := sizeof(wp); | |
2132 | - wp.rcNormalPosition.Top := GikoSys.Setting.EditWindowTop; | |
2133 | - wp.rcNormalPosition.Left := GikoSys.Setting.EditWindowLeft; | |
2134 | - | |
2135 | - wp.rcNormalPosition.Bottom := GikoSys.Setting.EditWindowTop + GikoSys.Setting.EditWindowHeight; | |
2136 | - wp.rcNormalPosition.Right := GikoSys.Setting.EditWindowLeft + GikoSys.Setting.EditWindowWidth; | |
2137 | - wp.showCmd := SW_HIDE; | |
2138 | - SetWindowPlacement(Handle, @wp); | |
2139 | - | |
2140 | - if GikoSys.Setting.EditWindowMax then begin | |
2141 | - WindowState := wsMaximized; | |
2142 | - end; | |
2143 | - | |
2144 | - //EBhEªæÊOÈçæÊàÉÚ®·é | |
2145 | - if (Left + Width) > Screen.Width then begin | |
2146 | - Left := 0; | |
2147 | - end; | |
2148 | - if (Top + Height) > Screen.Height then begin | |
2149 | - Top := 0; | |
2150 | - end; | |
2151 | - if Left < 0 then begin | |
2152 | - Left := 0; | |
2153 | - end; | |
2154 | - if Top < 0 then begin | |
2155 | - Top := 0; | |
2156 | - end; | |
2157 | - | |
2158 | - //»ÝÌEBhEÌÊuðÛ¶ | |
2159 | - GikoSys.Setting.EditWindowTop := Top + WINDOWMOVE_V; // ÉJEBhEÍ | |
2160 | - GikoSys.Setting.EditWindowLeft := Left + WINDOWMOVE_H; // @@@EÎßºÉ¸ç· | |
2161 | - //EBhEÌƳª¬³·¬¢êγÉß· | |
2162 | - if GikoSys.Setting.EditWindowHeight < 144 then begin | |
2163 | - Height := 400; | |
2164 | - end; | |
2165 | - if GikoSys.Setting.EditWindowWidth < 144 then begin | |
2166 | - Width := 640; | |
2167 | - end; | |
2168 | -end; | |
2169 | -{ | |
2170 | -\brief g£^uÝè | |
2171 | -} | |
2172 | -procedure TEditorForm.SetExtraTab; | |
2173 | -const | |
2174 | - SECTION = 'EditorForm'; | |
2175 | -var | |
2176 | - ini: TMemIniFile; | |
2177 | -begin | |
2178 | - ini := TMemIniFile.Create(GikoSys.Setting.GetFileName); | |
2179 | - try | |
2180 | - BoardtopTab.TabVisible := ini.Readbool(SECTION, 'BoardTopTab', False); | |
2181 | - BoardTop.Checked := BoardtopTab.TabVisible; | |
2182 | - RocalRuleTab.TabVisible := ini.ReadBool(SECTION, 'LocalRuleTab', False); | |
2183 | - LocalRule.Checked := RocalRuleTab.TabVisible; | |
2184 | - finally | |
2185 | - ini.Free; | |
2186 | - end; | |
2187 | -end; | |
2188 | -{ | |
2189 | -\brief Âæ¾ | |
2190 | -\return XGfB^ªeµæ¤ÆµÄ¢é | |
2191 | -} | |
2192 | -function TEditorForm.GetBoard : TBoard; | |
2193 | -begin | |
2194 | - // XbhACeªnullÌÍFBoard | |
2195 | - if FThreadItem = nil then begin | |
2196 | - Result := FBoard; | |
2197 | - end else begin | |
2198 | - Result := FThreadItem.ParentBoard; | |
2199 | - end; | |
2200 | -end; | |
2201 | -{ | |
2202 | -\brief GikoFormÉbZ[WðÇÁ·é | |
2203 | -\param icon bZ[WÉÂACR | |
2204 | -} | |
2205 | -procedure TEditorForm.AddFormMessageNew(icon: TGikoMessageIcon); | |
2206 | -begin | |
2207 | - if FThreadItem = nil then begin | |
2208 | - GikoForm.AddMessageList(FBoard.Title + ' ' + GikoSys.GetGikoMessage(gmNewSure), nil, icon) | |
2209 | - end else begin | |
2210 | - GikoForm.AddMessageList(FThreadItem.Title + ' ' + GikoSys.GetGikoMessage(gmNewRes), nil, icon); | |
2211 | - end; | |
2212 | - | |
2213 | -end; | |
2214 | -{ | |
2215 | -\brief [Jfusianagbv | |
2216 | -\return true:M~ false:M | |
2217 | -} | |
2218 | -function TEditorForm.isLocalFusianaTrap: Boolean; | |
2219 | -var | |
2220 | - Namae : string; | |
2221 | -begin | |
2222 | - Result := False; | |
2223 | - if GikoSys.Setting.LocalTrapAtt then begin | |
2224 | - Namae := THTMLCreate.RepHtml(NameComboBox.Text); | |
2225 | - if (LFusianaGet(Namae)) or (Namae = 'RèÂ') then begin | |
2226 | - if FusianaMsgBox = IDNO then begin | |
2227 | - Result := True; | |
2228 | - end; | |
2229 | - end; | |
2230 | - end; | |
2231 | -end; | |
2232 | -{ | |
2233 | -\brief [gfusianagbv | |
2234 | -\return true:M~ false:M | |
2235 | -} | |
2236 | -function TEditorForm.isRemoteFusianaTrap: Boolean; | |
2237 | -var | |
2238 | - Namae : string; | |
2239 | - Board : TBoard; | |
2240 | - Remote: string; | |
2241 | - body : TStringList; | |
2242 | -begin | |
2243 | - Result := False; | |
2244 | - Namae := THTMLCreate.RepHtml(NameComboBox.Text); | |
2245 | - if (GikoSys.Setting.RemoteTrapAtt) and (Length(Namae) = 0) then begin | |
2246 | - Board := GetBoard; | |
2247 | - | |
2248 | - if Board = nil then Exit; | |
2249 | - | |
2250 | - if not FileExists(Board.GetSETTINGTXTFileName) then begin | |
2251 | - //Setting.txtªÈ©Á½çæ¾ | |
2252 | - //IÉת©©è»¤... | |
2253 | - try | |
2254 | - GetSETTINGTXTAction.Execute; | |
2255 | - except | |
2256 | - end; | |
2257 | - end; | |
2258 | - | |
2259 | - Remote := ''; | |
2260 | - if FileExists(Board.GetSETTINGTXTFileName) then begin | |
2261 | - body := TStringList.Create; | |
2262 | - try | |
2263 | - body.LoadFromFile(Board.GetSETTINGTXTFileName); | |
2264 | - Remote := GetFusianaName(body, Board); | |
2265 | - finally | |
2266 | - body.Free; | |
2267 | - end; | |
2268 | - end; | |
2269 | - | |
2270 | - if LFusianaGet(Remote) then begin | |
2271 | - if FusianaMsgBox = IDNO then begin | |
2272 | - Result := True; | |
2273 | - end; | |
2274 | - end; | |
2275 | - end; | |
2276 | -end; | |
2277 | -{ | |
2278 | -\brief Header¶ñæ¾ | |
2279 | -\param ACOOKIE Cookie | |
2280 | -\param SPID SPID | |
2281 | -\param PON PON | |
2282 | -\param Board  | |
2283 | -\return Header¶ñ | |
2284 | -} | |
2285 | -function TEditorForm.getHeaderStr(const ACOOKIE: string; const SPID : string; | |
2286 | - const PON : string; Board : TBoard) : string; | |
2287 | -begin | |
2288 | - Result := ACOOKIE; | |
2289 | - if SPID <> '' then | |
2290 | - Result := Result + 'SPID=' + SPID + '; '; | |
2291 | - if PON <> '' then | |
2292 | - Result := Result + 'PON=' + PON + '; '; | |
2293 | - | |
2294 | - //zXgª2chÅABeÉLoginµÄ¢êÎBEÌf[^ðé | |
2295 | - //GikoSys.ParseURI( URL, Protocol,Host, Path, Document, Port, Bookmark ); | |
2296 | - //if GikoSys.Is2chHost(Host) and GikoSys.Setting.BeLogin then | |
2297 | - if (Board.Is2ch) then begin | |
2298 | - // ÅèÌNbL[ª êÎHí¹é | |
2299 | - if Length(GikoSys.Setting.FixedCookie) > 0 then begin | |
2300 | - // zXgª2chÌêCÅèÌNbL[ðHí¹é | |
2301 | - Result := Result + GikoSys.Setting.FixedCookie + '; '; | |
2302 | - end; | |
2303 | - if (GikoSys.Setting.BeLogin) then begin | |
2304 | - Result := Result + 'MDMD=' + GikoSys.Setting.BeCode + '; ' | |
2305 | - + 'DMDM=' + GikoSys.Setting.BeUserID + '; '; | |
2306 | - end; | |
2307 | - | |
2308 | - end; | |
2309 | - | |
2310 | - Result := 'Cookie: ' + Result + 'NAME=' + NameComboBox.Text + '; MAIL=' + MailComboBox.Text; | |
2311 | - | |
2312 | -end; | |
2313 | -{ | |
2314 | -\brief fusianax_CAO | |
2315 | -\return IDYES «Þ IDNO ~ | |
2316 | -} | |
2317 | -function TEditorForm.FusianaMsgBox: Integer; | |
2318 | -const | |
2319 | - MSG_FUSIANA : string = '[gzXgð\¦·é@\ªgíêĢܷ'#13#10 + | |
2320 | - 'àµàÔáÁıÌû@ÅzXgª\¦³ê½ÆµÄàA©ÈÓCÈÌÅíËÉͶܹñB' + | |
2321 | - #13#10#13#10'ÓCð¤±Æð³øµÄ«ÝÜ·©H'; | |
2322 | -begin | |
2323 | - Result := MsgBox(Handle, MSG_FUSIANA, 'îñ', | |
2324 | - MB_YESNO or MB_ICONQUESTION); | |
2325 | -end; | |
2326 | 2323 | |
2327 | 2324 | end. |
@@ -249,7 +249,6 @@ begin | ||
249 | 249 | if (folder1 = nil) and (folder2 <> nil) then begin |
250 | 250 | Result := -1; |
251 | 251 | end else begin |
252 | - Result := 0; | |
253 | 252 | if (folder1 <> nil) and (folder2 <> nil) then begin |
254 | 253 | Result := CompareStr(Node1.Text, Node2.Text); |
255 | 254 | end else |
@@ -25,6 +25,7 @@ type | ||
25 | 25 | function CheckAction(Message: Integer; x, y: Integer): Boolean; |
26 | 26 | procedure AddAction(sx, sy: Integer); |
27 | 27 | function AddGesture(Item: string): Integer; |
28 | + procedure ClearGesture; | |
28 | 29 | function Get(Index: integer): string; |
29 | 30 | procedure Put(Index: integer; Item: string); |
30 | 31 | public |
@@ -36,7 +37,6 @@ type | ||
36 | 37 | property GestureCount: Integer read GetGestureCount; |
37 | 38 | property Margin: Integer read FMargin write FMargin; |
38 | 39 | function GetGestureStr: string; |
39 | - procedure Clear; | |
40 | 40 | property OnGestureStart: TNotifyEvent read FOnGestureStart write FOnGestureStart; |
41 | 41 | property OnGestureMove: TNotifyEvent read FOnGestureMove write FOnGestureMove; |
42 | 42 | property OnGestureEnd: TNotifyEvent read FOnGestureEnd write FOnGestureEnd; |
@@ -49,9 +49,6 @@ var | ||
49 | 49 | |
50 | 50 | implementation |
51 | 51 | |
52 | -uses | |
53 | - GikoSystem; | |
54 | - | |
55 | 52 | constructor TMouseGesture.Create; |
56 | 53 | begin |
57 | 54 | inherited; |
@@ -65,7 +62,7 @@ end; | ||
65 | 62 | destructor TMouseGesture.Destroy; |
66 | 63 | begin |
67 | 64 | UnHook; |
68 | - Clear; | |
65 | + ClearGesture; | |
69 | 66 | FGestureItemList.Free; |
70 | 67 | inherited; |
71 | 68 | end; |
@@ -119,8 +116,8 @@ begin | ||
119 | 116 | //}EXWFX`[ÌÎÛÆá¤Æ«ÍAJú·é |
120 | 117 | if (hwnd <> 0) and (hwnd <> FHandle) then begin |
121 | 118 | ReleaseCapture; |
122 | - SetCapture(FHandle); | |
123 | 119 | end; |
120 | + SetCapture(FHandle); | |
124 | 121 | dp := Point(x - FLastPoint.X, y - FLastPoint.Y); |
125 | 122 | sp := Point(Sign(dp.X), Sign(dp.Y)); |
126 | 123 | if (dp.X * dp.X + dp.Y * dp.Y) > (FMargin * FMargin) then begin |
@@ -133,19 +130,11 @@ begin | ||
133 | 130 | FLastTime := GetTickCount; |
134 | 131 | FLastPoint := Point(x, y); |
135 | 132 | end; |
136 | - Result := True; | |
137 | - end; | |
133 | + Result := True; | |
134 | + end; | |
138 | 135 | end; |
139 | 136 | WM_RBUTTONDOWN: begin |
140 | - if (not FCancelMode) then begin | |
141 | - if ( GikoSys.Setting.GestureIgnoreContext ) then begin | |
142 | - //¡}EXðLv`[µÄ¢éÌð¾é | |
143 | - hwnd := GetCapture; | |
144 | - //}EXWFX`[ÌÎÛÆá¤Æ«ÍAJú·é | |
145 | - if (hwnd <> 0) and (hwnd <> FHandle) then begin | |
146 | - Exit; | |
147 | - end; | |
148 | - end; | |
137 | + if not FCancelMode then begin | |
149 | 138 | FBeginGesture := True; |
150 | 139 | FLastTime := 0; |
151 | 140 | FLastPoint := Point(x, y); |
@@ -161,11 +150,9 @@ begin | ||
161 | 150 | FBeginGesture := False; |
162 | 151 | ReleaseCapture; |
163 | 152 | if FGestureItemList.Count <> 0 then begin |
164 | - if Assigned(FOnGestureEnd) then begin | |
153 | + if Assigned(FOnGestureEnd) then | |
165 | 154 | FOnGestureEnd(Self); |
166 | - end else begin | |
167 | - Clear; | |
168 | - end; | |
155 | + ClearGesture; | |
169 | 156 | end else begin |
170 | 157 | FCancelMode := True; |
171 | 158 | //WFX`[¶áÈ©Á½êA}EXDOWN,UPðG~ [g |
@@ -241,7 +228,7 @@ begin | ||
241 | 228 | end; |
242 | 229 | |
243 | 230 | //WFX`[ðNA·é |
244 | -procedure TMouseGesture.Clear; | |
231 | +procedure TMouseGesture.ClearGesture; | |
245 | 232 | begin |
246 | 233 | FGestureItemList.Clear; |
247 | 234 | end; |
@@ -4478,9 +4478,6 @@ object GikoForm: TGikoForm | ||
4478 | 4478 | object B4: TMenuItem |
4479 | 4479 | Action = GikoDM.NewBoardAction |
4480 | 4480 | end |
4481 | - object N80: TMenuItem | |
4482 | - Action = GikoDM.NewBoardSearchAction | |
4483 | - end | |
4484 | 4481 | object N7: TMenuItem |
4485 | 4482 | Caption = '-' |
4486 | 4483 | end |
@@ -19,14 +19,14 @@ uses | ||
19 | 19 | HintWindow, GikoCoolBar, GikoListView, Search, ExternalBoardManager, |
20 | 20 | ExternalBoardPlugInMain, StdActns, Variants, ExtActns,IdTCPConnection, |
21 | 21 | IdBaseComponent, IdTCPClient, AppEvnts, BrowserRecord, MoveHistoryItem, |
22 | - ShellAPI,Preview, HistoryList; | |
22 | + ShellAPI,Preview; | |
23 | 23 | |
24 | 24 | const |
25 | 25 | NGWORDNAME_PANEL = 3; |
26 | 26 | THREADSIZE_PANEL = 2; |
27 | 27 | |
28 | 28 | type |
29 | - | |
29 | + TGikoTreeType = (gttNone, gtt2ch, gttHistory, gttFavorite); | |
30 | 30 | TToolBarSettingSenderType = (tssNone, tssMain, tssList, tssBrowser); |
31 | 31 | TMinimizeType = (mtNone, mtMinimizing, mtMinimized); |
32 | 32 | TResizeType = (rtNone, rtResizing); |
@@ -416,7 +416,6 @@ type | ||
416 | 416 | N79: TMenuItem; |
417 | 417 | HTML1: TMenuItem; |
418 | 418 | DAT4: TMenuItem; |
419 | - N80: TMenuItem; | |
420 | 419 | procedure FormCreate(Sender: TObject); |
421 | 420 | procedure FormDestroy(Sender: TObject); |
422 | 421 | procedure BrowserStatusTextChange(Sender: TObject; |
@@ -570,7 +569,7 @@ type | ||
570 | 569 | FActiveList: TObject; |
571 | 570 | FActiveContent: TBrowserRecord; // |
572 | 571 | FActiveBBS : TBBS; |
573 | - FHistoryList: THistoryList; //qXgXg | |
572 | + FHistoryList: TList; //qXgXg | |
574 | 573 | FTreeType: TGikoTreeType; |
575 | 574 | FWorkCount: Integer; |
576 | 575 | FNameCookie: string; |
@@ -723,9 +722,14 @@ type | ||
723 | 722 | procedure SetListViewType(AViewType: TGikoViewType); overload; |
724 | 723 | procedure SetListViewType(AViewType: TGikoViewType; SelectText: string; KubetsuChk: Boolean); overload; |
725 | 724 | procedure PlaySound(SoundEventName: string); |
725 | + function AddHistory( FavItem: TFavoriteThreadItem ): Boolean; | |
726 | + procedure ClearHistory; | |
727 | + procedure SaveHistory; | |
728 | + procedure LoadHistory; | |
726 | 729 | procedure ShowBBSTree( inBBS : TBBS ); |
727 | 730 | procedure ShowBBSTreeOld( inBBS : TBBS ); |
728 | 731 | procedure ShowHistoryTree; |
732 | + procedure SetHistoryTreeNode; | |
729 | 733 | procedure AddMessageList(ACaption: string; AObject: TObject; Icon: TGikoMessageIcon); |
730 | 734 | procedure SetBrowserTabState; |
731 | 735 | procedure SetToolBarPopup; |
@@ -848,6 +852,8 @@ const | ||
848 | 852 | DandD_THRESHOLD = 5; //D&DÌèlipixcel) |
849 | 853 | //vr [t@C¼ |
850 | 854 | HTML_FILE_NAME = 'temp_preview.html'; |
855 | + ITEM_ICON_THREADLOG1 = 6; //XACRiO èj | |
856 | + ITEM_ICON_THREADLOG2 = 7; //XACRiO èj | |
851 | 857 | //bZ[WID |
852 | 858 | USER_TREECLICK = WM_USER + 2000; |
853 | 859 | USER_RESIZED = WM_USER + 2001; |
@@ -1132,11 +1138,10 @@ begin | ||
1132 | 1138 | |
1133 | 1139 | |
1134 | 1140 | // qXgXg(LoadHistory æèàæÉs¤±Æ) |
1135 | - FHistoryList := THistoryList.Create; | |
1141 | + FHistoryList := TList.Create; | |
1136 | 1142 | |
1137 | 1143 | // ðÇÝÝ |
1138 | - FHistoryList.LoadFromFile(GikoSys.GetConfigDir + 'History.xml', | |
1139 | - TreeView, FTreeType); | |
1144 | + LoadHistory; | |
1140 | 1145 | |
1141 | 1146 | //¨CÉüèÇÝÝ |
1142 | 1147 | FavoriteDM.SetFavTreeView(FavoriteTreeView); |
@@ -1611,12 +1616,12 @@ begin | ||
1611 | 1616 | |
1612 | 1617 | //qXgXgÛ¶ |
1613 | 1618 | try |
1614 | - FHistoryList.SaveToFile(GikoSys.GetConfigDir + 'History.xml'); | |
1619 | + SaveHistory; | |
1615 | 1620 | except |
1616 | 1621 | end; |
1617 | 1622 | try |
1618 | 1623 | try |
1619 | - FHistoryList.Clear; | |
1624 | + ClearHistory; | |
1620 | 1625 | except |
1621 | 1626 | end; |
1622 | 1627 | finally |
@@ -1762,8 +1767,8 @@ begin | ||
1762 | 1767 | |
1763 | 1768 | //ðÌÛ¶Æjü |
1764 | 1769 | try |
1765 | - FHistoryList.SaveToFile(GikoSys.GetConfigDir + 'History.xml'); | |
1766 | - FHistoryList.Clear; | |
1770 | + SaveHistory; | |
1771 | + ClearHistory; | |
1767 | 1772 | except |
1768 | 1773 | end; |
1769 | 1774 |
@@ -1814,8 +1819,7 @@ begin | ||
1814 | 1819 | ShowBBSTree( BBSs[ 0 ] ); |
1815 | 1820 | |
1816 | 1821 | // ðÇÝÝ |
1817 | - FHistoryList.LoadFromFile(GikoSys.GetConfigDir + 'History.xml', | |
1818 | - TreeView, FTreeType); | |
1822 | + LoadHistory; | |
1819 | 1823 | |
1820 | 1824 | //¨CÉüèÇÝÝ |
1821 | 1825 | FavoriteDM.ReadFavorite; |
@@ -1886,13 +1890,7 @@ begin | ||
1886 | 1890 | FActiveContent := nil; |
1887 | 1891 | Exit; |
1888 | 1892 | end; |
1889 | - // OñƯ¶êI¹ | |
1890 | - if (StatusBar.Panels[1].Text = Text2) then begin | |
1891 | - {$IFDEF DEBUG} | |
1892 | - Writeln('Status Text is not changed!'); | |
1893 | - {$ENDIF} | |
1894 | - Exit; | |
1895 | - end; | |
1893 | + | |
1896 | 1894 | StatusBar.Panels[1].Text := Text2; |
1897 | 1895 | |
1898 | 1896 | if FHint <> nil then begin |
@@ -1906,8 +1904,6 @@ begin | ||
1906 | 1904 | if not GikoForm.Active then |
1907 | 1905 | Exit; |
1908 | 1906 | |
1909 | - | |
1910 | - | |
1911 | 1907 | //file:///C:/Borland/Projects/gikoNavi/test/read.cgi/qa/990576336/10 |
1912 | 1908 | //file:///C:/Borland/Projects/gikoNavi/test/read.cgi/qa/990576336/10-15 |
1913 | 1909 |
@@ -2543,7 +2539,7 @@ begin | ||
2543 | 2539 | FBrowsers.Move(BROWSER_COUNT - 1, 0); |
2544 | 2540 | end; |
2545 | 2541 | favItem := TFavoriteThreadItem.Create(ThreadItem.URL, ThreadItem.Title ); |
2546 | - if not FHistoryList.AddHistory( favItem, TreeView, FTreeType ) then | |
2542 | + if not AddHistory( favItem ) then | |
2547 | 2543 | favItem.Free; |
2548 | 2544 | |
2549 | 2545 | for i := 0 to BrowserTab.Tabs.Count - 1 do begin |
@@ -3023,10 +3019,209 @@ begin | ||
3023 | 3019 | end; |
3024 | 3020 | end; |
3025 | 3021 | |
3026 | -//ð©çí | |
3022 | +function TGikoForm.AddHistory( favItem : TFavoriteThreadItem ): Boolean; | |
3023 | +var | |
3024 | + i: Integer; | |
3025 | + Item: TFavoriteThreadItem; | |
3026 | + Node: TTreeNode; | |
3027 | +begin | |
3028 | +// Result := False; | |
3029 | +// if (GetActiveContent = ThreadItem) and | |
3030 | +// (ThreadItem.Count <= ThreadItem.Kokomade) then | |
3031 | +// Exit; | |
3032 | +// if GetActiveContent = ThreadItem then | |
3033 | +// Exit; | |
3034 | + | |
3035 | + Result := True; | |
3036 | + if FTreeType = gttHistory then | |
3037 | + TreeView.Selected := nil; | |
3038 | + | |
3039 | + for i := 0 to FHistoryList.Count - 1 do begin | |
3040 | + if TObject(FHistoryList[i]) is TFavoriteThreadItem then begin | |
3041 | + Item := TFavoriteThreadItem(FHistoryList[i]); | |
3042 | + if Item.URL = favItem.URL then begin | |
3043 | +// SetContent(ThreadItem); | |
3044 | + FHistoryList.Move(i, 0); | |
3045 | + if FTreeType = gttHistory then | |
3046 | + if TreeView.Items.GetFirstNode <> TreeView.Items[ i ] then | |
3047 | + TreeView.Items[ i ].MoveTo( TreeView.Items.GetFirstNode, naInsert ); | |
3048 | + Result := false; | |
3049 | + Exit; | |
3050 | + end; | |
3051 | + end; | |
3052 | + end; | |
3053 | + | |
3054 | + if FHistoryList.Count > 0 then | |
3055 | + FHistoryList.Insert( 0, favItem ) | |
3056 | + else | |
3057 | + FHistoryList.Add( favItem ); | |
3058 | +// SetContent(ThreadItem); | |
3059 | +// while GikoSys.Setting.AddressHistoryCount < FHistoryList.Count do begin | |
3060 | + while GikoSys.Setting.MaxRecordCount < FHistoryList.Count do begin | |
3061 | + i := FHistoryList.Count - 1; | |
3062 | + TObject( FHistoryList.Items[ i ] ).Free; | |
3063 | + FHistoryList.Delete( i ); | |
3064 | + end; | |
3065 | + | |
3066 | + if FTreeType = gttHistory then begin | |
3067 | + Node := TreeView.Items.Add( nil, favItem.Title ); | |
3068 | + Node.MoveTo( TreeView.Items.GetFirstNode, naInsert ); | |
3069 | + { | |
3070 | + if favItem.NewArrival then begin | |
3071 | + Node.ImageIndex := ITEM_ICON_THREADNEW1; | |
3072 | + Node.SelectedIndex := ITEM_ICON_THREADNEW2; | |
3073 | + end else begin | |
3074 | + Node.ImageIndex := ITEM_ICON_THREADLOG1; | |
3075 | + Node.SelectedIndex := ITEM_ICON_THREADLOG2; | |
3076 | + end; | |
3077 | + } | |
3078 | + // ×𩯽ȢÌÅ NewArrival Ì`FbNðsíÈ¢ | |
3079 | + // ¦favItem.Item vpeBÍ dat ÌÇÝÝðKvÆ·é | |
3080 | + Node.ImageIndex := ITEM_ICON_THREADLOG1; | |
3081 | + Node.SelectedIndex := ITEM_ICON_THREADLOG2; | |
3082 | + Node.Data := favItem; | |
3083 | + //while GikoSys.Setting.AddressHistoryCount < TreeView.Items.Count do begin | |
3084 | + while GikoSys.Setting.MaxRecordCount < TreeView.Items.Count do begin | |
3085 | + i := TreeView.Items.Count - 1; | |
3086 | + TreeView.Items.Item[ i ].Delete; | |
3087 | + end; | |
3088 | + end; | |
3089 | +end; | |
3090 | + | |
3027 | 3091 | procedure TGikoForm.DeleteHistory( threadItem: TThreadItem ); |
3092 | +var | |
3093 | + i: Integer; | |
3094 | + node: TTreeNode; | |
3095 | +begin | |
3096 | + // LrlbgÉðª\¦³êÄ¢½çA | |
3097 | + // LrlbgàÌACeàí·éB | |
3098 | + if (FTreeType = gttHistory) then begin | |
3099 | + node := TreeView.Items.GetFirstNode; | |
3100 | + while (node <> nil) do begin | |
3101 | + if ( TFavoriteThreadItem(node.Data).Item = threadItem ) then begin | |
3102 | + TreeView.Items.Delete(node); | |
3103 | + TreeView.Refresh; | |
3104 | + node := nil; | |
3105 | + end else begin | |
3106 | + node := node.GetNext; | |
3107 | + end; | |
3108 | + end; | |
3109 | + end; | |
3110 | + for i := 0 to FHistoryList.Count - 1 do begin | |
3111 | + if threadItem = TFavoriteThreadItem( FHistoryList.Items[i] ).Item then begin | |
3112 | + TFavoriteThreadItem( FHistoryList.Items[ i ] ).Free; | |
3113 | + FHistoryList.Delete(i); | |
3114 | + FHistoryList.Capacity := FHistoryList.Count; | |
3115 | + Break; | |
3116 | + end; | |
3117 | + end; | |
3118 | +end; | |
3119 | + | |
3120 | +procedure TGikoForm.ClearHistory; | |
3121 | +var | |
3122 | + i : Integer; | |
3123 | +begin | |
3124 | + //FHistoryList.Clear; | |
3125 | + | |
3126 | + try | |
3127 | + for i := FHistoryList.Count - 1 downto 0 do begin | |
3128 | + if TObject(FHistoryList[ i ]) is TFavoriteThreadItem then | |
3129 | + TFavoriteThreadItem(FHistoryList[ i ]).Free | |
3130 | + else if TObject(FHistoryList[ i ]) is TFavoriteBoardItem then | |
3131 | + TFavoriteBoardItem(FHistoryList[ i ]).Free; | |
3132 | + | |
3133 | + //FHistoryList.Delete(i); | |
3134 | + end; | |
3135 | + except | |
3136 | + end; | |
3137 | + | |
3138 | + FHistoryList.Clear; | |
3139 | + FHistoryList.Capacity := FHistoryList.Count; | |
3140 | + | |
3141 | +end; | |
3142 | + | |
3143 | +procedure TGikoForm.SaveHistory; | |
3144 | +var | |
3145 | + i, bound : Integer; | |
3146 | + saveList : TstringList; | |
3028 | 3147 | begin |
3029 | - FHistoryList.DeleteHistory( threadItem, TreeView, TreeType ); | |
3148 | + | |
3149 | + saveList := TStringList.Create; | |
3150 | + try | |
3151 | + FHistoryList.Pack; | |
3152 | + FHistoryList.Capacity := FHistoryList.Count; | |
3153 | + saveList.Add('<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>'); | |
3154 | + saveList.Add('<address>'); | |
3155 | + bound := FHistoryList.Count - 1; | |
3156 | + for i := bound downto 0 do begin | |
3157 | + // title Í¡ÌƱëgÁĢȢ | |
3158 | + saveList.Add( | |
3159 | + '<history url="' + HtmlEncode( TFavoriteThreadItem( FHistoryList[ i ] ).URL ) + '"' + | |
3160 | + ' title="' + HtmlEncode( MojuUtils.Sanitize(TFavoriteThreadItem( FHistoryList[ i ] ).Title )) + '"/>'); | |
3161 | + end; | |
3162 | + saveList.Add('</address>'); | |
3163 | + saveList.SaveToFile( GikoSys.GetConfigDir + 'History.xml' ); | |
3164 | + finally | |
3165 | + saveList.Free; | |
3166 | + end; | |
3167 | + | |
3168 | +end; | |
3169 | + | |
3170 | +procedure TGikoForm.LoadHistory; | |
3171 | +var | |
3172 | + i, bound : Integer; | |
3173 | + fileName : string; | |
3174 | + XMLDoc : IXMLDocument; | |
3175 | + XMLNode : IXMLNode; | |
3176 | + HistoryNode : IXMLNode; | |
3177 | + s : string; | |
3178 | + favItem : TFavoriteThreadItem; | |
3179 | +{$IFDEF DEBUG} | |
3180 | + st, rt : Cardinal; | |
3181 | +{$ENDIF} | |
3182 | +begin | |
3183 | +{$IFDEF DEBUG} | |
3184 | + st := GetTickCount; | |
3185 | +{$ENDIF} | |
3186 | + | |
3187 | + fileName := GikoSys.GetConfigDir + 'History.xml'; | |
3188 | + | |
3189 | + if FileExists( fileName ) then begin | |
3190 | + try | |
3191 | + XMLDoc := IXMLDocument.Create; | |
3192 | + //XMLDoc := LoadXMLDocument(FileName); | |
3193 | + LoadXMLDocument(FileName, XMLDoc); | |
3194 | + try | |
3195 | + XMLNode := XMLDoc.DocumentElement; | |
3196 | + | |
3197 | + if XMLNode.NodeName = 'address' then begin | |
3198 | + bound := XMLNode.ChildNodes.Count - 1; | |
3199 | + for i := 0 to bound do begin | |
3200 | + HistoryNode := XMLNode.ChildNodes[i]; | |
3201 | + if HistoryNode.NodeName = 'history' then begin | |
3202 | + //if FReadCount >= sl.Count then begin | |
3203 | + s := Trim(HistoryNode.Attributes['url']); | |
3204 | + if s <> '' then begin | |
3205 | + favItem := TFavoriteThreadItem.Create( | |
3206 | + s, MojuUtils.UnSanitize(HistoryNode.Attributes[ 'title' ]) ); | |
3207 | + if not AddHistory( favItem ) then | |
3208 | + favItem.Free; | |
3209 | + end; | |
3210 | + //end; | |
3211 | + end; | |
3212 | + end; | |
3213 | + end; | |
3214 | + finally | |
3215 | + XMLDoc.Free; | |
3216 | + end; | |
3217 | + except | |
3218 | + end; | |
3219 | + end; | |
3220 | +{$IFDEF DEBUG} | |
3221 | + rt := GetTickCount - st; | |
3222 | + Writeln('Runtime(Load Histroy) : ' + IntToStr(rt) + ' ms'); | |
3223 | +{$ENDIF} | |
3224 | + | |
3030 | 3225 | end; |
3031 | 3226 | |
3032 | 3227 | procedure TGikoForm.ShowBBSTreeOld( |
@@ -3188,11 +3383,43 @@ begin | ||
3188 | 3383 | FTreeType := gttHistory; |
3189 | 3384 | HistoryToolBar.Show; |
3190 | 3385 | FavoriteToolBar.Hide; |
3191 | - FHistoryList.SetTreeNode( TreeView ); | |
3386 | + SetHistoryTreeNode; | |
3192 | 3387 | CabinetSelectToolButton.Caption := 'ðXg'; |
3193 | 3388 | end; |
3194 | 3389 | end; |
3195 | 3390 | |
3391 | +procedure TGikoForm.SetHistoryTreeNode; | |
3392 | +var | |
3393 | + i: Integer; | |
3394 | + Node: TTreeNode; | |
3395 | + Item: TFavoriteThreadItem; | |
3396 | +begin | |
3397 | + TreeView.Items.BeginUpdate; | |
3398 | + try | |
3399 | + TreeView.Items.Clear; | |
3400 | + for i := 0 to FHistoryList.Count - 1 do begin | |
3401 | + Item := TFavoriteThreadItem(FHistoryList[i]); | |
3402 | + Node := TreeView.Items.Add(nil, Item.Title); | |
3403 | + { | |
3404 | + if Item.Item.NewArrival then begin | |
3405 | + Node.ImageIndex := ITEM_ICON_THREADNEW1; | |
3406 | + Node.SelectedIndex := ITEM_ICON_THREADNEW2; | |
3407 | + end else begin | |
3408 | + Node.ImageIndex := ITEM_ICON_THREADLOG1; | |
3409 | + Node.SelectedIndex := ITEM_ICON_THREADLOG2; | |
3410 | + end; | |
3411 | + } | |
3412 | + // ×𩯽ȢÌÅ NewArrival Ì`FbNðsíÈ¢ | |
3413 | + // ¦Item.Item vpeBÍ dat ÌÇÝÝðKvÆ·é | |
3414 | + Node.ImageIndex := ITEM_ICON_THREADLOG1; | |
3415 | + Node.SelectedIndex := ITEM_ICON_THREADLOG2; | |
3416 | + Node.Data := Item; | |
3417 | + end; | |
3418 | + finally | |
3419 | + TreeView.Items.EndUpdate; | |
3420 | + end; | |
3421 | +end; | |
3422 | + | |
3196 | 3423 | procedure TGikoForm.SelectTreeNode(Item: TObject; CallEvent: Boolean); |
3197 | 3424 | var |
3198 | 3425 | ChangeEvent: TTVChangedEvent; |
@@ -3943,7 +4170,6 @@ procedure TGikoForm.BrowserTabDragDrop(Sender, Source: TObject; X, | ||
3943 | 4170 | var |
3944 | 4171 | idx: Integer; |
3945 | 4172 | begin |
3946 | - FDragWFirst := False; | |
3947 | 4173 | idx := BrowserTab.IndexOfTabAt(X, Y); |
3948 | 4174 | if idx <> -1 then |
3949 | 4175 | BrowserTab.Tabs.Move(BrowserTab.TabIndex, idx); |
@@ -3958,11 +4184,14 @@ begin | ||
3958 | 4184 | |
3959 | 4185 | TabIdx := BrowserTab.IndexOfTabAt(x, y); |
3960 | 4186 | |
3961 | - if ( ssLeft in Shift ) then begin | |
3962 | - if (FDragWFirst) then begin | |
4187 | + if ( ssLeft in Shift ) and ( BrowserTab.Style = tsTabs ) then begin | |
4188 | + if FDragWFirst = false then begin | |
4189 | + FDragWFirst := true; | |
4190 | + end else begin | |
3963 | 4191 | BrowserTab.EndDrag(false); |
3964 | 4192 | BrowserTab.BeginDrag(false, DandD_THRESHOLD); |
3965 | - end; | |
4193 | + FDragWFirst := false; | |
4194 | + end; | |
3966 | 4195 | end else begin |
3967 | 4196 | BrowserTab.EndDrag(false); |
3968 | 4197 | FDragWFirst := false; |
@@ -4705,18 +4934,12 @@ begin | ||
4705 | 4934 | |
4706 | 4935 | FPreviewBrowser.PreviewImage(FPreviewURL); |
4707 | 4936 | |
4708 | - if ARect.Bottom > Screen.DesktopHeight then begin | |
4709 | - OffsetRect(ARect, 0, -(ARect.Bottom - Screen.DesktopHeight)); | |
4710 | - end; | |
4711 | - if (ARect.Right > Screen.DesktopWidth) then begin | |
4712 | - OffsetRect(ARect, -(ARect.Right - Screen.DesktopWidth), 0); | |
4713 | - end; | |
4714 | - if (ARect.Left < Screen.DesktopLeft) then begin | |
4715 | - OffsetRect(ARect, +(Screen.DesktopLeft - ARect.Left), 0); | |
4716 | - end; | |
4717 | - if (ARect.Top < Screen.DesktopTop) then begin | |
4718 | - OffsetRect(ARect, 0, (Screen.DesktopTop - ARect.Top)); | |
4719 | - end; | |
4937 | + if ARect.Bottom > Screen.DesktopHeight then | |
4938 | + ARect.Top := Screen.DesktopHeight - (ARect.Bottom - ARect.Top); | |
4939 | + if ARect.Right > Screen.DesktopWidth then | |
4940 | + ARect.Left := Screen.DesktopWidth - (ARect.Right - ARect.Left); | |
4941 | + if ARect.Left < Screen.DesktopLeft then ARect.Left := Screen.DesktopLeft; | |
4942 | + if ARect.Bottom < Screen.DesktopTop then ARect.Bottom := Screen.DesktopTop; | |
4720 | 4943 | |
4721 | 4944 | SetWindowPos(FPreviewBrowser.Handle, HWND_TOPMOST, |
4722 | 4945 | ARect.Left, ARect.Top, |
@@ -4844,6 +5067,7 @@ begin | ||
4844 | 5067 | if (GetKeyState( VK_SHIFT ) and $80000000) = 0 then |
4845 | 5068 | if MsgBox(Handle, DEL_MSG, DEL_TITLE, MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) <> ID_YES then |
4846 | 5069 | Exit; |
5070 | + ClearHistory; | |
4847 | 5071 | FHistoryList.Clear; |
4848 | 5072 | TreeView.Items.Clear; |
4849 | 5073 | end; |
@@ -6054,18 +6278,24 @@ end; | ||
6054 | 6278 | procedure TGikoForm.BrowserTabMouseUp(Sender: TObject; |
6055 | 6279 | Button: TMouseButton; Shift: TShiftState; X, Y: Integer); |
6056 | 6280 | begin |
6057 | - if FDragWFirst = true then | |
6281 | + if FDragWFirst <> true then begin | |
6058 | 6282 | FDragWFirst := false; |
6059 | - | |
6060 | - if GikoSys.Setting.ListOrientation = gloHorizontal then begin | |
6061 | - if GikoSys.Setting.ListWidthState = glsMin then begin | |
6062 | - GikoDM.BrowserMaxAndFocusAction.Execute; | |
6063 | - end; | |
6064 | - end else begin | |
6065 | - if GikoSys.Setting.ListHeightState = glsMin then begin | |
6066 | - GikoDM.BrowserMaxAndFocusAction.Execute; | |
6067 | - end; | |
6068 | - end; | |
6283 | +{ | |
6284 | + end else if (abs( X - FMouseDownPos.X ) < Mouse.DragThreshold) | |
6285 | + and (abs( Y - FMouseDownPos.Y ) < Mouse.DragThreshold) then begin | |
6286 | +(*} | |
6287 | + end else begin | |
6288 | +//*) | |
6289 | + if GikoSys.Setting.ListOrientation = gloHorizontal then begin | |
6290 | + if GikoSys.Setting.ListWidthState = glsMin then begin | |
6291 | + GikoDM.BrowserMaxAndFocusAction.Execute; | |
6292 | + end; | |
6293 | + end else begin | |
6294 | + if GikoSys.Setting.ListHeightState = glsMin then begin | |
6295 | + GikoDM.BrowserMaxAndFocusAction.Execute; | |
6296 | + end; | |
6297 | + end; | |
6298 | + end; | |
6069 | 6299 | end; |
6070 | 6300 | |
6071 | 6301 | procedure TGikoForm.LinkToolBarDragOver(Sender, Source: TObject; X, |
@@ -6790,7 +7020,6 @@ var | ||
6790 | 7020 | Action: TAction; |
6791 | 7021 | begin |
6792 | 7022 | s := MouseGesture.GetGestureStr; |
6793 | - MouseGesture.Clear; | |
6794 | 7023 | Action := GikoSys.Setting.Gestures.GetGestureAction(s); |
6795 | 7024 | if Action <> nil then |
6796 | 7025 | Action.Execute; |
@@ -7139,9 +7368,7 @@ begin | ||
7139 | 7368 | WM_KEYFIRST..WM_KEYLAST : |
7140 | 7369 | begin |
7141 | 7370 | //L[Abvͳ·é@KeyDownÆí¹ÄQñÄÎêé©ç |
7142 | - if (Msg.message <> WM_KEYUP) | |
7143 | - and (Msg.message <> WM_CHAR) | |
7144 | - and (Msg.message <> WM_SYSKEYUP) then begin | |
7371 | + if (Msg.message <> WM_KEYUP) and (Msg.message <> WM_CHAR) then begin | |
7145 | 7372 | wmMsg.Msg := Msg.message; |
7146 | 7373 | wmMsg.CharCode := Word(Msg.wParam); |
7147 | 7374 | wmMsg.KeyData := Msg.lParam; |
@@ -1,7 +1,7 @@ | ||
1 | 1 | object GikoDM: TGikoDM |
2 | 2 | OldCreateOrder = False |
3 | 3 | OnCreate = DataModuleCreate |
4 | - Left = 514 | |
4 | + Left = 660 | |
5 | 5 | Top = 170 |
6 | 6 | Height = 336 |
7 | 7 | Width = 286 |
@@ -1299,18 +1299,6 @@ object GikoDM: TGikoDM | ||
1299 | 1299 | OnExecute = NewImageLinkToClipBoardActionExecute |
1300 | 1300 | OnUpdate = DependActiveCntentLogActionUpdate |
1301 | 1301 | end |
1302 | - object SetForcusForAddresBarAction: TAction | |
1303 | - Category = #12450#12489#12524#12473#12496#12540 | |
1304 | - Caption = #12450#12489#12524#12473#12496#12540#12395#12501#12457#12540#12459#12473#12434#24403#12390#12427 | |
1305 | - Hint = #12450#12489#12524#12473#12496#12540#12395#12501#12457#12540#12459#12473#12434#24403#12390#12427 | |
1306 | - OnExecute = SetForcusForAddresBarActionExecute | |
1307 | - end | |
1308 | - object NewBoardSearchAction: TAction | |
1309 | - Category = #12501#12449#12452#12523 | |
1310 | - Caption = #31227#36578#26495#26908#32034 | |
1311 | - Hint = #31227#36578#12375#12390#12356#12427#26495#12398'URL'#12434#26908#32034#12377#12427 | |
1312 | - OnExecute = NewBoardSearchActionExecute | |
1313 | - end | |
1314 | 1302 | end |
1315 | 1303 | object ToobarImageList: TImageList |
1316 | 1304 | Left = 44 |
@@ -12,7 +12,7 @@ uses | ||
12 | 12 | MSHTML_TLB, |
13 | 13 | {$IFEND} |
14 | 14 | ComCtrls, BrowserRecord, Graphics, Messages, Setting, Dialogs, |
15 | - ActiveX, MoveHistoryItem, HistoryList; | |
15 | + ActiveX, MoveHistoryItem; | |
16 | 16 | |
17 | 17 | const |
18 | 18 | CAPTION_NAME: string = 'MRir'; |
@@ -229,8 +229,6 @@ type | ||
229 | 229 | StoredTaskTrayAction: TAction; |
230 | 230 | AllImageLinkToClipbordAction: TAction; |
231 | 231 | NewImageLinkToClipBoardAction: TAction; |
232 | - SetForcusForAddresBarAction: TAction; | |
233 | - NewBoardSearchAction: TAction; | |
234 | 232 | procedure EditNGActionExecute(Sender: TObject); |
235 | 233 | procedure ReloadActionExecute(Sender: TObject); |
236 | 234 | procedure GoFowardActionExecute(Sender: TObject); |
@@ -432,8 +430,6 @@ type | ||
432 | 430 | procedure RightmostTabSelectActionUpdate(Sender: TObject); |
433 | 431 | procedure NewImageLinkToClipBoardActionExecute(Sender: TObject); |
434 | 432 | procedure AllImageLinkToClipbordActionExecute(Sender: TObject); |
435 | - procedure SetForcusForAddresBarActionExecute(Sender: TObject); | |
436 | - procedure NewBoardSearchActionExecute(Sender: TObject); | |
437 | 433 | private |
438 | 434 | { Private é¾ } |
439 | 435 | procedure ClearResFilter; |
@@ -486,7 +482,7 @@ uses | ||
486 | 482 | GikoBayesian, About, ShellAPI, |
487 | 483 | RoundName, RoundData, Menus, ListViewUtils, |
488 | 484 | ThreadControl, GikoMessage, InputAssist, |
489 | - DefaultFileManager, Forms, NewBoardURL; | |
485 | + DefaultFileManager, Forms; | |
490 | 486 | |
491 | 487 | const |
492 | 488 | MSG_ERROR : string = 'G['; |
@@ -4305,36 +4301,6 @@ begin | ||
4305 | 4301 | end; |
4306 | 4302 | end; |
4307 | 4303 | end; |
4308 | -{ | |
4309 | -\brief AhXo[ÉtH[JXðÄé | |
4310 | -\param Sender Cxg̶³ | |
4311 | -} | |
4312 | -procedure TGikoDM.SetForcusForAddresBarActionExecute(Sender: TObject); | |
4313 | -begin | |
4314 | - if ( GikoForm.AddressToolBar.Visible ) then begin | |
4315 | - GikoForm.AddressComboBox.SetFocus; | |
4316 | - end | |
4317 | -end; | |
4318 | -{ | |
4319 | -\brief Ú]µ½ÂÌURLðæ¾·é_CAOð\¦·é | |
4320 | -} | |
4321 | -procedure TGikoDM.NewBoardSearchActionExecute(Sender: TObject); | |
4322 | -var | |
4323 | - form : TNewBoardURLForm; | |
4324 | - Msg: string; | |
4325 | -begin | |
4326 | - if (EditorFormExists) then begin | |
4327 | - Msg := 'XGfB^ðSĶľ³¢'; | |
4328 | - MsgBox(GikoForm.Handle, Msg, MSG_ERROR, MB_OK or MB_ICONSTOP); | |
4329 | - Exit; | |
4330 | - end; | |
4331 | - form := TNewBoardURLForm.Create(Self); | |
4332 | - try | |
4333 | - form.ShowModal; | |
4334 | - finally | |
4335 | - form.Release; | |
4336 | - end; | |
4337 | -end; | |
4338 | 4304 | |
4339 | 4305 | end. |
4340 | 4306 |
@@ -249,10 +249,6 @@ type | ||
249 | 249 | function GetGikoMessage(MesType: TGikoMessageListType): String; |
250 | 250 | //! GMTÌðTDateTimeÉÏ··é |
251 | 251 | function DateStrToDateTime(const DateStr: string): TDateTime; |
252 | - //! User32.dllªpÅ«é© | |
253 | - function CanUser32DLL: Boolean; | |
254 | - //! OEøpæ¾ | |
255 | - function GetOEIndentChar : string; | |
256 | 252 | end; |
257 | 253 | |
258 | 254 | var |
@@ -3319,65 +3315,6 @@ begin | ||
3319 | 3315 | TmpFileList.Free; |
3320 | 3316 | end; |
3321 | 3317 | end; |
3322 | -{ | |
3323 | -\brief User32.dllªpÅ«é© | |
3324 | -\return Boolean pÅ«éêÍTrue | |
3325 | -} | |
3326 | -function TGikoSys.CanUser32DLL: Boolean; | |
3327 | -var | |
3328 | - hUser32 : HINST; | |
3329 | -begin | |
3330 | - Result := False; | |
3331 | - hUser32 := 0; | |
3332 | - try | |
3333 | - try | |
3334 | - hUser32 := LoadLibrary('User32.dll'); | |
3335 | - if hUser32 <> 0 then begin | |
3336 | - Result := True; | |
3337 | - end; | |
3338 | - except | |
3339 | - Result := false; | |
3340 | - end; | |
3341 | - finally | |
3342 | - FreeLibrary(hUser32); | |
3343 | - end; | |
3344 | -end; | |
3345 | -{ | |
3346 | -\brief OEøpæ¾ | |
3347 | -\return OEÌøpiÝè³êĢȢêÍ'>') | |
3348 | -} | |
3349 | -function TGikoSys.GetOEIndentChar : string; | |
3350 | -var | |
3351 | - regKey : TRegistry; | |
3352 | - Identities : string; | |
3353 | - IndentChar : DWORD; | |
3354 | -const | |
3355 | - DEFAULT_CHAR = '> '; | |
3356 | - OE_MAIL_PATH = '\Software\Microsoft\Outlook Express\5.0\Mail'; | |
3357 | - INDENT_CHAR = 'Indent Char'; | |
3358 | -begin | |
3359 | - | |
3360 | - Result := DEFAULT_CHAR; | |
3361 | - regKey := TRegistry.Create; | |
3362 | - try | |
3363 | - try | |
3364 | - regKey.RootKey := HKEY_CURRENT_USER; | |
3365 | - if not regKey.OpenKey( 'Identities', False ) then | |
3366 | - Exit; | |
3367 | - Identities := regKey.ReadString( 'Default User ID' ); | |
3368 | - if Identities = '' then | |
3369 | - Exit; | |
3370 | - if not regKey.OpenKey( Identities + OE_MAIL_PATH, False ) then | |
3371 | - Exit; | |
3372 | - IndentChar := regKey.ReadInteger( INDENT_CHAR ); | |
3373 | - Result := Char( IndentChar ) + ' '; | |
3374 | - except | |
3375 | - end; | |
3376 | - finally | |
3377 | - regKey.Free; | |
3378 | - end; | |
3379 | - | |
3380 | -end; | |
3381 | 3318 | |
3382 | 3319 | initialization |
3383 | 3320 | GikoSys := TGikoSys.Create; |
@@ -67,7 +67,7 @@ type | ||
67 | 67 | dat : boolean; var s : String) : string; |
68 | 68 | function getNumberString(const str: String;var index :Integer; var dbCharlen: Boolean; |
69 | 69 | sLen :Integer): String; |
70 | - function isOutsideRange(item: TThreadItem; index: Integer ): Boolean; | |
70 | + | |
71 | 71 | public |
72 | 72 | { Public é¾ } |
73 | 73 | procedure AddAnchorTag(PRes: PResRec); |
@@ -637,6 +637,7 @@ begin | ||
637 | 637 | PRes.FBody := PRes.FBody + res; |
638 | 638 | |
639 | 639 | end; |
640 | + | |
640 | 641 | //Pluginðp·éBoardÌXbhÌHTMLð쬵ÄdocÉ«Þ |
641 | 642 | procedure THTMLCreate.CreateUsePluginHTML(html:TBufferedWebBrowser; ThreadItem: TThreadItem; var sTitle: string); |
642 | 643 | var |
@@ -659,9 +660,17 @@ begin | ||
659 | 660 | // 1 ÍK¸\¦ |
660 | 661 | if i <> 0 then begin |
661 | 662 | // \¦ÍÍðÀè |
662 | - if (isOutsideRange(ThreadItem, i)) then begin | |
663 | - Continue; | |
664 | - end; | |
663 | + case GikoSys.ResRange of | |
664 | + Ord( grrKoko ): | |
665 | + if ThreadItem.Kokomade > (i + 1) then | |
666 | + Continue; | |
667 | + Ord( grrNew ): | |
668 | + if NewReceiveNo > (i + 1) then | |
669 | + Continue; | |
670 | + 10..65535: | |
671 | + if (threadItem.Count - i) > GikoSys.ResRange then | |
672 | + Continue; | |
673 | + end; | |
665 | 674 | end; |
666 | 675 | |
667 | 676 | // V }[N |
@@ -756,9 +765,17 @@ begin | ||
756 | 765 | // 1 ÍK¸\¦ |
757 | 766 | if i <> 0 then begin |
758 | 767 | // \¦ÍÍðÀè |
759 | - if (isOutsideRange(ThreadItem, i)) then begin | |
760 | - Continue; | |
761 | - end; | |
768 | + case GikoSys.ResRange of | |
769 | + Ord( grrKoko ): | |
770 | + if ThreadItem.Kokomade > (i + 1) then | |
771 | + Continue; | |
772 | + Ord( grrNew ): | |
773 | + if NewReceiveNo > (i + 1) then | |
774 | + Continue; | |
775 | + 10..65535: | |
776 | + if (threadItem.Count - i) > GikoSys.ResRange then | |
777 | + Continue; | |
778 | + end; | |
762 | 779 | end; |
763 | 780 | |
764 | 781 | // V }[N |
@@ -845,10 +862,18 @@ begin | ||
845 | 862 | for i := 0 to ReadList.Count - 1 do begin |
846 | 863 | // 1 ÍK¸\¦ |
847 | 864 | if i <> 0 then begin |
848 | - // \¦ÍÍðÀè | |
849 | - if (isOutsideRange(ThreadItem, i)) then begin | |
850 | - Continue; | |
851 | - end; | |
865 | + // \¦ÍÍðÀè | |
866 | + case GikoSys.ResRange of | |
867 | + Ord( grrKoko ): | |
868 | + if ThreadItem.Kokomade > (i + 1) then | |
869 | + Continue; | |
870 | + Ord( grrNew ): | |
871 | + if NewReceiveNo > (i + 1) then | |
872 | + Continue; | |
873 | + 10..65535: | |
874 | + if (threadItem.Count - i) > GikoSys.ResRange then | |
875 | + Continue; | |
876 | + end; | |
852 | 877 | end; |
853 | 878 | |
854 | 879 | if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin |
@@ -907,9 +932,17 @@ begin | ||
907 | 932 | // 1 ÍK¸\¦ |
908 | 933 | if i <> 0 then begin |
909 | 934 | // \¦ÍÍðÀè |
910 | - if (isOutsideRange(ThreadItem, i)) then begin | |
911 | - Continue; | |
912 | - end; | |
935 | + case GikoSys.ResRange of | |
936 | + Ord( grrKoko ): | |
937 | + if ThreadItem.Kokomade > (i + 1) then | |
938 | + Continue; | |
939 | + Ord( grrNew ): | |
940 | + if NewReceiveNo > (i + 1) then | |
941 | + Continue; | |
942 | + 10..65535: | |
943 | + if (threadItem.Count - i) > GikoSys.ResRange then | |
944 | + Continue; | |
945 | + end; | |
913 | 946 | end; |
914 | 947 | |
915 | 948 | if (NewReceiveNo = (i + 1)) or ((NewReceiveNo = 0) and (i = 0)) then begin |
@@ -1584,31 +1617,6 @@ begin | ||
1584 | 1617 | Result := Result + '</BODY></HTML>'; |
1585 | 1618 | |
1586 | 1619 | end; |
1587 | -{ | |
1588 | -\brief \¦ÍÍOXÔ»è | |
1589 | -\param item \¦Xbh | |
1590 | -\param index XÔ | |
1591 | -\return ture:\¦ÍÍO false:\¦ÍÍà | |
1592 | -} | |
1593 | -function THTMLCreate.isOutsideRange( item: TThreadItem; index: Integer ): Boolean; | |
1594 | -begin | |
1595 | - Result := False; | |
1596 | - // \¦ÍÍðÀè | |
1597 | - case GikoSys.ResRange of | |
1598 | - Ord( grrKoko ): | |
1599 | - if item.Kokomade > (index + 1) then | |
1600 | - Result := True; | |
1601 | - Ord( grrNew ): | |
1602 | - if item.NewReceive > (index + 1) then | |
1603 | - Result := True; | |
1604 | - 10..65535: | |
1605 | - if (GikoSys.Setting.HeadResCount) < (index + 1) then begin | |
1606 | - if (item.Count - index) > GikoSys.ResRange then begin | |
1607 | - Result := True; | |
1608 | - end; | |
1609 | - end; | |
1610 | - end; | |
1611 | -end; | |
1612 | 1620 | constructor TBufferedWebBrowser.Create(Browser: TWebBrowser; BuffSize: Integer); |
1613 | 1621 | begin |
1614 | 1622 | inherited Create; |
@@ -1,261 +0,0 @@ | ||
1 | -unit HistoryList; | |
2 | - | |
3 | -interface | |
4 | - | |
5 | -uses | |
6 | - Windows, Messages, SysUtils, Classes, Graphics, Controls, | |
7 | - BoardGroup, Favorite, ComCtrls, GikoXMLDoc; | |
8 | - | |
9 | -type | |
10 | - TGikoTreeType = (gttNone, gtt2ch, gttHistory, gttFavorite); | |
11 | - | |
12 | - THistoryList = class(TList) | |
13 | - public | |
14 | - function AddHistory( favItem : TFavoriteThreadItem; TreeView : TTreeView; | |
15 | - TreeType: TGikoTreeType): Boolean; | |
16 | - procedure DeleteHistory( threadItem: TThreadItem; TreeView : TTreeView; | |
17 | - TreeType: TGikoTreeType ); | |
18 | - procedure Clear; override; | |
19 | - procedure SaveToFile(const FileName: String); | |
20 | - procedure LoadFromFile(const FileName: String; | |
21 | - TreeView : TTreeView; TreeType: TGikoTreeType); | |
22 | - procedure SetTreeNode( TreeView : TTreeView ); | |
23 | - | |
24 | - end; | |
25 | - | |
26 | - | |
27 | -implementation | |
28 | - | |
29 | -uses | |
30 | - Giko, GikoSystem, Setting, YofUtils, MojuUtils; | |
31 | - | |
32 | -const | |
33 | - ITEM_ICON_THREADLOG1 = 6; //XACRiO èj | |
34 | - ITEM_ICON_THREADLOG2 = 7; //XACRiO èj | |
35 | - | |
36 | - | |
37 | -function THistoryList.AddHistory( | |
38 | - favItem : TFavoriteThreadItem; TreeView : TTreeView; | |
39 | - TreeType: TGikoTreeType ): Boolean; | |
40 | -var | |
41 | - i: Integer; | |
42 | - Item: TFavoriteThreadItem; | |
43 | - Node: TTreeNode; | |
44 | -begin | |
45 | - Result := True; | |
46 | - if TreeType = gttHistory then | |
47 | - TreeView.Selected := nil; | |
48 | - | |
49 | - for i := 0 to Self.Count - 1 do begin | |
50 | - if TObject(Self[i]) is TFavoriteThreadItem then begin | |
51 | - Item := TFavoriteThreadItem(Self[i]); | |
52 | - if Item.URL = favItem.URL then begin | |
53 | - Self.Move(i, 0); | |
54 | - if TreeType = gttHistory then | |
55 | - if TreeView.Items.GetFirstNode <> TreeView.Items[ i ] then | |
56 | - TreeView.Items[ i ].MoveTo( TreeView.Items.GetFirstNode, naInsert ); | |
57 | - Result := false; | |
58 | - Exit; | |
59 | - end; | |
60 | - end; | |
61 | - end; | |
62 | - | |
63 | - if Self.Count > 0 then | |
64 | - Self.Insert( 0, favItem ) | |
65 | - else | |
66 | - Self.Add( favItem ); | |
67 | - | |
68 | - while GikoSys.Setting.MaxRecordCount < Self.Count do begin | |
69 | - i := Self.Count - 1; | |
70 | - TObject( Self.Items[ i ] ).Free; | |
71 | - Self.Delete( i ); | |
72 | - end; | |
73 | - | |
74 | - if TreeType = gttHistory then begin | |
75 | - Node := TreeView.Items.Add( nil, favItem.Title ); | |
76 | - Node.MoveTo( TreeView.Items.GetFirstNode, naInsert ); | |
77 | - { | |
78 | - if favItem.NewArrival then begin | |
79 | - Node.ImageIndex := ITEM_ICON_THREADNEW1; | |
80 | - Node.SelectedIndex := ITEM_ICON_THREADNEW2; | |
81 | - end else begin | |
82 | - Node.ImageIndex := ITEM_ICON_THREADLOG1; | |
83 | - Node.SelectedIndex := ITEM_ICON_THREADLOG2; | |
84 | - end; | |
85 | - } | |
86 | - // ×𩯽ȢÌÅ NewArrival Ì`FbNðsíÈ¢ | |
87 | - // ¦favItem.Item vpeBÍ dat ÌÇÝÝðKvÆ·é | |
88 | - Node.ImageIndex := ITEM_ICON_THREADLOG1; | |
89 | - Node.SelectedIndex := ITEM_ICON_THREADLOG2; | |
90 | - Node.Data := favItem; | |
91 | - //while GikoSys.Setting.AddressHistoryCount < TreeView.Items.Count do begin | |
92 | - while GikoSys.Setting.MaxRecordCount < TreeView.Items.Count do begin | |
93 | - i := TreeView.Items.Count - 1; | |
94 | - TreeView.Items.Item[ i ].Delete; | |
95 | - end; | |
96 | - end; | |
97 | -end; | |
98 | - | |
99 | -procedure THistoryList.DeleteHistory( threadItem: TThreadItem; | |
100 | - TreeView : TTreeView; TreeType: TGikoTreeType ); | |
101 | -var | |
102 | - i: Integer; | |
103 | - node: TTreeNode; | |
104 | -begin | |
105 | - // LrlbgÉðª\¦³êÄ¢½çA | |
106 | - // LrlbgàÌACeàí·éB | |
107 | - if (TreeType = gttHistory) then begin | |
108 | - node := TreeView.Items.GetFirstNode; | |
109 | - while (node <> nil) do begin | |
110 | - if ( TFavoriteThreadItem(node.Data).Item = threadItem ) then begin | |
111 | - TreeView.Items.Delete(node); | |
112 | - TreeView.Refresh; | |
113 | - node := nil; | |
114 | - end else begin | |
115 | - node := node.GetNext; | |
116 | - end; | |
117 | - end; | |
118 | - end; | |
119 | - for i := 0 to Self.Count - 1 do begin | |
120 | - if threadItem = TFavoriteThreadItem( Self.Items[i] ).Item then begin | |
121 | - TFavoriteThreadItem( Self.Items[ i ] ).Free; | |
122 | - Self.Delete(i); | |
123 | - Self.Capacity := Self.Count; | |
124 | - Break; | |
125 | - end; | |
126 | - end; | |
127 | -end; | |
128 | - | |
129 | -procedure THistoryList.Clear; | |
130 | -var | |
131 | - i : Integer; | |
132 | -begin | |
133 | - try | |
134 | - for i := Self.Count - 1 downto 0 do begin | |
135 | - if TObject(Self[ i ]) is TFavoriteThreadItem then | |
136 | - TFavoriteThreadItem(Self[ i ]).Free | |
137 | - else if TObject(Self[ i ]) is TFavoriteBoardItem then | |
138 | - TFavoriteBoardItem(Self[ i ]).Free; | |
139 | - end; | |
140 | - except | |
141 | - end; | |
142 | - | |
143 | - inherited Clear; | |
144 | - Self.Capacity := Self.Count; | |
145 | - | |
146 | -end; | |
147 | - | |
148 | -procedure THistoryList.SaveToFile(const FileName: String); | |
149 | -var | |
150 | - i, bound : Integer; | |
151 | - saveList : TstringList; | |
152 | -begin | |
153 | - | |
154 | - saveList := TStringList.Create; | |
155 | - try | |
156 | - Self.Pack; | |
157 | - Self.Capacity := Self.Count; | |
158 | - saveList.Add('<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>'); | |
159 | - saveList.Add('<address>'); | |
160 | - bound := Self.Count - 1; | |
161 | - for i := bound downto 0 do begin | |
162 | - // title Í¡ÌƱëgÁĢȢ | |
163 | - saveList.Add( | |
164 | - '<history url="' + HtmlEncode( TFavoriteThreadItem( Self[ i ] ).URL ) + '"' + | |
165 | - ' title="' + HtmlEncode( MojuUtils.Sanitize(TFavoriteThreadItem( Self[ i ] ).Title )) + '"/>'); | |
166 | - end; | |
167 | - saveList.Add('</address>'); | |
168 | - saveList.SaveToFile( FileName ); | |
169 | - finally | |
170 | - saveList.Free; | |
171 | - end; | |
172 | - | |
173 | -end; | |
174 | - | |
175 | -procedure THistoryList.LoadFromFile(const FileName: String; | |
176 | - TreeView : TTreeView; TreeType: TGikoTreeType); | |
177 | -var | |
178 | - i, bound : Integer; | |
179 | - XMLDoc : IXMLDocument; | |
180 | - XMLNode : IXMLNode; | |
181 | - HistoryNode : IXMLNode; | |
182 | - s : string; | |
183 | - favItem : TFavoriteThreadItem; | |
184 | -{$IFDEF DEBUG} | |
185 | - st, rt : Cardinal; | |
186 | -{$ENDIF} | |
187 | -begin | |
188 | -{$IFDEF DEBUG} | |
189 | - st := GetTickCount; | |
190 | -{$ENDIF} | |
191 | - if FileExists( FileName ) then begin | |
192 | - try | |
193 | - XMLDoc := IXMLDocument.Create; | |
194 | - //XMLDoc := LoadXMLDocument(FileName); | |
195 | - LoadXMLDocument(FileName, XMLDoc); | |
196 | - try | |
197 | - XMLNode := XMLDoc.DocumentElement; | |
198 | - | |
199 | - if XMLNode.NodeName = 'address' then begin | |
200 | - bound := XMLNode.ChildNodes.Count - 1; | |
201 | - for i := 0 to bound do begin | |
202 | - HistoryNode := XMLNode.ChildNodes[i]; | |
203 | - if HistoryNode.NodeName = 'history' then begin | |
204 | - //if FReadCount >= sl.Count then begin | |
205 | - s := Trim(HistoryNode.Attributes['url']); | |
206 | - if s <> '' then begin | |
207 | - favItem := TFavoriteThreadItem.Create( | |
208 | - s, MojuUtils.UnSanitize(HistoryNode.Attributes[ 'title' ]) ); | |
209 | - if not AddHistory( favItem, TreeView, TreeType ) then | |
210 | - favItem.Free; | |
211 | - end; | |
212 | - //end; | |
213 | - end; | |
214 | - end; | |
215 | - end; | |
216 | - finally | |
217 | - XMLDoc.Free; | |
218 | - end; | |
219 | - except | |
220 | - end; | |
221 | - end; | |
222 | -{$IFDEF DEBUG} | |
223 | - rt := GetTickCount - st; | |
224 | - Writeln('Runtime(Load Histroy) : ' + IntToStr(rt) + ' ms'); | |
225 | -{$ENDIF} | |
226 | - | |
227 | -end; | |
228 | -procedure THistoryList.SetTreeNode( | |
229 | - TreeView : TTreeView ); | |
230 | -var | |
231 | - i: Integer; | |
232 | - Node: TTreeNode; | |
233 | - Item: TFavoriteThreadItem; | |
234 | -begin | |
235 | - TreeView.Items.BeginUpdate; | |
236 | - try | |
237 | - TreeView.Items.Clear; | |
238 | - for i := 0 to Self.Count - 1 do begin | |
239 | - Item := TFavoriteThreadItem(Self[i]); | |
240 | - Node := TreeView.Items.Add(nil, Item.Title); | |
241 | - { | |
242 | - if Item.Item.NewArrival then begin | |
243 | - Node.ImageIndex := ITEM_ICON_THREADNEW1; | |
244 | - Node.SelectedIndex := ITEM_ICON_THREADNEW2; | |
245 | - end else begin | |
246 | - Node.ImageIndex := ITEM_ICON_THREADLOG1; | |
247 | - Node.SelectedIndex := ITEM_ICON_THREADLOG2; | |
248 | - end; | |
249 | - } | |
250 | - // ×𩯽ȢÌÅ NewArrival Ì`FbNðsíÈ¢ | |
251 | - // ¦Item.Item vpeBÍ dat ÌÇÝÝðKvÆ·é | |
252 | - Node.ImageIndex := ITEM_ICON_THREADLOG1; | |
253 | - Node.SelectedIndex := ITEM_ICON_THREADLOG2; | |
254 | - Node.Data := Item; | |
255 | - end; | |
256 | - finally | |
257 | - TreeView.Items.EndUpdate; | |
258 | - end; | |
259 | -end; | |
260 | - | |
261 | -end. |
@@ -1,7 +1,7 @@ | ||
1 | 1 | object InputAssistForm: TInputAssistForm |
2 | - Left = 353 | |
3 | - Top = 196 | |
4 | - Width = 390 | |
2 | + Left = 589 | |
3 | + Top = 279 | |
4 | + Width = 397 | |
5 | 5 | Height = 460 |
6 | 6 | Caption = #20837#21147#12450#12471#12473#12488#35373#23450 |
7 | 7 | Color = clBtnFace |
@@ -18,14 +18,14 @@ object InputAssistForm: TInputAssistForm | ||
18 | 18 | object Panel1: TPanel |
19 | 19 | Left = 0 |
20 | 20 | Top = 0 |
21 | - Width = 382 | |
21 | + Width = 389 | |
22 | 22 | Height = 200 |
23 | 23 | Align = alTop |
24 | 24 | BevelOuter = bvLowered |
25 | 25 | Caption = 'Panel1' |
26 | 26 | TabOrder = 0 |
27 | 27 | object Panel5: TPanel |
28 | - Left = 288 | |
28 | + Left = 295 | |
29 | 29 | Top = 33 |
30 | 30 | Width = 93 |
31 | 31 | Height = 166 |
@@ -71,15 +71,16 @@ object InputAssistForm: TInputAssistForm | ||
71 | 71 | object Panel6: TPanel |
72 | 72 | Left = 1 |
73 | 73 | Top = 33 |
74 | - Width = 287 | |
74 | + Width = 294 | |
75 | 75 | Height = 166 |
76 | 76 | Align = alClient |
77 | 77 | BevelOuter = bvNone |
78 | + Caption = 'Panel6' | |
78 | 79 | TabOrder = 1 |
79 | 80 | object GikoListView1: TGikoListView |
80 | 81 | Left = 0 |
81 | 82 | Top = 0 |
82 | - Width = 287 | |
83 | + Width = 294 | |
83 | 84 | Height = 166 |
84 | 85 | Align = alClient |
85 | 86 | Columns = <> |
@@ -96,9 +97,10 @@ object InputAssistForm: TInputAssistForm | ||
96 | 97 | object Panel7: TPanel |
97 | 98 | Left = 1 |
98 | 99 | Top = 1 |
99 | - Width = 380 | |
100 | + Width = 387 | |
100 | 101 | Height = 32 |
101 | 102 | Align = alTop |
103 | + Caption = 'Panel7' | |
102 | 104 | TabOrder = 2 |
103 | 105 | object CategoryComboLabel: TLabel |
104 | 106 | Left = 12 |
@@ -132,7 +134,7 @@ object InputAssistForm: TInputAssistForm | ||
132 | 134 | object Panel2: TPanel |
133 | 135 | Left = 0 |
134 | 136 | Top = 200 |
135 | - Width = 382 | |
137 | + Width = 389 | |
136 | 138 | Height = 233 |
137 | 139 | Align = alClient |
138 | 140 | BevelOuter = bvNone |
@@ -141,76 +143,42 @@ object InputAssistForm: TInputAssistForm | ||
141 | 143 | object Panel3: TPanel |
142 | 144 | Left = 0 |
143 | 145 | Top = 0 |
144 | - Width = 382 | |
146 | + Width = 389 | |
145 | 147 | Height = 48 |
146 | 148 | Align = alTop |
147 | 149 | BevelOuter = bvNone |
148 | 150 | TabOrder = 0 |
149 | - object Splitter: TSplitter | |
150 | - Left = 185 | |
151 | - Top = 0 | |
152 | - Width = 8 | |
153 | - Height = 48 | |
154 | - Cursor = crHSplit | |
155 | - Beveled = True | |
156 | - end | |
157 | - object KeyPanel: TPanel | |
158 | - Left = 0 | |
159 | - Top = 0 | |
160 | - Width = 185 | |
161 | - Height = 48 | |
162 | - Align = alLeft | |
163 | - BevelOuter = bvNone | |
151 | + object KeyNameEdit: TLabeledEdit | |
152 | + Left = 8 | |
153 | + Top = 21 | |
154 | + Width = 161 | |
155 | + Height = 20 | |
156 | + Hint = #20837#21147#12395#20351#12358#12461#12540#21517 | |
157 | + EditLabel.Width = 36 | |
158 | + EditLabel.Height = 12 | |
159 | + EditLabel.Caption = #12461#12540#21517 | |
160 | + LabelPosition = lpAbove | |
161 | + LabelSpacing = 3 | |
164 | 162 | TabOrder = 0 |
165 | - DesignSize = ( | |
166 | - 185 | |
167 | - 48) | |
168 | - object KeyNameEdit: TLabeledEdit | |
169 | - Left = 8 | |
170 | - Top = 21 | |
171 | - Width = 169 | |
172 | - Height = 20 | |
173 | - Hint = #20837#21147#12395#20351#12358#12461#12540#21517 | |
174 | - Anchors = [akLeft, akTop, akRight] | |
175 | - EditLabel.Width = 36 | |
176 | - EditLabel.Height = 12 | |
177 | - EditLabel.Caption = #12461#12540#21517 | |
178 | - LabelPosition = lpAbove | |
179 | - LabelSpacing = 3 | |
180 | - TabOrder = 0 | |
181 | - end | |
182 | 163 | end |
183 | - object CategoryPanel: TPanel | |
184 | - Left = 193 | |
185 | - Top = 0 | |
186 | - Width = 189 | |
187 | - Height = 48 | |
188 | - Align = alClient | |
189 | - BevelOuter = bvNone | |
164 | + object CategoryNameEdit: TLabeledEdit | |
165 | + Left = 176 | |
166 | + Top = 21 | |
167 | + Width = 121 | |
168 | + Height = 20 | |
169 | + Hint = #20837#21147#12395#20351#12358#12459#12486#12468#12522#21517 | |
170 | + EditLabel.Width = 53 | |
171 | + EditLabel.Height = 12 | |
172 | + EditLabel.Caption = #12459#12486#12468#12522#21517 | |
173 | + LabelPosition = lpAbove | |
174 | + LabelSpacing = 3 | |
190 | 175 | TabOrder = 1 |
191 | - DesignSize = ( | |
192 | - 189 | |
193 | - 48) | |
194 | - object CategoryNameEdit: TLabeledEdit | |
195 | - Left = 8 | |
196 | - Top = 21 | |
197 | - Width = 169 | |
198 | - Height = 20 | |
199 | - Hint = #20837#21147#12395#20351#12358#12459#12486#12468#12522#21517 | |
200 | - Anchors = [akLeft, akTop, akRight] | |
201 | - EditLabel.Width = 53 | |
202 | - EditLabel.Height = 12 | |
203 | - EditLabel.Caption = #12459#12486#12468#12522#21517 | |
204 | - LabelPosition = lpAbove | |
205 | - LabelSpacing = 3 | |
206 | - TabOrder = 0 | |
207 | - end | |
208 | 176 | end |
209 | 177 | end |
210 | 178 | object Panel4: TPanel |
211 | 179 | Left = 0 |
212 | 180 | Top = 48 |
213 | - Width = 382 | |
181 | + Width = 389 | |
214 | 182 | Height = 185 |
215 | 183 | Align = alClient |
216 | 184 | BevelOuter = bvNone |
@@ -218,7 +186,7 @@ object InputAssistForm: TInputAssistForm | ||
218 | 186 | object GroupBox1: TGroupBox |
219 | 187 | Left = 0 |
220 | 188 | Top = 0 |
221 | - Width = 382 | |
189 | + Width = 389 | |
222 | 190 | Height = 185 |
223 | 191 | Align = alClient |
224 | 192 | Caption = #25407#20837#25991#23383#21015 |
@@ -226,7 +194,7 @@ object InputAssistForm: TInputAssistForm | ||
226 | 194 | object TextMemo: TMemo |
227 | 195 | Left = 2 |
228 | 196 | Top = 14 |
229 | - Width = 378 | |
197 | + Width = 385 | |
230 | 198 | Height = 169 |
231 | 199 | Hint = #25407#20837#12377#12427#25991#23383#21015 |
232 | 200 | Align = alClient |
@@ -241,7 +209,92 @@ object InputAssistForm: TInputAssistForm | ||
241 | 209 | Top = 192 |
242 | 210 | Bitmap = { |
243 | 211 | 494C010102000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 |
244 | - 0000000000003600000028000000400000001000000001001000000000000008 | |
212 | + 0000000000003600000028000000400000001000000001002000000000000010 | |
213 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
214 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
215 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
216 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
217 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
218 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
219 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
220 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
221 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
222 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
223 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
224 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
225 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
226 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
227 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
228 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
229 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
230 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
231 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
232 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
233 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
234 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
235 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
236 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
237 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
238 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
239 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
240 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
241 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
242 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
243 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
244 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
245 | + 000000000000000000000000000000000000000000000000000000000000FFFF | |
246 | + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 | |
247 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
248 | + 0000000000000000000080808000FFFFFF000000000000000000000000000000 | |
249 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
250 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
251 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
252 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
253 | + 0000000000000000000000000000000000000000000000000000000000008080 | |
254 | + 80008080800000000000000000000000000000000000FFFFFF00FFFFFF000000 | |
255 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
256 | + 0000000000008080800080808000FFFFFF00FFFFFF0000000000000000000000 | |
257 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
258 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
259 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
260 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
261 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
262 | + 00008080800000000000000000000000000000000000FFFFFF00000000000000 | |
263 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
264 | + 000000000000808080000000000000000000FFFFFF0000000000000000000000 | |
265 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
266 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
267 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
268 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
269 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
270 | + 000080808000808080000000000000000000FFFFFF00FFFFFF00000000000000 | |
271 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
272 | + 000080808000808080000000000000000000FFFFFF00FFFFFF00000000000000 | |
273 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
274 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
275 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
276 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
277 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
278 | + 000000000000808080000000000000000000FFFFFF0000000000000000000000 | |
279 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
280 | + 00008080800000000000000000000000000000000000FFFFFF00000000000000 | |
281 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
282 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
283 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
284 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
285 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
286 | + 0000000000008080800080808000FFFFFF00FFFFFF0000000000000000000000 | |
287 | + 0000000000000000000000000000000000000000000000000000000000008080 | |
288 | + 80008080800000000000000000000000000000000000FFFFFF00FFFFFF000000 | |
289 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
290 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
291 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
292 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
293 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
294 | + 0000000000000000000080808000FFFFFF000000000000000000000000000000 | |
295 | + 0000000000000000000000000000000000000000000000000000000000008080 | |
296 | + 8000808080008080800080808000808080008080800080808000808080000000 | |
297 | + 0000000000000000000000000000000000000000000000000000000000000000 | |
245 | 298 | 0000000000000000000000000000000000000000000000000000000000000000 |
246 | 299 | 0000000000000000000000000000000000000000000000000000000000000000 |
247 | 300 | 0000000000000000000000000000000000000000000000000000000000000000 |
@@ -258,33 +311,12 @@ object InputAssistForm: TInputAssistForm | ||
258 | 311 | 0000000000000000000000000000000000000000000000000000000000000000 |
259 | 312 | 0000000000000000000000000000000000000000000000000000000000000000 |
260 | 313 | 0000000000000000000000000000000000000000000000000000000000000000 |
261 | - 000000000000000000000000000000000000000000000000FF7FFF7FFF7FFF7F | |
262 | - FF7FFF7FFF7FFF7F000000000000000000000000000000000000000000001042 | |
263 | - FF7F000000000000000000000000000000000000000000000000000000000000 | |
264 | 314 | 0000000000000000000000000000000000000000000000000000000000000000 |
265 | - 0000000000000000000000000000000000000000000000001042104200000000 | |
266 | - 00000000FF7FFF7F000000000000000000000000000000000000000010421042 | |
267 | - FF7FFF7F00000000000000000000000000000000000000000000000000000000 | |
268 | 315 | 0000000000000000000000000000000000000000000000000000000000000000 |
269 | - 0000000000000000000000000000000000000000000000000000104200000000 | |
270 | - 00000000FF7F0000000000000000000000000000000000000000000010420000 | |
271 | - 0000FF7F00000000000000000000000000000000000000000000000000000000 | |
272 | 316 | 0000000000000000000000000000000000000000000000000000000000000000 |
273 | - 0000000000000000000000000000000000000000000000000000104210420000 | |
274 | - 0000FF7FFF7F0000000000000000000000000000000000000000104210420000 | |
275 | - 0000FF7FFF7F0000000000000000000000000000000000000000000000000000 | |
276 | 317 | 0000000000000000000000000000000000000000000000000000000000000000 |
277 | - 0000000000000000000000000000000000000000000000000000000010420000 | |
278 | - 0000FF7F00000000000000000000000000000000000000000000104200000000 | |
279 | - 00000000FF7F0000000000000000000000000000000000000000000000000000 | |
280 | 318 | 0000000000000000000000000000000000000000000000000000000000000000 |
281 | - 0000000000000000000000000000000000000000000000000000000010421042 | |
282 | - FF7FFF7F00000000000000000000000000000000000000001042104200000000 | |
283 | - 00000000FF7FFF7F000000000000000000000000000000000000000000000000 | |
284 | 319 | 0000000000000000000000000000000000000000000000000000000000000000 |
285 | - 0000000000000000000000000000000000000000000000000000000000001042 | |
286 | - FF7F000000000000000000000000000000000000000000001042104210421042 | |
287 | - 1042104210421042000000000000000000000000000000000000000000000000 | |
288 | 320 | 0000000000000000000000000000000000000000000000000000000000000000 |
289 | 321 | 0000000000000000000000000000000000000000000000000000000000000000 |
290 | 322 | 0000000000000000000000000000000000000000000000000000000000000000 |
@@ -13,6 +13,8 @@ type | ||
13 | 13 | Panel2: TPanel; |
14 | 14 | GikoListView1: TGikoListView; |
15 | 15 | Panel3: TPanel; |
16 | + KeyNameEdit: TLabeledEdit; | |
17 | + CategoryNameEdit: TLabeledEdit; | |
16 | 18 | Panel4: TPanel; |
17 | 19 | TextMemo: TMemo; |
18 | 20 | ColumnImageList: TImageList; |
@@ -36,11 +38,6 @@ type | ||
36 | 38 | InsertButton: TButton; |
37 | 39 | InsertButtonAction: TAction; |
38 | 40 | CloseAction: TAction; |
39 | - KeyPanel: TPanel; | |
40 | - KeyNameEdit: TLabeledEdit; | |
41 | - Splitter: TSplitter; | |
42 | - CategoryPanel: TPanel; | |
43 | - CategoryNameEdit: TLabeledEdit; | |
44 | 41 | procedure FormCreate(Sender: TObject); |
45 | 42 | procedure GikoListView1SelectItem(Sender: TObject; Item: TListItem; |
46 | 43 | Selected: Boolean); |
@@ -358,7 +358,6 @@ end; | ||
358 | 358 | procedure TKeySettingForm.OnGestureEnd(Sender: TObject); |
359 | 359 | begin |
360 | 360 | GestureEdit.Text := MouseGesture.GetGestureStr; |
361 | - MouseGesture.Clear; | |
362 | 361 | end; |
363 | 362 | |
364 | 363 | procedure TKeySettingForm.GestureCheckBoxClick(Sender: TObject); |
@@ -1,6 +1,6 @@ | ||
1 | 1 | object KuroutOption: TKuroutOption |
2 | - Left = 319 | |
3 | - Top = 169 | |
2 | + Left = 285 | |
3 | + Top = 132 | |
4 | 4 | Width = 525 |
5 | 5 | Height = 457 |
6 | 6 | Caption = #35443#32048#35373#23450 |
@@ -21,8 +21,8 @@ object KuroutOption: TKuroutOption | ||
21 | 21 | Top = 0 |
22 | 22 | Width = 517 |
23 | 23 | Height = 393 |
24 | - ActivePage = KakikomiTabSheet | |
25 | - TabIndex = 2 | |
24 | + ActivePage = TabSheet1 | |
25 | + TabIndex = 0 | |
26 | 26 | TabOrder = 0 |
27 | 27 | object TabSheet1: TTabSheet |
28 | 28 | Caption = #35443#32048#35373#23450#65297 |
@@ -422,40 +422,6 @@ object KuroutOption: TKuroutOption | ||
422 | 422 | Width = 105 |
423 | 423 | Height = 20 |
424 | 424 | TabOrder = 0 |
425 | - OnExit = MoveHistoryMaxEditExit | |
426 | - end | |
427 | - end | |
428 | - object AHandredGroupBox: TGroupBox | |
429 | - Left = 16 | |
430 | - Top = 192 | |
431 | - Width = 465 | |
432 | - Height = 65 | |
433 | - Caption = '100'#12524#12473#34920#31034#35373#23450 | |
434 | - TabOrder = 2 | |
435 | - object AHandredLabeledEdit: TLabeledEdit | |
436 | - Left = 96 | |
437 | - Top = 24 | |
438 | - Width = 73 | |
439 | - Height = 20 | |
440 | - EditLabel.Width = 81 | |
441 | - EditLabel.Height = 12 | |
442 | - EditLabel.Caption = #20808#38957#34920#31034#12524#12473#25968 | |
443 | - LabelPosition = lpLeft | |
444 | - LabelSpacing = 3 | |
445 | - TabOrder = 0 | |
446 | - Text = '1' | |
447 | - OnExit = AHandredLabeledEditExit | |
448 | - end | |
449 | - object UpDown1: TUpDown | |
450 | - Left = 169 | |
451 | - Top = 24 | |
452 | - Width = 15 | |
453 | - Height = 20 | |
454 | - Associate = AHandredLabeledEdit | |
455 | - Min = 1 | |
456 | - Position = 1 | |
457 | - TabOrder = 1 | |
458 | - Wrap = False | |
459 | 425 | end |
460 | 426 | end |
461 | 427 | end |
@@ -4,7 +4,7 @@ interface | ||
4 | 4 | |
5 | 5 | uses |
6 | 6 | Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, |
7 | - Dialogs, StdCtrls, ComCtrls, GikoSystem, GikoUtil, ExtCtrls; | |
7 | + Dialogs, StdCtrls, ComCtrls, GikoSystem, GikoUtil; | |
8 | 8 | |
9 | 9 | type |
10 | 10 | TKuroutOption = class(TForm) |
@@ -65,9 +65,6 @@ type | ||
65 | 65 | Label10: TLabel; |
66 | 66 | MoveHistoryMaxEdit: TEdit; |
67 | 67 | Label11: TLabel; |
68 | - AHandredGroupBox: TGroupBox; | |
69 | - AHandredLabeledEdit: TLabeledEdit; | |
70 | - UpDown1: TUpDown; | |
71 | 68 | procedure OkBottonClick(Sender: TObject); |
72 | 69 | procedure FormCreate(Sender: TObject); |
73 | 70 | procedure CDeleteButtonClick(Sender: TObject); |
@@ -78,8 +75,6 @@ type | ||
78 | 75 | procedure CDownButtonClick(Sender: TObject); |
79 | 76 | procedure BUpButtonClick(Sender: TObject); |
80 | 77 | procedure BDownButtonClick(Sender: TObject); |
81 | - procedure MoveHistoryMaxEditExit(Sender: TObject); | |
82 | - procedure AHandredLabeledEditExit(Sender: TObject); | |
83 | 78 | private |
84 | 79 | { Private é¾ } |
85 | 80 | procedure SetValue; |
@@ -134,8 +129,6 @@ begin | ||
134 | 129 | FixedCookieEdit.Text := GikoSys.Setting.FixedCookie; |
135 | 130 | // NÚ®ð |
136 | 131 | MoveHistoryMaxEdit.Text := IntToStr( GikoSys.Setting.MoveHistorySize ); |
137 | - //@æª\¦X | |
138 | - AHandredLabeledEdit.Text := IntToStr( GikoSys.Setting.HeadResCount ); | |
139 | 132 | end; |
140 | 133 | |
141 | 134 | procedure TKuroutOption.SaveSetting; |
@@ -167,10 +160,6 @@ begin | ||
167 | 160 | GikoSys.Setting.MoveHistorySize := |
168 | 161 | StrToIntDef( MoveHistoryMaxEdit.Text, 20 ); |
169 | 162 | |
170 | - //@æª\¦X | |
171 | - GikoSys.Setting.HeadResCount := | |
172 | - StrToIntDef( AHandredLabeledEdit.Text , 1); | |
173 | - | |
174 | 163 | GikoSys.Setting.KuroutSettingTabIndex := PageControl1.ActivePageIndex; |
175 | 164 | end; |
176 | 165 |
@@ -200,9 +189,7 @@ procedure TKuroutOption.OkBottonClick(Sender: TObject); | ||
200 | 189 | begin |
201 | 190 | RecvBufferSizeExit(Sender); |
202 | 191 | PostTimeEditExit(Sender); |
203 | - MoveHistoryMaxEditExit(Sender); | |
204 | - AHandredLabeledEditExit(Sender); | |
205 | - PostColumnData(); | |
192 | + PostColumnData(); | |
206 | 193 | SaveSetting; |
207 | 194 | end; |
208 | 195 |
@@ -398,22 +385,5 @@ begin | ||
398 | 385 | //XêÌ`æÌXV |
399 | 386 | GikoForm.SetActiveList(GikoForm.ActiveList); |
400 | 387 | end; |
401 | -// NÚ®ðÌÒWãÌÝè¶ñ`FbN | |
402 | -procedure TKuroutOption.MoveHistoryMaxEditExit(Sender: TObject); | |
403 | -begin | |
404 | - if not GikoSys.IsNumeric(MoveHistoryMaxEdit.Text) then | |
405 | - MoveHistoryMaxEdit.Text := '20'; | |
406 | - if StrToInt(MoveHistoryMaxEdit.Text) < 1 then | |
407 | - MoveHistoryMaxEdit.Text := '1'; | |
408 | -end; | |
409 | -// æª\¦XÌÒWãÌÝè¶ñ`FbN | |
410 | -procedure TKuroutOption.AHandredLabeledEditExit(Sender: TObject); | |
411 | -begin | |
412 | - if not GikoSys.IsNumeric(AHandredLabeledEdit.Text) then | |
413 | - AHandredLabeledEdit.Text := '1'; | |
414 | - if StrToInt(AHandredLabeledEdit.Text) < 1 then | |
415 | - AHandredLabeledEdit.Text := '1'; | |
416 | - | |
417 | -end; | |
418 | 388 | |
419 | 389 | end. |
@@ -1,6 +1,6 @@ | ||
1 | 1 | object NewBoardDialog: TNewBoardDialog |
2 | - Left = 337 | |
3 | - Top = 197 | |
2 | + Left = 276 | |
3 | + Top = 325 | |
4 | 4 | BorderStyle = bsDialog |
5 | 5 | Caption = #26495#19968#35239#26356#26032 |
6 | 6 | ClientHeight = 329 |
@@ -44,7 +44,6 @@ type | ||
44 | 44 | procedure UpdateIgnoreList(Sender: TObject); |
45 | 45 | public |
46 | 46 | { Public é¾ } |
47 | - class procedure InitHTTPClient(client : TIdHTTP); | |
48 | 47 | end; |
49 | 48 | |
50 | 49 | var |
@@ -120,8 +119,32 @@ var | ||
120 | 119 | s: string; |
121 | 120 | i: Integer; |
122 | 121 | begin |
123 | - InitHTTPClient( Indy ); | |
124 | - | |
122 | + Indy.Request.Clear; | |
123 | + Indy.RecvBufferSize := Gikosys.Setting.RecvBufferSize; | |
124 | + Indy.ProxyParams.BasicAuthentication := False; | |
125 | + if GikoSys.Setting.ReadProxy then begin | |
126 | + if GikoSys.Setting.ProxyProtocol then | |
127 | + Indy.ProtocolVersion := pv1_1 | |
128 | + else | |
129 | + Indy.ProtocolVersion := pv1_0; | |
130 | + Indy.ProxyParams.ProxyServer := GikoSys.Setting.ReadProxyAddress; | |
131 | + Indy.ProxyParams.ProxyPort := GikoSys.Setting.ReadProxyPort; | |
132 | + Indy.ProxyParams.ProxyUsername := GikoSys.Setting.ReadProxyUserID; | |
133 | + Indy.ProxyParams.ProxyPassword := GikoSys.Setting.ReadProxyPassword; | |
134 | + if GikoSys.Setting.ReadProxyUserID <> '' then | |
135 | + Indy.ProxyParams.BasicAuthentication := True; | |
136 | + end else begin | |
137 | + if GikoSys.Setting.Protocol then | |
138 | + Indy.ProtocolVersion := pv1_1 | |
139 | + else | |
140 | + Indy.ProtocolVersion := pv1_0; | |
141 | + Indy.ProxyParams.ProxyServer := ''; | |
142 | + Indy.ProxyParams.ProxyPort := 80; | |
143 | + Indy.ProxyParams.ProxyUsername := ''; | |
144 | + Indy.ProxyParams.ProxyPassword := ''; | |
145 | + end; | |
146 | + //URL := GikoSys.Setting.BoardURL2ch; | |
147 | + //URL := BoardURLComboBox.Text; | |
125 | 148 | Indy.Request.UserAgent := GikoSys.GetUserAgent; |
126 | 149 | Indy.Request.Referer := ''; |
127 | 150 | Indy.Request.AcceptEncoding := 'gzip'; |
@@ -410,33 +433,4 @@ begin | ||
410 | 433 | end; |
411 | 434 | end; |
412 | 435 | end; |
413 | - | |
414 | -class procedure TNewBoardDialog.InitHTTPClient(client : TIdHTTP); | |
415 | -begin | |
416 | - client.Request.Clear; | |
417 | - client.Request.CustomHeaders.Clear; | |
418 | - client.RecvBufferSize := Gikosys.Setting.RecvBufferSize; | |
419 | - client.ProxyParams.BasicAuthentication := False; | |
420 | - if GikoSys.Setting.ReadProxy then begin | |
421 | - if GikoSys.Setting.ProxyProtocol then | |
422 | - client.ProtocolVersion := pv1_1 | |
423 | - else | |
424 | - client.ProtocolVersion := pv1_0; | |
425 | - client.ProxyParams.ProxyServer := GikoSys.Setting.ReadProxyAddress; | |
426 | - client.ProxyParams.ProxyPort := GikoSys.Setting.ReadProxyPort; | |
427 | - client.ProxyParams.ProxyUsername := GikoSys.Setting.ReadProxyUserID; | |
428 | - client.ProxyParams.ProxyPassword := GikoSys.Setting.ReadProxyPassword; | |
429 | - if GikoSys.Setting.ReadProxyUserID <> '' then | |
430 | - client.ProxyParams.BasicAuthentication := True; | |
431 | - end else begin | |
432 | - if GikoSys.Setting.Protocol then | |
433 | - client.ProtocolVersion := pv1_1 | |
434 | - else | |
435 | - client.ProtocolVersion := pv1_0; | |
436 | - client.ProxyParams.ProxyServer := ''; | |
437 | - client.ProxyParams.ProxyPort := 80; | |
438 | - client.ProxyParams.ProxyUsername := ''; | |
439 | - client.ProxyParams.ProxyPassword := ''; | |
440 | - end; | |
441 | -end; | |
442 | 436 | end. |
@@ -1,84 +0,0 @@ | ||
1 | -object NewBoardURLForm: TNewBoardURLForm | |
2 | - Left = 380 | |
3 | - Top = 187 | |
4 | - Width = 495 | |
5 | - Height = 313 | |
6 | - Caption = #26495#31227#36578#20808#26908#32034 | |
7 | - Color = clBtnFace | |
8 | - Font.Charset = SHIFTJIS_CHARSET | |
9 | - Font.Color = clWindowText | |
10 | - Font.Height = -12 | |
11 | - Font.Name = #65325#65331' '#65328#12468#12471#12483#12463 | |
12 | - Font.Style = [] | |
13 | - FormStyle = fsStayOnTop | |
14 | - OldCreateOrder = False | |
15 | - OnCreate = FormCreate | |
16 | - PixelsPerInch = 96 | |
17 | - TextHeight = 12 | |
18 | - object CategoryLabel: TLabel | |
19 | - Left = 24 | |
20 | - Top = 16 | |
21 | - Width = 53 | |
22 | - Height = 12 | |
23 | - Caption = #12459#12486#12468#12522#21517 | |
24 | - end | |
25 | - object CategoryComboBox: TComboBox | |
26 | - Left = 88 | |
27 | - Top = 13 | |
28 | - Width = 145 | |
29 | - Height = 20 | |
30 | - ItemHeight = 12 | |
31 | - TabOrder = 0 | |
32 | - Text = 'CategoryComboBox' | |
33 | - end | |
34 | - object SearchButton: TButton | |
35 | - Left = 256 | |
36 | - Top = 8 | |
37 | - Width = 75 | |
38 | - Height = 25 | |
39 | - Caption = #26908#32034'(&s)' | |
40 | - TabOrder = 1 | |
41 | - OnClick = SearchButtonClick | |
42 | - end | |
43 | - object ResultMemo: TMemo | |
44 | - Left = 24 | |
45 | - Top = 48 | |
46 | - Width = 457 | |
47 | - Height = 225 | |
48 | - Lines.Strings = ( | |
49 | - 'ResultMemo') | |
50 | - ScrollBars = ssVertical | |
51 | - TabOrder = 2 | |
52 | - end | |
53 | - object CloseButton: TButton | |
54 | - Left = 352 | |
55 | - Top = 8 | |
56 | - Width = 75 | |
57 | - Height = 25 | |
58 | - Caption = #38281#12376#12427 | |
59 | - ModalResult = 1 | |
60 | - TabOrder = 3 | |
61 | - end | |
62 | - object IdHTTP: TIdHTTP | |
63 | - MaxLineAction = maException | |
64 | - AllowCookies = True | |
65 | - HandleRedirects = True | |
66 | - ProxyParams.BasicAuthentication = False | |
67 | - ProxyParams.ProxyPort = 0 | |
68 | - Request.ContentLength = -1 | |
69 | - Request.ContentRangeEnd = 0 | |
70 | - Request.ContentRangeStart = 0 | |
71 | - Request.Accept = 'text/html, */*' | |
72 | - Request.BasicAuthentication = False | |
73 | - Request.UserAgent = 'Mozilla/3.0 (compatible; Indy Library)' | |
74 | - HTTPOptions = [hoForceEncodeParams] | |
75 | - OnRedirect = IdHTTPRedirect | |
76 | - Left = 408 | |
77 | - Top = 16 | |
78 | - end | |
79 | - object IdAntiFreeze: TIdAntiFreeze | |
80 | - Active = False | |
81 | - Left = 448 | |
82 | - Top = 16 | |
83 | - end | |
84 | -end |
@@ -1,226 +0,0 @@ | ||
1 | -unit NewBoardURL; | |
2 | - | |
3 | -interface | |
4 | - | |
5 | -uses | |
6 | - Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, | |
7 | - Dialogs, IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent, | |
8 | - IdTCPConnection, IdTCPClient, IdHTTP, StdCtrls, | |
9 | - BoardGroup; | |
10 | - | |
11 | -type | |
12 | - TNewBoardURLForm = class(TForm) | |
13 | - CategoryComboBox: TComboBox; | |
14 | - CategoryLabel: TLabel; | |
15 | - IdHTTP: TIdHTTP; | |
16 | - IdAntiFreeze: TIdAntiFreeze; | |
17 | - SearchButton: TButton; | |
18 | - ResultMemo: TMemo; | |
19 | - CloseButton: TButton; | |
20 | - procedure FormCreate(Sender: TObject); | |
21 | - procedure SearchButtonClick(Sender: TObject); | |
22 | - procedure IdHTTPRedirect(Sender: TObject; var dest: String; | |
23 | - var NumRedirect: Integer; var Handled: Boolean; | |
24 | - var VMethod: TIdHTTPMethod); | |
25 | - private | |
26 | - { Private é¾ } | |
27 | - function GetRedirectURL(const html: string): string; | |
28 | - procedure GetBoardURLs(urls : TStringList); | |
29 | - procedure ReplaceURLs(oldurls, newurls: TStringList); | |
30 | - public | |
31 | - { Public é¾ } | |
32 | - end; | |
33 | - | |
34 | -var | |
35 | - NewBoardURLForm: TNewBoardURLForm; | |
36 | - | |
37 | -implementation | |
38 | - | |
39 | -uses | |
40 | - GikoSystem, NewBoard, Giko, IniFiles, MojuUtils, GikoDataModule; | |
41 | -{$R *.dfm} | |
42 | -//! RXgN^ | |
43 | -procedure TNewBoardURLForm.FormCreate(Sender: TObject); | |
44 | -var | |
45 | - i : Integer; | |
46 | - ini : TMemIniFile; | |
47 | - sec : TStringList; | |
48 | -begin | |
49 | - sec := TStringList.Create; | |
50 | - ini := TMemIniFile.Create(GikoSys.GetBoardFileName); | |
51 | - ini.ReadSections(sec); | |
52 | - | |
53 | - CategoryComboBox.Clear; | |
54 | - CategoryComboBox.Items.BeginUpdate; | |
55 | - for i := 0 to sec.Count - 1 do begin | |
56 | - CategoryComboBox.Items.Add(sec[i]); | |
57 | - end; | |
58 | - CategoryComboBox.Items.EndUpdate; | |
59 | - CategoryComboBox.ItemIndex := 0; | |
60 | - | |
61 | - ResultMemo.Lines.Clear; | |
62 | -end; | |
63 | - | |
64 | -procedure TNewBoardURLForm.SearchButtonClick(Sender: TObject); | |
65 | -var | |
66 | - i : Integer; | |
67 | - value : string; | |
68 | - ResStream: TMemoryStream; | |
69 | - URLs : TStringList; | |
70 | - oldURLs : TStringList; | |
71 | - newURLs : TStringList; | |
72 | - oldURL, newURL : string; | |
73 | - TabURLs : TStringList; | |
74 | -begin | |
75 | - ResultMemo.Lines.Clear; | |
76 | - URLs := TStringList.Create; | |
77 | - Screen.Cursor := crHourGlass; | |
78 | - SearchButton.Enabled := False; | |
79 | - try | |
80 | - GetBoardURLs( URLs ); | |
81 | - if URLs.Count > 0 then begin | |
82 | - ResStream := TMemoryStream.Create; | |
83 | - oldURLs := TStringList.Create; | |
84 | - newURLs := TStringList.Create; | |
85 | - | |
86 | - try | |
87 | - TNewBoardDialog.InitHTTPClient(IdHTTP); | |
88 | - IdHTTP.Request.Referer := ''; | |
89 | - IdHTTP.Request.AcceptEncoding := 'gzip'; | |
90 | - | |
91 | - IdHTTP.Request.CacheControl := 'no-cache'; | |
92 | - IdHTTP.Request.CustomHeaders.Add('Pragma: no-cache'); | |
93 | - IdHTTP.HandleRedirects := false; | |
94 | - for i := 0 to URLs.Count - 1 do begin | |
95 | - IdAntiFreeze.Active := true; | |
96 | - try | |
97 | - ResStream.Clear; | |
98 | - IdHTTP.Get(URLs[i], ResStream); | |
99 | - value := GikoSys.GzipDecompress(ResStream, | |
100 | - IdHTTP.Response.ContentEncoding); | |
101 | - newURL := GetRedirectURL(value); | |
102 | - if (newURL = '') then begin | |
103 | - newURL := IdHTTP.Response.Location; | |
104 | - end; | |
105 | - if (newURL <> '') then begin | |
106 | - oldURL := URLs[i]; | |
107 | - ResultMemo.Lines.Add('URL:' + oldURL + ' -> ' + newURL); | |
108 | - if (newURL <> '') then begin | |
109 | - oldURLs.Add( oldURL ); | |
110 | - newURLs.Add( newURL ); | |
111 | - end; | |
112 | - end; | |
113 | - except | |
114 | - on E: Exception do begin | |
115 | - {$IFDEF DEBUG} | |
116 | - Writeln(IdHTTP.ResponseText); | |
117 | - {$ENDIF} | |
118 | - end; | |
119 | - end; | |
120 | - IdAntiFreeze.Active := false; | |
121 | - end; | |
122 | - | |
123 | - if (newURLs.Count > 0) and (oldURLs.Count > 0) then begin | |
124 | - ReplaceURLs(oldURLs, newURLs); | |
125 | - GikoForm.FavoritesURLReplace(oldURLs, newURLs); | |
126 | - GikoForm.RoundListURLReplace(oldURLs, newURLs); | |
127 | - GikoForm.TabFileURLReplace(oldURLs, newURLs); | |
128 | - ResultMemo.Lines.Add('ÂÚ]æõª®¹µÜµ½'); | |
129 | - | |
130 | - TabURLs := TStringList.Create; | |
131 | - try | |
132 | - GikoDM.GetTabURLs(TabURLs); | |
133 | - GikoForm.ReloadBBS; | |
134 | - GikoDM.OpenURLs(TabURLs); | |
135 | - finally | |
136 | - TabURLs.Free; | |
137 | - end; | |
138 | - | |
139 | - end else begin | |
140 | - ResultMemo.Lines.Add('Ú]µÄ¢éÂÍ èܹñŵ½'); | |
141 | - end; | |
142 | - finally | |
143 | - ResStream.Clear; | |
144 | - ResStream.Free; | |
145 | - newURLs.Free; | |
146 | - oldURLs.Free; | |
147 | - end; | |
148 | - end; | |
149 | - finally | |
150 | - URLs.Free; | |
151 | - SearchButton.Enabled := True; | |
152 | - Screen.Cursor := crDefault; | |
153 | - end; | |
154 | -end; | |
155 | -function TNewBoardURLForm.GetRedirectURL(const html: string): string; | |
156 | -const | |
157 | - HEADS = '<head>'; | |
158 | - HEADE = '</head>'; | |
159 | - SCRIPT = 'window.location.href="'; | |
160 | -begin | |
161 | - Result := Copy(html, 1, | |
162 | - AnsiPos(HEADE, AnsiLowerCase(html))); | |
163 | - Result := Copy(Result, | |
164 | - AnsiPos(HEADS, AnsiLowerCase(Result)), | |
165 | - Length(Result)); | |
166 | - if AnsiPos(SCRIPT, Result) > 0 then begin | |
167 | - Result := Copy(Result, AnsiPos(SCRIPT, Result) + Length(SCRIPT), | |
168 | - Length(Result)); | |
169 | - Result := Copy(Result, 1, AnsiPos('"', Result) - 1); | |
170 | - end else begin | |
171 | - Result := ''; | |
172 | - end; | |
173 | - | |
174 | -end; | |
175 | -procedure TNewBoardURLForm.GetBoardURLs(urls : TStringList); | |
176 | -var | |
177 | - ini : TMemIniFile; | |
178 | - sec : string; | |
179 | - keys : TStringList; | |
180 | - i : Integer; | |
181 | -begin | |
182 | - urls.Clear; | |
183 | - urls.BeginUpdate; | |
184 | - if CategoryComboBox.ItemIndex <> -1 then begin | |
185 | - sec := CategoryComboBox.Items[CategoryComboBox.itemIndex]; | |
186 | - keys := TStringList.Create; | |
187 | - try | |
188 | - ini := TMemIniFile.Create(GikoSys.GetBoardFileName); | |
189 | - ini.ReadSection(sec, keys); | |
190 | - for i := 0 to keys.Count - 1 do begin | |
191 | - urls.Add(ini.ReadString(sec, keys[i], '')); | |
192 | - end; | |
193 | - finally | |
194 | - keys.Free; | |
195 | - end; | |
196 | - end; | |
197 | -end; | |
198 | -procedure TNewBoardURLForm.ReplaceURLs(oldurls, newurls: TStringList); | |
199 | -var | |
200 | - txt : TStringList; | |
201 | - i : Integer; | |
202 | -begin | |
203 | - if oldurls.Count > 0 then begin | |
204 | - txt := TStringList.Create; | |
205 | - txt.LoadFromFile( GikoSys.GetBoardFileName ); | |
206 | - try | |
207 | - for i := 0 to oldurls.Count - 1 do begin | |
208 | - MojuUtils.CustomStringReplace(txt, oldurls[i], newurls[i]); | |
209 | - end; | |
210 | - txt.SaveToFile( GikoSys.GetBoardFileName ); | |
211 | - finally | |
212 | - txt.Free; | |
213 | - end; | |
214 | - end; | |
215 | -end; | |
216 | - | |
217 | -procedure TNewBoardURLForm.IdHTTPRedirect(Sender: TObject; | |
218 | - var dest: String; var NumRedirect: Integer; var Handled: Boolean; | |
219 | - var VMethod: TIdHTTPMethod); | |
220 | -begin | |
221 | - {$IFDEF DEBUG} | |
222 | - ShowMessage(dest); | |
223 | - {$ENDIF} | |
224 | -end; | |
225 | - | |
226 | -end. |
@@ -253,7 +253,7 @@ object OptionDialog: TOptionDialog | ||
253 | 253 | Top = 43 |
254 | 254 | Width = 417 |
255 | 255 | Height = 20 |
256 | - ItemHeight = 0 | |
256 | + ItemHeight = 12 | |
257 | 257 | TabOrder = 0 |
258 | 258 | Text = 'BoardURLComboBox' |
259 | 259 | end |
@@ -1208,7 +1208,7 @@ object OptionDialog: TOptionDialog | ||
1208 | 1208 | end |
1209 | 1209 | object GroupBox19: TGroupBox |
1210 | 1210 | Left = 12 |
1211 | - Top = 66 | |
1211 | + Top = 74 | |
1212 | 1212 | Width = 473 |
1213 | 1213 | Height = 49 |
1214 | 1214 | Caption = #23653#27508 |
@@ -1239,8 +1239,8 @@ object OptionDialog: TOptionDialog | ||
1239 | 1239 | end |
1240 | 1240 | end |
1241 | 1241 | object GroupBox21: TGroupBox |
1242 | - Left = 12 | |
1243 | - Top = 125 | |
1242 | + Left = 11 | |
1243 | + Top = 133 | |
1244 | 1244 | Width = 473 |
1245 | 1245 | Height = 52 |
1246 | 1246 | Caption = #26368#23567#21270#26178#12479#12473#12463#12488#12524#12452 |
@@ -1256,7 +1256,7 @@ object OptionDialog: TOptionDialog | ||
1256 | 1256 | end |
1257 | 1257 | object GroupBox22: TGroupBox |
1258 | 1258 | Left = 12 |
1259 | - Top = 184 | |
1259 | + Top = 200 | |
1260 | 1260 | Width = 473 |
1261 | 1261 | Height = 52 |
1262 | 1262 | Caption = #12502#12521#12454#12470#12479#12502 |
@@ -1270,22 +1270,6 @@ object OptionDialog: TOptionDialog | ||
1270 | 1270 | TabOrder = 0 |
1271 | 1271 | end |
1272 | 1272 | end |
1273 | - object GroupBox23: TGroupBox | |
1274 | - Left = 12 | |
1275 | - Top = 246 | |
1276 | - Width = 473 | |
1277 | - Height = 52 | |
1278 | - Caption = #12510#12454#12473#12472#12455#12473#12481#12515#12540 | |
1279 | - TabOrder = 4 | |
1280 | - object IgnoreContextCheckBox: TCheckBox | |
1281 | - Left = 11 | |
1282 | - Top = 24 | |
1283 | - Width = 294 | |
1284 | - Height = 17 | |
1285 | - Caption = #12467#12531#12486#12461#12473#12488#19978#12391#12510#12454#12473#12472#12455#12473#12481#12515#12540#12434#28961#21177#12395#12377#12427 | |
1286 | - TabOrder = 0 | |
1287 | - end | |
1288 | - end | |
1289 | 1273 | end |
1290 | 1274 | object SoundSheet: TTabSheet |
1291 | 1275 | Caption = #12469#12454#12531#12489 |
@@ -209,8 +209,6 @@ type | ||
209 | 209 | StoredTaskTrayCB: TCheckBox; |
210 | 210 | GroupBox22: TGroupBox; |
211 | 211 | LoopBrowserTabsCB: TCheckBox; |
212 | - GroupBox23: TGroupBox; | |
213 | - IgnoreContextCheckBox: TCheckBox; | |
214 | 212 | procedure FormCreate(Sender: TObject); |
215 | 213 | procedure FormDestroy(Sender: TObject); |
216 | 214 | procedure ApplyButtonClick(Sender: TObject); |
@@ -874,8 +872,6 @@ begin | ||
874 | 872 | StoredTaskTrayCB.Checked := GikoSys.Setting.StoredTaskTray; |
875 | 873 | // uEU^uÌÚ®Å[vðÂ·é© |
876 | 874 | LoopBrowserTabsCB.Checked := GikoSys.Setting.LoopBrowserTabs; |
877 | - // | |
878 | - IgnoreContextCheckBox.Checked := GikoSys.Setting.GestureIgnoreContext; | |
879 | 875 | end; |
880 | 876 | |
881 | 877 | procedure TOptionDialog.SaveSetting; |
@@ -1166,7 +1162,6 @@ begin | ||
1166 | 1162 | GikoSys.Setting.StoredTaskTray := StoredTaskTrayCB.Checked; |
1167 | 1163 | GikoSys.Setting.LoopBrowserTabs := LoopBrowserTabsCB.Checked; |
1168 | 1164 | |
1169 | - GikoSys.Setting.GestureIgnoreContext := IgnoreContextCheckBox.Checked; | |
1170 | 1165 | end; |
1171 | 1166 | |
1172 | 1167 | procedure TOptionDialog.SettingApply; |
@@ -152,21 +152,21 @@ begin | ||
152 | 152 | // oµÊuÉæéâ³ |
153 | 153 | case GikoSys.Setting.PopupPosition of |
154 | 154 | gppRightTop: OffsetRect(Result, |
155 | - Point.x - WindowWidth - 15, Point.y - WindowHeight - 15); | |
155 | + Point.x - (Result.Right - Result.Left) - 15, Point.y - (Result.Bottom - Result.Top) - 15); | |
156 | 156 | gppRight: OffsetRect(Result, |
157 | - Point.x - WindowWidth - 15, Point.y - (WindowHeight div 2)); | |
157 | + Point.x - (Result.Right - Result.Left) - 15, Point.y - ((Result.Bottom - Result.Top) div 2)); | |
158 | 158 | gppRightBottom: OffsetRect(Result, |
159 | - Point.x - WindowWidth - 15, Point.y + 15); | |
159 | + Point.x - (Result.Right - Result.Left) - 15, Point.y + 15); | |
160 | 160 | gppTop: OffsetRect(Result, |
161 | - Point.x - (WindowWidth div 2), Point.y - WindowHeight - 15); | |
161 | + Point.x - ((Result.Right - Result.Left) div 2), Point.y - (Result.Bottom - Result.Top) - 15); | |
162 | 162 | gppCenter: OffsetRect(Result, |
163 | - Point.x - (WindowWidth div 2), Point.y - (WindowHeight div 2)); | |
163 | + Point.x - ((Result.Right - Result.Left) div 2), Point.y - ((Result.Bottom - Result.Top) div 2)); | |
164 | 164 | gppBottom: OffsetRect(Result, |
165 | - Point.x - (WindowWidth div 2), Point.y + 15); | |
165 | + Point.x - ((Result.Right - Result.Left) div 2), Point.y + 15); | |
166 | 166 | gppLeftTop: OffsetRect(Result, |
167 | - Point.x + 15, Point.y - WindowHeight - 15); | |
167 | + Point.x + 15, Point.y - (Result.Bottom - Result.Top) - 15); | |
168 | 168 | gppLeft: OffsetRect(Result, |
169 | - Point.x + 15, Point.y - (WindowHeight div 2)); | |
169 | + Point.x + 15, Point.y - ((Result.Bottom - Result.Top) div 2)); | |
170 | 170 | gppLeftBottom: OffsetRect(Result, Point.x + 15, Point.y + 15); //MRirX p[gPÌ453É´Ó |
171 | 171 | end; |
172 | 172 |
@@ -398,8 +398,7 @@ type | ||
398 | 398 | FGestures : TGestureModel; |
399 | 399 | //! }EXWFX`[ðgp·é©Ç¤© |
400 | 400 | FGestureEnabled : Boolean; |
401 | - //! }EXWFX`[ðReLXgÌãųø | |
402 | - FGestureIgnoreContext : Boolean; | |
401 | + | |
403 | 402 | //tVAigbvÝè |
404 | 403 | FLocalTrapAtt : Boolean; |
405 | 404 | FRemoteTrapAtt : Boolean; |
@@ -439,8 +438,6 @@ type | ||
439 | 438 | FStoredTaskTray : Boolean; |
440 | 439 | //! ^uÌÚ®Å[vð·é |
441 | 440 | FLoopBrowserTabs : Boolean; |
442 | - //! 100X\¦Ìæª\¦X | |
443 | - FHeadResCount : Integer; | |
444 | 441 | function GetMainCoolSet(Index: Integer): TCoolSet; |
445 | 442 | function GetBoardCoolSet(Index: Integer): TCoolSet; |
446 | 443 | function GetBrowserCoolSet(Index: Integer): TCoolSet; |
@@ -756,7 +753,6 @@ type | ||
756 | 753 | property Gestures : TGestureModel read FGestures write FGestures; |
757 | 754 | //! }EXWFX`[ðgp·é©Ç¤© |
758 | 755 | property GestureEnabled : Boolean read FGestureEnabled write FGestureEnabled; |
759 | - property GestureIgnoreContext : Boolean read FGestureIgnoreContext write FGestureIgnoreContext; | |
760 | 756 | //tVAigbvÝè |
761 | 757 | property LocalTrapAtt : Boolean read FLocalTrapAtt write FLocalTrapAtt; |
762 | 758 | property RemoteTrapAtt : Boolean read FRemoteTrapAtt write FRemoteTrapAtt; |
@@ -788,8 +784,6 @@ type | ||
788 | 784 | property StoredTaskTray : Boolean read FStoredTaskTray write FStoredTaskTray; |
789 | 785 | //! uEU^uÌ[vð·é |
790 | 786 | property LoopBrowserTabs : Boolean read FLoopBrowserTabs write FLoopBrowserTabs; |
791 | - //! 100X\¦Ìæª\¦X | |
792 | - property HeadResCount : Integer read FHeadResCount write FHeadResCount; | |
793 | 787 | end; |
794 | 788 | |
795 | 789 |
@@ -1088,7 +1082,6 @@ begin | ||
1088 | 1082 | else |
1089 | 1083 | FResRange := ini.ReadInteger( 'Thread', 'ResRange', Ord( grrAll ) ); |
1090 | 1084 | FResRangeHold := ini.ReadBool( 'Thread', 'ResRangeHold', False ); |
1091 | - FHeadResCount := ini.ReadInteger('Thread', 'HeadResCount', 1); | |
1092 | 1085 | // Xbhê\¦ÍÍ |
1093 | 1086 | FThreadRange := TGikoThreadRange( ini.ReadInteger('ThreadList', 'ThreadRange', Ord( gtrAll )) ); |
1094 | 1087 | //ñANeBuX|bvAbv\¦ |
@@ -1225,7 +1218,7 @@ begin | ||
1225 | 1218 | |
1226 | 1219 | // }EXWFX`[ |
1227 | 1220 | FGestureEnabled := ini.ReadBool( 'Guesture', 'Enabled', False ); |
1228 | - FGestureIgnoreContext := ini.ReadBool( 'Guesture', 'IgnoreContext', False ); | |
1221 | + | |
1229 | 1222 | //2ch¾êT| |
1230 | 1223 | F2chSupport := ini.ReadBool('2chSupport', 'Support', False); |
1231 | 1224 |
@@ -1262,7 +1255,7 @@ begin | ||
1262 | 1255 | |
1263 | 1256 | FStoredTaskTray := ini.ReadBool('Function', 'StroedTaskTray', false); |
1264 | 1257 | FLoopBrowserTabs := ini.ReadBool('Function', 'LoopBrowserTabs', false); |
1265 | - | |
1258 | + | |
1266 | 1259 | ini.UpdateFile; |
1267 | 1260 | finally |
1268 | 1261 | ini.Free; |
@@ -1451,7 +1444,6 @@ begin | ||
1451 | 1444 | ini.DeleteKey( 'Thread', 'OnlyAHundredRes' ); // âÝèÌí |
1452 | 1445 | ini.WriteInteger('Thread', 'ResRange', FResRange); |
1453 | 1446 | ini.WriteBool('Thread', 'ResRangeHold', FResRangeHold); |
1454 | - ini.WriteInteger('Thread', 'HeadResCount', FHeadResCount); | |
1455 | 1447 | // Xbhê\¦ÍÍ |
1456 | 1448 | ini.WriteInteger('ThreadList', 'ThreadRange', Ord( FThreadRange )); |
1457 | 1449 | //OímF |
@@ -1614,7 +1606,7 @@ begin | ||
1614 | 1606 | |
1615 | 1607 | // }EXWFX`[ðgp·é©Ç¤© |
1616 | 1608 | ini.WriteBool( 'Guesture', 'Enabled', FGestureEnabled ); |
1617 | - ini.WriteBool( 'Guesture', 'IgnoreContext', FGestureIgnoreContext ); | |
1609 | + | |
1618 | 1610 | //FusianaTrap |
1619 | 1611 | ini.WriteBool('Trap', 'LocalTrap', FLocalTrapAtt); |
1620 | 1612 | ini.WriteBool('Trap', 'RemoteTrap', FRemoteTrapAtt); |
@@ -74,9 +74,7 @@ uses | ||
74 | 74 | InputAssistDataModule in 'InputAssistDataModule.pas' {InputAssistDM: TDataModule}, |
75 | 75 | DefaultFileManager in 'DefaultFileManager.pas', |
76 | 76 | MoveHistoryItem in 'MoveHistoryItem.pas', |
77 | - SambaTimer in 'SambaTimer.pas', | |
78 | - HistoryList in 'HistoryList.pas', | |
79 | - NewBoardURL in 'NewBoardURL.pas' {NewBoardURLForm}; | |
77 | + SambaTimer in 'SambaTimer.pas'; | |
80 | 78 | |
81 | 79 | {$R *.RES} |
82 | 80 | {$R gikoResource.res} |
@@ -107,13 +107,11 @@ LICENSE | ||
107 | 107 | ------------------------------ |
108 | 108 | ð |
109 | 109 | ------------------------------ |
110 | -2007/01/28 | |
110 | +2006/12/XX | |
111 | 111 | Version ÊÞÀ54 |
112 | 112 | @XbhàÅÌNÅÚ®µ½Æ«ÌððHêé@\ðÇÁ |
113 | 113 | @^XNgCÉi[·é@\ðÇÁiIvVÅŬ»àj |
114 | 114 | @Samba24ÎôŲÆÉÝèÂ\Ég£ |
115 | -@ENbNÌReLXgj [ÅÌ}EXWFX`[ÅnO·ésïÌñðIvVðÇÁ | |
116 | -@iWin9xnpj | |
117 | 115 | |
118 | 116 | 2006/08/07 |
119 | 117 | Version ÊÞÀ53 |