fixed showing package links in installset dialog

git-svn-id: trunk@7464 -
This commit is contained in:
mattias 2005-07-31 18:30:49 +00:00
parent b360f02820
commit 616bf2b04e
3 changed files with 14 additions and 7 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;