| 916 |
FOldFormWidth : Integer; // 直前のウィンドウの幅 |
FOldFormWidth : Integer; // 直前のウィンドウの幅 |
| 917 |
FToolBarSettingSender : TToolBarSettingSenderType; // ツールバー設定をクリックしたクールバー |
FToolBarSettingSender : TToolBarSettingSenderType; // ツールバー設定をクリックしたクールバー |
| 918 |
FMouseDownPos : TPoint; // ブラウザタブでマウスを押したときの座標 |
FMouseDownPos : TPoint; // ブラウザタブでマウスを押したときの座標 |
| 919 |
|
FNewBrowserCount: Integer; |
| 920 |
|
FBrowsers: TList; |
| 921 |
procedure SetBoardTreeNode( inBBS : TBBS ); |
procedure SetBoardTreeNode( inBBS : TBBS ); |
| 922 |
function SetCategoryListItem(ABBS2ch: TBBS): Integer; |
function SetCategoryListItem(ABBS2ch: TBBS): Integer; |
| 923 |
function SetBoardListItem(Category: TCategory): Integer; |
function SetBoardListItem(Category: TCategory): Integer; |
| 1192 |
i: Integer; |
i: Integer; |
| 1193 |
wp: TWindowPlacement; |
wp: TWindowPlacement; |
| 1194 |
s: string; |
s: string; |
| 1195 |
|
newbrowser: TWebBrowser; |
| 1196 |
begin |
begin |
| 1197 |
{$IFDEF DEBUG} |
{$IFDEF DEBUG} |
| 1198 |
AllocConsole; |
AllocConsole; |
| 1213 |
FSearchDialog := nil; |
FSearchDialog := nil; |
| 1214 |
BrowserNullTab := TBrowserRecord.Create; |
BrowserNullTab := TBrowserRecord.Create; |
| 1215 |
BrowserNullTab.Browser := Browser; |
BrowserNullTab.Browser := Browser; |
| 1216 |
|
FNewBrowserCount := 0; |
| 1217 |
|
FBrowsers := TList.Create; |
| 1218 |
|
for i := 0 to 4 do begin |
| 1219 |
|
newBrowser := TWebBrowser.Create(nil); |
| 1220 |
|
TOleControl(newBrowser).Parent := BrowserPanel; |
| 1221 |
|
TOleControl(newBrowser).Align := alClient; |
| 1222 |
|
newBrowser.Navigate(BLANK_HTML); |
| 1223 |
|
newBrowser.OnDocumentComplete := BrowserDocumentComplete; |
| 1224 |
|
newBrowser.OnBeforeNavigate2 := BrowserBeforeNavigate2; |
| 1225 |
|
newBrowser.OnEnter := BrowserEnter; |
| 1226 |
|
newBrowser.OnNewWindow2 := BrowserNewWindow2; |
| 1227 |
|
newBrowser.OnStatusTextChange := BrowserStatusTextChange; |
| 1228 |
|
newBrowser.OnTitleChange := BrowserTitleChange; |
| 1229 |
|
TOleControl(newBrowser).Visible := false; |
| 1230 |
|
FBrowsers.Add(newBrowser); |
| 1231 |
|
end; |
| 1232 |
|
|
| 1233 |
// 起動時に保存されてしまう対策 |
// 起動時に保存されてしまう対策 |
| 1234 |
FIsIgnoreResize := True; |
FIsIgnoreResize := True; |
| 1235 |
|
|
| 1809 |
|
|
| 1810 |
try |
try |
| 1811 |
//タブクローズ |
//タブクローズ |
|
|
|
| 1812 |
BrowserNullTab.Thread := nil; |
BrowserNullTab.Thread := nil; |
| 1813 |
BrowserTab.OnChange := nil; |
BrowserTab.OnChange := nil; |
| 1814 |
BrowserTab.Tabs.BeginUpdate; |
BrowserTab.Tabs.BeginUpdate; |
| 1821 |
BrowserTab.OnChange := BrowserTabChange; |
BrowserTab.OnChange := BrowserTabChange; |
| 1822 |
except |
except |
| 1823 |
end; |
end; |
| 1824 |
|
|
| 1825 |
|
for i := FBrowsers.Count - 1 downto 0 do begin |
| 1826 |
|
TWebBrowser(FBrowsers[i]).Free; |
| 1827 |
|
end; |
| 1828 |
|
FBrowsers.Clear; |
| 1829 |
|
FBrowsers.Capacity := 0; |
| 1830 |
|
FBrowsers.Free; |
| 1831 |
try |
try |
| 1832 |
if BrowserNullTab <> nil then begin |
if BrowserNullTab <> nil then begin |
| 1833 |
BrowserNullTab.Browser := nil; {*BrowserNullTabのBrowserは設計時に貼り付けてる奴 |
BrowserNullTab.Browser := nil; {*BrowserNullTabのBrowserは設計時に貼り付けてる奴 |
| 3204 |
procedure TGikoForm.InsertBrowserTab(ThreadItem: TThreadItem; ActiveTab: Boolean = True); |
procedure TGikoForm.InsertBrowserTab(ThreadItem: TThreadItem; ActiveTab: Boolean = True); |
| 3205 |
|
|
| 3206 |
var |
var |
| 3207 |
i: Integer; |
i, j: Integer; |
| 3208 |
favItem : TFavoriteThreadItem; |
favItem : TFavoriteThreadItem; |
| 3209 |
newBrowser : TBrowserRecord; |
newBrowser : TBrowserRecord; |
| 3210 |
begin |
begin |
| 3230 |
end; |
end; |
| 3231 |
|
|
| 3232 |
if GikoSys.Setting.BrowserTabAppend = gtaFirst then begin |
if GikoSys.Setting.BrowserTabAppend = gtaFirst then begin |
| 3233 |
BrowserTab.Tabs.Insert(0, GikoSys.GetShortName(ThreadItem.Title, 20)); |
//BrowserTab.Tabs.Insert(0, GikoSys.GetShortName(ThreadItem.Title, 20)); |
| 3234 |
newBrowser := TBrowserRecord.Create; |
newBrowser := TBrowserRecord.Create; |
| 3235 |
newBrowser.Browser := TWebBrowser.Create(nil); |
for j := BrowserTab.Tabs.Count - 1 downto 0 do begin |
| 3236 |
TOleControl(newBrowser.Browser).Parent := BrowserPanel; |
if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[4]) then |
| 3237 |
TOleControl(newBrowser.Browser).Align := alClient; |
TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser := nil; |
| 3238 |
newBrowser.Browser.OnDocumentComplete := BrowserDocumentComplete; |
end; |
| 3239 |
newBrowser.Browser.OnBeforeNavigate2 := BrowserBeforeNavigate2; |
newBrowser.Browser := TWebBrowser(FBrowsers[4]); |
| 3240 |
newBrowser.Browser.OnEnter := BrowserEnter; |
FBrowsers.Move(4, 0); |
|
newBrowser.Browser.OnNewWindow2 := BrowserNewWindow2; |
|
|
newBrowser.Browser.OnStatusTextChange := BrowserStatusTextChange; |
|
|
newBrowser.Browser.OnTitleChange := BrowserTitleChange; |
|
| 3241 |
newBrowser.thread := ThreadItem; |
newBrowser.thread := ThreadItem; |
| 3242 |
newBrowser.Repaint := true; |
newBrowser.Repaint := true; |
| 3243 |
newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes; |
newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes; |
| 3244 |
newBrowser.Browser.Navigate( 'about:blank' ); |
newBrowser.Browser.Navigate( 'about:blank' ); |
| 3245 |
BrowserTab.Tabs.Objects[0] := newBrowser; |
BrowserTab.Tabs.InsertObject(0, GikoSys.GetShortName(ThreadItem.Title, 20), newBrowser); |
| 3246 |
|
//BrowserTab.Tabs.Objects[0] := newBrowser; |
| 3247 |
if ActiveTab then begin |
if ActiveTab then begin |
| 3248 |
BrowserTab.TabIndex := 0; |
BrowserTab.TabIndex := 0; |
| 3249 |
end; |
end; |
| 3250 |
|
|
| 3251 |
end else begin |
end else begin |
| 3252 |
i := BrowserTab.Tabs.Add(GikoSys.GetShortName(ThreadItem.Title, 20)); |
//i := BrowserTab.Tabs.Add(GikoSys.GetShortName(ThreadItem.Title, 20)); |
| 3253 |
|
//Inc(FNewBrowserCount); |
| 3254 |
newBrowser := TBrowserRecord.Create; |
newBrowser := TBrowserRecord.Create; |
| 3255 |
newBrowser.Browser := TWebBrowser.Create(nil); |
for j := BrowserTab.Tabs.Count - 1 downto 0 do begin |
| 3256 |
TOleControl(newBrowser.Browser).Parent := BrowserPanel; |
if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[4]) then |
| 3257 |
TOleControl(newBrowser.Browser).Align := alClient; |
TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser := nil; |
| 3258 |
newBrowser.Browser.OnDocumentComplete := BrowserDocumentComplete; |
end; |
| 3259 |
newBrowser.Browser.OnBeforeNavigate2 := BrowserBeforeNavigate2; |
newBrowser.Browser := TWebBrowser(FBrowsers[4]); |
| 3260 |
newBrowser.Browser.OnEnter := BrowserEnter; |
FBrowsers.Move(4, 0); |
|
newBrowser.Browser.OnNewWindow2 := BrowserNewWindow2; |
|
|
newBrowser.Browser.OnStatusTextChange := BrowserStatusTextChange; |
|
|
newBrowser.Browser.OnTitleChange := BrowserTitleChange; |
|
| 3261 |
newBrowser.thread := ThreadItem; |
newBrowser.thread := ThreadItem; |
| 3262 |
newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes; |
newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes; |
| 3263 |
newBrowser.Repaint := true; |
newBrowser.Repaint := true; |
| 3264 |
newBrowser.Browser.Navigate( 'about:blank' ); |
newBrowser.Browser.Navigate( 'about:blank' ); |
| 3265 |
BrowserTab.Tabs.Objects[i] := newBrowser; |
i := BrowserTab.Tabs.AddObject(GikoSys.GetShortName(ThreadItem.Title, 20), newBrowser); |
| 3266 |
|
//BrowserTab.Tabs.Objects[i] := newBrowser; |
| 3267 |
if ActiveTab then begin |
if ActiveTab then begin |
| 3268 |
BrowserTab.TabIndex := i; |
BrowserTab.TabIndex := i; |
| 3269 |
end; |
end; |
| 3303 |
begin |
begin |
| 3304 |
if inThread = nil then |
if inThread = nil then |
| 3305 |
begin |
begin |
| 3306 |
Thread := TBrowserRecord.Create; |
//Thread := TBrowserRecord.Create; |
| 3307 |
Thread.Browser := Browser; |
//Thread.Browser := Browser; |
| 3308 |
Thread.Thread := nil; |
//Thread.Thread := nil; |
| 3309 |
|
Exit; |
| 3310 |
end else begin |
end else begin |
| 3311 |
Thread := inThread; |
Thread := inThread; |
| 3312 |
end; |
end; |
| 3318 |
try |
try |
| 3319 |
Sleep(1); |
Sleep(1); |
| 3320 |
//Application.ProcessMessages; |
//Application.ProcessMessages; |
| 3321 |
FActiveContent.Thread.ScrollTop := OleVariant(IHTMLDocument2(FActiveContent.Browser.Document)).Body.ScrollTop; |
FActiveContent.Thread.ScrollTop := OleVariant(IHTMLDocument2(FActiveContent.Browser.Document).Body).ScrollTop; |
| 3322 |
if FActiveContent.Browser <> BrowserNullTab.Browser then |
if FActiveContent.Browser <> BrowserNullTab.Browser then |
| 3323 |
TOleControl(FActiveContent.Browser).Visible := false; |
TOleControl(FActiveContent.Browser).Visible := false; |
| 3324 |
except |
except |
| 3356 |
|
|
| 3357 |
Screen.Cursor := crHourGlass; |
Screen.Cursor := crHourGlass; |
| 3358 |
try |
try |
| 3359 |
|
ToleControl(Thread.FBrowser).Visible := true; |
| 3360 |
if ThreadItem.UnRead then begin |
if ThreadItem.UnRead then begin |
| 3361 |
ThreadItem.ParentBoard.UnRead := ThreadItem.ParentBoard.UnRead - 1; |
ThreadItem.ParentBoard.UnRead := ThreadItem.ParentBoard.UnRead - 1; |
| 3362 |
if ThreadItem.ParentBoard.UnRead < 0 then ThreadItem.ParentBoard.UnRead := 0; |
if ThreadItem.ParentBoard.UnRead < 0 then ThreadItem.ParentBoard.UnRead := 0; |
| 3383 |
//Thread.Repaintは、スキン等の設定を変更したとき、Threadをダウンロードしたとき |
//Thread.Repaintは、スキン等の設定を変更したとき、Threadをダウンロードしたとき |
| 3384 |
//新規にThreadを開いたときに真になっている。 |
//新規にThreadを開いたときに真になっている。 |
| 3385 |
if(Thread.Repaint) or (Thread.OnlyHundred <> GikoSys.OnlyAHundredRes)then begin |
if(Thread.Repaint) or (Thread.OnlyHundred <> GikoSys.OnlyAHundredRes)then begin |
| 3386 |
Thread.LastSize := ThreadItem.Size; |
//Thread.LastSize := ThreadItem.Size; |
| 3387 |
Thread.Repaint := false; |
Thread.Repaint := false; |
| 3388 |
try |
try |
| 3389 |
|
Application.ProcessMessages; |
| 3390 |
doc := Idispatch( olevariant(Thread.Browser.ControlInterface).Document) as IHTMLDocument2; |
doc := Idispatch( olevariant(Thread.Browser.ControlInterface).Document) as IHTMLDocument2; |
| 3391 |
GikoSys.CreateHTML2(doc, ThreadItem, sTitle); |
GikoSys.CreateHTML2(doc, ThreadItem, sTitle); |
| 3392 |
Thread.OnlyHundred := GikoSys.OnlyAHundredRes; |
Thread.OnlyHundred := GikoSys.OnlyAHundredRes; |
| 3451 |
|
|
| 3452 |
function TGikoForm.GetActiveContent: TThreadItem; |
function TGikoForm.GetActiveContent: TThreadItem; |
| 3453 |
begin |
begin |
| 3454 |
if FActiveContent <> nil then |
if( FActiveContent <> nil) and (FActiveContent.Thread <> nil)then |
| 3455 |
Result := FActiveContent.Thread |
Result := FActiveContent.Thread |
| 3456 |
else |
else |
| 3457 |
Result := nil; |
Result := nil; |
| 5212 |
end; |
end; |
| 5213 |
procedure TGikoForm.DeleteTab(BrowserRecord: TBrowserRecord); |
procedure TGikoForm.DeleteTab(BrowserRecord: TBrowserRecord); |
| 5214 |
var |
var |
| 5215 |
i: Integer; |
i, j, idx: Integer; |
| 5216 |
doc: Variant; |
doc: Variant; |
| 5217 |
begin |
begin |
| 5218 |
|
idx := BrowserTab.TabIndex; |
| 5219 |
FTabHintIndex := -1; |
FTabHintIndex := -1; |
| 5220 |
for i := 0 to BrowserTab.Tabs.Count - 1 do begin |
for i := 0 to BrowserTab.Tabs.Count - 1 do begin |
| 5221 |
if TBrowserRecord(BrowserTab.Tabs.Objects[i]) = BrowserRecord then begin |
if TBrowserRecord(BrowserTab.Tabs.Objects[i]) = BrowserRecord then begin |
| 5227 |
TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread.ScrollTop := 0; |
TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread.ScrollTop := 0; |
| 5228 |
end; |
end; |
| 5229 |
if( FActiveContent = TBrowserRecord(BrowserTab.Tabs.Objects[i]) ) then |
if( FActiveContent = TBrowserRecord(BrowserTab.Tabs.Objects[i]) ) then |
| 5230 |
FActiveContent := nil; |
FActiveContent := nil; |
| 5231 |
|
if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser <> nil then begin |
| 5232 |
|
j := FBrowsers.IndexOf(TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser); |
| 5233 |
|
if j <> -1 then |
| 5234 |
|
FBrowsers.Move(j, 4); |
| 5235 |
|
end; |
| 5236 |
TBrowserRecord(BrowserTab.Tabs.Objects[i]).Free; |
TBrowserRecord(BrowserTab.Tabs.Objects[i]).Free; |
| 5237 |
BrowserTab.Tabs.Delete(i); |
BrowserTab.Tabs.Delete(i); |
| 5238 |
if i > (BrowserTab.Tabs.Count - 1) then |
if idx > (BrowserTab.Tabs.Count - 1) then |
| 5239 |
BrowserTab.TabIndex := BrowserTab.Tabs.Count - 1 |
BrowserTab.TabIndex := BrowserTab.Tabs.Count - 1 |
| 5240 |
else |
else |
| 5241 |
BrowserTab.TabIndex := i; |
BrowserTab.TabIndex := idx; |
| 5242 |
if BrowserTab.Tabs.Count = 0 then begin |
if BrowserTab.Tabs.Count = 0 then begin |
| 5243 |
BrowserNullTab.Thread := nil; |
BrowserNullTab.Thread := nil; |
| 5244 |
end; |
end; |
| 5245 |
|
if(BrowserTab.TabIndex <> -1) and |
| 5246 |
|
( TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser = nil) then begin |
| 5247 |
|
for j := BrowserTab.Tabs.Count - 1 downto 0 do begin |
| 5248 |
|
if(TBrowserRecord(BrowserTab.Tabs.Objects[j]).Browser |
| 5249 |
|
= TWebBrowser(FBrowsers[4]) )then |
| 5250 |
|
begin |
| 5251 |
|
TBrowserRecord(BrowserTab.Tabs.Objects[j]).Browser := nil; |
| 5252 |
|
break; |
| 5253 |
|
end; |
| 5254 |
|
end; |
| 5255 |
|
TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser |
| 5256 |
|
:= TWebBrowser(FBrowsers[4]); |
| 5257 |
|
TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Repaint := true; |
| 5258 |
|
FBrowsers.Move(4, 0); |
| 5259 |
|
end; |
| 5260 |
BrowserTab.Tabs.EndUpdate; |
BrowserTab.Tabs.EndUpdate; |
| 5261 |
BrowserTab.OnChange(nil); |
BrowserTab.OnChange(nil); |
| 5262 |
Exit; |
Exit; |
| 5265 |
end; |
end; |
| 5266 |
procedure TGikoForm.DeleteTab(ThreadItem: TThreadItem); |
procedure TGikoForm.DeleteTab(ThreadItem: TThreadItem); |
| 5267 |
var |
var |
| 5268 |
i: Integer; |
i, j, idx: Integer; |
| 5269 |
doc: Variant; |
doc: Variant; |
| 5270 |
begin |
begin |
| 5271 |
|
idx := BrowserTab.TabIndex; |
| 5272 |
FTabHintIndex := -1; |
FTabHintIndex := -1; |
| 5273 |
for i := 0 to BrowserTab.Tabs.Count - 1 do begin |
for i := 0 to BrowserTab.Tabs.Count - 1 do begin |
| 5274 |
if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread = ThreadItem then begin |
if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread = ThreadItem then begin |
| 5281 |
end; |
end; |
| 5282 |
if(FActiveContent = TBrowserRecord(BrowserTab.Tabs.Objects[i])) then |
if(FActiveContent = TBrowserRecord(BrowserTab.Tabs.Objects[i])) then |
| 5283 |
FActiveContent := nil; |
FActiveContent := nil; |
| 5284 |
|
if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser <> nil then begin |
| 5285 |
|
j := FBrowsers.IndexOf(TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser); |
| 5286 |
|
if j <> -1 then |
| 5287 |
|
FBrowsers.Move(j, 4); |
| 5288 |
|
end; |
| 5289 |
TBrowserRecord(BrowserTab.Tabs.Objects[i]).Free; |
TBrowserRecord(BrowserTab.Tabs.Objects[i]).Free; |
| 5290 |
BrowserTab.Tabs.Delete(i); |
BrowserTab.Tabs.Delete(i); |
| 5291 |
if i > (BrowserTab.Tabs.Count - 1) then |
if idx > (BrowserTab.Tabs.Count - 1) then |
| 5292 |
BrowserTab.TabIndex := BrowserTab.Tabs.Count - 1 |
BrowserTab.TabIndex := BrowserTab.Tabs.Count - 1 |
| 5293 |
else |
else |
| 5294 |
BrowserTab.TabIndex := i; |
BrowserTab.TabIndex := idx; |
| 5295 |
if BrowserTab.Tabs.Count = 0 then begin |
if BrowserTab.Tabs.Count = 0 then begin |
| 5296 |
BrowserNullTab.Thread := nil; |
BrowserNullTab.Thread := nil; |
| 5297 |
end; |
end; |
| 5298 |
|
if(BrowserTab.TabIndex <> -1) and |
| 5299 |
|
( TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser = nil) then begin |
| 5300 |
|
for j := BrowserTab.Tabs.Count - 1 downto 0 do begin |
| 5301 |
|
if(TBrowserRecord(BrowserTab.Tabs.Objects[j]).Browser |
| 5302 |
|
= TWebBrowser(FBrowsers[4]) )then |
| 5303 |
|
begin |
| 5304 |
|
TBrowserRecord(BrowserTab.Tabs.Objects[j]).Browser := nil; |
| 5305 |
|
break; |
| 5306 |
|
end; |
| 5307 |
|
end; |
| 5308 |
|
TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser |
| 5309 |
|
:= TWebBrowser(FBrowsers[4]); |
| 5310 |
|
TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Repaint := true; |
| 5311 |
|
FBrowsers.Move(4, 0); |
| 5312 |
|
end; |
| 5313 |
|
|
| 5314 |
BrowserTab.Tabs.EndUpdate; |
BrowserTab.Tabs.EndUpdate; |
| 5315 |
BrowserTab.OnChange(nil); |
BrowserTab.OnChange(nil); |
| 5316 |
Exit; |
Exit; |
| 5865 |
|
|
| 5866 |
procedure TGikoForm.BrowserTabChange(Sender: TObject); |
procedure TGikoForm.BrowserTabChange(Sender: TObject); |
| 5867 |
var |
var |
| 5868 |
|
i, j: Integer; |
| 5869 |
idx: Integer; |
idx: Integer; |
| 5870 |
ThreadItem: TThreadItem; |
ThreadItem: TThreadItem; |
| 5871 |
begin |
begin |
| 5881 |
SetContent(BrowserNullTab); |
SetContent(BrowserNullTab); |
| 5882 |
|
|
| 5883 |
end else if(BrowserTab.Tabs.Objects[idx] <> nil) and (BrowserTab.Tabs.Objects[idx] is TBrowserRecord) then begin |
end else if(BrowserTab.Tabs.Objects[idx] <> nil) and (BrowserTab.Tabs.Objects[idx] is TBrowserRecord) then begin |
| 5884 |
|
if TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser <> nil then begin |
| 5885 |
|
j := FBrowsers.IndexOf(TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser); |
| 5886 |
|
if j <> -1 then |
| 5887 |
|
FBrowsers.Move(j ,0); |
| 5888 |
|
end else begin |
| 5889 |
|
for i := 0 to BrowserTab.Tabs.Count - 1 do begin |
| 5890 |
|
if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser = TWebBrowser(FBrowsers[4]) then |
| 5891 |
|
TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser := nil; |
| 5892 |
|
end; |
| 5893 |
|
TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser := TWebBrowser(FBrowsers[4]); |
| 5894 |
|
TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Repaint := true; |
| 5895 |
|
FBrowsers.Move(4, 0); |
| 5896 |
|
end; |
| 5897 |
ThreadItem := TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Thread; |
ThreadItem := TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Thread; |
| 5898 |
|
TOleControl(TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser).BringToFront; |
| 5899 |
GikoSys.OnlyAHundredRes := TBrowserRecord(BrowserTab.Tabs.Objects[idx]).OnlyHundred; |
GikoSys.OnlyAHundredRes := TBrowserRecord(BrowserTab.Tabs.Objects[idx]).OnlyHundred; |
| 5900 |
OnlyAHundredRes.Checked := TBrowserRecord(BrowserTab.Tabs.Objects[idx]).OnlyHundred; |
OnlyAHundredRes.Checked := TBrowserRecord(BrowserTab.Tabs.Objects[idx]).OnlyHundred; |
| 5901 |
SetContent(TBrowserRecord(BrowserTab.Tabs.Objects[idx])); |
SetContent(TBrowserRecord(BrowserTab.Tabs.Objects[idx])); |
| 5942 |
if idx <> -1 then begin |
if idx <> -1 then begin |
| 5943 |
OldIndex := BrowserTab.TabIndex; |
OldIndex := BrowserTab.TabIndex; |
| 5944 |
DeleteTab(TBrowserRecord(BrowserTab.Tabs.Objects[idx])); |
DeleteTab(TBrowserRecord(BrowserTab.Tabs.Objects[idx])); |
| 5945 |
if idx = OldIndex then begin |
{if idx = OldIndex then begin |
| 5946 |
if BrowserTab.Tabs.Count > idx then |
if BrowserTab.Tabs.Count > idx then |
| 5947 |
BrowserTab.TabIndex := idx |
BrowserTab.TabIndex := idx |
| 5948 |
else if BrowserTab.Tabs.Count = idx then |
else if BrowserTab.Tabs.Count = idx then |
| 5949 |
BrowserTab.TabIndex := idx - 1 |
BrowserTab.TabIndex := idx - 1 |
| 5950 |
else if BrowserTab.Tabs.Count > 0 then |
else if BrowserTab.Tabs.Count > 0 then |
| 5951 |
BrowserTab.TabIndex := 0; |
BrowserTab.TabIndex := 0; |
| 5952 |
|
if TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser = nil then begin |
| 5953 |
|
TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser |
| 5954 |
|
:= TWebBrowser(FBrowsers[4]); |
| 5955 |
|
FBrowsers.Move(4, 0); |
| 5956 |
|
end; |
| 5957 |
BrowserTab.OnChange(nil); |
BrowserTab.OnChange(nil); |
| 5958 |
|
|
| 5959 |
end; |
end; |
| 5960 |
|
} |
| 5961 |
end; |
end; |
| 5962 |
//end else if Button = mbRight then begin |
//end else if Button = mbRight then begin |
| 5963 |
//PopupMenuでBrowserTabPoupMenuを指定しているのでここでわざわざ呼び出すと2重になる |
//PopupMenuでBrowserTabPoupMenuを指定しているのでここでわざわざ呼び出すと2重になる |
| 6115 |
FBrowserComplete := True; |
FBrowserComplete := True; |
| 6116 |
if BrowserRecord.FEvent <> nil then |
if BrowserRecord.FEvent <> nil then |
| 6117 |
BrowserRecord.FEvent.Free; |
BrowserRecord.FEvent.Free; |
| 6118 |
FDispHtmlDocument := BrowserRecord.Browser.Document as DispHTMLDocument; |
FDispHtmlDocument := Idispatch(OleVariant(BrowserRecord.Browser.ControlInterface).Document) as DispHTMLDocument; |
| 6119 |
BrowserRecord.FEvent := THTMLDocumentEventSink.Create(Self, FDispHtmlDocument, HTMLDocumentEvents2); |
BrowserRecord.FEvent := THTMLDocumentEventSink.Create(Self, FDispHtmlDocument, HTMLDocumentEvents2); |
| 6120 |
BrowserRecord.FEvent.OnContextMenu := OnDocumentContextMenu; |
BrowserRecord.FEvent.OnContextMenu := OnDocumentContextMenu; |
| 6121 |
end; |
end; |
| 8434 |
procedure TGikoForm.ReloadClick(Sender: TObject); |
procedure TGikoForm.ReloadClick(Sender: TObject); |
| 8435 |
var |
var |
| 8436 |
ThreadItem : TThreadItem; |
ThreadItem : TThreadItem; |
| 8437 |
|
i: Integer; |
| 8438 |
begin |
begin |
| 8439 |
if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin |
if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin |
| 8440 |
MsgBox(Handle, 'NGワードファイルの再読み込みに失敗しました', 'エラー', MB_OK or MB_ICONEXCLAMATION); |
MsgBox(Handle, 'NGワードファイルの再読み込みに失敗しました', 'エラー', MB_OK or MB_ICONEXCLAMATION); |
| 8441 |
end else begin |
end else begin |
| 8442 |
|
for i := BrowserTab.Tabs.Count - 1 downto 0 do |
| 8443 |
|
TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true; |
| 8444 |
|
|
| 8445 |
ThreadItem := GetActiveContent; |
ThreadItem := GetActiveContent; |
| 8446 |
if ThreadItem <> nil then |
if ThreadItem <> nil then |
| 8447 |
InsertBrowserTab( ThreadItem, True ); |
InsertBrowserTab( ThreadItem, True ); |
| 8453 |
var |
var |
| 8454 |
ThreadItem : TThreadItem; |
ThreadItem : TThreadItem; |
| 8455 |
s: string; |
s: string; |
| 8456 |
|
i: Integer; |
| 8457 |
begin |
begin |
| 8458 |
if GikoSys.FAbon.GoForward =false then begin |
if GikoSys.FAbon.GoForward =false then begin |
| 8459 |
MsgBox(Handle, '一つ前のNGワードファイルの読み込みに失敗しました', 'エラー', MB_OK or MB_ICONEXCLAMATION); |
MsgBox(Handle, '一つ前のNGワードファイルの読み込みに失敗しました', 'エラー', MB_OK or MB_ICONEXCLAMATION); |
| 8462 |
StatusBar.Panels.Items[2].Text := s; |
StatusBar.Panels.Items[2].Text := s; |
| 8463 |
StatusBar.Panels[2].Width := Max(StatusBar.Canvas.TextWidth(s), 100); |
StatusBar.Panels[2].Width := Max(StatusBar.Canvas.TextWidth(s), 100); |
| 8464 |
StatusBarResize(Sender); |
StatusBarResize(Sender); |
| 8465 |
|
for i := BrowserTab.Tabs.Count - 1 downto 0 do |
| 8466 |
|
TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true; |
| 8467 |
|
|
| 8468 |
ThreadItem := GetActiveContent; |
ThreadItem := GetActiveContent; |
| 8469 |
if ThreadItem <> nil then |
if ThreadItem <> nil then |
| 8470 |
InsertBrowserTab( ThreadItem, True ); |
InsertBrowserTab( ThreadItem, True ); |
| 8476 |
var |
var |
| 8477 |
ThreadItem : TThreadItem; |
ThreadItem : TThreadItem; |
| 8478 |
s: string; |
s: string; |
| 8479 |
|
i: Integer; |
| 8480 |
begin |
begin |
| 8481 |
if GikoSys.FAbon.GoBack =false then begin |
if GikoSys.FAbon.GoBack =false then begin |
| 8482 |
MsgBox(Handle, '一つ後ろのNGワードファイルの読み込みに失敗しました', 'エラー', MB_OK or MB_ICONEXCLAMATION); |
MsgBox(Handle, '一つ後ろのNGワードファイルの読み込みに失敗しました', 'エラー', MB_OK or MB_ICONEXCLAMATION); |
| 8485 |
StatusBar.Panels.Items[2].Text := s; |
StatusBar.Panels.Items[2].Text := s; |
| 8486 |
StatusBar.Panels[2].Width := Max(StatusBar.Canvas.TextWidth(s), 100); |
StatusBar.Panels[2].Width := Max(StatusBar.Canvas.TextWidth(s), 100); |
| 8487 |
StatusBarResize(Sender); |
StatusBarResize(Sender); |
| 8488 |
|
for i := BrowserTab.Tabs.Count - 1 downto 0 do |
| 8489 |
|
TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true; |
| 8490 |
|
|
| 8491 |
ThreadItem := GetActiveContent; |
ThreadItem := GetActiveContent; |
| 8492 |
if ThreadItem <> nil then |
if ThreadItem <> nil then |
| 8493 |
InsertBrowserTab( ThreadItem, True ); |
InsertBrowserTab( ThreadItem, True ); |
| 10017 |
if Self.Thread <> nil then begin |
if Self.Thread <> nil then begin |
| 10018 |
doc := Idispatch( olevariant(Self.FBrowser.ControlInterface).Document) as IHTMLDocument2; |
doc := Idispatch( olevariant(Self.FBrowser.ControlInterface).Document) as IHTMLDocument2; |
| 10019 |
Self.Thread.ScrollTop := doc.Body.ScrollTop; |
Self.Thread.ScrollTop := doc.Body.ScrollTop; |
| 10020 |
doc.clear; |
//doc.clear; |
| 10021 |
end; |
end; |
| 10022 |
Self.FBrowser.Free; |
//Self.FBrowser.Free; |
| 10023 |
end; |
end; |
| 10024 |
|
|
| 10025 |
end; |
end; |
| 10026 |
|
|
| 10027 |
procedure TGikoForm.ThreadPanelResize(Sender: TObject); |
procedure TGikoForm.ThreadPanelResize(Sender: TObject); |
| 10029 |
idx : Integer; |
idx : Integer; |
| 10030 |
rec : TBrowserRecord; |
rec : TBrowserRecord; |
| 10031 |
begin |
begin |
| 10032 |
idx := BrowserTab.TabIndex; |
{ idx := BrowserTab.TabIndex; |
| 10033 |
if idx >= 0 then begin |
if idx >= 0 then begin |
| 10034 |
if BrowserTab.Tabs.Objects[ idx ] is TBrowserRecord then begin |
if BrowserTab.Tabs.Objects[ idx ] is TBrowserRecord then begin |
| 10035 |
rec := TBrowserRecord( BrowserTab.Tabs.Objects[ idx ] ); |
rec := TBrowserRecord( BrowserTab.Tabs.Objects[ idx ] ); |
| 10036 |
SetWindowPos( rec.Browser.Handle, HWND_TOPMOST, 0, 0, BrowserPanel.Width, BrowserPanel.Height, SWP_NOACTIVATE or SWP_NOZORDER); |
SetWindowPos( rec.Browser.Handle, HWND_TOPMOST, 0, 0, BrowserPanel.Width, BrowserPanel.Height, SWP_NOACTIVATE or SWP_NOZORDER); |
| 10037 |
end; |
end; |
| 10038 |
end; |
end; |
| 10039 |
|
} |
| 10040 |
end; |
end; |
| 10041 |
|
|
| 10042 |
procedure TGikoForm.OnlyAHundredResUpdate(Sender: TObject); |
procedure TGikoForm.OnlyAHundredResUpdate(Sender: TObject); |