mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 10:39:18 +02:00
Merged revision(s) 56058 #648e0fd02c, 56068-56069 #0f43b7c709-#0f43b7c709, 56082 #e05552a178 from trunk:
Package editor: Fix moving dependencies up/down. Use the display name for searching. Issue #32546. ........ Package editor: Update the view after modifying dependent package parameters. Issue #32546. ........ Package editor: Refactoring. ........ Package editor: Update the image for dependent package after modifying min/max version. Issue #32546. ........ git-svn-id: branches/fixes_1_8@56089 -
This commit is contained in:
parent
0f7b690083
commit
682a2912bd
@ -317,6 +317,7 @@ type
|
|||||||
FShowDirectoryHierarchy: boolean;
|
FShowDirectoryHierarchy: boolean;
|
||||||
FSortAlphabetically: boolean;
|
FSortAlphabetically: boolean;
|
||||||
FDirSummaryLabel: TLabel;
|
FDirSummaryLabel: TLabel;
|
||||||
|
FSingleSelectedNode: TTreeNode;
|
||||||
FSingleSelectedFile: TPkgFile;
|
FSingleSelectedFile: TPkgFile;
|
||||||
FSingleSelectedDep: TPkgDependency;
|
FSingleSelectedDep: TPkgDependency;
|
||||||
FFirstNodeData: array[TPENodeType] of TPENodeData;
|
FFirstNodeData: array[TPENodeType] of TPENodeData;
|
||||||
@ -325,6 +326,7 @@ type
|
|||||||
procedure DoAddNewFile(NewItem: TNewIDEItemTemplate);
|
procedure DoAddNewFile(NewItem: TNewIDEItemTemplate);
|
||||||
procedure FreeNodeData(Typ: TPENodeType);
|
procedure FreeNodeData(Typ: TPENodeType);
|
||||||
function CreateNodeData(Typ: TPENodeType; aName: string; aRemoved: boolean): TPENodeData;
|
function CreateNodeData(Typ: TPENodeType; aName: string; aRemoved: boolean): TPENodeData;
|
||||||
|
function GetSingleSelectedDep: TPkgDependency;
|
||||||
procedure SetDependencyDefaultFilename(AsPreferred: boolean);
|
procedure SetDependencyDefaultFilename(AsPreferred: boolean);
|
||||||
procedure SetIdleConnected(AValue: boolean);
|
procedure SetIdleConnected(AValue: boolean);
|
||||||
procedure SetShowDirectoryHierarchy(const AValue: boolean);
|
procedure SetShowDirectoryHierarchy(const AValue: boolean);
|
||||||
@ -332,7 +334,8 @@ type
|
|||||||
procedure SetupComponents;
|
procedure SetupComponents;
|
||||||
function OnTreeViewGetImageIndex({%H-}Str: String; Data: TObject; var {%H-}AIsEnabled: Boolean): Integer;
|
function OnTreeViewGetImageIndex({%H-}Str: String; Data: TObject; var {%H-}AIsEnabled: Boolean): Integer;
|
||||||
procedure ShowAddDialogEx(AType: TAddToPkgType);
|
procedure ShowAddDialogEx(AType: TAddToPkgType);
|
||||||
procedure UpdateNodeImage(TVNode: TTreeNode; NodeData: TPENodeData);
|
procedure UpdateNodeImage(TVNode: TTreeNode);
|
||||||
|
procedure UpdateNodeImage(TVNode: TTreeNode; NodeData: TPENodeData; Item: TObject);
|
||||||
procedure UpdatePending;
|
procedure UpdatePending;
|
||||||
function CanUpdate(Flag: TPEFlag; Immediately: boolean): boolean;
|
function CanUpdate(Flag: TPEFlag; Immediately: boolean): boolean;
|
||||||
procedure UpdateTitle(Immediately: boolean = false);
|
procedure UpdateTitle(Immediately: boolean = false);
|
||||||
@ -631,13 +634,29 @@ begin
|
|||||||
PkgEditMenuViewPackageSource:=RegisterIDEMenuCommand(AParent,'View Package Source',lisPckEditViewPackageSource);
|
PkgEditMenuViewPackageSource:=RegisterIDEMenuCommand(AParent,'View Package Source',lisPckEditViewPackageSource);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function DependencyAsString(ADependency: TPkgDependency): string;
|
||||||
|
// A display text for a dependency including min/max versions + other info.
|
||||||
|
// ToDo: Modify Dependency.AsString output to replace this function,
|
||||||
|
// or create a new method for the task.
|
||||||
|
var
|
||||||
|
aFilename: String;
|
||||||
|
begin
|
||||||
|
Result:=ADependency.AsString;
|
||||||
|
if ADependency.DefaultFilename<>'' then begin
|
||||||
|
aFilename:=ADependency.MakeFilenameRelativeToOwner(ADependency.DefaultFilename);
|
||||||
|
if ADependency.PreferDefaultFilename then
|
||||||
|
Result:=Result+' in '+aFilename // like the 'in' keyword in uses section
|
||||||
|
else
|
||||||
|
Result:=Format(lisPckEditDefault, [Result, aFilename]);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
{ TPENodeData }
|
{ TPENodeData }
|
||||||
|
|
||||||
constructor TPENodeData.Create(aTyp: TPENodeType; aName: string;
|
constructor TPENodeData.Create(aTyp: TPENodeType; aName: string; aRemoved: boolean);
|
||||||
aRemoved: boolean);
|
|
||||||
begin
|
begin
|
||||||
Typ:=aTyp;
|
Typ:=aTyp;
|
||||||
Name:=aName;;
|
Name:=aName;
|
||||||
Removed:=aRemoved;
|
Removed:=aRemoved;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1405,7 +1424,7 @@ begin
|
|||||||
fForcedFlags:=fForcedFlags+[pefNeedUpdateRemovedFiles];
|
fForcedFlags:=fForcedFlags+[pefNeedUpdateRemovedFiles];
|
||||||
if PkgCount>0 then
|
if PkgCount>0 then
|
||||||
fForcedFlags:=fForcedFlags+[pefNeedUpdateRemovedFiles,pefNeedUpdateRequiredPkgs];
|
fForcedFlags:=fForcedFlags+[pefNeedUpdateRemovedFiles,pefNeedUpdateRequiredPkgs];
|
||||||
LazPackage.Modified:=True; // This will update also other possible editors.
|
LazPackage.Modified:=True;
|
||||||
|
|
||||||
finally
|
finally
|
||||||
EndUpdate;
|
EndUpdate;
|
||||||
@ -1659,9 +1678,8 @@ var
|
|||||||
Flags: TPkgDependencyFlags;
|
Flags: TPkgDependencyFlags;
|
||||||
MinVers, MaxVers: TPkgVersion;
|
MinVers, MaxVers: TPkgVersion;
|
||||||
begin
|
begin
|
||||||
if LazPackage=nil then exit;
|
if (LazPackage=nil) or (FSingleSelectedNode=nil) or (FSingleSelectedDep=nil)
|
||||||
if FSingleSelectedDep=nil then exit;
|
or (LazPackage.FindDependencyByName(FSingleSelectedDep.PackageName)<>FSingleSelectedDep)
|
||||||
if LazPackage.FindDependencyByName(FSingleSelectedDep.PackageName)<>FSingleSelectedDep
|
|
||||||
then exit;
|
then exit;
|
||||||
|
|
||||||
MinVers:=TPkgVersion.Create;
|
MinVers:=TPkgVersion.Create;
|
||||||
@ -1704,7 +1722,10 @@ begin
|
|||||||
FSingleSelectedDep.Flags := Flags;
|
FSingleSelectedDep.Flags := Flags;
|
||||||
FSingleSelectedDep.MinVersion.Assign(MinVers);
|
FSingleSelectedDep.MinVersion.Assign(MinVers);
|
||||||
FSingleSelectedDep.MaxVersion.Assign(MaxVers);
|
FSingleSelectedDep.MaxVersion.Assign(MaxVers);
|
||||||
LazPackage.ModifySilently;
|
|
||||||
|
UpdateNodeImage(FSingleSelectedNode);
|
||||||
|
//fForcedFlags:=[pefNeedUpdateRequiredPkgs];
|
||||||
|
LazPackage.Modified:=True;
|
||||||
finally
|
finally
|
||||||
MaxVers.Free;
|
MaxVers.Free;
|
||||||
MinVers.Free;
|
MinVers.Free;
|
||||||
@ -1730,7 +1751,7 @@ begin
|
|||||||
CurFile.HasRegisterProc:=CallRegisterProcCheckBox.Checked;
|
CurFile.HasRegisterProc:=CallRegisterProcCheckBox.Checked;
|
||||||
if not NodeData.Removed then
|
if not NodeData.Removed then
|
||||||
LazPackage.ModifySilently;
|
LazPackage.ModifySilently;
|
||||||
UpdateNodeImage(TVNode, NodeData);
|
UpdateNodeImage(TVNode, NodeData, Item);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -2303,13 +2324,31 @@ begin
|
|||||||
Caption:=NewCaption;
|
Caption:=NewCaption;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPackageEditorForm.UpdateNodeImage(TVNode: TTreeNode; NodeData: TPENodeData);
|
procedure TPackageEditorForm.UpdateNodeImage(TVNode: TTreeNode);
|
||||||
var
|
var
|
||||||
ena: Boolean;
|
NodeData: TPENodeData;
|
||||||
ImgIndex: Integer;
|
Item: TObject;
|
||||||
begin
|
begin
|
||||||
ena := True; // String param is not used.
|
if GetNodeDataItem(TVNode, NodeData, Item) then
|
||||||
ImgIndex:=OnTreeViewGetImageIndex('', NodeData, ena);
|
UpdateNodeImage(TVNode, NodeData, Item);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TPackageEditorForm.UpdateNodeImage(TVNode: TTreeNode;
|
||||||
|
NodeData: TPENodeData; Item: TObject);
|
||||||
|
var
|
||||||
|
PkgDependency: TPkgDependency;
|
||||||
|
ImgIndex: Integer;
|
||||||
|
Ena: Boolean;
|
||||||
|
begin
|
||||||
|
Assert(Assigned(Item), 'TPackageEditorForm.UpdateNodeImage: Item = Nil.');
|
||||||
|
if Item is TPkgDependency then begin
|
||||||
|
PkgDependency:=TPkgDependency(Item);
|
||||||
|
// Try to load the package again. Min/max version may have changed.
|
||||||
|
PkgDependency.LoadPackageResult := lprUndefined;
|
||||||
|
PackageGraph.OpenDependency(PkgDependency, False);
|
||||||
|
end;
|
||||||
|
Ena := True; // Neither Ena nor the String param are used.
|
||||||
|
ImgIndex := OnTreeViewGetImageIndex('', NodeData, Ena);
|
||||||
TVNode.ImageIndex:=ImgIndex;
|
TVNode.ImageIndex:=ImgIndex;
|
||||||
TVNode.SelectedIndex:=ImgIndex;
|
TVNode.SelectedIndex:=ImgIndex;
|
||||||
end;
|
end;
|
||||||
@ -2523,7 +2562,7 @@ procedure TPackageEditorForm.UpdateRequiredPkgs(Immediately: boolean);
|
|||||||
var
|
var
|
||||||
CurDependency: TPkgDependency;
|
CurDependency: TPkgDependency;
|
||||||
RequiredBranch, RemovedBranch: TTreeFilterBranch;
|
RequiredBranch, RemovedBranch: TTreeFilterBranch;
|
||||||
CurNodeText, aFilename, OldFilter: String;
|
OldFilter: String;
|
||||||
NodeData: TPENodeData;
|
NodeData: TPENodeData;
|
||||||
begin
|
begin
|
||||||
if not CanUpdate(pefNeedUpdateRequiredPkgs,Immediately) then exit;
|
if not CanUpdate(pefNeedUpdateRequiredPkgs,Immediately) then exit;
|
||||||
@ -2537,20 +2576,12 @@ begin
|
|||||||
CurDependency:=LazPackage.FirstRequiredDependency;
|
CurDependency:=LazPackage.FirstRequiredDependency;
|
||||||
FilterEdit.SelectedPart:=nil;
|
FilterEdit.SelectedPart:=nil;
|
||||||
while CurDependency<>nil do begin
|
while CurDependency<>nil do begin
|
||||||
CurNodeText:=CurDependency.AsString;
|
|
||||||
if CurDependency.DefaultFilename<>'' then begin
|
|
||||||
aFilename:=CurDependency.MakeFilenameRelativeToOwner(CurDependency.DefaultFilename);
|
|
||||||
if CurDependency.PreferDefaultFilename then
|
|
||||||
CurNodeText:=CurNodeText+' in '+aFilename // like the 'in' keyword in uses section
|
|
||||||
else
|
|
||||||
CurNodeText:=Format(lisPckEditDefault, [CurNodeText, aFilename]);
|
|
||||||
end;
|
|
||||||
NodeData:=CreateNodeData(penDependency,CurDependency.PackageName,false);
|
NodeData:=CreateNodeData(penDependency,CurDependency.PackageName,false);
|
||||||
if (FNextSelectedPart<>nil) and (FNextSelectedPart.Typ=penDependency)
|
if (FNextSelectedPart<>nil) and (FNextSelectedPart.Typ=penDependency)
|
||||||
and (FNextSelectedPart.Name=NodeData.Name)
|
and (FNextSelectedPart.Name=NodeData.Name)
|
||||||
then
|
then
|
||||||
FilterEdit.SelectedPart:=NodeData;
|
FilterEdit.SelectedPart:=NodeData;
|
||||||
RequiredBranch.AddNodeData(CurNodeText, NodeData);
|
RequiredBranch.AddNodeData(DependencyAsString(CurDependency), NodeData);
|
||||||
CurDependency:=CurDependency.NextRequiresDependency;
|
CurDependency:=CurDependency.NextRequiresDependency;
|
||||||
end;
|
end;
|
||||||
if (FNextSelectedPart<>nil) and (FNextSelectedPart.Typ=penDependency) then
|
if (FNextSelectedPart<>nil) and (FNextSelectedPart.Typ=penDependency) then
|
||||||
@ -2569,7 +2600,7 @@ begin
|
|||||||
RemovedBranch.ClearNodeData;
|
RemovedBranch.ClearNodeData;
|
||||||
while CurDependency<>nil do begin
|
while CurDependency<>nil do begin
|
||||||
NodeData:=CreateNodeData(penDependency,CurDependency.PackageName,true);
|
NodeData:=CreateNodeData(penDependency,CurDependency.PackageName,true);
|
||||||
RemovedBranch.AddNodeData(CurDependency.AsString, NodeData);
|
RemovedBranch.AddNodeData(DependencyAsString(CurDependency), NodeData);
|
||||||
CurDependency:=CurDependency.NextRequiresDependency;
|
CurDependency:=CurDependency.NextRequiresDependency;
|
||||||
end;
|
end;
|
||||||
RemovedBranch.InvalidateBranch;
|
RemovedBranch.InvalidateBranch;
|
||||||
@ -2646,7 +2677,6 @@ var
|
|||||||
TVNode: TTreeNode;
|
TVNode: TTreeNode;
|
||||||
SingleSelectedDirectory: TTreeNode;
|
SingleSelectedDirectory: TTreeNode;
|
||||||
SingleSelectedRemoved: Boolean;
|
SingleSelectedRemoved: Boolean;
|
||||||
SingleSelected: TTreeNode;
|
|
||||||
FileCount: integer;
|
FileCount: integer;
|
||||||
HasRegisterProcCount: integer;
|
HasRegisterProcCount: integer;
|
||||||
AddToUsesPkgSectionCount: integer;
|
AddToUsesPkgSectionCount: integer;
|
||||||
@ -2656,11 +2686,11 @@ begin
|
|||||||
FPlugins.Clear;
|
FPlugins.Clear;
|
||||||
|
|
||||||
// check selection
|
// check selection
|
||||||
|
FSingleSelectedNode:=nil;
|
||||||
FSingleSelectedDep:=nil;
|
FSingleSelectedDep:=nil;
|
||||||
FSingleSelectedFile:=nil;
|
FSingleSelectedFile:=nil;
|
||||||
SingleSelectedDirectory:=nil;
|
SingleSelectedDirectory:=nil;
|
||||||
SingleSelectedRemoved:=false;
|
SingleSelectedRemoved:=false;
|
||||||
SingleSelected:=nil;
|
|
||||||
SelFileCount:=0;
|
SelFileCount:=0;
|
||||||
SelDepCount:=0;
|
SelDepCount:=0;
|
||||||
SelHasRegisterProc:=mubNone;
|
SelHasRegisterProc:=mubNone;
|
||||||
@ -2676,7 +2706,7 @@ begin
|
|||||||
CurFile:=TPkgFile(Item);
|
CurFile:=TPkgFile(Item);
|
||||||
inc(SelFileCount);
|
inc(SelFileCount);
|
||||||
FSingleSelectedFile:=CurFile;
|
FSingleSelectedFile:=CurFile;
|
||||||
SingleSelected:=TVNode;
|
FSingleSelectedNode:=TVNode;
|
||||||
SingleSelectedRemoved:=NodeData.Removed;
|
SingleSelectedRemoved:=NodeData.Removed;
|
||||||
MergeMultiBool(SelHasRegisterProc,CurFile.HasRegisterProc);
|
MergeMultiBool(SelHasRegisterProc,CurFile.HasRegisterProc);
|
||||||
if CurFile.FileType in PkgFileUnitTypes then begin
|
if CurFile.FileType in PkgFileUnitTypes then begin
|
||||||
@ -2703,13 +2733,13 @@ begin
|
|||||||
inc(SelDepCount);
|
inc(SelDepCount);
|
||||||
CurDependency:=TPkgDependency(Item);
|
CurDependency:=TPkgDependency(Item);
|
||||||
FSingleSelectedDep:=CurDependency;
|
FSingleSelectedDep:=CurDependency;
|
||||||
SingleSelected:=TVNode;
|
FSingleSelectedNode:=TVNode;
|
||||||
SingleSelectedRemoved:=NodeData.Removed;
|
SingleSelectedRemoved:=NodeData.Removed;
|
||||||
end;
|
end;
|
||||||
end else if IsDirectoryNode(TVNode) or (TVNode=FFilesNode) then begin
|
end else if IsDirectoryNode(TVNode) or (TVNode=FFilesNode) then begin
|
||||||
inc(SelDirCount);
|
inc(SelDirCount);
|
||||||
SingleSelectedDirectory:=TVNode;
|
SingleSelectedDirectory:=TVNode;
|
||||||
SingleSelected:=TVNode;
|
FSingleSelectedNode:=TVNode;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -2718,7 +2748,7 @@ begin
|
|||||||
FSingleSelectedFile:=nil;
|
FSingleSelectedFile:=nil;
|
||||||
FSingleSelectedDep:=nil;
|
FSingleSelectedDep:=nil;
|
||||||
SingleSelectedDirectory:=nil;
|
SingleSelectedDirectory:=nil;
|
||||||
SingleSelected:=nil;
|
FSingleSelectedNode:=nil;
|
||||||
end;
|
end;
|
||||||
OnlyFilesSelected:=(SelFileCount>0) and (SelDepCount=0) and (SelDirCount=0);
|
OnlyFilesSelected:=(SelFileCount>0) and (SelDepCount=0) and (SelDirCount=0);
|
||||||
OnlyFilesWithUnitsSelected:=OnlyFilesSelected and (SelUnitCount>0);
|
OnlyFilesWithUnitsSelected:=OnlyFilesSelected and (SelUnitCount>0);
|
||||||
@ -2731,8 +2761,8 @@ begin
|
|||||||
// move up/down (only single selection)
|
// move up/down (only single selection)
|
||||||
aVisible:=(not (SortAlphabetically or SingleSelectedRemoved))
|
aVisible:=(not (SortAlphabetically or SingleSelectedRemoved))
|
||||||
and ((FSingleSelectedFile<>nil) or (FSingleSelectedDep<>nil));
|
and ((FSingleSelectedFile<>nil) or (FSingleSelectedDep<>nil));
|
||||||
MoveUpBtn.Enabled :=aVisible and Assigned(SingleSelected.GetPrevVisibleSibling);
|
MoveUpBtn.Enabled :=aVisible and Assigned(FSingleSelectedNode.GetPrevVisibleSibling);
|
||||||
MoveDownBtn.Enabled:=aVisible and Assigned(SingleSelected.GetNextVisibleSibling);
|
MoveDownBtn.Enabled:=aVisible and Assigned(FSingleSelectedNode.GetNextVisibleSibling);
|
||||||
|
|
||||||
// Min/Max version of dependency (only single selection)
|
// Min/Max version of dependency (only single selection)
|
||||||
aVisible:=FSingleSelectedDep<>nil;
|
aVisible:=FSingleSelectedDep<>nil;
|
||||||
@ -2798,33 +2828,37 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPackageEditorForm.UpdateApplyDependencyButton(Immediately: boolean);
|
function TPackageEditorForm.GetSingleSelectedDep: TPkgDependency;
|
||||||
var
|
var
|
||||||
DependencyChanged: Boolean;
|
|
||||||
AVersion: TPkgVersion;
|
|
||||||
i: Integer;
|
i: Integer;
|
||||||
TVNode: TTreeNode;
|
TVNode: TTreeNode;
|
||||||
NodeData: TPENodeData;
|
NodeData: TPENodeData;
|
||||||
Item: TObject;
|
Item: TObject;
|
||||||
begin
|
begin
|
||||||
if not CanUpdate(pefNeedUpdateApplyDependencyButton,Immediately) then exit;
|
Result:=nil;
|
||||||
|
|
||||||
FSingleSelectedDep:=nil;
|
|
||||||
for i:=0 to ItemsTreeView.SelectionCount-1 do begin
|
for i:=0 to ItemsTreeView.SelectionCount-1 do begin
|
||||||
TVNode:=ItemsTreeView.Selections[i];
|
TVNode:=ItemsTreeView.Selections[i];
|
||||||
if not GetNodeDataItem(TVNode,NodeData,Item) then continue;
|
if not GetNodeDataItem(TVNode,NodeData,Item) then continue;
|
||||||
if Item is TPkgFile then begin
|
if Item is TPkgFile then begin
|
||||||
FSingleSelectedDep:=nil;
|
Result:=nil;
|
||||||
break;
|
break;
|
||||||
end else if Item is TPkgDependency then begin
|
end else if Item is TPkgDependency then begin
|
||||||
if FSingleSelectedDep<>nil then begin
|
if Result<>nil then begin
|
||||||
FSingleSelectedDep:=nil;
|
Result:=nil;
|
||||||
break;
|
break;
|
||||||
end;
|
end;
|
||||||
FSingleSelectedDep:=TPkgDependency(Item);
|
Result:=TPkgDependency(Item);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TPackageEditorForm.UpdateApplyDependencyButton(Immediately: boolean);
|
||||||
|
var
|
||||||
|
DependencyChanged: Boolean;
|
||||||
|
AVersion: TPkgVersion;
|
||||||
|
begin
|
||||||
|
if not CanUpdate(pefNeedUpdateApplyDependencyButton,Immediately) then exit;
|
||||||
|
FSingleSelectedDep:=GetSingleSelectedDep;
|
||||||
DependencyChanged:=false;
|
DependencyChanged:=false;
|
||||||
if (FSingleSelectedDep<>nil) then begin
|
if (FSingleSelectedDep<>nil) then begin
|
||||||
// check min version
|
// check min version
|
||||||
@ -3257,8 +3291,9 @@ begin
|
|||||||
if not Moved then exit;
|
if not Moved then exit;
|
||||||
LazPackage.ModifySilently;
|
LazPackage.ModifySilently;
|
||||||
RequiredBranch:=FilterEdit.GetExistingBranch(FRequiredPackagesNode);
|
RequiredBranch:=FilterEdit.GetExistingBranch(FRequiredPackagesNode);
|
||||||
OldIndex:=RequiredBranch.Items.IndexOf(FSingleSelectedDep.PackageName);
|
OldIndex:=RequiredBranch.Items.IndexOf(DependencyAsString(FSingleSelectedDep));
|
||||||
Assert(OldIndex<>-1, 'TPackageEditorForm.DoMoveDependency: "'+FSingleSelectedDep.PackageName+'" not found in FilterBranch.');
|
Assert(OldIndex<>-1, 'TPackageEditorForm.DoMoveDependency: "' +
|
||||||
|
DependencyAsString(FSingleSelectedDep)+'" not found in FilterBranch.');
|
||||||
NewIndex:=OldIndex+Offset;
|
NewIndex:=OldIndex+Offset;
|
||||||
RequiredBranch.Move(OldIndex,NewIndex);
|
RequiredBranch.Move(OldIndex,NewIndex);
|
||||||
UpdatePEProperties;
|
UpdatePEProperties;
|
||||||
|
Loading…
Reference in New Issue
Block a user