Opkman: Warn user if a package is incompatible with the current system. Implemented for third party packages too.

git-svn-id: trunk@61325 -
This commit is contained in:
balazs 2019-06-06 10:49:34 +00:00
parent 3791e9a6da
commit ea23df45e0
2 changed files with 56 additions and 35 deletions

View File

@ -737,8 +737,27 @@ begin
if not IsSomethingChecked(False) then if not IsSomethingChecked(False) then
Exit; Exit;
CanGo := True; CanGo := True;
if Options.IncompatiblePackages then
begin
PackageListFrm := TPackageListFrm.Create(MainFrm);
try
PackageListFrm.lbMessage.Caption := rsMainFrm_PackageIncompatible;
PackageListFrm.PopulateList(3);
if PackageListFrm.Count > 0 then
CanGo := PackageListFrm.ShowModal = mrYes
else
CanGo := True;
finally
PackageListFrm.Free;
end;
end;
if CanGo then
begin
NeedToRebuild := False; NeedToRebuild := False;
VisualTree.UpdatePackageStates; VisualTree.UpdatePackageStates;
if Options.AlreadyInstalledPackages then
begin
PackageListFrm := TPackageListFrm.Create(MainFrm); PackageListFrm := TPackageListFrm.Create(MainFrm);
try try
PackageListFrm.lbMessage.Caption := rsMainFrm_PackageUpdate0; PackageListFrm.lbMessage.Caption := rsMainFrm_PackageUpdate0;
@ -750,6 +769,7 @@ begin
finally finally
PackageListFrm.Free; PackageListFrm.Free;
end; end;
end;
if CanGo then if CanGo then
begin begin
@ -795,6 +815,7 @@ begin
end; end;
end; end;
end; end;
end;
if not NeedToRebuild then if not NeedToRebuild then
SerializablePackages.RemoveErrorState; SerializablePackages.RemoveErrorState;
end; end;

View File

@ -232,7 +232,7 @@ begin
begin begin
Node := FVST.AddChild(nil); Node := FVST.AddChild(nil);
Data := FVST.GetNodeData(Node); Data := FVST.GetNodeData(Node);
Data^.FName := LazarusPkg.Name + '(' + LazarusPkg.InstalledFileVersion + ')'; Data^.FName := LazarusPkg.Name + '(' + LazarusPkg.VersionAsString + ')';
Data^.FImageIndex := IMG_PKG_FILE; Data^.FImageIndex := IMG_PKG_FILE;
Data^.FSupLazVers := LazarusPkg.LazCompatibility; Data^.FSupLazVers := LazarusPkg.LazCompatibility;
Data^.FIsLazComp := LazComp; Data^.FIsLazComp := LazComp;