begin
//\83^\83u\83N\83\8d\81[\83Y
NotSelectTabCloseAction.Execute;
- if BrowserTab.Tabs.Count >= 1 then
- for i := BrowserTab.Tabs.Count - 1 downto 0 do
- DeleteTab(TBrowserRecord(BrowserTab.Tabs.Objects[i]));
+ //if BrowserTab.Tabs.Count >= 1 then
+ // for i := BrowserTab.Tabs.Count - 1 downto 0 do
+ // DeleteTab(TBrowserRecord(BrowserTab.Tabs.Objects[i]));
+ BrowserTabCloseAction.Execute;
//TreeView\83N\83\8a\83A\81iBBS2ch.Free\82Ì\8cã\82É\83N\83\8a\83A\82·\82é\82ÆXP\83X\83^\83C\83\8b\8e\9e\82É\83G\83\89\81[\8fo\82é\81j
TreeView.Items.Clear;
for i := 0 to BrowserTab.Tabs.Count - 1 do begin
if TObject(BrowserTab.Tabs.Objects[i]) is TBrowserRecord then begin
if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread = ThreadItem then begin
+ if TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser = nil then begin
+ for j := BrowserTab.Tabs.Count - 1 downto 0 do begin
+ if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[4]) then begin
+ TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser := nil;
+ break;
+ end;
+ end;
+ TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser := TWebBrowser(FBrowsers[4]);
+ FBrowsers.Move(4, 0);
+ end;
if ActiveTab then begin
BrowserTab.TabIndex := i;
BrowserTab.OnChange(nil);
end;
if GikoSys.Setting.BrowserTabAppend = gtaFirst then begin
- //BrowserTab.Tabs.Insert(0, GikoSys.GetShortName(ThreadItem.Title, 20));
newBrowser := TBrowserRecord.Create;
for j := BrowserTab.Tabs.Count - 1 downto 0 do begin
- if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[4]) then
+ if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[4]) then begin
TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser := nil;
+ break;
+ end;
end;
newBrowser.Browser := TWebBrowser(FBrowsers[4]);
FBrowsers.Move(4, 0);
newBrowser.thread := ThreadItem;
newBrowser.Repaint := true;
newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes;
- newBrowser.Browser.Navigate( 'about:blank' );
+ newBrowser.Browser.Navigate(BLANK_HTML);
BrowserTab.Tabs.InsertObject(0, GikoSys.GetShortName(ThreadItem.Title, 20), newBrowser);
- //BrowserTab.Tabs.Objects[0] := newBrowser;
if ActiveTab then begin
BrowserTab.TabIndex := 0;
end;
end else begin
- //i := BrowserTab.Tabs.Add(GikoSys.GetShortName(ThreadItem.Title, 20));
- //Inc(FNewBrowserCount);
newBrowser := TBrowserRecord.Create;
for j := BrowserTab.Tabs.Count - 1 downto 0 do begin
- if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[4]) then
+ if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[4]) then begin
TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser := nil;
+ break;
+ end;
end;
newBrowser.Browser := TWebBrowser(FBrowsers[4]);
FBrowsers.Move(4, 0);
newBrowser.thread := ThreadItem;
newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes;
newBrowser.Repaint := true;
- newBrowser.Browser.Navigate( 'about:blank' );
+ newBrowser.Browser.Navigate(BLANK_HTML);
i := BrowserTab.Tabs.AddObject(GikoSys.GetShortName(ThreadItem.Title, 20), newBrowser);
- //BrowserTab.Tabs.Objects[i] := newBrowser;
if ActiveTab then begin
BrowserTab.TabIndex := i;
end;
doc: Variant;
s: string;
// OldCursor: TCursor;
- //i: Integer;
- ThreadItem : TThreadItem;
- Thread : TBrowserRecord;
+ i: Integer;
begin
- if inThread = nil then
- begin
- //Thread := TBrowserRecord.Create;
- //Thread.Browser := Browser;
- //Thread.Thread := nil;
- Exit;
- end else begin
- Thread := inThread;
- end;
-
if (FActiveContent <> nil) and
- (FActiveContent.Thread <> Thread.Thread) and
+ (FActiveContent.Thread <> inThread.Thread) and
(Assigned(FActiveContent.Browser.Document)) then begin
try
try
Sleep(1);
//Application.ProcessMessages;
FActiveContent.Thread.ScrollTop := OleVariant(IHTMLDocument2(FActiveContent.Browser.Document).Body).ScrollTop;
- if FActiveContent.Browser <> BrowserNullTab.Browser then
- TOleControl(FActiveContent.Browser).Visible := false;
+ //if FActiveContent.Browser <> BrowserNullTab.Browser then
+ // TOleControl(FActiveContent.Browser).Visible := false;
except
on E: Exception do
MsgBox(Handle, E.Message, 'SetContent[<-ScrollTop]', 0);
finally
end;
end;
+ if inThread = nil then
+ Exit
+ else if inThread.Browser = nil then begin
+ for i := BrowserTab.Tabs.Count - 1 downto 0 do begin
+ if TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser = TWebBrowser(FBrowsers[4]) then begin
+ TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser := nil;
+ break;
+ end;
+ end;
+ inThread.Browser := TWebBrowser(FBrowsers[4]);
+ FBrowsers.Move(4, 0);
+ end;
+
- while (Thread.Browser.ReadyState <> READYSTATE_COMPLETE) and
- (Thread.Browser.ReadyState <> READYSTATE_INTERACTIVE) do begin
+ while (inThread.Browser.ReadyState <> READYSTATE_COMPLETE) and
+ (inThread.Browser.ReadyState <> READYSTATE_INTERACTIVE) do begin
Application.ProcessMessages;
end;
- ThreadItem := Thread.Thread;
-
- if Thread.Thread = nil then begin
- Thread.Browser.Navigate(BLANK_HTML);
+ if inThread.Thread = nil then begin
+ inThread.Browser.Navigate(BLANK_HTML);
BrowserBoardNameLabel.Caption := '';
ItemBoardImage.Picture := nil;
BrowserNameLabel.Caption := '';
ItemImage.Picture := nil;
BrowserNullTab.Thread := nil;
TOleControl(BrowserNullTab.Browser).Visible := true;
+ TOleControl(BrowserNullTab.Browser).BringToFront;
FActiveContent := nil;
Exit;
end;
- BBSID := ThreadItem.ParentBoard.BBSID;
- FileName := ThreadItem.FileName;
+ BBSID := inThread.FThread.ParentBoard.BBSID;
+ FileName := inThread.FThread.FileName;
if GetCapture = ListView.Handle then
ReleaseCapture;
Screen.Cursor := crHourGlass;
try
- ToleControl(Thread.FBrowser).Visible := true;
- if ThreadItem.UnRead then begin
- ThreadItem.ParentBoard.UnRead := ThreadItem.ParentBoard.UnRead - 1;
- if ThreadItem.ParentBoard.UnRead < 0 then ThreadItem.ParentBoard.UnRead := 0;
+ if (FActiveContent <> nil) and (FActiveContent.FBrowser <> nil) then
+ TOleControl(FActiveContent.FBrowser).BringToFront;
+ if inThread.FThread.UnRead then begin
+ inThread.FThread.ParentBoard.UnRead := inThread.FThread.ParentBoard.UnRead - 1;
+ if inThread.FThread.ParentBoard.UnRead < 0 then inThread.FThread.ParentBoard.UnRead := 0;
TreeView.Refresh;
end;
- if not ThreadItem.IsLogFile then begin
+ LockWindowUpdate(Self.Handle);
+ TOleControl(inThread.FBrowser).Visible := true; //\82±\82±\82Å\95\\8e¦\82µ\82Ä\82¨\82©\82È\82¢\82Æ\95`\89æ\82Å\8e~\82Ü\82é
+ TOleControl(inThread.FBrowser).BringToFront;
+ if not inThread.FThread.IsLogFile then begin
- if (not Assigned(Thread.Browser.Document)) then begin
- Thread.Browser.Navigate('about:blank');
+ if (not Assigned(inThread.Browser.Document)) then begin
+ inThread.Browser.Navigate('about:blank');
//while (not Assigned(Thread.Browser.Document)) do begin
// Application.ProcessMessages;
//end;
end;
try
s := '<HTML><BODY><CENTER>\82±\82Ì\83X\83\8c\83b\83h\82Í\8eæ\93¾\82µ\82Ä\82¢\82Ü\82¹\82ñ</CENTER></BODY></HTML>';
- doc := Idispatch( olevariant(Thread.Browser.ControlInterface).Document) as IHTMLDocument2;
+ doc := Idispatch( olevariant(inThread.Browser.ControlInterface).Document) as IHTMLDocument2;
doc.open;
doc.charset := 'Shift_JIS';
doc.Write(s);
end else begin
//Thread.Repaint\82Í\81A\83X\83L\83\93\93\99\82Ì\90Ý\92è\82ð\95Ï\8dX\82µ\82½\82Æ\82«\81AThread\82ð\83_\83E\83\93\83\8d\81[\83h\82µ\82½\82Æ\82«
//\90V\8bK\82ÉThread\82ð\8aJ\82¢\82½\82Æ\82«\82É\90^\82É\82È\82Á\82Ä\82¢\82é\81B
- if(Thread.Repaint) or (Thread.OnlyHundred <> GikoSys.OnlyAHundredRes)then begin
+ if(inThread.Repaint) or (inThread.OnlyHundred <> GikoSys.OnlyAHundredRes)then begin
//Thread.LastSize := ThreadItem.Size;
- Thread.Repaint := false;
+ inThread.Repaint := false;
try
- Application.ProcessMessages;
- doc := Idispatch( olevariant(Thread.Browser.ControlInterface).Document) as IHTMLDocument2;
- GikoSys.CreateHTML2(doc, ThreadItem, sTitle);
- Thread.OnlyHundred := GikoSys.OnlyAHundredRes;
+ doc := Idispatch( olevariant(inThread.Browser.ControlInterface).Document) as IHTMLDocument2;
+ GikoSys.CreateHTML2(doc, inThread.FThread, sTitle);
+ inThread.OnlyHundred := GikoSys.OnlyAHundredRes;
Application.ProcessMessages;
//\82±\82±\82ÅApplication.ProcessMessages\82ð\8cÄ\82Ô\82±\82Æ\82É\82æ\82Á\82ÄWebBrowser\82ð\8dX\90V\82³\82¹\82é\81B
//\91\8a\82µ\82È\82¢\82Æ\88ê\89æ\96Ê\95ª\82µ\82©\95`\89æ\82Å\82«\82Ä\82È\82¢\82Ì\82Å\82»\82ê\88È\8fã\82Ì\83X\83N\83\8d\81[\83\8b\97Ê\82ð\8ew\92è\82µ\82Ä\82à\96³\8cø\82É\82È\82é
//\81@by\82à\82¶\82ã(2004/01/20)
- if ThreadItem.UnRead then
- BrowserMovement('new', Thread)
- else if ThreadItem.ScrollTop <> 0 then begin
+ if inThread.FThread.UnRead then
+ BrowserMovement('new', inThread)
+ else if inThread.FThread.ScrollTop <> 0 then begin
try
- doc.Body.ScrollTop := ThreadItem.ScrollTop;
+ doc.Body.ScrollTop := inThread.FThread.ScrollTop;
except
on E: Exception do
MsgBox(Handle, E.Message, 'SetContent[ScrollTop<-]', 0);
// Application.ProcessMessages;
end;
end;
- ThreadItem.UnRead := False;
+ inThread.FThread.UnRead := False;
ListView.Refresh;
end;
- if not TOleControl(Thread.Browser).Visible then begin
- LockWindowUpdate(Thread.Browser.Handle);
- TOleControl(Thread.Browser).Visible := true;
- if(FActiveContent <> nil) and (FActiveContent <> Thread) then begin
- if (FActiveContent.Browser <> BrowserNullTab.Browser) and
- (TOleControl(FActiveContent.Browser).Visible) then
- TOleControl(FActiveContent.Browser).Visible := false;
- end;
- LockWindowUpdate(0);
- end else if(FActiveContent <> nil) and (FActiveContent <> Thread) then begin
+ LockWindowUpdate(0);
+ if(FActiveContent <> nil) and (FActiveContent <> inThread) then begin
if (FActiveContent.Browser <> BrowserNullTab.Browser) and
- (TOleControl(FActiveContent.Browser).Visible) then
- TOleControl(FActiveContent.Browser).Visible := false;
+ (TOleControl(FActiveContent.Browser).Visible) then
+ TOleControl(FActiveContent.Browser).Visible := false;
end;
+ FActiveContent := inThread;
- FActiveContent := Thread;
-
- BrowserBoardNameLabel.Caption := ThreadItem.ParentBoard.Title;
+ BrowserBoardNameLabel.Caption := inThread.FThread.ParentBoard.Title;
ItemIcon16.GetBitmap(4, ItemBoardImage.Picture.Bitmap);
- BrowserNameLabel.Caption := ThreadItem.Title;
+ BrowserNameLabel.Caption := inThread.FThread.Title;
ItemImage.Picture := nil;
- if ThreadItem.IsLogFile then
- if ThreadItem.NewArrival then
+ if inThread.FThread.IsLogFile then
+ if inThread.FThread.NewArrival then
ItemImageList.GetBitmap(2, ItemImage.Picture.Bitmap)
else
ItemImageList.GetBitmap(0, ItemImage.Picture.Bitmap)
BrowserTab.OnChange := nil;
BrowserTab.Tabs.BeginUpdate;
for i := BrowserTab.Tabs.Count - 1 downto 0 do begin
+ if TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser <> nil then
+ TOleControl(TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser).Visible := false;
TBrowserRecord(BrowserTab.Tabs.Objects[i]).Free;
end;
BrowserTab.Tabs.Clear;