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