mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-23 00:39:44 +02:00
fixed showing package links in installset dialog
git-svn-id: trunk@7464 -
This commit is contained in:
parent
b360f02820
commit
616bf2b04e
@ -40,7 +40,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, LCLProc, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, FileUtil,
|
||||
{$IFNDEF VER1_0}AVL_Tree{$ELSE}OldAvLTree{$ENDIF}, Laz_XMLCfg,
|
||||
AVL_Tree, Laz_XMLCfg,
|
||||
LazarusIDEStrConsts, EnvironmentOpts, InputHistory, LazConf, IDEProcs,
|
||||
PackageDefs, PackageSystem;
|
||||
|
||||
@ -388,7 +388,7 @@ var
|
||||
ANode: TAVLTreeNode;
|
||||
sl: TStringList;
|
||||
PkgName: String;
|
||||
Pkg: TLazPackage;
|
||||
Pkg: TLazPackageID;
|
||||
begin
|
||||
fPackages.Clear;
|
||||
// TODO: only distinct files
|
||||
@ -396,8 +396,11 @@ begin
|
||||
sl:=TStringList.Create;
|
||||
ANode:=fPackages.FindLowest;
|
||||
while ANode<>nil do begin
|
||||
Pkg:=TLazPackage(ANode.Data);
|
||||
if Pkg.PackageType in [lptDesignTime,lptRunAndDesignTime] then begin
|
||||
Pkg:=TLazPackageID(ANode.Data);
|
||||
//debugln('TInstallPkgSetDialog.UpdateAvailablePackages ',Pkg.IDAsString,' Pkg.PackageType=',dbgs(ord(Pkg.PackageType)));
|
||||
if (not (Pkg is TLazPackage))
|
||||
or (TLazPackage(Pkg).PackageType in [lptDesignTime,lptRunAndDesignTime])
|
||||
then begin
|
||||
PkgName:=Pkg.IDAsString;
|
||||
if (sl.IndexOf(PkgName)<0) then
|
||||
sl.Add(PkgName);
|
||||
@ -430,6 +433,7 @@ end;
|
||||
|
||||
procedure TInstallPkgSetDialog.OnIteratePackages(APackageID: TLazPackageID);
|
||||
begin
|
||||
//debugln('TInstallPkgSetDialog.OnIteratePackages ',APackageID.IDAsString);
|
||||
if (fPackages.Find(APackageID)=nil) then
|
||||
fPackages.Add(APackageID);
|
||||
end;
|
||||
|
@ -869,7 +869,7 @@ end;
|
||||
function LazPackageTypeIdentToType(const s: string): TLazPackageType;
|
||||
begin
|
||||
for Result:=Low(TLazPackageType) to High(TLazPackageType) do
|
||||
if AnsiCompareText(s,LazPackageTypeIdents[Result])=0 then exit;
|
||||
if CompareText(s,LazPackageTypeIdents[Result])=0 then exit;
|
||||
Result:=lptRunTime;
|
||||
end;
|
||||
|
||||
|
@ -38,8 +38,7 @@ unit PackageLinks;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils,
|
||||
{$IFNDEF VER1_0}AVL_Tree{$ELSE}OldAvLTree{$ENDIF}, Laz_XMLCfg,
|
||||
Classes, SysUtils, AVL_Tree, Laz_XMLCfg,
|
||||
LCLProc, FileUtil, IDEProcs, MacroIntf, EnvironmentOpts, PackageDefs, LazConf;
|
||||
|
||||
type
|
||||
@ -389,10 +388,12 @@ begin
|
||||
FGlobalLinks.FreeAndClear;
|
||||
GlobalLinksDir:=AppendPathDelim(EnvironmentOptions.LazarusDirectory)
|
||||
+'packager'+PathDelim+'globallinks'+PathDelim;
|
||||
//debugln('UpdateGlobalLinks A ',GlobalLinksDir);
|
||||
if FindFirst(GlobalLinksDir+'*.lpl', faAnyFile, FileInfo)=0 then begin
|
||||
PkgVersion:=TPkgVersion.Create;
|
||||
repeat
|
||||
CurFilename:=GlobalLinksDir+FileInfo.Name;
|
||||
//debugln('UpdateGlobalLinks B CurFilename=',CurFilename);
|
||||
if ((FileInfo.Attr and faDirectory)<>0)
|
||||
or (not ParseFilename(FileInfo.Name,NewPkgName,PkgVersion))
|
||||
then begin
|
||||
@ -694,6 +695,7 @@ begin
|
||||
ANode:=LinkTree.FindLowest;
|
||||
while ANode<>nil do begin
|
||||
PkgLink:=TPackageLink(ANode.Data);
|
||||
//debugln('TPackageLinks.IteratePackagesInTree PkgLink.Filename=',PkgLink.Filename);
|
||||
if (not MustExist) or FileExists(PkgLink.Filename) then
|
||||
Event(PkgLink);
|
||||
ANode:=LinkTree.FindSuccessor(ANode);
|
||||
@ -740,6 +742,7 @@ end;
|
||||
procedure TPackageLinks.IteratePackages(MustExist: boolean;
|
||||
Event: TIteratePackagesEvent);
|
||||
begin
|
||||
//debugln('TPackageLinks.IteratePackages');
|
||||
IteratePackagesInTree(MustExist,FUserLinksSortID,Event);
|
||||
IteratePackagesInTree(MustExist,FGlobalLinks,Event);
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user