From 5fe36b59d1fe2e0541cf6f887b814404b7e717e9 Mon Sep 17 00:00:00 2001 From: yoffy Date: Sun, 16 Nov 2003 10:54:22 +0000 Subject: [PATCH] =?utf8?q?=E3=83=BB=E3=81=95=E3=81=BE=E3=81=96=E3=81=BE?= =?utf8?q?=E3=81=AA=E6=9A=AB=E5=AE=9A=E7=9A=84=E3=81=AA=E8=A8=98=E8=BF=B0?= =?utf8?q?=E3=81=8C=E3=81=AA=E3=81=8F=E3=81=AA=E3=81=A3=E3=81=9F=E3=81=93?= =?utf8?q?=E3=81=A8=E3=81=AB=E3=82=88=E3=82=8A=E3=80=81=E3=83=97=E3=83=A9?= =?utf8?q?=E3=82=B0=E3=82=A4=E3=83=B3=E3=82=92=E4=BD=BF=E7=94=A8=E3=81=99?= =?utf8?q?=E3=82=8B=E3=82=B9=E3=83=AC=E3=83=83=E3=83=89=E3=81=8C=E3=82=A2?= =?utf8?q?=E3=83=89=E3=83=AC=E3=82=B9=E3=83=90=E3=83=BC=E3=81=8B=E3=82=89?= =?utf8?q?=E3=81=AE=E5=85=A5=E5=8A=9B=E3=81=A7=E8=A6=8B=E3=82=89=E3=82=8C?= =?utf8?q?=E3=81=AA=E3=81=8F=E3=81=AA=E3=81=A3=E3=81=A6=E3=81=84=E3=81=9F?= =?utf8?q?=E3=81=AE=E3=81=A7=E4=BF=AE=E6=AD=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Giko.pas | 44 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/Giko.pas b/Giko.pas index 330b7cf..d8f0abc 100644 --- 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 //===== ƒvƒ‰ƒOƒCƒ“ 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 ); + // ˆÈ‰º‚â‚è•û‚ª•ª‚©‚ç‚È‚¢‚©‚ç•Û—¯ + //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; -- 2.11.0