mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-22 05:21:25 +02:00
IDE: Sort Required Packages in Package Manager and Project Manager, issue #20862
git-svn-id: trunk@34533 -
This commit is contained in:
parent
f1899978ae
commit
7c15632972
@ -607,12 +607,20 @@ end;
|
|||||||
function TProjectInspectorForm.ChooseImageIndex(Str: String; Data: TObject;
|
function TProjectInspectorForm.ChooseImageIndex(Str: String; Data: TObject;
|
||||||
var AIsEnabled: Boolean): Integer;
|
var AIsEnabled: Boolean): Integer;
|
||||||
begin
|
begin
|
||||||
if FilenameIsPascalUnit((Data as TUnitInfo).Filename) then
|
if Data is TUnitInfo then begin
|
||||||
Result:=ImageIndexUnit
|
if FilenameIsPascalUnit(TUnitInfo(Data).Filename) then
|
||||||
else if (LazProject<>nil) and (LazProject.MainUnitinfo=Data) then
|
Result:=ImageIndexUnit
|
||||||
Result:=ImageIndexProject
|
else if (LazProject<>nil) and (LazProject.MainUnitinfo=Data) then
|
||||||
else
|
Result:=ImageIndexProject
|
||||||
Result:=ImageIndexText;
|
else
|
||||||
|
Result:=ImageIndexText;
|
||||||
|
end
|
||||||
|
else if Data is TPkgDependency then begin
|
||||||
|
if TPkgDependency(Data).LoadPackageResult=lprSuccess then
|
||||||
|
Result:=ImageIndexRequired
|
||||||
|
else
|
||||||
|
Result:=ImageIndexConflict;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TProjectInspectorForm.UpdateProjectFiles(Immediately: boolean);
|
procedure TProjectInspectorForm.UpdateProjectFiles(Immediately: boolean);
|
||||||
@ -650,11 +658,11 @@ var
|
|||||||
NodeText, AFilename: String;
|
NodeText, AFilename: String;
|
||||||
CurNode: TTreeNode;
|
CurNode: TTreeNode;
|
||||||
NextNode: TTreeNode;
|
NextNode: TTreeNode;
|
||||||
|
FilteredBranch: TBranch;
|
||||||
begin
|
begin
|
||||||
ItemsTreeView.BeginUpdate;
|
FilteredBranch := FilterEdit.GetBranch(DependenciesNode);
|
||||||
if LazProject<>nil then begin
|
if LazProject<>nil then begin
|
||||||
Dependency:=LazProject.FirstRequiredDependency;
|
Dependency:=LazProject.FirstRequiredDependency;
|
||||||
CurNode:=DependenciesNode.GetFirstChild;
|
|
||||||
while Dependency<>nil do begin
|
while Dependency<>nil do begin
|
||||||
NodeText:=Dependency.AsString;
|
NodeText:=Dependency.AsString;
|
||||||
if Dependency.DefaultFilename<>'' then begin
|
if Dependency.DefaultFilename<>'' then begin
|
||||||
@ -664,29 +672,13 @@ begin
|
|||||||
else
|
else
|
||||||
NodeText:=Format(lisPckEditDefault, [NodeText, AFilename]);
|
NodeText:=Format(lisPckEditDefault, [NodeText, AFilename]);
|
||||||
end;
|
end;
|
||||||
if CurNode=nil then
|
FilteredBranch.AddNodeData(NodeText, Dependency);
|
||||||
CurNode:=ItemsTreeView.Items.AddChild(DependenciesNode,NodeText)
|
|
||||||
else
|
|
||||||
CurNode.Text:=NodeText;
|
|
||||||
if Dependency.LoadPackageResult=lprSuccess then
|
|
||||||
CurNode.ImageIndex:=ImageIndexRequired
|
|
||||||
else
|
|
||||||
CurNode.ImageIndex:=ImageIndexConflict;
|
|
||||||
CurNode.SelectedIndex:=CurNode.ImageIndex;
|
|
||||||
Dependency:=Dependency.NextRequiresDependency;
|
Dependency:=Dependency.NextRequiresDependency;
|
||||||
CurNode:=CurNode.GetNextSibling;
|
|
||||||
end;
|
end;
|
||||||
while CurNode<>nil do begin
|
|
||||||
NextNode:=CurNode.GetNextSibling;
|
|
||||||
CurNode.Free;
|
|
||||||
CurNode:=NextNode;
|
|
||||||
end;
|
|
||||||
DependenciesNode.Expanded:=true;
|
|
||||||
end else begin
|
end else begin
|
||||||
// delete dependency nodes
|
// delete dependency nodes
|
||||||
DependenciesNode.HasChildren:=false;
|
DependenciesNode.HasChildren:=false;
|
||||||
end;
|
end;
|
||||||
ItemsTreeView.EndUpdate;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TProjectInspectorForm.UpdateRemovedRequiredPackages;
|
procedure TProjectInspectorForm.UpdateRemovedRequiredPackages;
|
||||||
|
@ -813,8 +813,7 @@ begin
|
|||||||
SetDependencyDefaultFilename(true);
|
SetDependencyDefaultFilename(true);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPackageEditorForm.ClearDependencyFilenameMenuItemClick(
|
procedure TPackageEditorForm.ClearDependencyFilenameMenuItemClick(Sender: TObject);
|
||||||
Sender: TObject);
|
|
||||||
var
|
var
|
||||||
Removed: boolean;
|
Removed: boolean;
|
||||||
CurDependency: TPkgDependency;
|
CurDependency: TPkgDependency;
|
||||||
@ -1612,20 +1611,28 @@ end;
|
|||||||
function TPackageEditorForm.ChooseImageIndex(Str: String; Data: TObject;
|
function TPackageEditorForm.ChooseImageIndex(Str: String; Data: TObject;
|
||||||
var AIsEnabled: Boolean): Integer;
|
var AIsEnabled: Boolean): Integer;
|
||||||
begin
|
begin
|
||||||
case TPkgFile(Data).FileType of
|
if Data is TPkgFile then begin
|
||||||
pftUnit,pftVirtualUnit,pftMainUnit:
|
case TPkgFile(Data).FileType of
|
||||||
if TPkgFile(Data).HasRegisterProc then
|
pftUnit,pftVirtualUnit,pftMainUnit:
|
||||||
Result:=ImageIndexRegisterUnit
|
if TPkgFile(Data).HasRegisterProc then
|
||||||
|
Result:=ImageIndexRegisterUnit
|
||||||
|
else
|
||||||
|
Result:=ImageIndexUnit;
|
||||||
|
pftLFM: Result:=ImageIndexLFM;
|
||||||
|
pftLRS: Result:=ImageIndexLRS;
|
||||||
|
pftInclude: Result:=ImageIndexInclude;
|
||||||
|
pftIssues: Result:=ImageIndexIssues;
|
||||||
|
pftText: Result:=ImageIndexText;
|
||||||
|
pftBinary: Result:=ImageIndexBinary;
|
||||||
else
|
else
|
||||||
Result:=ImageIndexUnit;
|
Result:=-1;
|
||||||
pftLFM: Result:=ImageIndexLFM;
|
end;
|
||||||
pftLRS: Result:=ImageIndexLRS;
|
end
|
||||||
pftInclude: Result:=ImageIndexInclude;
|
else if Data is TPkgDependency then begin
|
||||||
pftIssues: Result:=ImageIndexIssues;
|
if TPkgDependency(Data).LoadPackageResult=lprSuccess then
|
||||||
pftText: Result:=ImageIndexText;
|
Result:=ImageIndexRequired
|
||||||
pftBinary: Result:=ImageIndexBinary;
|
|
||||||
else
|
else
|
||||||
Result:=-1;
|
Result:=ImageIndexConflict;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1657,9 +1664,8 @@ begin
|
|||||||
// removed files
|
// removed files
|
||||||
if LazPackage.RemovedFilesCount>0 then begin
|
if LazPackage.RemovedFilesCount>0 then begin
|
||||||
if FRemovedFilesNode=nil then begin
|
if FRemovedFilesNode=nil then begin
|
||||||
FRemovedFilesNode:=
|
FRemovedFilesNode:=FilesTreeView.Items.Add(FRequiredPackagesNode,
|
||||||
FilesTreeView.Items.Add(FRequiredPackagesNode,
|
lisPckEditRemovedFilesTheseEntriesAreNotSavedToTheLpkFile);
|
||||||
lisPckEditRemovedFilesTheseEntriesAreNotSavedToTheLpkFile);
|
|
||||||
FRemovedFilesNode.ImageIndex:=ImageIndexRemovedFiles;
|
FRemovedFilesNode.ImageIndex:=ImageIndexRemovedFiles;
|
||||||
FRemovedFilesNode.SelectedIndex:=FRemovedFilesNode.ImageIndex;
|
FRemovedFilesNode.SelectedIndex:=FRemovedFilesNode.ImageIndex;
|
||||||
end;
|
end;
|
||||||
@ -1669,7 +1675,7 @@ begin
|
|||||||
if CurNode=nil then
|
if CurNode=nil then
|
||||||
CurNode:=FilesTreeView.Items.AddChild(FRemovedFilesNode,'');
|
CurNode:=FilesTreeView.Items.AddChild(FRemovedFilesNode,'');
|
||||||
CurFile:=LazPackage.RemovedFiles[i];
|
CurFile:=LazPackage.RemovedFiles[i];
|
||||||
CurNode.Text:=CurFile.GetShortFilename(true); // SetImageIndex(CurNode,CurFile);
|
CurNode.Text:=CurFile.GetShortFilename(true);
|
||||||
CurNode.ImageIndex:=ChooseImageIndex('', CurFile, ena);
|
CurNode.ImageIndex:=ChooseImageIndex('', CurFile, ena);
|
||||||
CurNode:=CurNode.GetNextSibling;
|
CurNode:=CurNode.GetNextSibling;
|
||||||
end;
|
end;
|
||||||
@ -1689,50 +1695,36 @@ var
|
|||||||
CurNode: TTreeNode;
|
CurNode: TTreeNode;
|
||||||
CurDependency: TPkgDependency;
|
CurDependency: TPkgDependency;
|
||||||
NextNode: TTreeNode;
|
NextNode: TTreeNode;
|
||||||
|
FilteredBranch: TBranch;
|
||||||
CurNodeText, aFilename: String;
|
CurNodeText, aFilename: String;
|
||||||
begin
|
begin
|
||||||
if LazPackage=nil then exit;
|
if LazPackage=nil then exit;
|
||||||
FilesTreeView.BeginUpdate;
|
FilesTreeView.BeginUpdate;
|
||||||
|
|
||||||
// required packages
|
// required packages
|
||||||
CurNode:=FRequiredPackagesNode.GetFirstChild;
|
FilteredBranch := FilterEdit.GetBranch(FRequiredPackagesNode);
|
||||||
|
FilterEdit.SelectedPart:=FNextSelectedPart;
|
||||||
CurDependency:=LazPackage.FirstRequiredDependency;
|
CurDependency:=LazPackage.FirstRequiredDependency;
|
||||||
while CurDependency<>nil do begin
|
while CurDependency<>nil do begin
|
||||||
if CurNode=nil then
|
|
||||||
CurNode:=FilesTreeView.Items.AddChild(FRequiredPackagesNode,'');
|
|
||||||
CurNodeText:=CurDependency.AsString;
|
CurNodeText:=CurDependency.AsString;
|
||||||
if CurDependency.DefaultFilename<>'' then begin
|
if CurDependency.DefaultFilename<>'' then begin
|
||||||
aFilename:=CurDependency.MakeFilenameRelativeToOwner(
|
aFilename:=CurDependency.MakeFilenameRelativeToOwner(CurDependency.DefaultFilename);
|
||||||
CurDependency.DefaultFilename);
|
|
||||||
if CurDependency.PreferDefaultFilename then
|
if CurDependency.PreferDefaultFilename then
|
||||||
CurNodeText:=CurNodeText+' in '+aFilename // like the 'in' keyword the uses section
|
CurNodeText:=CurNodeText+' in '+aFilename // like the 'in' keyword in uses section
|
||||||
else
|
else
|
||||||
CurNodeText:=Format(lisPckEditDefault, [CurNodeText, aFilename]);
|
CurNodeText:=Format(lisPckEditDefault, [CurNodeText, aFilename]);
|
||||||
end;
|
end;
|
||||||
CurNode.Text:=CurNodeText;
|
FilteredBranch.AddNodeData(CurNodeText, CurDependency);
|
||||||
if CurDependency.LoadPackageResult=lprSuccess then
|
|
||||||
CurNode.ImageIndex:=ImageIndexRequired
|
|
||||||
else
|
|
||||||
CurNode.ImageIndex:=ImageIndexConflict;
|
|
||||||
CurNode.Selected:=CurDependency=FNextSelectedPart;
|
|
||||||
CurNode.SelectedIndex:=CurNode.ImageIndex;
|
|
||||||
CurNode:=CurNode.GetNextSibling;
|
|
||||||
CurDependency:=CurDependency.NextRequiresDependency;
|
CurDependency:=CurDependency.NextRequiresDependency;
|
||||||
end;
|
end;
|
||||||
while CurNode<>nil do begin
|
// FRequiredPackagesNode.Expanded:=true;
|
||||||
NextNode:=CurNode.GetNextSibling;
|
|
||||||
CurNode.Free;
|
|
||||||
CurNode:=NextNode;
|
|
||||||
end;
|
|
||||||
FRequiredPackagesNode.Expanded:=true;
|
|
||||||
|
|
||||||
// removed required packages
|
// removed required packages
|
||||||
CurDependency:=LazPackage.FirstRemovedDependency;
|
CurDependency:=LazPackage.FirstRemovedDependency;
|
||||||
if CurDependency<>nil then begin
|
if CurDependency<>nil then begin
|
||||||
if FRemovedRequiredNode=nil then begin
|
if FRemovedRequiredNode=nil then begin
|
||||||
FRemovedRequiredNode:=
|
FRemovedRequiredNode:=FilesTreeView.Items.Add(nil,
|
||||||
FilesTreeView.Items.Add(nil,
|
lisPckEditRemovedRequiredPackagesTheseEntriesAreNotSaved);
|
||||||
lisPckEditRemovedRequiredPackagesTheseEntriesAreNotSaved);
|
|
||||||
FRemovedRequiredNode.ImageIndex:=ImageIndexRemovedRequired;
|
FRemovedRequiredNode.ImageIndex:=ImageIndexRemovedRequired;
|
||||||
FRemovedRequiredNode.SelectedIndex:=FRemovedRequiredNode.ImageIndex;
|
FRemovedRequiredNode.SelectedIndex:=FRemovedRequiredNode.ImageIndex;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user