diff --git a/ide/uniteditor.pp b/ide/uniteditor.pp index f6d4635650..10887a1441 100644 --- a/ide/uniteditor.pp +++ b/ide/uniteditor.pp @@ -2893,7 +2893,7 @@ begin FreeMem(Marks); end; end; - + // add context specific menu items CurFilename:=ASrcEdit.FileName; if FilenameIsPascalUnit(CurFilename) @@ -2918,7 +2918,8 @@ begin 'Open '+ChangeFileExt(ExtractFileName(CurFilename),'.pp'), true,@OnPopupMenuOpenPPFile); end; - if Assigned(OnPopupMenu) then OnPopupMenu(@AddUserDefinedPopupMenuItem); + + if Assigned(OnPopupMenu) then OnPopupMenu(@AddContextPopupMenuItem); end; procedure TSourceNotebook.NotebookShowTabHint(Sender: TObject; diff --git a/packager/packagedefs.pas b/packager/packagedefs.pas index 3b1080478d..33389a6502 100644 --- a/packager/packagedefs.pas +++ b/packager/packagedefs.pas @@ -647,7 +647,7 @@ type function NeedsDefineTemplates: boolean; // files function IndexOfPkgFile(PkgFile: TPkgFile): integer; - function SearchFile(const AFilename: string; + function SearchFile(const ShortFilename: string; SearchFlags: TSearchIDEFileFlags): TPkgFile; procedure ShortenFilename(var ExpandedFilename: string; UseUp: boolean); procedure LongenFilename(var AFilename: string); @@ -3000,7 +3000,7 @@ begin while (Files[Result]<>PkgFile) do dec(Result); end; -function TLazPackage.SearchFile(const AFilename: string; +function TLazPackage.SearchFile(const ShortFilename: string; SearchFlags: TSearchIDEFileFlags): TPkgFile; var SearchedFilename: String; @@ -3012,7 +3012,7 @@ var TheFileName:=ExtractFilenameOnly(TheFileName); if FilenameIsAbsolute(TheFileName) then TheFileName:=ExtractFilename(TheFileName); - debugln('TLazPackage.SearchFile A ',SearchedFilename,' ',TheFilename); + //debugln('TLazPackage.SearchFile A ',SearchedFilename,' ',TheFilename); if siffCaseSensitive in SearchFlags then Result:=SearchedFilename=TheFilename else @@ -3020,7 +3020,7 @@ var end; begin - SearchedFilename:=AFilename; + SearchedFilename:=ShortFilename; if siffIgnoreExtension in SearchFlags then SearchedFilename:=ExtractFilenameOnly(SearchedFilename); diff --git a/packager/pkgmanager.pas b/packager/pkgmanager.pas index a52f3b456d..26c283cbcb 100644 --- a/packager/pkgmanager.pas +++ b/packager/pkgmanager.pas @@ -3330,7 +3330,7 @@ var SrcEdit: TSourceEditor; begin SrcEdit:=SourceNotebook.GetActiveSE; - debugln('TPkgManager.GetPackageOfCurrentSourceEditor ',SrcEdit.Filename); + //debugln('TPkgManager.GetPackageOfCurrentSourceEditor ',SrcEdit.Filename); if SrcEdit<>nil then Result:=SearchFile(SrcEdit.Filename,[],nil) else @@ -3368,17 +3368,22 @@ function TPkgManager.SearchFile(const AFilename: string; var i: Integer; APackage: TLazPackage; + CurFilename: String; begin if InObject is TLazPackage then begin APackage:=TLazPackage(InObject); - Result:=APackage.SearchFile(AFilename,SearchFlags); + CurFilename:=AFilename; + APackage.ShortenFilename(CurFilename,true); + Result:=APackage.SearchFile(CurFilename,SearchFlags); if Result<>nil then exit; end; if not (siffDoNotCheckAllPackages in SearchFlags) then begin for i:=0 to PackageGraph.Count-1 do begin APackage:=PackageGraph[i]; - Result:=APackage.SearchFile(AFilename,SearchFlags); - debugln('TPkgManager.SearchFile ',APackage.Files[0].Filename); + CurFilename:=AFilename; + APackage.ShortenFilename(CurFilename,true); + Result:=APackage.SearchFile(CurFilename,SearchFlags); + //debugln('TPkgManager.SearchFile ',APackage.Files[0].Filename); if Result<>nil then exit; end; end;