browserRec := InsertBrowserTab(Item.ThreadItem, True)
else
browserRec := InsertBrowserTab(Item.ThreadItem, False);
- if browserRec.Thread = BrowserNullTab.Thread then begin
- browserRec.Movement := BrowserNullTab.Movement;
- BrowserNullTab.Movement := '';
- end;
end else begin
if (GetActiveContent = Item.ThreadItem) or (FActiveContent = nil) or(FActiveContent.Browser = BrowserNullTab.Browser) then
InsertBrowserTab(Item.ThreadItem);
end;
- Application.ProcessMessages;
+ Application.ProcessMessages;
if Item.State = gdsComplete then begin
PlaySound('New');
newBrowser.thread := ThreadItem;
// newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes;
newBrowser.Repaint := true;
-
i := BrowserTab.Tabs.AddObject(GikoSys.GetShortName(ThreadItem.Title, 20), newBrowser);
if (not GikoSys.Setting.BrowserTabVisible) and (BrowserTab.Tabs.Count > 1) then begin
DeleteTab( TBrowserRecord( BrowserTab.Tabs.Objects[ 0 ] ) );
Thread.Repaint := false;
Thread.Browser.OnStatusTextChange := nil;
- //doc := Idispatch( olevariant(Thread.Browser.ControlInterface).Document) as IHTMLDocument2;
+
//GikoSys.CreateHTML2(doc, ThreadItem, sTitle);
HTMLCreater.CreateHTML2(olevariant(Thread.Browser.ControlInterface).Document, ThreadItem, sTitle);
- Thread.Browser.OnStatusTextChange := BrowserStatusTextChange;
-
+ doc := Idispatch( olevariant(Thread.Browser.ControlInterface).Document) as IHTMLDocument2;
+ //\83\8d\81[\83h\82ª\8a®\97¹\82·\82é\82Ü\82Å\91Ò\82Â
+ while (doc.readyState) <> 'complete' do begin
+ Application.ProcessMessages;
+ end;
if ThreadItem = nil then begin
FActiveContent := nil;
BrowserTab.Repaint;
Exit;
end;
+ /////////////////////////////////////////////////
+ //DocumentComplete\82©\82ç\8e\9d\82Á\82Ä\82«\82½\81B
+ if Length(Thread.Movement) > 0 then begin
+ if ThreadItem.UnRead then begin
+ ThreadItem.UnRead := False;
+ ThreadItem.ParentBoard.UnRead := ThreadItem.ParentBoard.UnRead - 1;
+ if ThreadItem.ParentBoard.UnRead < 0 then threadItem.ParentBoard.UnRead := 0;
+ TreeView.Refresh;
+ ListView.Refresh;
+ end;
+ BrowserMovement( Thread.Movement, Thread );
+ Thread.Movement := '';
+ end else
+ if ThreadItem.UnRead then begin
+ ThreadItem.UnRead := False;
+ ThreadItem.ParentBoard.UnRead := ThreadItem.ParentBoard.UnRead - 1;
+ if ThreadItem.ParentBoard.UnRead < 0 then ThreadItem.ParentBoard.UnRead := 0;
+ TreeView.Refresh;
+ BrowserMovement( 'new', Thread );
+ ListView.Refresh;
+ end else if ThreadItem.ScrollTop <> 0 then begin
+ try
+ doc.Body.ScrollTop := ThreadItem.ScrollTop;
+ except
+ on E: Exception do
+ MsgBox(Handle, E.Message, 'SetContent[ScrollTop<-]', 0);
+ end;
+ end;
+ /////////////////////////////////////////////////
+ Thread.Browser.OnStatusTextChange := BrowserStatusTextChange;
+
end;
end;
if (Thread <> nil) and (ThreadItem <>nil) then begin
procedure TGikoForm.BrowserMovement(const AName: string; BrowserRecord: TBrowserRecord);
var
top: Integer;
- item: OleVariant;
nm: OleVariant;
activeBrower :TWebBrowser;
+ item : OleVariant;
+ link : IHTMLElement;
begin
//
- while (BrowserRecord.Browser.ReadyState <> READYSTATE_COMPLETE) and
+ while (BrowserRecord.Browser.ReadyState <> READYSTATE_COMPLETE) and
(BrowserRecord.Browser.ReadyState <> READYSTATE_INTERACTIVE) do begin
Sleep(1);
Application.ProcessMessages;
doc : Variant;
threadItem : TThreadItem;
begin
-// AddMessageList('DocumentComplete', nil, gmiWhat);
if TObject(Sender) is TWebBrowser then begin
BrowserRecord := nil;
if TWebBrowser(Sender) <> Browser then begin
FEvent.OnContextMenu := OnDocumentContextMenu;
FEvent.OnClick := WebBrowserClick; //\92Ç\89Á\82µ\82½OnClick\83C\83x\83\93\83g
end;
-
- end;
-
- if (BrowserRecord <> nil) and
- Assigned( BrowserRecord.Thread ) then begin
- threadItem := BrowserRecord.Thread;
- if (BrowserRecord <> nil) and (Length( BrowserRecord.Movement ) > 0) then begin
- if threadItem.UnRead then begin
- threadItem.UnRead := False;
- threadItem.ParentBoard.UnRead := ThreadItem.ParentBoard.UnRead - 1;
- if threadItem.ParentBoard.UnRead < 0 then threadItem.ParentBoard.UnRead := 0;
- TreeView.Refresh;
- ListView.Refresh;
- end;
- BrowserMovement( BrowserRecord.Movement, BrowserRecord );
- BrowserRecord.Movement := '';
- end else if threadItem.UnRead then begin
- threadItem.UnRead := False;
- threadItem.ParentBoard.UnRead := ThreadItem.ParentBoard.UnRead - 1;
- if threadItem.ParentBoard.UnRead < 0 then threadItem.ParentBoard.UnRead := 0;
- TreeView.Refresh;
- BrowserMovement( 'new', BrowserRecord );
- ListView.Refresh;
- end else if threadItem.ScrollTop <> 0 then begin
- try
- doc := Idispatch( OleVariant( BrowserRecord.Browser.ControlInterface ).Document ) as IHTMLDocument2;
- doc.Body.ScrollTop := threadItem.ScrollTop;
- except
- on E: Exception do
- MsgBox(Handle, E.Message, 'SetContent[ScrollTop<-]', 0);
- end;
- end;
end;
end;
end;