mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-09 10:47:58 +02:00
IDE: Support uppercase '.LPI' and '.LPR' files better. Issue #40708.
This commit is contained in:
parent
a8610762e1
commit
d04340fa7e
@ -1982,7 +1982,7 @@ begin
|
||||
begin
|
||||
MsgLine.Urgency:=mluVerbose;
|
||||
end else if HideHintsUnitNotUsedInMainSource then begin
|
||||
if FilenameExtIs(MsgLine.Filename, 'lpr', true) then
|
||||
if FilenameExtIs(MsgLine.Filename, 'lpr', false) then
|
||||
// a lpr does not use a unit => not important
|
||||
MsgLine.Urgency:=mluVerbose
|
||||
else if FilenameIsAbsolute(MsgLine.Filename)
|
||||
|
@ -389,10 +389,10 @@ begin
|
||||
Package:=TLazPackageLink(LazPackageLinks.FindLinkWithPkgName(OriginalFileName));
|
||||
if Package=nil then begin
|
||||
// Not found after everything we tried
|
||||
if FilenameExtIs(Filename,'lpi', true) then
|
||||
Error(ErrorFileNotFound,'file not found: '+OriginalFilename)
|
||||
if FilenameExtIs(Filename,'lpi', false) then
|
||||
Error(ErrorFileNotFound, 'File not found: "' + OriginalFilename + '"')
|
||||
else
|
||||
Error(ErrorFileNotFound,'package not found: '+OriginalFilename);
|
||||
Error(ErrorFileNotFound,'package not found: "' + OriginalFilename + '"');
|
||||
end
|
||||
else begin
|
||||
// We found a package link
|
||||
@ -424,9 +424,9 @@ begin
|
||||
lpaInstall: Result:=true; // this is handled in AddPackagesToInstallList
|
||||
lpaAddPkgLinks: Result:=true;
|
||||
end;
|
||||
end else if FilenameExtIs(Filename,'lpi',true) then
|
||||
end else if FilenameExtIs(Filename,'lpi',false) then
|
||||
Result:=BuildProject(Filename)
|
||||
else if FilenameExtIs(Filename,'lpr',true) then begin
|
||||
else if FilenameExtIs(Filename,'lpr',false) then begin
|
||||
Filename:=ChangeFileExt(Filename,'.lpi');
|
||||
if FileExists(Filename) then
|
||||
Result:=BuildProject(Filename)
|
||||
|
@ -5825,14 +5825,14 @@ begin
|
||||
FileList := TStringList.Create;
|
||||
FileList.AddStrings(FileNames);
|
||||
try
|
||||
if FilenameExtIs(FileList[0],'lpr') then
|
||||
if FilenameExtIs(FileList[0],'lpr',false) then
|
||||
begin
|
||||
SourceEditorManager.IncUpdateLock;
|
||||
OpenEditorFile(FileList[0],-1,WindowIndex,Nil,[ofAddToRecent]);
|
||||
SourceEditorManager.DecUpdateLock;
|
||||
FileList.Delete(0);
|
||||
end
|
||||
else if FilenameExtIs(FileList[0],'lpi',true) then
|
||||
else if FilenameExtIs(FileList[0],'lpi',false) then
|
||||
begin
|
||||
DoOpenProjectFile(FileList[0],[ofAddToRecent]);
|
||||
FileList.Delete(0);
|
||||
@ -7698,9 +7698,9 @@ procedure TMainIDE.DoExecuteRemoteControl;
|
||||
AProjectFilename:='';
|
||||
for i:=Files.Count-1 downto 0 do begin
|
||||
AProjectFilename:=Files[0];
|
||||
if FilenameExtIs(AProjectFilename,'lpr',true) then
|
||||
if FilenameExtIs(AProjectFilename,'lpr',false) then
|
||||
AProjectFilename:=ChangeFileExt(AProjectFilename,'.lpi');
|
||||
if FilenameExtIs(AProjectFilename,'lpi',true) then begin
|
||||
if FilenameExtIs(AProjectFilename,'lpi',false) then begin
|
||||
// open a project
|
||||
Files.Delete(i); // remove from the list
|
||||
AProjectFilename:=CleanAndExpandFilename(AProjectFilename);
|
||||
|
@ -7273,7 +7273,7 @@ begin
|
||||
MaybeAddPopup('.pp');
|
||||
MaybeAddPopup('.p');
|
||||
end;
|
||||
if FilenameExtIn(ShortFileName, ['lpi','lpk'], true) then begin
|
||||
if FilenameExtIn(ShortFileName, ['lpi','lpk'], false) then begin
|
||||
AddContextPopupMenuItem(Format(lisOpenLfm,[ShortFileName]),true,@OnPopupMenuOpenFile);
|
||||
end;
|
||||
FPDocSrc:=LazarusHelp.GetFPDocFilenameForSource(CurFilename,false,AnOwner);
|
||||
@ -8403,7 +8403,7 @@ begin
|
||||
aFilename:=copy(aFilename,p,length(aFilename)-(length(ResStr)-2));
|
||||
if not FilenameIsAbsolute(aFilename) then
|
||||
aFilename:=TrimFilename(ExtractFilePath(GetActiveSE.Filename)+aFilename);
|
||||
if FilenameExtIs(aFilename,'lpi',true) then
|
||||
if FilenameExtIs(aFilename,'lpi',false) then
|
||||
MainIDEInterface.DoOpenProjectFile(aFilename,[ofOnlyIfExists,ofAddToRecent,ofUseCache])
|
||||
else if FilenameExtIs(aFilename,'lpk',true) then
|
||||
PackageEditingInterface.DoOpenPackageFile(aFilename,[pofAddToRecent],false)
|
||||
|
@ -1039,7 +1039,7 @@ var
|
||||
SourceType: String;
|
||||
begin
|
||||
if ([ofProjectLoading,ofRegularFile]*FFlags=[]) and (MainIDE.ToolStatus=itNone)
|
||||
and FilenameExtIs(FFilename,'lpi',true) then begin
|
||||
and FilenameExtIs(FFilename,'lpi',false) then begin
|
||||
// this is a project info file -> load whole project
|
||||
Result:=MainIDE.DoOpenProjectFile(FFilename,[ofAddToRecent]);
|
||||
if Result = mrOK then
|
||||
@ -1265,7 +1265,7 @@ begin
|
||||
if ([ofRegularFile,ofRevert,ofProjectLoading]*FFlags=[])
|
||||
and FilenameIsAbsolute(FFilename) and FileExistsCached(FFilename) then begin
|
||||
// check if file is a lazarus project (.lpi)
|
||||
if FilenameExtIs(FFilename,'lpi',true) then
|
||||
if FilenameExtIs(FFilename,'lpi',false) then
|
||||
begin
|
||||
case
|
||||
IDEQuestionDialog(lisOpenProject, Format(lisOpenTheProject, [FFilename]),
|
||||
@ -1986,10 +1986,10 @@ begin
|
||||
if (AFiles=nil) or (AFiles.Count=0) then Exit;
|
||||
//DebugLn(['MaybeOpenProject: AFiles=', AFiles.Count]);
|
||||
AProjectFN:=AFiles[0];
|
||||
if FilenameExtIs(AProjectFN,'lpr',true) then
|
||||
if FilenameExtIs(AProjectFN,'lpr',false) then
|
||||
AProjectFN:=ChangeFileExt(AProjectFN,'.lpi');
|
||||
// only try to load .lpi files here, other files are loaded later
|
||||
if FilenameExtIs(AProjectFN,'lpi',true) then begin
|
||||
if FilenameExtIs(AProjectFN,'lpi',false) then begin
|
||||
AProjectFN:=CleanAndExpandFilename(AProjectFN);
|
||||
if FileExistsUTF8(AProjectFN) then begin
|
||||
AFiles.Delete(0);
|
||||
@ -4225,7 +4225,7 @@ begin
|
||||
+dlgFilterAll+'|'+GetAllFilesMask;
|
||||
if OpenDialog.Execute then begin
|
||||
AFilename:=GetPhysicalFilenameCached(ExpandFileNameUTF8(OpenDialog.Filename),false);
|
||||
if not FilenameExtIs(AFilename,'lpi',true) then begin
|
||||
if not FilenameExtIs(AFilename,'lpi',false) then begin
|
||||
// not a lpi file
|
||||
// check if it is a program source
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user