OSDN Git Service

ブラウザタブが消える不具合の修正(Bb51からのマージ)
authorh677 <h677>
Sat, 31 Dec 2005 16:10:51 +0000 (16:10 +0000)
committerh677 <h677>
Sat, 31 Dec 2005 16:10:51 +0000 (16:10 +0000)
Giko.pas

index 9f84dd8..7d791d6 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -3927,52 +3927,53 @@ var
        i, j: Integer;
        idx: Integer;
 begin
+       BrowserTab.Tabs.BeginUpdate;
+       try
+               if not BrowserTab.Dragging then begin
+                       FTabHintIndex := -1;
+                       BrowserTab.Hint := '';
+                       idx := BrowserTab.TabIndex;
+                       if idx = -1 then begin
+                               SetContent(BrowserNullTab);
+
+                       end else if(BrowserTab.Tabs.Objects[idx] <> nil) and (BrowserTab.Tabs.Objects[idx] is TBrowserRecord) then begin
+                               if TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser <> nil then begin
+                                       j := FBrowsers.IndexOf(TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser);
+                                       if j <> -1 then
+                                               FBrowsers.Move(j ,0);
+                               end else begin
+                                       if( FActiveContent <> nil ) and (FActiveContent.Browser <> nil) and
+                                               (FActiveContent.Browser <> BrowserNullTab.Browser) and
+                                               (FActiveContent.Browser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1])) then
+                                               FBrowsers.Move(BROWSER_COUNT - 1, 0);
 
-       if not BrowserTab.Dragging then begin
-               FTabHintIndex := -1;
-               BrowserTab.Hint := '';
-               idx := BrowserTab.TabIndex;
-               if idx = -1 then begin
-                       SetContent(BrowserNullTab);
-
-               end else if(BrowserTab.Tabs.Objects[idx] <> nil) and (BrowserTab.Tabs.Objects[idx] is TBrowserRecord) then begin
-                       if TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser <> nil then begin
-                               j := FBrowsers.IndexOf(TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser);
-                               if j <> -1 then
-                                       FBrowsers.Move(j ,0);
-                       end else begin
-                               if( FActiveContent <> nil ) and (FActiveContent.Browser <> nil) and
-                                       (FActiveContent.Browser <> BrowserNullTab.Browser) and
-                                       (FActiveContent.Browser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1])) then
-                                       FBrowsers.Move(BROWSER_COUNT - 1, 0);
-
-                               for i := 0 to BrowserTab.Tabs.Count - 1 do begin
-                                       if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1]) then begin
-                                               ReleaseBrowser(TBrowserRecord(BrowserTab.Tabs.Objects[i]));
-                                               break;
+                                       for i := 0 to BrowserTab.Tabs.Count - 1 do begin
+                                               if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser = TWebBrowser(FBrowsers[BROWSER_COUNT - 1]) then begin
+                                                       ReleaseBrowser(TBrowserRecord(BrowserTab.Tabs.Objects[i]));
+                                                       break;
+                                               end;
                                        end;
+                                       TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser := TWebBrowser(FBrowsers[BROWSER_COUNT - 1]);
+                                       TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Repaint := true;
+                                       FBrowsers.Move(BROWSER_COUNT - 1, 0);
                                end;
-                               TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser := TWebBrowser(FBrowsers[BROWSER_COUNT - 1]);
-                               TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Repaint := true;
-                               FBrowsers.Move(BROWSER_COUNT - 1, 0);
-                       end;
-                       MoveWindow(TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser.Handle, 0, 0, BrowserPanel.Width, BrowserPanel.Height, false);
-                       TOleControl(TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser).BringToFront;
-                       SetContent(TBrowserRecord(BrowserTab.Tabs.Objects[idx]));
+                               MoveWindow(TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser.Handle, 0, 0, BrowserPanel.Width, BrowserPanel.Height, false);
+                               TOleControl(TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser).BringToFront;
+                               SetContent(TBrowserRecord(BrowserTab.Tabs.Objects[idx]));
 
-                       if (GikoSys.Setting.URLDisplay) and (GetActiveContent <> nil) then
-                               AddressComboBox.Text := GetActiveContent.URL;
-
-                       if ((TreeView.Visible) and (TreeView.Focused)) or ((FavoriteTreeView.Visible) and (FavoriteTreeView.Focused)) or
-                               (ListView.Focused) or (SelectComboBox.Focused) or (AddressComboBox.Focused)
-                       then
-                       else
-                               GikoDM.SetFocusForBrowserAction.Execute;
+                               if (GikoSys.Setting.URLDisplay) and (GetActiveContent <> nil) then
+                                       AddressComboBox.Text := GetActiveContent.URL;
 
+                               if ((TreeView.Visible) and (TreeView.Focused)) or ((FavoriteTreeView.Visible) and (FavoriteTreeView.Focused)) or
+                                       (ListView.Focused) or (SelectComboBox.Focused) or (AddressComboBox.Focused)
+                               then
+                               else
+                                       GikoDM.SetFocusForBrowserAction.Execute;
+                       end;
                end;
-
+       finally
+               BrowserTab.Tabs.EndUpdate;
        end;
-
 end;
 
 
@@ -7633,6 +7634,19 @@ begin
                        ViewType := gvtNew;
                end;
        end;
+       if GikoSys.Setting.BrowserTabPosition = gtpTop then begin
+               GikoDM.BrowserTabTopAction.Checked := True;
+       end else begin
+               GikoDM.BrowserTabBottomAction.Checked := True;
+       end;
+
+       if GikoSys.Setting.BrowserTabStyle = gtsTab then begin
+               GikoDM.BrowserTabTabStyleAction.Checked := True;
+       end else if GikoSys.Setting.BrowserTabStyle = gtsButton then begin
+               GikoDM.BrowserTabButtonStyleAction.Checked := True;
+       end else begin
+               GikoDM.BrowserTabFlatStyleAction.Checked := True;
+       end;
 end;
 // *************************************************************************
 //! \83_\83E\83\93\83\8d\81[\83h\83R\83\93\83g\83\8d\81[\83\8b\83X\83\8c\83b\83h\82Ì\90\90¬