| 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; |
| 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 |
| 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 |
| 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 |
| 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; |
| 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; |
| 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); |
| 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; |
| 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; |
| 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 |
| 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; |
| 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 |
| 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 |