IDE: warn when deleting main unit of package

git-svn-id: trunk@27855 -
This commit is contained in:
mattias 2010-10-25 12:39:19 +00:00
parent 0f581e002a
commit b35808d50f
2 changed files with 13 additions and 2 deletions

View File

@ -4912,6 +4912,8 @@ resourcestring
lisMoveOnePositionDown = 'Move "%s" one position down'; lisMoveOnePositionDown = 'Move "%s" one position down';
lisShowDifferencesBetweenModes = 'Show differences between modes ...'; lisShowDifferencesBetweenModes = 'Show differences between modes ...';
lisChangeBuildMode = 'Change build mode'; lisChangeBuildMode = 'Change build mode';
lisWarningThisIsTheMainUnitTheNewMainUnitWillBePas = '%sWarning: This is '
+'the main unit. The new main unit will be %s.pas.';
implementation implementation

View File

@ -878,6 +878,8 @@ var
NodeIndex: Integer; NodeIndex: Integer;
CurFile: TPkgFile; CurFile: TPkgFile;
CurDependency: TPkgDependency; CurDependency: TPkgDependency;
s: String;
mt: TMsgDlgType;
begin begin
ANode:=FilesTreeView.Selected; ANode:=FilesTreeView.Selected;
if (ANode=nil) or LazPackage.ReadOnly then begin if (ANode=nil) or LazPackage.ReadOnly then begin
@ -890,10 +892,17 @@ begin
CurFile:=LazPackage.Files[NodeIndex]; CurFile:=LazPackage.Files[NodeIndex];
if CurFile<>nil then begin if CurFile<>nil then begin
// confirm deletion // confirm deletion
s:='';
mt:=mtConfirmation;
if CurFile.FileType=pftMainUnit then begin
s:=Format(lisWarningThisIsTheMainUnitTheNewMainUnitWillBePas, [#13#13,
lowercase(LazPackage.Name)]);
mt:=mtWarning;
end;
if MessageDlg(lisPckEditRemoveFile2, if MessageDlg(lisPckEditRemoveFile2,
Format(lisPckEditRemoveFileFromPackage, ['"', CurFile.Filename, '"', Format(lisPckEditRemoveFileFromPackage, ['"', CurFile.Filename, '"',
#13, '"', LazPackage.IDAsString, '"']), #13, '"', LazPackage.IDAsString, '"'])+s,
mtConfirmation,[mbYes,mbNo],0)=mrNo mt,[mbYes,mbNo],0)=mrNo
then then
exit; exit;
LazPackage.RemoveFile(CurFile); LazPackage.RemoveFile(CurFile);