procedure TreeSelectNameCopyExecute(Sender: TObject);
procedure FavoriteTreeViewMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
- procedure ThreadPanelResize(Sender: TObject);
procedure OnlyAHundredResUpdate(Sender: TObject);
procedure test1Click(Sender: TObject);
private
FBrowserSizeWidth: Integer;
// FFavorite: TFavorite;
- FBrowserComplete: Boolean;
FTabHintIndex: Integer;
FListStyle: TViewStyle; //\83\8a\83X\83g\83A\83C\83R\83\93\83X\83^\83C\83\8b
FItemNoVisible: Boolean; //\83\8a\83X\83g\94Ô\8d\86\95\\8e¦\83t\83\89\83O
FOldFormWidth : Integer; // \92¼\91O\82Ì\83E\83B\83\93\83h\83E\82Ì\95\9d
FToolBarSettingSender : TToolBarSettingSenderType; // \83c\81[\83\8b\83o\81[\90Ý\92è\82ð\83N\83\8a\83b\83N\82µ\82½\83N\81[\83\8b\83o\81[
FMouseDownPos : TPoint; // \83u\83\89\83E\83U\83^\83u\82Å\83}\83E\83X\82ð\89\9f\82µ\82½\82Æ\82«\82Ì\8dÀ\95W
- FNewBrowserCount: Integer;
FBrowsers: TList;
procedure SetBoardTreeNode( inBBS : TBBS );
function SetCategoryListItem(ABBS2ch: TBBS): Integer;
FSearchDialog := nil;
BrowserNullTab := TBrowserRecord.Create;
BrowserNullTab.Browser := Browser;
- FNewBrowserCount := 0;
FBrowsers := TList.Create;
for i := 0 to 4 do begin
newBrowser := TWebBrowser.Create(nil);
TOleControl(newBrowser).Parent := BrowserPanel;
TOleControl(newBrowser).Align := alClient;
- newBrowser.Navigate(BLANK_HTML);
newBrowser.OnDocumentComplete := BrowserDocumentComplete;
newBrowser.OnBeforeNavigate2 := BrowserBeforeNavigate2;
newBrowser.OnEnter := BrowserEnter;
newBrowser.OnNewWindow2 := BrowserNewWindow2;
newBrowser.OnStatusTextChange := BrowserStatusTextChange;
newBrowser.OnTitleChange := BrowserTitleChange;
+ newBrowser.Navigate(BLANK_HTML);
TOleControl(newBrowser).Visible := false;
FBrowsers.Add(newBrowser);
end;
begin
try
try
- if (FActiveContent <> nil) and (Assigned(TWebBrowser(Sender).Document)) then begin
- // if LowerCase(OleVariant(IHTMLDocument2(TWebBrowser(Sender).Document)).charset) <> 'shift_jis' then
- // OleVariant(IHTMLDocument2(TWebBrowser(Sender).Document)).charset := 'shift_jis';
+ if (FActiveContent <> nil) and (FActiveContent.Browser <> nil) and (Assigned(FActiveContent.Browser.Document)) then begin
+ if LowerCase(OleVariant(IHTMLDocument2(FActiveContent.Browser.Document)).charset) <> 'shift_jis' then begin
+ OleVariant(IHTMLDocument2(FActiveContent.Browser.Document)).charset := 'shift_jis';
+ end;
end;
except
end;
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;
+ if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent <> nil then begin
+ TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent.Free;
+ TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent := nil;
+ end;
break;
end;
end;
TBrowserRecord(BrowserTab.Tabs.Objects[i]).FBrowser := TWebBrowser(FBrowsers[4]);
+ TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true;
FBrowsers.Move(4, 0);
end;
if ActiveTab 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;
+ if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent <> nil then begin
+ TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent.Free;
+ TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent := nil;
+ end;
break;
end;
end;
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;
+ if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent <> nil then begin
+ TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent.Free;
+ TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent := nil;
+ end;
break;
end;
end;
s: string;
// OldCursor: TCursor;
i: Integer;
+ url: OleVariant;
begin
if (FActiveContent <> nil) and
(FActiveContent.Thread <> inThread.Thread) and
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;
+ if TBrowserRecord(BrowserTab.Tabs.Objects[i]).FEvent <> nil then begin
+ TBrowserRecord(BrowserTab.Tabs.Objects[i]).FEvent.Free;
+ TBrowserRecord(BrowserTab.Tabs.Objects[i]).FEvent := nil;
+ end;
break;
end;
end;
end;
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;
+ TOleControl(inThread.FBrowser).BringToFront;
+ LockWindowUpdate(0);
if not inThread.FThread.IsLogFile then begin
if (not Assigned(inThread.Browser.Document)) then begin
try
doc := Idispatch( olevariant(inThread.Browser.ControlInterface).Document) as IHTMLDocument2;
GikoSys.CreateHTML2(doc, inThread.FThread, sTitle);
+ inThread.FBrowser.OnDocumentComplete(inThread.FBrowser, inThread.FBrowser.Parent, url);
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
inThread.FThread.UnRead := False;
ListView.Refresh;
end;
- LockWindowUpdate(0);
+// LockWindowUpdate(0);
if(FActiveContent <> nil) and (FActiveContent <> inThread) then begin
if (FActiveContent.Browser <> BrowserNullTab.Browser) and
(TOleControl(FActiveContent.Browser).Visible) then
= TWebBrowser(FBrowsers[4]) )then
begin
TBrowserRecord(BrowserTab.Tabs.Objects[j]).Browser := nil;
+ if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent <> nil then begin
+ TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent.Free;
+ TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent := nil;
+ end;
break;
end;
end;
= TWebBrowser(FBrowsers[4]) )then
begin
TBrowserRecord(BrowserTab.Tabs.Objects[j]).Browser := nil;
+ if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent <> nil then begin
+ TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent.Free;
+ TBrowserRecord(BrowserTab.Tabs.Objects[j]).FEvent := nil;
+ end;
break;
end;
end;
FBrowsers.Move(j ,0);
end else begin
for i := 0 to BrowserTab.Tabs.Count - 1 do begin
- if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser = TWebBrowser(FBrowsers[4]) then
+ if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser = TWebBrowser(FBrowsers[4]) then begin
TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser := nil;
+ if TBrowserRecord(BrowserTab.Tabs.Objects[i]).FEvent <> nil then begin
+ TBrowserRecord(BrowserTab.Tabs.Objects[i]).FEvent.Free;
+ TBrowserRecord(BrowserTab.Tabs.Objects[i]).FEvent := nil;
+ end;
+ end;
end;
TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser := TWebBrowser(FBrowsers[4]);
TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Repaint := true;
p2 := p;
p := BrowserTab.ScreenToClient(p);
idx := BrowserTab.IndexOfTabAt(p.X, p.Y);
- if idx <> -1 then begin
- OldIndex := BrowserTab.TabIndex;
+ if idx <> -1 then
DeleteTab(TBrowserRecord(BrowserTab.Tabs.Objects[idx]));
- {if idx = OldIndex then begin
- if BrowserTab.Tabs.Count > idx then
- BrowserTab.TabIndex := idx
- else if BrowserTab.Tabs.Count = idx then
- BrowserTab.TabIndex := idx - 1
- else if BrowserTab.Tabs.Count > 0 then
- BrowserTab.TabIndex := 0;
- if TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser = nil then begin
- TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser
- := TWebBrowser(FBrowsers[4]);
- FBrowsers.Move(4, 0);
- end;
- BrowserTab.OnChange(nil);
-
- end;
- }
- end;
//end else if Button = mbRight then begin
//PopupMenu\82ÅBrowserTabPoupMenu\82ð\8ew\92è\82µ\82Ä\82¢\82é\82Ì\82Å\82±\82±\82Å\82í\82´\82í\82´\8cÄ\82Ñ\8fo\82·\82Æ\82Q\8fd\82É\82È\82é
- //OnContextPopup\82Å\82à\82µ\82àActive\82ÈTab\88È\8aO\82Å\8cÄ\82Ñ\8fo\82³\82ê\82½\82çTab\82ð\90Ø\82è\91Ö\82¦\82é\82æ\82¤\82É\82µ\82½\81B
+ //OnContextPopup\82Å\82à\82µ\82àActive\82ÈTab\88È\8aO\82Å\8cÄ\82Ñ\8fo\82³\82ê\82½\82çTab\82ð\90Ø\82è\91Ö\82¦\82é\82æ\82¤\82É\82µ\82½\81B
{ // \83}\83E\83X\89E\83{\83^\83\93
GetCursorPos(p);
p2 := p;
end;
end;
if BrowserRecord <> nil then begin
- FBrowserComplete := True;
if BrowserRecord.FEvent <> nil then
BrowserRecord.FEvent.Free;
FDispHtmlDocument := Idispatch(OleVariant(BrowserRecord.Browser.ControlInterface).Document) as DispHTMLDocument;
Num: Integer;
ThreadItem: TThreadItem;
begin
- Doc := Browser.Document as IHtmlDocument2;
+ Doc := FactiveContent.FBrowser.Document as IHtmlDocument2;
Range := Doc.selection.createRange as IHTMLTxtRange;
s := CustomStringReplace(Range.text, '\81@', ' ');//\91S\8ap\8bó\94\92\82ð\94¼\8ap\8bó\94\92\82É
s := ZenToHan(Trim(s));
Dlg: TListSelectDialog;
ThreadItem : TThreadItem;
FilterList : TStringList;
- idx : Integer;
+ i, idx : Integer;
begin
Dlg := TListSelectDialog.Create(Self);
try
end;
// \83X\83\8c\83b\83h\82Ì\8dÄ\95`\89æ
- FActiveContent.Repaint := true;
+ for i := BrowserTab.Tabs.Count - 1 downto 0 do begin
+ TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true;
+ end;
ThreadItem := GetActiveContent;
if ThreadItem <> nil then
InsertBrowserTab( ThreadItem, True );
var
ThreadItem : TThreadItem;
FilterList : TStringList;
+ i: Integer;
begin
// \83{\83^\83\93\82Ì\8dX\90V
AllResAction.Checked := True;
FSelectResWord := '';
// \83X\83\8c\83b\83h\82ð\8dÄ\95`\89æ
- FActiveContent.Repaint := true;
+ for i := BrowserTab.Tabs.Count - 1 downto 0 do begin
+ TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true;
+ end;
ThreadItem := GetActiveContent;
if ThreadItem <> nil then
InsertBrowserTab( ThreadItem, True );
Result := True;
end else begin
// \82»\82ê\88È\8aO\82Ì\83C\83x\83\93\83g\82Í Browser \82É\97¬\82·
- Dispatch := Browser.Application;
- if Dispatch <> nil then begin
- Dispatch.QueryInterface( IOleInPlaceActiveObject, iOIPAO );
- if iOIPAO <> nil then
- iOIPAO.TranslateAccelerator( Msg );
+ if(FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin
+ Dispatch := FActiveContent.Browser.Application;
+ if Dispatch <> nil then begin
+ Dispatch.QueryInterface( IOleInPlaceActiveObject, iOIPAO );
+ if iOIPAO <> nil then
+ iOIPAO.TranslateAccelerator( Msg );
+ end;
end;
// \83M\83R\83i\83r\82Å\8eg\82¤\83V\83\87\81[\83g\83J\83b\83g\82Í\8eó\82¯\8eæ\82è\82½\82¢\82Ì\82Å\83C\83x\83\93\83g\82Í\83J\83b\83g\82µ\82È\82¢
case Msg.message of
WM_KEYDOWN:
- if IsDialogMessage( Browser.Handle, Msg ) then begin
- key := Msg.wParam;
- Handled := BrowserKeyDown( Msg, key, KeyDataToShiftState( Msg.lParam ) );
+ if (FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin
+ if IsDialogMessage( FActiveContent.Browser.Handle, Msg ) then begin
+ key := Msg.wParam;
+ Handled := BrowserKeyDown( Msg, key, KeyDataToShiftState( Msg.lParam ) );
+ end;
end;
+
WM_XBUTTONDOWN:
case Msg.wParam shr 16 of
XBUTTON1:
- if IsDialogMessage( Browser.Handle, Msg ) then begin
- UpBoardAction.Execute;
- Handled := True;
- end else if IsDialogMessage( ListView.Handle, Msg ) then begin
- UpFolderAction.Execute;
- Handled := True;
+ if (FActiveContent <> nil) and (FActiveContent.Browser <> nil) then begin
+ if IsDialogMessage( FActiveContent.Browser.Handle, Msg ) then begin
+ UpBoardAction.Execute;
+ Handled := True;
+ end else if IsDialogMessage( ListView.Handle, Msg ) then begin
+ UpFolderAction.Execute;
+ Handled := True;
+ end;
end;
XBUTTON2:
end;
end;
-procedure TGikoForm.ThreadPanelResize(Sender: TObject);
-var
- idx : Integer;
- rec : TBrowserRecord;
-begin
-{ idx := BrowserTab.TabIndex;
- if idx >= 0 then begin
- if BrowserTab.Tabs.Objects[ idx ] is TBrowserRecord then begin
- rec := TBrowserRecord( BrowserTab.Tabs.Objects[ idx ] );
- SetWindowPos( rec.Browser.Handle, HWND_TOPMOST, 0, 0, BrowserPanel.Width, BrowserPanel.Height, SWP_NOACTIVATE or SWP_NOZORDER);
- end;
- end;
-}
-end;
-
procedure TGikoForm.OnlyAHundredResUpdate(Sender: TObject);
begin
OnlyAHundredRes.Enabled := (GetActiveContent <> nil) and (GetActiveContent.IsLogFile);