Develop and Download Open Source Software

Browse CVS Repository

Diff of /gikonavigoeson/gikonavi/Giko.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.527.2.8 by h677, Sat Nov 5 17:14:21 2005 UTC revision 1.527.2.9 by h677, Mon Nov 7 15:13:17 2005 UTC
# Line 973  type Line 973  type
973                  procedure ListClick;                  procedure ListClick;
974                  procedure ListDoubleClick(Shift: TShiftState);                  procedure ListDoubleClick(Shift: TShiftState);
975                  procedure BrowserMovement(const AName: string); overload;                  procedure BrowserMovement(const AName: string); overload;
976                  procedure BrowserMovement(const AName: string; BrowserRecord: TBrowserRecord); overload;                  function  BrowserMovement(const AName: string; BrowserRecord: TBrowserRecord): boolean; overload;
977                  procedure SelectListItem(List: TList);                  procedure SelectListItem(List: TList);
978                  procedure DeleteTab(ThreadItem: TThreadItem); overload;                  procedure DeleteTab(ThreadItem: TThreadItem); overload;
979                  procedure DeleteTab(BrowserRecord: TBrowserRecord); overload;                  procedure DeleteTab(BrowserRecord: TBrowserRecord); overload;
# Line 3756  begin Line 3756  begin
3756                          if TObject(BrowserTab.Tabs.Objects[i]) is TBrowserRecord then begin                          if TObject(BrowserTab.Tabs.Objects[i]) is TBrowserRecord then begin
3757                                  if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread = ThreadItem then begin                                  if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread = ThreadItem then begin
3758                                          Result := TBrowserRecord( BrowserTab.Tabs.Objects[i] );                                          Result := TBrowserRecord( BrowserTab.Tabs.Objects[i] );
3759                                            Result.Repaint := true;
3760                                            Result.Movement := Movement;
3761                                          if TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser = nil then begin                                          if TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser = nil then begin
3762                                                  for j := BrowserTab.Tabs.Count - 1 downto 0 do begin                                                  for j := BrowserTab.Tabs.Count - 1 downto 0 do begin
3763                                                          if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1]) then begin                                                          if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1]) then begin
# Line 3764  begin Line 3766  begin
3766                                                          end;                                                          end;
3767                                                  end;                                                  end;
3768                                                  TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser := TWebBrowser(FBrowsers[BROWSER_COUNT - 1]);                                                  TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser := TWebBrowser(FBrowsers[BROWSER_COUNT - 1]);
                                                 TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true;  
3769                                                  FBrowsers.Move(BROWSER_COUNT - 1, 0);                                                  FBrowsers.Move(BROWSER_COUNT - 1, 0);
3770                                          end;                                          end;
3771                                          if ActiveTab then begin                                          if ActiveTab then begin
# Line 3971  begin Line 3972  begin
3972    
3973                          end else begin                          end else begin
3974                                  ShowWindow(Thread.FBrowser.Handle, SW_SHOW);                                  ShowWindow(Thread.FBrowser.Handle, SW_SHOW);
3975                                    if Thread.Movement <> '' then
3976                                            if BrowserMovement(Thread.Movement, Thread) then
3977                                                    Thread.Movement := '';
3978                          end;                          end;
3979                  end;                  end;
3980                  if (Thread <> nil) and (ThreadItem <>nil) then begin                  if (Thread <> nil) and (ThreadItem <>nil) then begin
# Line 4766  begin Line 4770  begin
4770                  end;                  end;
4771          end;          end;
4772  end;  end;
4773  procedure TGikoForm.BrowserMovement(const AName: string; BrowserRecord: TBrowserRecord);  function TGikoForm.BrowserMovement(const AName: string; BrowserRecord: TBrowserRecord): boolean;
4774  var  var
4775          top: Integer;          top: Integer;
4776          nm: OleVariant;          nm: OleVariant;
# Line 4780  begin Line 4784  begin
4784                  Sleep(1);                  Sleep(1);
4785                  Application.ProcessMessages;                  Application.ProcessMessages;
4786          end;          end;
4787            Result := true;
4788          // Access Violation が起きる事があるので今後要チェック          // Access Violation が起きる事があるので今後要チェック
4789          if(BrowserRecord <> nil) and (BrowserRecord.FBrowser <> nil) then begin          if(BrowserRecord <> nil) and (BrowserRecord.FBrowser <> nil) then begin
4790                  activeBrower := BrowserRecord.FBrowser;                  activeBrower := BrowserRecord.FBrowser;
# Line 4795  begin Line 4799  begin
4799                          until AnsiCompareText(item.tagName, 'body' ) = 0;                          until AnsiCompareText(item.tagName, 'body' ) = 0;
4800                          OleVariant(activeBrower.Document as IHTMLDocument2).body.scrollTop := top;                          OleVariant(activeBrower.Document as IHTMLDocument2).body.scrollTop := top;
4801                  except                  except
4802                            Result := false;
4803                  end;                  end;
4804          end;          end;
4805    
4806  end;  end;
4807    
4808  procedure TGikoForm.BrowserMovement(const AName: string);  procedure TGikoForm.BrowserMovement(const AName: string);
# Line 6541  begin Line 6547  begin
6547                          for i := BrowserTab.Tabs.Count - 1 downto 0 do begin                          for i := BrowserTab.Tabs.Count - 1 downto 0 do begin
6548                                  if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser = TWebBrowser(Sender) then begin                                  if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser = TWebBrowser(Sender) then begin
6549                                                  BrowserRecord := TBrowserRecord(BrowserTab.Tabs.Objects[i]);                                                  BrowserRecord := TBrowserRecord(BrowserTab.Tabs.Objects[i]);
6550                                                  if BrowserRecord.Thread.ShortTitle <> '' then                                                  if BrowserTab.Tabs.Strings[i] = '' then
                                                         BrowserTab.Tabs.Strings[i] := BrowserRecord.Thread.ShortTitle  
                                                 else  
6551                                                          BrowserTab.Tabs.Strings[i] := GikoSys.GetShortName(BrowserRecord.Thread.Title, 20);                                                          BrowserTab.Tabs.Strings[i] := GikoSys.GetShortName(BrowserRecord.Thread.Title, 20);
6552                                                  break;                                                  break;
6553                                  end;                                  end;
# Line 6563  begin Line 6567  begin
6567                                          TreeView.Refresh;                                          TreeView.Refresh;
6568                                          ListView.Refresh;                                          ListView.Refresh;
6569                                          if Length(BrowserRecord.Movement) > 0 then begin                                          if Length(BrowserRecord.Movement) > 0 then begin
6570                                                  BrowserMovement( BrowserRecord.Movement, BrowserRecord );                                                  if BrowserMovement( BrowserRecord.Movement, BrowserRecord ) then
6571                                                  BrowserRecord.Movement := '';                                                          BrowserRecord.Movement := '';
6572                                          end else begin                                          end else begin
6573                                                  BrowserMovement( 'new', BrowserRecord );                                                  BrowserMovement( 'new', BrowserRecord );
6574                                          end;                                          end;
6575                                  end else                                  end else
6576                                  if Length(BrowserRecord.Movement) > 0 then begin                                  if Length(BrowserRecord.Movement) > 0 then begin
6577                                          BrowserMovement( BrowserRecord.Movement, BrowserRecord );                                          if BrowserMovement( BrowserRecord.Movement, BrowserRecord ) then
6578                                          BrowserRecord.Movement := '';                                                  BrowserRecord.Movement := '';
6579                                  end else if BrowserRecord.Thread.ScrollTop <> 0 then begin                                  end else if BrowserRecord.Thread.ScrollTop <> 0 then begin
6580                                          try                                          try
6581                                                  doc := Idispatch( olevariant(BrowserRecord.Browser.ControlInterface).Document) as IHTMLDocument2;                                                  doc := Idispatch( olevariant(BrowserRecord.Browser.ControlInterface).Document) as IHTMLDocument2;
# Line 7503  begin Line 7507  begin
7507                                                                                  ListView.Items.Count := ListView.Items.Count + 1;                                                                                  ListView.Items.Count := ListView.Items.Count + 1;
7508                                                                  end;                                                                  end;
7509                                                                  GikoSys.GetPopupResNumber( inURL, stRes, edRes );                                                                  GikoSys.GetPopupResNumber( inURL, stRes, edRes );
                                                                 //browserRec := InsertBrowserTab( ThreadItem );  
                                                                 //if (browserRec <> nil) and (stRes > 0) then  
                                                                 //      browserRec.Movement := IntToStr( stRes );  
7510                                                                  if (stRes > 0) then                                                                  if (stRes > 0) then
7511                                                                          browserRec := InsertBrowserTab( ThreadItem, IntToStr( stRes ))                                                                          browserRec := InsertBrowserTab( ThreadItem, IntToStr( stRes ))
7512                                                                  else                                                                  else
# Line 7520  begin Line 7521  begin
7521                                                                  else                                                                  else
7522                                                                          browserRec := InsertBrowserTab( ThreadItem );                                                                          browserRec := InsertBrowserTab( ThreadItem );
7523                                                                  if (not ThreadItem.IsLogFile) or                                                                  if (not ThreadItem.IsLogFile) or
7524                                                                          (ThreadItem.AllResCount < stRes) then                                                                          (ThreadItem.Count < stRes) then
7525                                                                  DownloadContent( ThreadItem );                                                                  DownloadContent( ThreadItem );
                                                                 {browserRec := InsertBrowserTab( ThreadItem );  
                                                                 if ThreadItem.IsLogFile then begin  
                                                                         if (browserRec <> nil) and (stRes > 0) then  
                                                                                 BrowserMovement( IntToStr( stRes ), browserRec );  
                                                                 end else begin  
                                                                         if (browserRec <> nil) and (stRes > 0) then  
                                                                                 browserRec.Movement := IntToStr( stRes );  
                                                                         DownloadContent( ThreadItem );  
                                                                 end;  
                                                                 }  
7526                                                                  Exit;                                                                  Exit;
7527                                                          end;                                                          end;
7528                                                  end;                                                  end;
# Line 7616  begin Line 7607  begin
7607                                          ListView.Items.Count := ListView.Items.Count + 1;                                          ListView.Items.Count := ListView.Items.Count + 1;
7608                          end;                          end;
7609                          GikoSys.GetPopupResNumber( inURL, stRes, edRes );                          GikoSys.GetPopupResNumber( inURL, stRes, edRes );
                         //browserRec := InsertBrowserTab(ThreadItem);  
                         //if (browserRec <> nil) and (stRes > 0) then  
                         //      browserRec.Movement := IntToStr( stRes );  
7610                          if (stRes > 0) then                          if (stRes > 0) then
7611                                  browserRec := InsertBrowserTab(ThreadItem, IntToStr( stRes ))                                  browserRec := InsertBrowserTab(ThreadItem, IntToStr( stRes ))
7612                          else                          else
# Line 7629  begin Line 7617  begin
7617                  end else begin                  end else begin
7618                          if ThreadItem.IsLogFile then begin                          if ThreadItem.IsLogFile then begin
7619                                  GikoSys.GetPopupResNumber( inURL, stRes, edRes );                                  GikoSys.GetPopupResNumber( inURL, stRes, edRes );
                                 //browserRec := InsertBrowserTab(ThreadItem);  
                                 //if (browserRec <> nil) and (stRes > 0) then  
                                 //      browserRec.Movement := IntToStr( stRes );  
7620                                  if (stRes > 0) then                                  if (stRes > 0) then
7621                                          browserRec := InsertBrowserTab(ThreadItem, IntToStr( stRes ))                                          browserRec := InsertBrowserTab(ThreadItem, IntToStr( stRes ))
7622                                  else                                  else
7623                                          browserRec := InsertBrowserTab(ThreadItem);                                          browserRec := InsertBrowserTab(ThreadItem);
7624    
7625                                  if (stRes > ThreadItem.AllResCount) then                                  if (stRes > ThreadItem.Count) then
7626                                          DownloadContent(ThreadItem);                                          DownloadContent(ThreadItem);
7627                          end else begin                          end else begin
7628                                  if AnsiPos(Host, Board.URL) = 0 then                                  if AnsiPos(Host, Board.URL) = 0 then

Legend:
Removed from v.1.527.2.8  
changed lines
  Added in v.1.527.2.9

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26