FIX: FsContentGetDefaultView - restore previous view mode

This commit is contained in:
Alexander Koblov 2021-12-12 13:13:33 +03:00
commit dcac75bb8e
2 changed files with 11 additions and 3 deletions

View file

@ -4388,13 +4388,20 @@ begin
begin
Page.BackupViewMode:= EmptyStr;
// Restore previous file view type
if Page.BackupViewClass = TColumnsFileView then
TColumnsFileView(Page.FileView).SetColumnSet(Page.BackupColumnSet)
if (FileView is Page.BackupViewClass) then
begin
if (FileView is TColumnsFileView) then
TColumnsFileView(FileView).SetColumnSet(Page.BackupColumnSet)
end
else begin
Result:= False;
Page.RemoveComponent(FileView);
Application.QueueAsyncCall(@FileViewFreeAsync, PtrInt(FileView));
FileView:= Page.BackupViewClass.Create(Page, FileView);
if Page.BackupViewClass <> TColumnsFileView then
FileView:= Page.BackupViewClass.Create(Page, FileView)
else begin
FileView:= TColumnsFileView.Create(Page, FileView, Page.BackupColumnSet);
end;
if Assigned(Page.OnChangeFileView) then Page.OnChangeFileView(FileView);
end;
if RestoreFocus then Page.FileView.SetFocus;

View file

@ -352,6 +352,7 @@ begin
if Assigned(aFileView) then
begin
aFileView.Parent := Self;
BackupViewMode := EmptyStr;
if Assigned(FOnChangeFileView) then
FOnChangeFileView(aFileView);
end;