OSDN Git Service

・さまざまな暫定的な記述がなくなったことにより、プラグインを使用するスレッドがアドレスバーからの入力で見られなくなっていたので修正。
authoryoffy <yoffy>
Sun, 16 Nov 2003 10:54:22 +0000 (10:54 +0000)
committeryoffy <yoffy>
Sun, 16 Nov 2003 10:54:22 +0000 (10:54 +0000)
Giko.pas

index 330b7cf..d8f0abc 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -5908,21 +5908,47 @@ var
        BBSKey: string;
        Board: TBoard;
        ThreadItem: TThreadItem;
-       i, bound : Integer;
+       i, j, bi, bj : Integer;
+       boardURL : string;
+       tmpThread : TThreadItem;
 begin
 
        //===== \83v\83\89\83O\83C\83\93
        try
-               bound := High( BoardPlugIns );
-               for i := Low( BoardPlugIns ) to bound do begin
+               bi := High( BoardPlugIns );
+               for i := Low( BoardPlugIns ) to bi do begin
                        if Assigned( Pointer( BoardPlugIns[ i ].Module ) ) then begin
                                if BoardPlugIns[ i ].AcceptURL( URL ) then begin
-                                       ThreadItem := TThreadItem.Create( BoardPlugIns[ i ], URL );
-                                       Board := TBoard.Create;
-                                       Board.Insert( 0, ThreadItem );
-                                       InsertBrowserTab( ThreadItem );
-                                       if not ThreadItem.IsLogFile then
-                                               DownloadContent( ThreadItem );
+                                       tmpThread               := TThreadItem.Create( BoardPlugIns[ i ], URL );
+                                       boardURL                := tmpThread.BoardPlugIn.GetBoardURL( DWORD( tmpThread ) );
+                                       Board                           := BBS2ch.FindBoardFromURL( boardURL );
+                                       if Board = nil then begin
+                                               Board := TBoard.Create( tmpThread.BoardPlugIn, boardURL );
+                                               // \88È\89º\82â\82è\95û\82ª\95ª\82©\82ç\82È\82¢\82©\82ç\95Û\97¯
+                                               //Category.Add( Board );
+                                               //BBS2ch.Add( Category );
+                                       end else begin
+                                               if not Board.IsThreadDatRead then
+                                                       GikoSys.ReadSubjectFile( Board );
+                                       end;
+
+                                       ThreadItem := Board.Find( tmpThread.FileName );
+                                       if ThreadItem = nil then begin
+                                               ThreadItem := tmpThread;
+                                               Board.Insert( 0, ThreadItem );
+                                               if ActiveList is TBoard then begin
+                                                       if TBoard(ActiveList) = Board then
+                                                               ListView.Items.Count := ListView.Items.Count + 1;
+                                                       InsertBrowserTab(ThreadItem);
+                                                       DownloadContent(ThreadItem);
+                                               end;
+                                       end else begin
+                                               tmpThread.Free;
+                                               InsertBrowserTab( ThreadItem );
+                                               if not ThreadItem.IsLogFile then
+                                                       DownloadContent( ThreadItem );
+                                       end;
+
 
                                        Exit;
                                end;