mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-08 04:59:20 +01:00
IDE: package editor: multi change file type
git-svn-id: trunk@45445 -
This commit is contained in:
parent
4c3b656f3d
commit
f627db7683
@ -1456,24 +1456,36 @@ end;
|
||||
procedure TPackageEditorForm.ChangeFileTypeMenuItemClick(Sender: TObject);
|
||||
var
|
||||
CurPFT: TPkgFileType;
|
||||
Removed: boolean;
|
||||
CurFile: TPkgFile;
|
||||
CurItem: TIDEMenuCommand;
|
||||
i: Integer;
|
||||
TVNode: TTreeNode;
|
||||
NodeData: TPENodeData;
|
||||
Item: TObject;
|
||||
begin
|
||||
if LazPackage=nil then exit;
|
||||
CurItem:=TIDEMenuCommand(Sender);
|
||||
CurFile:=GetCurrentFile(Removed);
|
||||
if CurFile=nil then exit;
|
||||
for CurPFT:=Low(TPkgFileType) to High(TPkgFileType) do begin
|
||||
if CurItem.Caption=GetPkgFileTypeLocalizedName(CurPFT) then begin
|
||||
if (not FilenameIsPascalUnit(CurFile.Filename))
|
||||
and (CurPFT in PkgFileUnitTypes) then exit;
|
||||
if CurFile.FileType<>CurPFT then begin
|
||||
CurFile.FileType:=CurPFT;
|
||||
LazPackage.Modified:=true;
|
||||
UpdateFiles;
|
||||
BeginUdate;
|
||||
try
|
||||
for i:=0 to ItemsTreeView.SelectionCount-1 do begin
|
||||
TVNode:=ItemsTreeView.Selections[i];
|
||||
if not GetNodeDataItem(TVNode,NodeData,Item) then continue;
|
||||
if not (Item is TPkgFile) then continue;
|
||||
CurFile:=TPkgFile(Item);
|
||||
if CurFile.FileType=CurPFT then continue;
|
||||
if (not FilenameIsPascalUnit(CurFile.Filename))
|
||||
and (CurPFT in PkgFileUnitTypes) then
|
||||
continue;
|
||||
CurFile.FileType:=CurPFT;
|
||||
if not NodeData.Removed then
|
||||
LazPackage.Modified:=true;
|
||||
UpdateFiles;
|
||||
end;
|
||||
finally
|
||||
EndUpdate;
|
||||
end;
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user