mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-09 19:39:31 +01:00
PackagerEditor: improve updating only parts of the view after user changes.
git-svn-id: trunk@46224 -
This commit is contained in:
parent
1e2a6cc7de
commit
56e178994f
@ -579,7 +579,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
function TTreeFilterEdit.GetBranch(ARootNode: TTreeNode): TTreeFilterBranch;
|
function TTreeFilterEdit.GetBranch(ARootNode: TTreeNode): TTreeFilterBranch;
|
||||||
// Get a new or existing branch for a given tree-node.
|
// Get a new or existing branch with data cleared for a given tree-node.
|
||||||
begin
|
begin
|
||||||
if not Assigned(fBranches) then
|
if not Assigned(fBranches) then
|
||||||
fBranches := TBranchList.Create;
|
fBranches := TBranchList.Create;
|
||||||
|
|||||||
@ -649,7 +649,8 @@ begin
|
|||||||
end
|
end
|
||||||
else if Item is TPkgDependency then begin
|
else if Item is TPkgDependency then begin
|
||||||
Dependency:=TPkgDependency(Item);
|
Dependency:=TPkgDependency(Item);
|
||||||
// re-add dependency
|
// Re-add dependency
|
||||||
|
fForcedFlags:=[pefNeedUpdateRemovedFiles,pefNeedUpdateRequiredPkgs];
|
||||||
if CheckAddingDependency(LazPackage,Dependency,false,true)<>mrOk then exit;
|
if CheckAddingDependency(LazPackage,Dependency,false,true)<>mrOk then exit;
|
||||||
LazPackage.RemoveRemovedDependency(Dependency);
|
LazPackage.RemoveRemovedDependency(Dependency);
|
||||||
PackageGraph.AddDependencyToPackage(LazPackage,Dependency);
|
PackageGraph.AddDependencyToPackage(LazPackage,Dependency);
|
||||||
@ -1298,10 +1299,11 @@ begin
|
|||||||
else if Item is TPkgDependency then
|
else if Item is TPkgDependency then
|
||||||
LazPackage.RemoveRequiredDepSilently(TPkgDependency(Item));
|
LazPackage.RemoveRequiredDepSilently(TPkgDependency(Item));
|
||||||
end;
|
end;
|
||||||
if PkgCount=0 then
|
if FileCount>0 then // Force update for removed files only.
|
||||||
fForcedFlags:=[pefNeedUpdateRemovedFiles]; // Force update for removed files only.
|
fForcedFlags:=fForcedFlags+[pefNeedUpdateRemovedFiles];
|
||||||
|
if PkgCount>0 then
|
||||||
|
fForcedFlags:=fForcedFlags+[pefNeedUpdateRemovedFiles,pefNeedUpdateRequiredPkgs];
|
||||||
LazPackage.Modified:=True; // This will update also other possible editors.
|
LazPackage.Modified:=True; // This will update also other possible editors.
|
||||||
fForcedFlags:=[];
|
|
||||||
|
|
||||||
finally
|
finally
|
||||||
EndUpdate;
|
EndUpdate;
|
||||||
@ -1682,8 +1684,10 @@ begin
|
|||||||
for i:=0 to ListOfNodeInfos.Count-1 do begin
|
for i:=0 to ListOfNodeInfos.Count-1 do begin
|
||||||
Info:=TCPDNodeInfo(ListOfNodeInfos[i]);
|
Info:=TCPDNodeInfo(ListOfNodeInfos[i]);
|
||||||
Dependency:=LazPackage.FindDependencyByName(Info.Dependency);
|
Dependency:=LazPackage.FindDependencyByName(Info.Dependency);
|
||||||
if Dependency<>nil then
|
if Dependency<>nil then begin
|
||||||
|
fForcedFlags:=[pefNeedUpdateRemovedFiles,pefNeedUpdateRequiredPkgs];
|
||||||
PackageGraph.RemoveDependencyFromPackage(LazPackage,Dependency,true);
|
PackageGraph.RemoveDependencyFromPackage(LazPackage,Dependency,true);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
ListOfNodeInfos.Free;
|
ListOfNodeInfos.Free;
|
||||||
@ -2032,6 +2036,7 @@ var
|
|||||||
procedure AddRequiredPkg(AddParams: TAddToPkgResult);
|
procedure AddRequiredPkg(AddParams: TAddToPkgResult);
|
||||||
begin
|
begin
|
||||||
// add dependency
|
// add dependency
|
||||||
|
fForcedFlags:=[pefNeedUpdateRequiredPkgs];
|
||||||
PackageGraph.AddDependencyToPackage(LazPackage,AddParams.Dependency);
|
PackageGraph.AddDependencyToPackage(LazPackage,AddParams.Dependency);
|
||||||
FreeAndNil(FNextSelectedPart);
|
FreeAndNil(FNextSelectedPart);
|
||||||
FNextSelectedPart:=TPENodeData.Create(penDependency,
|
FNextSelectedPart:=TPENodeData.Create(penDependency,
|
||||||
@ -2291,6 +2296,7 @@ begin
|
|||||||
IdleConnected:=false;
|
IdleConnected:=false;
|
||||||
finally
|
finally
|
||||||
ItemsTreeView.EndUpdate;
|
ItemsTreeView.EndUpdate;
|
||||||
|
fForcedFlags:=[];
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -2382,8 +2388,8 @@ begin
|
|||||||
if FRemovedFilesNode<>nil then begin
|
if FRemovedFilesNode<>nil then begin
|
||||||
FilterEdit.DeleteBranch(FRemovedFilesNode);
|
FilterEdit.DeleteBranch(FRemovedFilesNode);
|
||||||
FreeAndNil(FRemovedFilesNode);
|
FreeAndNil(FRemovedFilesNode);
|
||||||
|
FilterEdit.InvalidateFilter;
|
||||||
end;
|
end;
|
||||||
FilterEdit.InvalidateFilter;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
UpdatePEProperties;
|
UpdatePEProperties;
|
||||||
@ -2426,6 +2432,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
if (FNextSelectedPart<>nil) and (FNextSelectedPart.Typ=penDependency) then
|
if (FNextSelectedPart<>nil) and (FNextSelectedPart.Typ=penDependency) then
|
||||||
FreeAndNil(FNextSelectedPart);
|
FreeAndNil(FNextSelectedPart);
|
||||||
|
RequiredBranch.InvalidateBranch;
|
||||||
|
|
||||||
// removed required packages
|
// removed required packages
|
||||||
CurDependency:=LazPackage.FirstRemovedDependency;
|
CurDependency:=LazPackage.FirstRemovedDependency;
|
||||||
@ -2442,6 +2449,7 @@ begin
|
|||||||
RemovedBranch.AddNodeData(CurDependency.AsString, NodeData);
|
RemovedBranch.AddNodeData(CurDependency.AsString, NodeData);
|
||||||
CurDependency:=CurDependency.NextRequiresDependency;
|
CurDependency:=CurDependency.NextRequiresDependency;
|
||||||
end;
|
end;
|
||||||
|
RemovedBranch.InvalidateBranch;
|
||||||
end else begin
|
end else begin
|
||||||
if FRemovedRequiredNode<>nil then begin
|
if FRemovedRequiredNode<>nil then begin
|
||||||
FilterEdit.DeleteBranch(FRemovedRequiredNode);
|
FilterEdit.DeleteBranch(FRemovedRequiredNode);
|
||||||
@ -2449,8 +2457,10 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
FNextSelectedPart:=nil;
|
FNextSelectedPart:=nil;
|
||||||
FilterEdit.Filter := OldFilter; // This triggers ApplyFilter
|
if OldFilter <> '' then begin
|
||||||
FilterEdit.InvalidateFilter;
|
FilterEdit.Filter := OldFilter; // This triggers ApplyFilter
|
||||||
|
FilterEdit.InvalidateFilter;
|
||||||
|
end;
|
||||||
UpdatePEProperties;
|
UpdatePEProperties;
|
||||||
UpdateButtons;
|
UpdateButtons;
|
||||||
end;
|
end;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user