IDE: renamed TUnitInfo.Unit_Name to SrcUnitName and fixed updating it

git-svn-id: trunk@48911 -
This commit is contained in:
mattias 2015-05-01 10:32:13 +00:00
parent 1c8f99a192
commit 8b4e761edc
8 changed files with 116 additions and 92 deletions

View File

@ -613,7 +613,7 @@ begin
end else begin
ClassUnitInfo:=Project1.UnitWithComponentClassName(aMissingTypes[i]);
if ClassUnitInfo<>nil then
NeededUnitName:=ClassUnitInfo.Unit_Name;
NeededUnitName:=ClassUnitInfo.GetUsesUnitName;
end;
if NeededUnitName<>'' then begin
if fUsedUnitsTool.AddUnitImmediately(NeededUnitName) then

View File

@ -17,7 +17,6 @@
<XPManifest>
<DpiAware Value="True"/>
</XPManifest>
<Icon Value="-1"/>
</General>
<LazDoc Paths="docs/xml/ide"/>
<VersionInfo>
@ -70,6 +69,7 @@
<Unit0>
<Filename Value="lazarus.pp"/>
<IsPartOfProject Value="True"/>
<UnitName Value="Lazarus"/>
</Unit0>
<Unit1>
<Filename Value="frames/oi_options.pas"/>
@ -322,6 +322,7 @@
<Unit42>
<Filename Value="project.pp"/>
<IsPartOfProject Value="True"/>
<UnitName Value="Project"/>
</Unit42>
<Unit43>
<Filename Value="customformeditor.pp"/>
@ -565,6 +566,7 @@
<Unit82>
<Filename Value="sourcefilemanager.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="SourceFileManager"/>
</Unit82>
<Unit83>
<Filename Value="../packager/lpkcache.pas"/>
@ -649,6 +651,7 @@
<Unit97>
<Filename Value="etquickfixes.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="etQuickFixes"/>
</Unit97>
<Unit98>
<Filename Value="etsrceditmarks.pas"/>
@ -783,6 +786,7 @@
<Unit125>
<Filename Value="mainintf.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="MainIntf"/>
</Unit125>
<Unit126>
<Filename Value="mainbase.pas"/>
@ -1223,6 +1227,7 @@
<Filename Value="useunitdlg.pas"/>
<IsPartOfProject Value="True"/>
<HasResources Value="True"/>
<UnitName Value="UseUnitDlg"/>
</Unit220>
<Unit221>
<Filename Value="keymapping.pp"/>
@ -1317,13 +1322,11 @@
<ComponentName Value="QFInitLocalVarDialog"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="QFInitLocalVarDlg"/>
</Unit240>
<Unit241>
<Filename Value="../packager/interpkgconflictfiles.pas"/>
<IsPartOfProject Value="True"/>
<HasResources Value="True"/>
<UnitName Value="InterPkgConflictFiles"/>
</Unit241>
</Units>
</ProjectOptions>
@ -1334,7 +1337,7 @@
</Target>
<SearchPaths>
<IncludeFiles Value="include"/>
<OtherUnitFiles Value="frames;../converter;../debugger;../debugger/frames;../packager;../designer;../packager/frames;../ide;../packager"/>
<OtherUnitFiles Value="frames;../converter;../debugger;../debugger/frames;../packager;../designer;../packager/frames;../ide"/>
<UnitOutputDirectory Value="$(LazarusDir)/units/$(TargetCPU)-$(TargetOS)/$(LCLWidgetType)"/>
</SearchPaths>
<Linking>

View File

@ -10665,7 +10665,7 @@ var
ConflictingClass: TClass;
s: string;
begin
if SysUtils.CompareText(ActiveUnitInfo.Unit_Name,AName)=0 then
if SysUtils.CompareText(ActiveUnitInfo.SrcUnitName,AName)=0 then
raise Exception.Create(Format(
lisTheUnitItselfHasAlreadyTheNamePascalIdentifiersMus, [AName]));
if ActiveUnitInfo.IsPartOfProject then begin
@ -11617,7 +11617,7 @@ begin
OkToAdd:=SourceFileMgr.CheckDirIsInSearchPath(AnUnitInfo,False,False);
if (pfMainUnitHasUsesSectionForAllUnits in Project1.Flags) then begin
AnUnitInfo.ReadUnitNameFromSource(false);
ShortUnitName:=AnUnitInfo.Unit_Name;
ShortUnitName:=AnUnitInfo.SrcUnitName;
if (ShortUnitName<>'') then begin
if CodeToolBoss.AddUnitToMainUsesSectionIfNeeded(
Project1.MainUnitInfo.Source,ShortUnitName,'') then begin

View File

@ -556,7 +556,7 @@ procedure TFileDescInheritedComponent.SetInheritedUnit(const AValue: TUnitInfo);
begin
if FInheritedUnit=AValue then exit;
FInheritedUnit:=AValue;
InheritedUnits:=FInheritedUnit.Unit_Name;
InheritedUnits:=FInheritedUnit.SrcUnitName;
end;
constructor TFileDescInheritedComponent.Create;

View File

@ -285,7 +285,7 @@ type
FRunFileIfActive: boolean;
FSessionModified: boolean;
fSource: TCodeBuffer;
fUnitName: String;
fSrcUnitName: String;
fUsageCount: extended;
fUserReadOnly: Boolean;
fSourceChangeStep: LongInt;
@ -324,7 +324,7 @@ type
procedure SetRunFileIfActive(const AValue: boolean);
procedure SetSessionModified(const AValue: boolean);
procedure SetSource(ABuffer: TCodeBuffer);
procedure SetUnitName(const NewUnitName:string);
procedure SetSrcUnitName(const NewUnitName:string);
procedure SetUserReadOnly(const NewValue: boolean);
protected
function GetFileName: string; override;
@ -362,10 +362,9 @@ type
procedure IgnoreCurrentFileDateOnDisk;
procedure IncreaseAutoRevertLock; // do not auto revert from disk
procedure DecreaseAutoRevertLock;
function ParseUnitNameFromSource(TryCache: boolean): string;// fetch name fom source
procedure ReadUnitNameFromSource(TryCache: boolean);// fetch unit name from source and update property UnitName
function ReadUnitNameFromSource(TryCache: boolean): string;// fetch unit name from source and update property UnitName
function GetUsesUnitName: string;
function CreateUnitName: string;
procedure ImproveUnitNameCache(const NewUnitName: string);
procedure LoadFromXMLConfig(XMLConfig: TXMLConfig; const Path: string;
Merge, IgnoreIsPartOfProject: boolean;
FileVersion: integer);
@ -467,7 +466,7 @@ type
property Source: TCodeBuffer read fSource write SetSource;
property DefaultSyntaxHighlighter: TLazSyntaxHighlighter
read FDefaultSyntaxHighlighter write SetDefaultSyntaxHighlighter;
property Unit_Name: String read fUnitName write SetUnitName;
property SrcUnitName: String read fSrcUnitName write SetSrcUnitName; // unit name in source
property UserReadOnly: Boolean read fUserReadOnly write SetUserReadOnly;
property SourceDirectoryReferenced: boolean read FSourceDirectoryReferenced;
property AutoReferenceSourceDir: boolean read FAutoReferenceSourceDir
@ -1602,34 +1601,56 @@ begin
end;
until Result<>mrRetry;
if ReadUnitName then begin
fUnitName:=CodeToolBoss.GetSourceName(fSource,false);
ReadUnitNameFromSource(false);
end;
Result:=mrOk;
end;
procedure TUnitInfo.ReadUnitNameFromSource(TryCache: boolean);
var
NewUnitName: String;
function TUnitInfo.ReadUnitNameFromSource(TryCache: boolean): string;
begin
NewUnitName:=ParseUnitNameFromSource(TryCache);
if NewUnitName<>'' then
fUnitName:=NewUnitName;
Result:='';
if TryCache then
Result:=CodeToolBoss.GetCachedSourceName(Source);
if Result='' then
Result:=CodeToolBoss.GetSourceName(fSource,false);
if Result<>'' then begin
// source can be parsed => update SrcUnitName
{$IFDEF VerboseIDESrcUnitName}
if CompareFilenames(ExtractFileNameOnly(Filename),'interpkgconflictfiles')=0 then
debugln(['TUnitInfo.ReadUnitNameFromSource ',Result]);
{$ENDIF}
fSrcUnitName:=Result;
end else begin
// unable to parse the source
if FilenameIsPascalSource(Filename) then begin
// use default: the filename
Result:=ExtractFileNameOnly(Filename);
if CompareText(Result,fSrcUnitName)=0 then begin
// the last stored unitname has the better case
Result:=SrcUnitName;
end;
end;
end;
end;
function TUnitInfo.GetUsesUnitName: string;
begin
if not FilenameIsPascalUnit(Filename) then
Result:=''
else begin
Result:=SrcUnitName;
if (Result='') or (CompareText(Result,ExtractFileNameOnly(Filename))<>0) then
Result:=ExtractFileNameOnly(Filename);
end;
end;
function TUnitInfo.CreateUnitName: string;
begin
Result:=Unit_Name;
Result:=SrcUnitName;
if (Result='') and FilenameIsPascalSource(Filename) then
Result:=ExtractFilenameOnly(Filename);
end;
procedure TUnitInfo.ImproveUnitNameCache(const NewUnitName: string);
begin
if (fUnitName='') or (CompareText(fUnitName,NewUnitName)=0) then begin
fUnitName:=NewUnitName;
end;
end;
{------------------------------------------------------------------------------
TUnitInfo Clear
------------------------------------------------------------------------------}
@ -1655,7 +1676,7 @@ begin
Modified := false;
SessionModified := false;
FRunFileIfActive:=false;
fUnitName := '';
fSrcUnitName := '';
fUsageCount:=-1;
fUserReadOnly := false;
if fSource<>nil then fSource.Clear;
@ -1708,6 +1729,7 @@ procedure TUnitInfo.SaveToXMLConfig(XMLConfig: TXMLConfig; const Path: string;
var
AFilename: String;
i, X, Y: Integer;
s: String;
begin
// global data
AFilename:=Filename;
@ -1732,7 +1754,9 @@ begin
XMLConfig.SetDeleteValue(Path+'ResourceBaseClass/Value',
PFComponentBaseClassNames[FResourceBaseClass],
PFComponentBaseClassNames[pfcbcNone]);
XMLConfig.SetDeleteValue(Path+'UnitName/Value',fUnitName,'');
s:=fSrcUnitName;
if (s<>'') and (ExtractFileNameOnly(Filename)=s) then s:=''; // only save if SrcUnitName differ from filename
XMLConfig.SetDeleteValue(Path+'UnitName/Value',s,'');
// save custom data
SaveStringToStringTree(XMLConfig,CustomData,Path+'CustomData/');
end;
@ -1785,6 +1809,7 @@ procedure TUnitInfo.LoadFromXMLConfig(XMLConfig: TXMLConfig;
var
AFilename: string;
c, i: Integer;
s: String;
begin
// project data
if not Merge then begin
@ -1807,8 +1832,16 @@ begin
AFilename:=XMLConfig.GetValue(Path+'ResourceFilename/Value','');
if (AFilename<>'') and Assigned(fOnLoadSaveFilename) then
fOnLoadSaveFilename(AFilename,true);
if FilenameIsPascalSource(AFilename) then
fUnitName:=XMLConfig.GetValue(Path+'UnitName/Value',ExtractFileNameOnly(AFilename));
if FilenameIsPascalSource(Filename) then begin
s:=ExtractFileNameOnly(Filename);
fSrcUnitName:=XMLConfig.GetValue(Path+'UnitName/Value',s);
{$IFDEF VerboseIDESrcUnitName}
if CompareFilenames(ExtractFileNameOnly(Filename),'interpkgconflictfiles')=0 then
debugln(['TUnitInfo.LoadFromXMLConfig ',fSrcUnitName]);
{$ENDIF}
if fSrcUnitName='' then
fSrcUnitName:=s;
end;
// save custom data
LoadStringToStringTree(XMLConfig,CustomData,Path+'CustomData/');
@ -1845,35 +1878,15 @@ begin
LoadStringToStringTree(XMLConfig,CustomSessionData,Path+'CustomSessionData/');
end;
function TUnitInfo.ParseUnitNameFromSource(TryCache: boolean): string;
begin
Result:='';
if TryCache then
Result:=CodeToolBoss.GetCachedSourceName(Source);
if Result='' then
Result:=CodeToolBoss.GetSourceName(fSource,false);
if Result='' then begin
// unable to parse the source
if FilenameIsPascalSource(Filename) then begin
// use default: the filename
Result:=ExtractFileNameOnly(Filename);
if CompareText(Result,fUnitName)=0 then begin
// the last stored unitname has the better case
Result:=fUnitName;
end;
end;
end;
end;
procedure TUnitInfo.SetUnitName(const NewUnitName:string);
procedure TUnitInfo.SetSrcUnitName(const NewUnitName:string);
var
Allowed: boolean;
OldUnitName: String;
begin
if (fUnitName <> NewUnitName) and (NewUnitName <> '') then
if (fSrcUnitName <> NewUnitName) and (NewUnitName <> '') then
begin
Allowed := true;
OldUnitName := fUnitName;
OldUnitName := fSrcUnitName;
if OldUnitName = '' then
OldUnitName := ExtractFileNameOnly(Filename);
if Assigned(FOnUnitNameChange) then
@ -1883,7 +1896,11 @@ begin
begin
CodeToolBoss.RenameSource(fSource,NewUnitName);
end;
fUnitName := NewUnitName;
{$IFDEF VerboseIDESrcUnitName}
if CompareFilenames(ExtractFileNameOnly(Filename),'interpkgconflictfiles')=0 then
debugln(['TUnitInfo.SetSrcUnitName ',NewUnitName]);
{$ENDIF}
fSrcUnitName := NewUnitName;
Modified := true;
if (Project <> nil) then Project.UnitModified(Self);
end;
@ -3449,6 +3466,7 @@ procedure TProject.AddFile(ProjectFile: TLazProjectFile; AddToProjectUsesClause:
var
NewIndex: integer;
AnUnit: TUnitInfo;
s: String;
begin
AnUnit:=ProjectFile as TUnitInfo;
//debugln('TProject.AddFile A ',AnUnit.Filename,' AddToProjectFile=',dbgs(AddToProjectFile));
@ -3467,8 +3485,11 @@ begin
MainUnitInfo.IncreaseAutoRevertLock;
if AddToProjectUsesClause and (MainUnitID>=0) and (MainUnitID<>NewIndex) then
if AnUnit.Unit_Name<>'' then // add unit to uses section
CodeToolBoss.AddUnitToMainUsesSectionIfNeeded(MainUnitInfo.Source,AnUnit.Unit_Name,'',true);
begin
s:=AnUnit.GetUsesUnitName;
if s<>'' then // add unit to uses section
CodeToolBoss.AddUnitToMainUsesSectionIfNeeded(MainUnitInfo.Source,s,'',true);
end;
EndUpdate;
UnitModified(AnUnit);
end;
@ -3495,9 +3516,9 @@ begin
// remove unit from uses section and from createforms in program file
if (OldUnitInfo.IsPartOfProject) then begin
if RemoveFromUsesSection then begin
if (OldUnitInfo.Unit_Name<>'') then begin
if (OldUnitInfo.SrcUnitName<>'') then begin
CodeToolBoss.RemoveUnitFromAllUsesSections(MainUnitInfo.Source,
OldUnitInfo.Unit_Name);
OldUnitInfo.SrcUnitName);
end;
if (OldUnitInfo.ComponentName<>'') then begin
CodeToolBoss.RemoveCreateFormStatement(MainUnitInfo.Source,
@ -3858,8 +3879,7 @@ end;
function TProject.RemoveCreateFormFromProjectFile(const AClassName,AName:string):boolean;
begin
Result:=CodeToolBoss.RemoveCreateFormStatement(MainUnitInfo.Source,
AName);
Result:=CodeToolBoss.RemoveCreateFormStatement(MainUnitInfo.Source,AName);
if Result then begin
MainUnitInfo.Modified:=true;
end;
@ -3882,9 +3902,9 @@ begin
if ((OnlyProjectUnits and Units[Result].IsPartOfProject)
or (not OnlyProjectUnits))
and (IgnoreUnit<>Units[Result])
and (Units[Result].Unit_Name<>'')
and (Units[Result].SrcUnitName<>'')
then begin
if (CompareDottedIdentifiers(PChar(Units[Result].Unit_Name),PChar(AnUnitName))=0)
if (CompareDottedIdentifiers(PChar(Units[Result].SrcUnitName),PChar(AnUnitName))=0)
then
exit;
end;
@ -5022,8 +5042,8 @@ begin
// check if no other project unit has this name
for i:=0 to UnitCount-1 do begin
if (Units[i].IsPartOfProject)
and (Units[i]<>AnUnitInfo) and (Units[i].Unit_Name<>'')
and (CompareText(Units[i].Unit_Name,NewUnitName)=0) then begin
and (Units[i]<>AnUnitInfo) and (Units[i].SrcUnitName<>'')
and (CompareText(Units[i].SrcUnitName,NewUnitName)=0) then begin
Allowed:=false;
exit;
end;
@ -5543,7 +5563,7 @@ function TProject.ProjectUnitWithUnitname(const AnUnitName: string): TUnitInfo;
begin
Result:=fFirst[uilPartOfProject];
while Result<>nil do begin
if CompareText(AnUnitName,Result.Unit_Name)=0 then exit;
if CompareText(AnUnitName,Result.SrcUnitName)=0 then exit;
Result:=Result.fNext[uilPartOfProject];
end;
end;

View File

@ -435,7 +435,7 @@ begin
if AnUnitInfo.OpenEditorInfoCount > 0 then
AShareEditor := TSourceEditor(AnUnitInfo.OpenEditorInfo[0].EditorComponent);
NewSrcEdit:=SrcNotebook.NewFile(
CreateSrcEditPageName(AnUnitInfo.Unit_Name, AFilename, AShareEditor),
CreateSrcEditPageName(AnUnitInfo.SrcUnitName, AFilename, AShareEditor),
AnUnitInfo.Source, False, AShareEditor);
NewSrcEdit.EditorComponent.BeginUpdate;
MainIDEBar.itmFileClose.Enabled:=True;
@ -1719,7 +1719,8 @@ begin
end else
NewUnitInfo:=TUnitInfo.Create(NewBuffer);
//debugln(['TLazSourceFileManager.NewFile ',NewUnitInfo.Filename,' ',NewFilename]);
NewUnitInfo.ImproveUnitNameCache(NewUnitName);
if (CompareText(NewUnitInfo.SrcUnitName,NewUnitName)=0) then
NewUnitInfo.SrcUnitName:=NewUnitName;
NewUnitInfo.BuildFileIfActive:=NewFileDescriptor.BuildFileIfActive;
NewUnitInfo.RunFileIfActive:=NewFileDescriptor.RunFileIfActive;
@ -1765,7 +1766,7 @@ begin
if NewUnitInfo.OpenEditorInfoCount > 0 then
AShareEditor := TSourceEditor(NewUnitInfo.OpenEditorInfo[0].EditorComponent);
NewSrcEdit := SrcNoteBook.NewFile(
CreateSrcEditPageName(NewUnitInfo.Unit_Name, NewUnitInfo.Filename, AShareEditor),
CreateSrcEditPageName(NewUnitInfo.SrcUnitName, NewUnitInfo.Filename, AShareEditor),
NewUnitInfo.Source, True, AShareEditor);
MainIDEBar.itmFileClose.Enabled:=True;
MainIDEBar.itmFileCloseAll.Enabled:=True;
@ -2075,7 +2076,7 @@ begin
OldUnitName:='';
if WasPascalSource then
OldUnitName:=AnUnitInfo.ParseUnitNameFromSource(true);
OldUnitName:=AnUnitInfo.ReadUnitNameFromSource(true);
OldFilename:=AnUnitInfo.Filename;
if [sfSaveAs,sfSaveToTestDir]*Flags=[sfSaveAs] then begin
@ -2151,7 +2152,7 @@ begin
// fix all references
NewUnitName:='';
if FilenameIsPascalSource(AnUnitInfo.Filename) then
NewUnitName:=AnUnitInfo.ParseUnitNameFromSource(true);
NewUnitName:=AnUnitInfo.ReadUnitNameFromSource(true);
NewFilename:=AnUnitInfo.Filename;
if (NewUnitName<>'')
and ((OldUnitName<>NewUnitName) or (CompareFilenames(OldFilename,NewFilename)<>0))
@ -2245,8 +2246,8 @@ begin
// ask user
if AnUnitInfo.Filename<>'' then
AText:=Format(lisFileHasChangedSave, [AnUnitInfo.Filename])
else if AnUnitInfo.Unit_Name<>'' then
AText:=Format(lisUnitHasChangedSave, [AnUnitInfo.Unit_name])
else if AnUnitInfo.SrcUnitName<>'' then
AText:=Format(lisUnitHasChangedSave, [AnUnitInfo.SrcUnitName])
else
AText:=Format(lisSourceOfPageHasChangedSave, [TSourceEditor(AEditor).PageName]);
ACaption:=lisSourceModified;
@ -2936,7 +2937,7 @@ begin
if FileExistsCached(LFMFilename)
and ReadLFMHeaderFromFile(LFMFilename,LFMType,LFMComponentName,LFMClassName)
then begin
anUnitName:=CurUnitInfo.Unit_Name;
anUnitName:=CurUnitInfo.SrcUnitName;
if anUnitName='' then
anUnitName:=ExtractFileNameOnly(LFMFilename);
ItemList.Add(LFMComponentName, CurUnitInfo.Filename,
@ -3091,7 +3092,7 @@ begin
AnUnitInfo.ResourceBaseClass:=FindLFMBaseClass(AnUnitInfo.Filename);
if not ResourceFits(AnUnitInfo.ResourceBaseClass) then continue;
end;
AddUnit(AnUnitInfo.Unit_Name,AnUnitInfo.Filename);
AddUnit(AnUnitInfo.SrcUnitName,AnUnitInfo.Filename);
end;
end else if APackage<>nil then begin
// add package units
@ -3157,8 +3158,8 @@ begin
s:='"'+ActiveUnitInfo.Filename+'"'
else
s:='"'+ActiveSourceEditor.PageName+'"';
if (ActiveUnitInfo.Unit_Name<>'')
and (Project1.IndexOfUnitWithName(ActiveUnitInfo.Unit_Name,true,ActiveUnitInfo)>=0) then
if (ActiveUnitInfo.SrcUnitName<>'')
and (Project1.IndexOfUnitWithName(ActiveUnitInfo.SrcUnitName,true,ActiveUnitInfo)>=0) then
begin
IDEMessageDialog(lisInformation, Format(
lisUnableToAddToProjectBecauseThereIsAlreadyAUnitWith, [s]),
@ -4271,7 +4272,7 @@ function TLazSourceFileManager.NewUniqueComponentName(Prefix: string): string;
if CompareText(AnUnitInfo.Component.ClassName,Identifier)=0 then exit;
end else if (AnUnitInfo.ComponentName<>'')
and ((AnUnitInfo.IsPartOfProject) or AnUnitInfo.Loaded) then begin
if SysUtils.CompareText(AnUnitInfo.Unit_Name,Identifier)=0 then exit;
if SysUtils.CompareText(AnUnitInfo.SrcUnitName,Identifier)=0 then exit;
if SysUtils.CompareText(AnUnitInfo.ComponentName,Identifier)=0 then exit;
end;
end;
@ -4367,7 +4368,7 @@ begin
IsPascal:=FilenameIsPascalSource(AFilename);
if IsPascal then begin
if AnUnitInfo<>nil then
OldUnitName:=AnUnitInfo.ParseUnitNameFromSource(false)
OldUnitName:=AnUnitInfo.ReadUnitNameFromSource(false)
else
OldUnitName:=ExtractFileNameOnly(AFilename);
end else
@ -4988,8 +4989,8 @@ begin
OldLFMFilename:=ChangeFileExt(OldFilename,'.dfm');
end;
if NewUnitName='' then
NewUnitName:=AnUnitInfo.Unit_Name;
debugln(['TLazSourceFileManager.RenameUnit ',AnUnitInfo.Filename,' NewUnitName=',NewUnitName,' OldUnitName=',AnUnitInfo.Unit_Name,' LFMCode=',LFMCode<>nil,' LRSCode=',LRSCode<>nil,' NewFilename="',NewFilename,'"']);
NewUnitName:=AnUnitInfo.SrcUnitName;
debugln(['TLazSourceFileManager.RenameUnit ',AnUnitInfo.Filename,' NewUnitName=',NewUnitName,' OldUnitName=',AnUnitInfo.SrcUnitName,' LFMCode=',LFMCode<>nil,' LRSCode=',LRSCode<>nil,' NewFilename="',NewFilename,'"']);
// check new resource file
NewLFMFilename:='';
@ -5130,7 +5131,7 @@ begin
// the code is not changed, therefore the marks are kept
// change unitname in lpi and in main source file
AnUnitInfo.Unit_Name:=NewUnitName;
AnUnitInfo.SrcUnitName:=NewUnitName;
if LRSCode<>nil then begin
// change resource filename in the source include directive
if not CodeToolBoss.RenameMainInclude(AnUnitInfo.Source,
@ -5339,7 +5340,7 @@ begin
mtConfirmation,[mrYes,mrIgnore,lisNo,mrAbort],'');
if Result<>mrYes then exit;
end;
NewUnitName:=AnUnitInfo.Unit_Name;
NewUnitName:=AnUnitInfo.SrcUnitName;
if NewUnitName='' then begin
AnUnitInfo.ReadUnitNameFromSource(false);
NewUnitName:=AnUnitInfo.CreateUnitName;
@ -5711,7 +5712,7 @@ begin
FormEditor1.ClearSelection;
// create JIT component
NewUnitName:=AnUnitInfo.Unit_Name;
NewUnitName:=AnUnitInfo.SrcUnitName;
if NewUnitName='' then
NewUnitName:=ExtractFileNameOnly(AnUnitInfo.Filename);
DisableAutoSize:=true;
@ -7146,7 +7147,7 @@ begin
AFilename:='';
// build a nice project info filename suggestion
if UseMainSourceFile and (Project1.MainUnitID>=0) then
AFilename:=Project1.MainUnitInfo.Unit_Name;
AFilename:=Project1.MainUnitInfo.SrcUnitName;
if AFilename='' then
AFilename:=ExtractFileName(Project1.ProjectInfoFile);
if AFilename='' then
@ -7327,7 +7328,7 @@ begin
MainUnitSrcEdit.CodeBuffer:=NewBuf;
// change program name
MainUnitInfo.Unit_Name:=NewProgramName;
MainUnitInfo.SrcUnitName:=NewProgramName;
MainUnitInfo.Modified:=true;
// update source notebook page names

View File

@ -311,13 +311,13 @@ begin
FImplUsedUnits.CaseSensitive := False;
end;
if SrcEdit.GetProjectFile is TUnitInfo then
CurrentUnitName := TUnitInfo(SrcEdit.GetProjectFile).Unit_Name
CurrentUnitName := TUnitInfo(SrcEdit.GetProjectFile).SrcUnitName
else
CurrentUnitName := '';
// Add available unit names to list
ProjFile:=Project1.FirstPartOfProject;
while ProjFile <> nil do begin
s := ProjFile.Unit_Name;
s := ProjFile.SrcUnitName;
if s = CurrentUnitName then // current unit
s := '';
if (ProjFile <> Project1.MainUnitInfo) and (s <> '') then

View File

@ -2562,7 +2562,7 @@ var
NewHasRegisterProc:=OldPkgFile.HasRegisterProc;
NewAddToUses:=OldPkgFile.AddToUsesPkgSection;
end else begin
NewUnitName:=OldProjFile.Unit_Name;
NewUnitName:=OldProjFile.SrcUnitName;
NewFileType:=FileNameToPkgFileType(OldFilename);
NewCompPrio:=ComponentPriorityNormal;
NewResourceBaseClass:=OldProjFile.ResourceBaseClass;
@ -4332,7 +4332,7 @@ var
end else begin
ClassUnitInfo:=Project1.UnitWithComponentClassName(ComponentClassnames[i]);
if ClassUnitInfo<>nil then
NewUnitName:=ClassUnitInfo.Unit_Name;
NewUnitName:=ClassUnitInfo.SrcUnitName;
end;
if (NewUnitName<>'') and (UnitNames.IndexOf(NewUnitName)<0) then begin
// new needed unit