packager: split sub-functions in TPackageEditorForm.RemoveBitBtnClick.

git-svn-id: trunk@46107 -
This commit is contained in:
juha 2014-09-02 21:35:13 +00:00
parent bc2d64820f
commit 3208bdffe6

View File

@ -1185,21 +1185,50 @@ begin
end; end;
procedure TPackageEditorForm.RemoveBitBtnClick(Sender: TObject); procedure TPackageEditorForm.RemoveBitBtnClick(Sender: TObject);
var
MainUnitSelected: Boolean;
FileWarning, PkgWarning: String;
FileCount, PkgCount: Integer;
function ConfirmFileDeletion: TModalResult;
var
mt: TMsgDlgType;
s: String;
begin
mt:=mtConfirmation;
if FileCount=1 then
s:=FileWarning
else
s:=Format(lisRemoveFilesFromPackage, [IntToStr(FileCount), LazPackage.Name]);
if MainUnitSelected then begin
s+=Format(lisWarningThisIsTheMainUnitTheNewMainUnitWillBePas,
[LineEnding+LineEnding, lowercase(LazPackage.Name)]);
mt:=mtWarning;
end;
Result:=IDEMessageDialog(lisPckEditRemoveFile2, s, mt, [mbYes,mbNo]);
end;
function ConfirmPkgDeletion: TModalResult;
var
mt: TMsgDlgType;
s: String;
begin
mt:=mtConfirmation;
if PkgCount=1 then
s:=PkgWarning
else
s:=Format(lisRemoveDependenciesFromPackage, [IntToStr(PkgCount), LazPackage.Name]);
Result:=IDEMessageDialog(lisRemove2, s, mt, [mbYes, mbNo]);
end;
var var
ANode: TTreeNode; ANode: TTreeNode;
CurFile: TPkgFile; CurFile: TPkgFile;
CurDependency: TPkgDependency; CurDependency: TPkgDependency;
s: String;
mt: TMsgDlgType;
i: Integer; i: Integer;
TVNode: TTreeNode; TVNode: TTreeNode;
NodeData: TPENodeData; NodeData: TPENodeData;
Item: TObject; Item: TObject;
MainUnitSelected: Boolean;
FileWarning: String;
FileCount: Integer;
PkgCount: Integer;
PkgWarning: String;
begin begin
BeginUpdate; BeginUpdate;
try try
@ -1227,7 +1256,8 @@ begin
if FileWarning='' then if FileWarning='' then
FileWarning:=Format(lisPckEditRemoveFileFromPackage, FileWarning:=Format(lisPckEditRemoveFileFromPackage,
[CurFile.Filename, LineEnding, LazPackage.IDAsString]); [CurFile.Filename, LineEnding, LazPackage.IDAsString]);
end else if Item is TPkgDependency then begin end
else if Item is TPkgDependency then begin
CurDependency:=TPkgDependency(Item); CurDependency:=TPkgDependency(Item);
inc(PkgCount); inc(PkgCount);
if PkgWarning='' then if PkgWarning='' then
@ -1241,38 +1271,13 @@ begin
end; end;
// confirm deletion // confirm deletion
if FileCount>0 then begin if (FileCount>0) and (ConfirmFileDeletion<>mrYes) then Exit;
s:=''; if (PkgCount>0) and (ConfirmPkgDeletion<>mrYes) then Exit;
mt:=mtConfirmation;
if FileCount=1 then
s:=FileWarning
else
s:=Format(lisRemoveFilesFromPackage, [IntToStr(FileCount), LazPackage.
Name]);
if MainUnitSelected then begin
s+=Format(lisWarningThisIsTheMainUnitTheNewMainUnitWillBePas,
[LineEnding+LineEnding, lowercase(LazPackage.Name)]);
mt:=mtWarning;
end;
if IDEMessageDialog(lisPckEditRemoveFile2,s,mt,[mbYes,mbNo])<>mrYes then
exit;
end;
if PkgCount>0 then begin
s:='';
mt:=mtConfirmation;
if PkgCount=1 then
s:=PkgWarning
else
s:=Format(lisRemoveDependenciesFromPackage, [IntToStr(PkgCount),
LazPackage.Name]);
if IDEMessageDialog(lisRemove2, s, mt, [mbYes, mbNo])<>mrYes then
exit;
end;
// remove // remove
for i:=0 to ItemsTreeView.SelectionCount-1 do begin for i:=0 to ItemsTreeView.SelectionCount-1 do begin
TVNode:=ItemsTreeView.Selections[i]; TVNode:=ItemsTreeView.Selections[i];
if not GetNodeDataItem(TVNode,NodeData,Item) then continue; if not GetNodeDataItem(TVNode, NodeData, Item) then continue;
if NodeData.Removed then continue; if NodeData.Removed then continue;
if Item is TPkgFile then begin if Item is TPkgFile then begin
CurFile:=TPkgFile(Item); CurFile:=TPkgFile(Item);