mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
ADD: Option to choose position of panel after a compare (patch by Denis Bisson)
This commit is contained in:
parent
77911f5001
commit
e6c76c27e1
10 changed files with 240 additions and 61 deletions
|
|
@ -295,7 +295,7 @@ end;"/>
|
|||
<MinVersion Minor="3" Valid="True"/>
|
||||
</Item11>
|
||||
</RequiredPackages>
|
||||
<Units Count="218">
|
||||
<Units Count="219">
|
||||
<Unit0>
|
||||
<Filename Value="doublecmd.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
|
|
@ -1577,6 +1577,14 @@ end;"/>
|
|||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="uMimeType"/>
|
||||
</Unit217>
|
||||
<Unit218>
|
||||
<Filename Value="frames\foptionstoolsdiffer.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="frmOptionsDiffer"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Frame"/>
|
||||
<UnitName Value="fOptionsToolsDiffer"/>
|
||||
</Unit218>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
|
|
|
|||
|
|
@ -150,14 +150,17 @@ end;
|
|||
procedure TfrmOptions.FormCloseQuery(Sender: TObject; var CanClose: boolean);
|
||||
var
|
||||
I:integer;
|
||||
NeedsUpdateWindowView:boolean=FALSE;
|
||||
begin
|
||||
CanClose:=TRUE;
|
||||
I:=0;
|
||||
while (I<FOptionsEditorList.Count) AND (CanClose) do
|
||||
begin
|
||||
if Assigned(FOptionsEditorList[I].Instance) then CanClose:=FOptionsEditorList[I].Instance.CanWeClose;
|
||||
if Assigned(FOptionsEditorList[I].Instance) then CanClose:=FOptionsEditorList[I].Instance.CanWeClose(NeedsUpdateWindowView);
|
||||
inc(I);
|
||||
end;
|
||||
|
||||
if NeedsUpdateWindowView then frmMain.UpdateWindowView;
|
||||
end;
|
||||
|
||||
procedure TfrmOptions.btnCancelClick(Sender: TObject);
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ type
|
|||
class function GetIconIndex: Integer; override;
|
||||
class function GetTitle: String; override;
|
||||
destructor Destroy; override;
|
||||
function CanWeClose: boolean; override;
|
||||
function CanWeClose(var WillNeedUpdateWindowView:boolean): boolean; override;
|
||||
procedure SubmitToAddOrConfigToHotDirDlg(paramActionDispatcher,paramPath,paramTarget,paramOptionalIndex: string);
|
||||
end;
|
||||
|
||||
|
|
@ -288,7 +288,7 @@ begin
|
|||
end;
|
||||
|
||||
{ TfrmOptionsDirectoryHotlist.CanWeClose }
|
||||
function TfrmOptionsDirectoryHotlist.CanWeClose: boolean;
|
||||
function TfrmOptionsDirectoryHotlist.CanWeClose(var WillNeedUpdateWindowView:boolean): boolean;
|
||||
var
|
||||
Answer:TMyMsgResult;
|
||||
begin
|
||||
|
|
|
|||
|
|
@ -1,3 +1,25 @@
|
|||
{
|
||||
Double Commander
|
||||
-------------------------------------------------------------------------
|
||||
Options frame page
|
||||
|
||||
Copyright (C) 2006-2014 Koblov Alexander (Alexx2000@mail.ru)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
}
|
||||
|
||||
unit fOptionsFrame;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
|
@ -50,7 +72,7 @@ type
|
|||
procedure Init(AParent: TWinControl;
|
||||
AOptionsDialog: IOptionsDialog;
|
||||
Flags: TOptionsEditorInitFlags);
|
||||
function CanWeClose:boolean; virtual;
|
||||
function CanWeClose(var WillNeedUpdateWindowView:boolean):boolean; virtual;
|
||||
end;
|
||||
|
||||
{ TOptionsEditorRec }
|
||||
|
|
@ -115,6 +137,7 @@ uses
|
|||
fOptionsTerminal,
|
||||
fOptionsToolbar,
|
||||
fOptionsTools,
|
||||
fOptionsToolsDiffer,
|
||||
fOptionsEditorColors,
|
||||
fOptionsToolTips,
|
||||
fOptionsDirectoryHotlist;
|
||||
|
|
@ -165,7 +188,7 @@ begin
|
|||
// Empty.
|
||||
end;
|
||||
|
||||
function TOptionsEditor.CanWeClose:boolean;
|
||||
function TOptionsEditor.CanWeClose(var WillNeedUpdateWindowView:boolean): boolean;
|
||||
begin
|
||||
result:=TRUE;
|
||||
end;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
-------------------------------------------------------------------------
|
||||
Tools options page
|
||||
|
||||
Copyright (C) 2006-2011 Koblov Alexander (Alexx2000@mail.ru)
|
||||
Copyright (C) 2006-2014 Koblov Alexander (Alexx2000@mail.ru)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -64,17 +64,6 @@ type
|
|||
class function GetTitle: String; override;
|
||||
end;
|
||||
|
||||
{ TfrmOptionsDiffer }
|
||||
|
||||
TfrmOptionsDiffer = class(TfrmOptionsToolBase)
|
||||
protected
|
||||
procedure Init; override;
|
||||
public
|
||||
constructor Create(TheOwner: TComponent); override;
|
||||
class function GetIconIndex: Integer; override;
|
||||
class function GetTitle: String; override;
|
||||
end;
|
||||
|
||||
{ TfrmOptionsEditor }
|
||||
|
||||
TfrmOptionsEditor = class(TfrmOptionsToolBase)
|
||||
|
|
@ -216,29 +205,5 @@ begin
|
|||
Result := rsToolEditor;
|
||||
end;
|
||||
|
||||
{ TfrmOptionsDiffer }
|
||||
|
||||
procedure TfrmOptionsDiffer.Init;
|
||||
begin
|
||||
ExternalTool := etDiffer;
|
||||
inherited Init;
|
||||
end;
|
||||
|
||||
constructor TfrmOptionsDiffer.Create(TheOwner: TComponent);
|
||||
begin
|
||||
inherited Create(TheOwner);
|
||||
Name := 'frmOptionsDiffer';
|
||||
end;
|
||||
|
||||
class function TfrmOptionsDiffer.GetIconIndex: Integer;
|
||||
begin
|
||||
Result := 25;
|
||||
end;
|
||||
|
||||
class function TfrmOptionsDiffer.GetTitle: String;
|
||||
begin
|
||||
Result := rsToolDiffer;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
|
|
|||
66
src/frames/foptionstoolsdiffer.lfm
Normal file
66
src/frames/foptionstoolsdiffer.lfm
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
inherited frmOptionsDiffer: TfrmOptionsDiffer
|
||||
Height = 478
|
||||
Width = 586
|
||||
ClientHeight = 478
|
||||
ClientWidth = 586
|
||||
DesignLeft = 377
|
||||
DesignTop = 160
|
||||
inherited edtToolsParameters: TEdit
|
||||
Top = 113
|
||||
end
|
||||
inherited fneToolsPath: TFileNameEdit
|
||||
Top = 61
|
||||
end
|
||||
inherited lblToolsPath: TLabel
|
||||
Height = 15
|
||||
Width = 144
|
||||
end
|
||||
inherited lblToolsParameters: TLabel
|
||||
Height = 15
|
||||
Top = 94
|
||||
Width = 117
|
||||
end
|
||||
inherited cbToolsKeepTerminalOpen: TCheckBox
|
||||
Top = 169
|
||||
end
|
||||
inherited cbToolsRunInTerminal: TCheckBox
|
||||
Top = 148
|
||||
end
|
||||
inherited btnRelativeToolPath: TSpeedButton
|
||||
Top = 61
|
||||
end
|
||||
object rgResultingFramePositionAfterCompare: TRadioGroup[8]
|
||||
AnchorSideLeft.Control = edtToolsParameters
|
||||
AnchorSideTop.Control = cbToolsKeepTerminalOpen
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = edtToolsParameters
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 65
|
||||
Top = 200
|
||||
Width = 571
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
AutoFill = True
|
||||
BorderSpacing.Top = 12
|
||||
Caption = 'Position of frame panel after the comparison:'
|
||||
ChildSizing.LeftRightSpacing = 6
|
||||
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ChildSizing.ControlsPerLine = 1
|
||||
ClientHeight = 47
|
||||
ClientWidth = 567
|
||||
ItemIndex = 0
|
||||
Items.Strings = (
|
||||
'Active frame panel on left, inactive on right (legacy)'
|
||||
'Left frame panel on left, right on right'
|
||||
)
|
||||
TabOrder = 5
|
||||
end
|
||||
inherited pmPathHelper: TPopupMenu[9]
|
||||
left = 464
|
||||
top = 8
|
||||
end
|
||||
end
|
||||
1
src/frames/foptionstoolsdiffer.lrt
Normal file
1
src/frames/foptionstoolsdiffer.lrt
Normal file
|
|
@ -0,0 +1 @@
|
|||
TFRMOPTIONSDIFFER.RGRESULTINGFRAMEPOSITIONAFTERCOMPARE.CAPTION=Position of frame panel after the comparison:
|
||||
86
src/frames/foptionstoolsdiffer.pas
Normal file
86
src/frames/foptionstoolsdiffer.pas
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
{
|
||||
Double Commander
|
||||
-------------------------------------------------------------------------
|
||||
Tools options page for the differ tool
|
||||
|
||||
Copyright (C) 2006-2014 Koblov Alexander (Alexx2000@mail.ru)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
}
|
||||
|
||||
unit fOptionsToolsDiffer;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, StdCtrls, Spin, ExtCtrls, ColorBox, Dialogs, EditBtn,
|
||||
Buttons, Menus, Types, fOptionsFrame, fOptionsToolBase;
|
||||
|
||||
type
|
||||
|
||||
{ TfrmOptionsDiffer }
|
||||
|
||||
TfrmOptionsDiffer = class(TfrmOptionsToolBase)
|
||||
rgResultingFramePositionAfterCompare: TRadioGroup;
|
||||
protected
|
||||
procedure Init; override;
|
||||
procedure Load; override;
|
||||
function Save: TOptionsEditorSaveFlags; override;
|
||||
public
|
||||
class function GetIconIndex: Integer; override;
|
||||
class function GetTitle: String; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
uses
|
||||
uDCUtils, uGlobs, uLng;
|
||||
|
||||
{ TfrmOptionsDiffer }
|
||||
|
||||
procedure TfrmOptionsDiffer.Init;
|
||||
begin
|
||||
ExternalTool := etDiffer;
|
||||
inherited Init;
|
||||
end;
|
||||
|
||||
procedure TfrmOptionsDiffer.Load;
|
||||
begin
|
||||
inherited;
|
||||
rgResultingFramePositionAfterCompare.ItemIndex := Integer(gResultingFramePositionAfterCompare);
|
||||
end;
|
||||
|
||||
function TfrmOptionsDiffer.Save: TOptionsEditorSaveFlags;
|
||||
begin
|
||||
Result := inherited;
|
||||
gResultingFramePositionAfterCompare := TResultingFramePositionAfterCompare(rgResultingFramePositionAfterCompare.ItemIndex);
|
||||
end;
|
||||
|
||||
class function TfrmOptionsDiffer.GetIconIndex: Integer;
|
||||
begin
|
||||
Result := 25;
|
||||
end;
|
||||
|
||||
class function TfrmOptionsDiffer.GetTitle: String;
|
||||
begin
|
||||
Result := rsToolDiffer;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
|
@ -75,6 +75,7 @@ type
|
|||
KeepTerminalOpen: Boolean;
|
||||
end;
|
||||
TExternalToolsOptions = array[TExternalTool] of TExternalToolOptions;
|
||||
TResultingFramePositionAfterCompare = (rfpacActiveOnLeft, rfpacLeftOnLeft);
|
||||
|
||||
TDCFont = (dcfMain, dcfViewer, dcfEditor, dcfLog, dcfViewerBook);
|
||||
TDCFontOptions = record
|
||||
|
|
@ -220,6 +221,7 @@ var
|
|||
{ Tools page }
|
||||
gExternalTools: TExternalToolsOptions;
|
||||
|
||||
gResultingFramePositionAfterCompare:TResultingFramePositionAfterCompare;
|
||||
gLuaLib:String;
|
||||
gExts:TExts;
|
||||
gColorExt:TColorExt;
|
||||
|
|
@ -526,30 +528,30 @@ begin
|
|||
Result := True;
|
||||
end;
|
||||
|
||||
function LoadGlobalConfig(var ErrorMessage: String): Boolean;
|
||||
function LoadGlobalConfig(var {%H-}ErrorMessage: String): Boolean;
|
||||
begin
|
||||
Result := gConfig.Load;
|
||||
end;
|
||||
|
||||
function LoadExtsConfig(var ErrorMessage: String): Boolean;
|
||||
function LoadExtsConfig(var {%H-}ErrorMessage: String): Boolean;
|
||||
begin
|
||||
gExts.LoadFromFile(gpCfgDir + 'doublecmd.ext');
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
function LoadHotManConfig(var ErrorMessage: String): Boolean;
|
||||
function LoadHotManConfig(var {%H-}ErrorMessage: String): Boolean;
|
||||
begin
|
||||
HotMan.Load(gpCfgDir + gNameSCFile);
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
function LoadMultiArcConfig(var ErrorMessage: String): Boolean;
|
||||
function LoadMultiArcConfig(var {%H-}ErrorMessage: String): Boolean;
|
||||
begin
|
||||
gMultiArcList.LoadFromFile(gpCfgDir + 'multiarc.ini');
|
||||
Result := True;
|
||||
end;
|
||||
|
||||
function LoadHistoryConfig(var ErrorMessage: String): Boolean;
|
||||
function LoadHistoryConfig(var {%H-}ErrorMessage: String): Boolean;
|
||||
var
|
||||
Root: TXmlNode;
|
||||
History: TXmlConfig;
|
||||
|
|
@ -1040,6 +1042,9 @@ begin
|
|||
SetDefaultExternalTool(gExternalTools[etEditor]);
|
||||
SetDefaultExternalTool(gExternalTools[etDiffer]);
|
||||
|
||||
{ Differ related}
|
||||
gResultingFramePositionAfterCompare := rfpacActiveOnLeft;
|
||||
|
||||
{ Fonts page }
|
||||
gFonts[dcfMain].Name := 'default';
|
||||
gFonts[dcfMain].Size := 10;
|
||||
|
|
@ -1746,8 +1751,6 @@ var
|
|||
end;
|
||||
|
||||
procedure SaveIniConfig;
|
||||
var
|
||||
I: LongInt;
|
||||
begin
|
||||
{ Layout page }
|
||||
|
||||
|
|
@ -2011,6 +2014,11 @@ begin
|
|||
GetExtTool(gConfig.FindNode(Root, 'Tools/Editor'), gExternalTools[etEditor]);
|
||||
GetExtTool(gConfig.FindNode(Root, 'Tools/Differ'), gExternalTools[etDiffer]);
|
||||
|
||||
{ Differ related}
|
||||
Node := Root.FindNode('Tools');
|
||||
SubNode := FindNode(Node, 'Differ', TRUE);
|
||||
gResultingFramePositionAfterCompare := TResultingFramePositionAfterCompare(GetValue(SubNode, 'FramePosAfterComp', Integer(gResultingFramePositionAfterCompare)));
|
||||
|
||||
{ Fonts page }
|
||||
GetDCFont(gConfig.FindNode(Root, 'Fonts/Main'), gFonts[dcfMain]);
|
||||
GetDCFont(gConfig.FindNode(Root, 'Fonts/Editor'), gFonts[dcfEditor]);
|
||||
|
|
@ -2325,7 +2333,7 @@ begin
|
|||
gNameSCFile:= GetValue(Root, 'NameShortcutFile', gNameSCFile);
|
||||
gLastUsedPacker:= GetValue(Root, 'LastUsedPacker', gLastUsedPacker);
|
||||
gUseShellForFileOperations:= GetValue(Root, 'UseShellForFileOperations', gUseShellForFileOperations);
|
||||
end;
|
||||
end;
|
||||
|
||||
{ Search template list }
|
||||
gSearchTemplateList.LoadFromXml(gConfig, Root);
|
||||
|
|
@ -2365,7 +2373,6 @@ procedure SaveXmlConfig;
|
|||
gConfig.SetFont(Node, '', FontOptions.Name, FontOptions.Size, Integer(FontOptions.Style));
|
||||
end;
|
||||
var
|
||||
I: Integer;
|
||||
Root, Node, SubNode: TXmlNode;
|
||||
KeyTypingModifier: TKeyTypingModifier;
|
||||
begin
|
||||
|
|
@ -2418,6 +2425,11 @@ begin
|
|||
SetExtTool(gConfig.FindNode(Root, 'Tools/Editor', True), gExternalTools[etEditor]);
|
||||
SetExtTool(gConfig.FindNode(Root, 'Tools/Differ', True), gExternalTools[etDiffer]);
|
||||
|
||||
{ Differ related}
|
||||
Node := Root.FindNode('Tools');
|
||||
SubNode := FindNode(Node, 'Differ', TRUE);
|
||||
SetValue(SubNode, 'FramePosAfterComp', Integer(gResultingFramePositionAfterCompare));
|
||||
|
||||
{ Fonts page }
|
||||
SetDCFont(gConfig.FindNode(Root, 'Fonts/Main', True), gFonts[dcfMain]);
|
||||
SetDCFont(gConfig.FindNode(Root, 'Fonts/Editor', True), gFonts[dcfEditor]);
|
||||
|
|
@ -2636,7 +2648,7 @@ begin
|
|||
SetValue(Root, 'NameShortcutFile', gNameSCFile);
|
||||
SetValue(Root, 'LastUsedPacker', gLastUsedPacker);
|
||||
SetValue(Root, 'UseShellForFileOperations', gUseShellForFileOperations);
|
||||
end;
|
||||
end;
|
||||
|
||||
{ Search template list }
|
||||
gSearchTemplateList.SaveToXml(gConfig, Root);
|
||||
|
|
|
|||
|
|
@ -2023,9 +2023,24 @@ var
|
|||
ActiveSelectedFiles: TFiles = nil;
|
||||
NotActiveSelectedFiles: TFiles = nil;
|
||||
Param: String;
|
||||
FrameThatWillBeOnLeftAfterCompare, FrameThatWillBeOnRightAfterCompare: TFileView;
|
||||
begin
|
||||
with frmMain do
|
||||
begin
|
||||
case gResultingFramePositionAfterCompare of
|
||||
rfpacActiveOnLeft:
|
||||
begin;
|
||||
FrameThatWillBeOnLeftAfterCompare:=ActiveFrame;
|
||||
FrameThatWillBeOnRightAfterCompare:=NotActiveFrame;
|
||||
end;
|
||||
|
||||
rfpacLeftOnLeft:
|
||||
begin
|
||||
FrameThatWillBeOnLeftAfterCompare:=FrameLeft;
|
||||
FrameThatWillBeOnRightAfterCompare:=FrameRight;
|
||||
end;
|
||||
end;
|
||||
|
||||
// For now work only for filesystem.
|
||||
// Later use temporary file system for other file sources.
|
||||
|
||||
|
|
@ -2042,37 +2057,37 @@ begin
|
|||
else
|
||||
begin
|
||||
// For now work only for filesystem.
|
||||
if not (ActiveFrame.FileSource.IsClass(TFileSystemFileSource)) then
|
||||
if not (FrameThatWillBeOnLeftAfterCompare.FileSource.IsClass(TFileSystemFileSource)) then
|
||||
begin
|
||||
msgWarning(rsMsgNotImplemented);
|
||||
Exit;
|
||||
end;
|
||||
|
||||
try
|
||||
ActiveSelectedFiles := ActiveFrame.CloneSelectedOrActiveFiles;
|
||||
ActiveSelectedFiles := FrameThatWillBeOnLeftAfterCompare.CloneSelectedOrActiveFiles;
|
||||
|
||||
if ActiveSelectedFiles.Count = 1 then
|
||||
begin
|
||||
// If no files selected in the opposite panel and panels have
|
||||
// different path then try to get file with the same name.
|
||||
if (not NotActiveFrame.HasSelectedFiles) and (not mbCompareFileNames(NotActiveFrame.CurrentPath, ActiveFrame.CurrentPath)) then
|
||||
if (not FrameThatWillBeOnRightAfterCompare.HasSelectedFiles) and (not mbCompareFileNames(FrameThatWillBeOnRightAfterCompare.CurrentPath, FrameThatWillBeOnLeftAfterCompare.CurrentPath)) then
|
||||
begin
|
||||
for i := 0 to NotActiveFrame.DisplayFiles.Count - 1 do
|
||||
if NotActiveFrame.DisplayFiles[i].FSFile.Name = ActiveSelectedFiles[0].Name then
|
||||
for i := 0 to FrameThatWillBeOnRightAfterCompare.DisplayFiles.Count - 1 do
|
||||
if FrameThatWillBeOnRightAfterCompare.DisplayFiles[i].FSFile.Name = ActiveSelectedFiles[0].Name then
|
||||
begin
|
||||
NotActiveSelectedFiles := TFiles.Create(NotActiveFrame.CurrentPath);
|
||||
NotActiveSelectedFiles.Add(NotActiveFrame.DisplayFiles[i].FSFile.Clone);
|
||||
NotActiveSelectedFiles := TFiles.Create(FrameThatWillBeOnRightAfterCompare.CurrentPath);
|
||||
NotActiveSelectedFiles.Add(FrameThatWillBeOnRightAfterCompare.DisplayFiles[i].FSFile.Clone);
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
|
||||
if not Assigned(NotActiveSelectedFiles) then
|
||||
NotActiveSelectedFiles := NotActiveFrame.CloneSelectedOrActiveFiles;
|
||||
NotActiveSelectedFiles := FrameThatWillBeOnRightAfterCompare.CloneSelectedOrActiveFiles;
|
||||
|
||||
if NotActiveSelectedFiles.Count = 1 then
|
||||
begin
|
||||
// For now work only for filesystem.
|
||||
if not (NotActiveFrame.FileSource.IsClass(TFileSystemFileSource)) then
|
||||
if not (FrameThatWillBeOnRightAfterCompare.FileSource.IsClass(TFileSystemFileSource)) then
|
||||
begin
|
||||
msgWarning(rsMsgNotImplemented);
|
||||
Exit;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue