mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
FIX: Bug [3051500] quickview and tab
This commit is contained in:
parent
bf6fb4051f
commit
dfb97d3177
2 changed files with 13 additions and 10 deletions
|
|
@ -1378,14 +1378,11 @@ begin
|
|||
begin
|
||||
if Assigned(QuickViewPanel) then
|
||||
begin
|
||||
ActiveFrame.OnChangeActiveFile:= nil;
|
||||
QuickViewClose;
|
||||
end
|
||||
else if (param <> 'Close') then
|
||||
begin
|
||||
QuickViewShow(NotActiveNotebook.ActivePage, ActiveFrame.FileSource);
|
||||
QuickViewPanel.FileViewChangeActiveFile(ActiveFrame, ActiveFrame.ActiveFile);
|
||||
ActiveFrame.OnChangeActiveFile:= @QuickViewPanel.FileViewChangeActiveFile;
|
||||
QuickViewShow(NotActiveNotebook.ActivePage, ActiveFrame);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
|
|
|||
|
|
@ -16,18 +16,19 @@ type
|
|||
private
|
||||
FFirstFile: Boolean;
|
||||
FFileViewPage: TFileViewPage;
|
||||
FFileView: TFileView;
|
||||
FFileSource: IFileSource;
|
||||
FViewer: TfrmViewer;
|
||||
FFileName: UTF8String;
|
||||
public
|
||||
constructor Create(TheOwner: TComponent; aParent: TFileViewPage); reintroduce;
|
||||
destructor Destroy; override;
|
||||
procedure CreateViewer(aFileSource: IFileSource);
|
||||
procedure CreateViewer(aFileView: TFileView);
|
||||
procedure LoadFile(const aFileName: UTF8String);
|
||||
procedure FileViewChangeActiveFile(Sender: TFileView; const aFile : TFile);
|
||||
end;
|
||||
|
||||
procedure QuickViewShow(aFileViewPage: TFileViewPage; const aFileSource: IFileSource);
|
||||
procedure QuickViewShow(aFileViewPage: TFileViewPage; aFileView: TFileView);
|
||||
procedure QuickViewClose;
|
||||
|
||||
var
|
||||
|
|
@ -39,10 +40,12 @@ uses
|
|||
LCLProc, Forms, Controls, uTempFileSystemFileSource,
|
||||
uFileSourceProperty, uFileSourceOperation, uFileSourceOperationTypes;
|
||||
|
||||
procedure QuickViewShow(aFileViewPage: TFileViewPage; const aFileSource: IFileSource);
|
||||
procedure QuickViewShow(aFileViewPage: TFileViewPage; aFileView: TFileView);
|
||||
begin
|
||||
QuickViewPanel:= TQuickViewPanel.Create(Application, aFileViewPage);
|
||||
QuickViewPanel.CreateViewer(aFileSource);
|
||||
QuickViewPanel.CreateViewer(aFileView);
|
||||
QuickViewPanel.FileViewChangeActiveFile(aFileView, aFileView.ActiveFile);
|
||||
aFileView.OnChangeActiveFile:= @QuickViewPanel.FileViewChangeActiveFile;
|
||||
end;
|
||||
|
||||
procedure QuickViewClose;
|
||||
|
|
@ -64,14 +67,16 @@ end;
|
|||
|
||||
destructor TQuickViewPanel.Destroy;
|
||||
begin
|
||||
FFileView.OnChangeActiveFile:= nil;
|
||||
FViewer.ExitPluginMode;
|
||||
FFileViewPage.FileView.Visible:= True;
|
||||
FreeThenNil(FViewer);
|
||||
FFileSource:= nil;
|
||||
FFileView.SetFocus;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TQuickViewPanel.CreateViewer(aFileSource: IFileSource);
|
||||
procedure TQuickViewPanel.CreateViewer(aFileView: TFileView);
|
||||
begin
|
||||
FViewer:= TfrmViewer.Create(Self, nil);
|
||||
FViewer.Parent:= Self;
|
||||
|
|
@ -80,7 +85,8 @@ begin
|
|||
FViewer.Align:= alClient;
|
||||
FViewer.QuickView:= True;
|
||||
FFirstFile:= True;
|
||||
FFileSource:= aFileSource;
|
||||
FFileView:= aFileView;
|
||||
FFileSource:= aFileView.FileSource;
|
||||
FFileViewPage.FileView.Visible:= False;
|
||||
end;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue