IDE: package editor: multi readd

git-svn-id: trunk@45436 -
This commit is contained in:
mattias 2014-06-09 22:33:08 +00:00
parent 04478ca4ca
commit 52435dc6c2

View File

@ -30,6 +30,8 @@
DisableI18NForLFMCheckBox DisableI18NForLFMCheckBox
readd readd
popupmenu popupmenu
replace GetCurrentDependency
replace GetCurrentFile
} }
unit PackageEditor; unit PackageEditor;
@ -566,14 +568,20 @@ var
PkgFile: TPkgFile; PkgFile: TPkgFile;
AFilename: String; AFilename: String;
Dependency: TPkgDependency; Dependency: TPkgDependency;
Removed: boolean; i: Integer;
TVNode: TTreeNode;
NodeData: TPENodeData;
Item: TObject;
begin begin
BeginUdate; BeginUdate;
try try
PkgFile:=GetCurrentFile(Removed); for i:=0 to ItemsTreeView.SelectionCount-1 do begin
if (PkgFile<>nil) then begin TVNode:=ItemsTreeView.Selections[i];
if Removed then begin if not GetNodeDataItem(TVNode,NodeData,Item) then continue;
if not NodeData.Removed then continue;
if Item is TPkgFile then begin
// re-add file // re-add file
PkgFile:=TPkgFile(Item);
AFilename:=PkgFile.GetFullFilename; AFilename:=PkgFile.GetFullFilename;
if PkgFile.FileType in PkgFileRealUnitTypes then begin if PkgFile.FileType in PkgFileRealUnitTypes then begin
if not CheckAddingUnitFilename(LazPackage,d2ptUnit, if not CheckAddingUnitFilename(LazPackage,d2ptUnit,
@ -588,10 +596,8 @@ begin
PkgFile.Filename:=AFilename; PkgFile.Filename:=AFilename;
LazPackage.UnremovePkgFile(PkgFile); LazPackage.UnremovePkgFile(PkgFile);
UpdateFiles; UpdateFiles;
end; end else if Item is TPkgDependency then begin
end else begin Dependency:=TPkgDependency(Item);
Dependency:=GetCurrentDependency(Removed);
if (Dependency<>nil) and Removed then begin
// re-add dependency // re-add dependency
if CheckAddingDependency(LazPackage,Dependency,false,true)<>mrOk then exit; if CheckAddingDependency(LazPackage,Dependency,false,true)<>mrOk then exit;
LazPackage.RemoveRemovedDependency(Dependency); LazPackage.RemoveRemovedDependency(Dependency);
@ -2234,7 +2240,6 @@ begin
inc(SelDirCount); inc(SelDirCount);
SingleSelectedDirectory:=TVNode; SingleSelectedDirectory:=TVNode;
SingleSelected:=TVNode; SingleSelected:=TVNode;
SingleSelectedRemoved:=NodeData.Removed;
end; end;
end; end;