ide: loading a docked desktop for the first time, take the settings from the previous desktop. Issue #31981

git-svn-id: trunk@55277 -
This commit is contained in:
ondrej 2017-06-09 11:13:20 +00:00
parent 78acf46651
commit 840c63cf14

View File

@ -2683,7 +2683,8 @@ function TEnvironmentOptions.GetActiveDesktop: TDesktopOpt;
end;
var
DefaultDesktop: TDesktopOpt;
OldActiveDesktop: TDesktopOpt;
OldActiveDesktopName: string;
begin
if FActiveDesktopName <> '' then
@ -2695,6 +2696,7 @@ begin
//the selected desktop is unsupported (docked/undocked)
// -> use default
OldActiveDesktopName := FActiveDesktopName;
ChooseDefault;
Result := FDesktops.Find(FActiveDesktopName);
if Assigned(Result) and Result.Compatible then
@ -2703,15 +2705,17 @@ begin
//recreate desktop with ActiveDesktopName
if Assigned(Result) then
FDesktops.Remove(Result);
DefaultDesktop := FDesktops.Find('default');
Result := TDesktopOpt.Create(FActiveDesktopName);
FDesktops.Add(Result);
Result.Assign(Desktop);
if Assigned(IDEDockMaster) then
Result.FDockedOpt.LoadDefaults;
if Assigned(DefaultDesktop) then
Result.Assign(DefaultDesktop, False, False);
OldActiveDesktop := FDesktops.Find(OldActiveDesktopName);
if not Assigned(OldActiveDesktop) then
OldActiveDesktop := FDesktops.Find('default');
if Assigned(OldActiveDesktop) then
Result.Assign(OldActiveDesktop, False, False);
end;
procedure TEnvironmentOptions.SetTestBuildDirectory(const AValue: string);