IDE: check for R directive and skip updating lrs file

git-svn-id: trunk@22855 -
This commit is contained in:
mattias 2009-11-28 22:07:39 +00:00
parent 55b9380fff
commit 1cc866061d
7 changed files with 776 additions and 442 deletions

View File

@ -43,8 +43,8 @@ uses
LazIDEIntf,
// IDE
LazarusIDEStrConsts, DialogProcs, IDEProcs, CodeToolsOptions, InputHistory,
MiscOptions, LazConf, EnvironmentOpts, TransferMacros, CompilerOptions,
OutputFilter, Compiler, Project, BaseBuildManager;
ProjectResources, MiscOptions, LazConf, EnvironmentOpts, TransferMacros,
CompilerOptions, OutputFilter, Compiler, Project, BaseBuildManager;
type
@ -145,6 +145,7 @@ type
): TModalResult; override;
function BackupFile(const Filename: string): TModalResult; override;
function GetLFMResourceType(AnUnitInfo: TUnitInfo): TLFMResourceType;
function FindLRSFilename(AnUnitInfo: TUnitInfo;
UseDefaultIfNotFound: boolean): string;
function GetDefaultLRSFilename(AnUnitInfo: TUnitInfo): string;
@ -1025,6 +1026,21 @@ begin
until Result<>mrRetry;
end;
function TBuildManager.GetLFMResourceType(AnUnitInfo: TUnitInfo
): TLFMResourceType;
begin
if AnUnitInfo.Source=nil then
AnUnitInfo.Source:=CodeToolBoss.LoadFile(AnUnitInfo.Filename,true,false);
if (AnUnitInfo.Source<>nil)
and GuessLFMResourceType(AnUnitInfo.Source,Result) then begin
// guessed from source
end else if AnUnitInfo.IsPartOfProject then begin
// use project resource type
Result:=Project1.Resources.LFMResourceType;
end else
Result:=lfmrtLRS;
end;
function TBuildManager.FindLRSFilename(AnUnitInfo: TUnitInfo;
UseDefaultIfNotFound: boolean): string;
begin
@ -1094,8 +1110,8 @@ begin
AnUnitInfo := Project1.FirstPartOfProject;
while AnUnitInfo<>nil do
begin
if AnUnitInfo.HasResources then
begin
if AnUnitInfo.HasResources and (Project1.Resources.LFMResourceType=lfmrtLRS)
and (GetLFMResourceType(AnUnitInfo)=lfmrtLRS) then begin
Result := UpdateLRSFromLFM(AnUnitInfo,false);
if Result = mrIgnore then Result:=mrOk;
if Result <> mrOk then exit;

View File

@ -692,6 +692,9 @@ resourcestring
lisInfoBuildWarning = 'Warnings:';
lisInfoBuildBuild = 'Build';
lisInfoBuildComplile = 'Compiling...';
lisFPCTooOld = 'FPC too old';
lisTheProjectUsesTheNewFPCResourcesWhichRequiresAtLea = 'The project uses '
+'the new FPC resources, which requires at least FPC 2.4';
lisInfoBuildError = 'Error...';
lisCreateDirectory = 'Create directory?';
lisTheOutputDirectoryIsMissing = 'The output directory %s%s%s is missing.';
@ -4387,6 +4390,13 @@ resourcestring
rsCreatingSymLinkFailed = 'Creating symbolic link "%s" failed!';
rsCreatingSymLinkNotSupported = 'Creating symbolic link is not supported on this platform!';
lisPutLrsFilesInOutputDirectory = 'Save .lrs files in the output directory';
lisLFMResourceType = 'LFM resource type';
lisLrsIncludeFiles = 'lrs include files';
lisAutomaticallyConvertLfmFilesToLrsIncludeFiles = 'Automatically convert .'
+'lfm files to .lrs include files';
lisFPCResources = 'FPC resources';
lisRequiresFPC24OrAboveLikeDelphiResources = 'Requires FPC 2.4 or above. '
+'Like Delphi resources';
dlgCOCreateNodeAbove = 'Create node above';
dlgCOCreateNodeBelow = 'Create node below';
dlgCOCreateChildNode = 'Create child node';

View File

@ -80,7 +80,7 @@ uses
Compiler, CompilerOptions, CompilerOptionsDlg, CheckCompilerOpts,
ApplicationBundle, ImExportCompilerOpts, InfoBuild,
// projects
Project, ProjectDefs, NewProjectDlg, ProjectOpts,
ProjectResources, Project, ProjectDefs, NewProjectDlg, ProjectOpts,
PublishProjectDlg, ProjectInspector, PackageDefs,
// help manager
IDEContextHelpEdit, IDEHelpIntf, HelpManager, CodeHelp, HelpOptions,
@ -4430,24 +4430,32 @@ function TMainIDE.DoLoadResourceFile(AnUnitInfo: TUnitInfo;
var
LFMFilename: string;
LRSFilename: String;
ResType: TLFMResourceType;
begin
LFMCode:=nil;
ResourceCode:=nil;
//DebugLn(['TMainIDE.DoLoadResourceFile ',AnUnitInfo.Filename,' HasResources=',AnUnitInfo.HasResources,' IgnoreSourceErrors=',IgnoreSourceErrors,' AutoCreateResourceCode=',AutoCreateResourceCode]);
if AnUnitInfo.HasResources then begin
//writeln('TMainIDE.DoLoadResourceFile A "',AnUnitInfo.Filename,'" "',AnUnitInfo.ResourceFileName,'"');
LRSFilename:=MainBuildBoss.FindLRSFilename(AnUnitInfo,false);
if LRSFilename<>'' then begin
Result:=LoadCodeBuffer(ResourceCode,LRSFilename,[lbfUpdateFromDisk],ShowAbort);
if Result<>mrOk then exit;
end else begin
LRSFilename:=MainBuildBoss.GetDefaultLRSFilename(AnUnitInfo);
if AutoCreateResourceCode then begin
ResourceCode:=CodeToolBoss.CreateFile(LRSFilename);
ResType:=MainBuildBoss.GetLFMResourceType(AnUnitInfo);
if ResType=lfmrtLRS then begin
LRSFilename:=MainBuildBoss.FindLRSFilename(AnUnitInfo,false);
if LRSFilename<>'' then begin
Result:=LoadCodeBuffer(ResourceCode,LRSFilename,[lbfUpdateFromDisk],ShowAbort);
if Result<>mrOk then exit;
end else begin
DebugLn(['TMainIDE.DoLoadResourceFile .lrs file not found of unit ',AnUnitInfo.Filename]);
exit(mrCancel);
LRSFilename:=MainBuildBoss.GetDefaultLRSFilename(AnUnitInfo);
if AutoCreateResourceCode then begin
ResourceCode:=CodeToolBoss.CreateFile(LRSFilename);
end else begin
DebugLn(['TMainIDE.DoLoadResourceFile .lrs file not found of unit ',AnUnitInfo.Filename]);
exit(mrCancel);
end;
end;
end else begin
LRSFilename:='';
ResourceCode:=nil;
end;
// if no resource file found (i.e. normally the .lrs file)
@ -4769,6 +4777,7 @@ var
i: Integer;
LRSFilename: String;
PropPath: String;
ResType: TLFMResourceType;
begin
Result:=mrCancel;
@ -4784,6 +4793,8 @@ begin
// LRT file format (in present) are lines
// <ClassName>.<PropertyName>=<PropertyValue>
LRSFilename:='';
ResType:=MainBuildBoss.GetLFMResourceType(AnUnitInfo);
ResourceCode:=nil;
if (AnUnitInfo.Component<>nil) then begin
// stream component to resource code and to lfm file
@ -4796,10 +4807,12 @@ begin
// save designer form properties to the component
FormEditor1.SaveHiddenDesignerFormProperties(AnUnitInfo.Component);
if (sfSaveToTestDir in Flags) then
LRSFilename:=MainBuildBoss.GetDefaultLRSFilename(AnUnitInfo)
else
LRSFilename:=MainBuildBoss.FindLRSFilename(AnUnitInfo,true);
if ResType=lfmrtLRS then begin
if (sfSaveToTestDir in Flags) then
LRSFilename:=MainBuildBoss.GetDefaultLRSFilename(AnUnitInfo)
else
LRSFilename:=MainBuildBoss.FindLRSFilename(AnUnitInfo,true);
end;
// stream component to binary stream
BinCompStream:=TExtMemoryStream.Create;
@ -4867,7 +4880,7 @@ begin
until Result<>mrRetry;
// create lazarus form resource code
if ComponentSavingOk then begin
if ComponentSavingOk and (LRSFilename<>'') then begin
if ResourceCode=nil then begin
ResourceCode:=CodeToolBoss.CreateFile(LRSFilename);
ComponentSavingOk:=(ResourceCode<>nil);
@ -4931,10 +4944,14 @@ begin
ResourceCode.Source:=CompResourceCode;
end;
end;
if (not (sfSaveToTestDir in Flags)) and (not AnUnitInfo.IsVirtual) then
end;
if ComponentSavingOk then begin
if (not AnUnitInfo.IsVirtual) or (sfSaveToTestDir in Flags) then
begin
// save lfm file
LFMFilename:=ChangeFileExt(AnUnitInfo.Filename,'.lfm');
if AnUnitInfo.IsVirtual then
LFMFilename:=AppendPathDelim(GetTestBuildDirectory)+LFMFilename;
if LFMCode=nil then begin
LFMCode:=CodeToolBoss.CreateFile(LFMFilename);
if LFMCode=nil then begin
@ -7401,6 +7418,7 @@ var
LFMCode: TCodeBuffer;
AProject: TProject;
LRSFilename: String;
ResType: TLFMResourceType;
begin
//debugln('TMainIDE.DoNewEditorFile A NewFilename=',NewFilename);
// empty NewFilename is ok, it will be auto generated
@ -7499,6 +7517,7 @@ begin
AncestorType:=NewFileDescriptor.ResourceClass;
//DebugLn(['TMainIDE.DoNewFile AncestorType=',dbgsName(AncestorType),' ComponentName',NewUnitInfo.ComponentName]);
if AncestorType<>nil then begin
ResType:=MainBuildBoss.GetLFMResourceType(NewUnitInfo);
LFMSourceText:=NewFileDescriptor.GetResourceSource(NewUnitInfo.ComponentName);
//DebugLn(['TMainIDE.DoNewFile LFMSourceText=',LFMSourceText]);
if LFMSourceText<>'' then begin
@ -7511,7 +7530,7 @@ begin
Result:=DoLoadLFM(NewUnitInfo,LFMCode,[],[]);
//DebugLn(['TMainIDE.DoNewFile ',dbgsName(NewUnitInfo.Component),' ',dbgsName(NewUnitInfo.Component.ClassParent)]);
// make sure the .lrs file exists
if NewUnitInfo.IsVirtual then begin
if (ResType=lfmrtLRS) and NewUnitInfo.IsVirtual then begin
LRSFilename:=ChangeFileExt(NewUnitInfo.Filename,'.lrs');
CodeToolBoss.CreateFile(LRSFilename);
end;
@ -9832,6 +9851,7 @@ var
TargetExeName: String;
err : TFPCErrorType;
TargetExeDirectory: String;
FPCVersion, FPCRelease, FPCPatch: integer;
begin
if Project1.MainUnitInfo=nil then begin
// this project has not source to compile
@ -9860,6 +9880,18 @@ begin
Result:=DoSaveForBuild;
if Result<>mrOk then exit;
if (Project1.Resources.LFMResourceType=lfmrtRes) then begin
// FPC resources are only supported with FPC 2.4+
CodeToolBoss.GetFPCVersionForDirectory(
ExtractFilePath(Project1.MainFilename),FPCVersion,FPCRelease,FPCPatch);
if (FPCVersion=2) and (FPCRelease<4) then begin
MessageDlg(lisFPCTooOld,
lisTheProjectUsesTheNewFPCResourcesWhichRequiresAtLea,
mtError,[mbCancel],0);
exit(mrCancel);
end;
end;
CreateInfoBuilder(OwningComponent);
PutInfoBuilderProject(Project1.MainFilename);
PutInfoBuilderStatus(lisInfoBuildComplile);

View File

@ -15,37 +15,37 @@ object ProjectOptionsDialog: TProjectOptionsDialog
LCLVersion = '0.9.29'
object Notebook: TNotebook
Left = 0
Height = 463
Height = 453
Top = 0
Width = 517
Align = alClient
BorderSpacing.Bottom = 6
PageIndex = 0
PageIndex = 6
TabOrder = 0
object ApplicationPage: TPage
Caption = 'ApplicationPage'
ClientWidth = 509
ClientHeight = 437
ClientWidth = 515
ClientHeight = 426
object AppSettingsGroupBox: TGroupBox
Left = 6
Height = 269
Height = 288
Top = 6
Width = 497
Width = 503
Align = alTop
AutoSize = True
BorderSpacing.Around = 6
Caption = 'AppSettingsGroupBox'
ClientHeight = 251
ClientWidth = 493
ClientHeight = 284
ClientWidth = 499
TabOrder = 0
object TitleLabel: TLabel
AnchorSideLeft.Control = AppSettingsGroupBox
AnchorSideTop.Control = TitleEdit
AnchorSideTop.Side = asrCenter
Left = 6
Height = 14
Top = 9
Width = 46
Height = 18
Top = 10
Width = 61
BorderSpacing.Left = 6
Caption = 'TitleLabel'
ParentColor = False
@ -54,9 +54,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideLeft.Control = AppSettingsGroupBox
AnchorSideTop.Control = IconPanel
Left = 6
Height = 14
Top = 33
Width = 47
Height = 18
Top = 39
Width = 61
BorderSpacing.Left = 6
Caption = 'IconLabel'
ParentColor = False
@ -68,9 +68,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = IconTrack
Left = 240
Height = 14
Top = 173
Width = 73
Height = 18
Top = 178
Width = 93
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'IconTrackLabel'
@ -79,9 +79,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
object TitleEdit: TEdit
AnchorSideLeft.Side = asrBottom
Left = 106
Height = 21
Height = 27
Top = 6
Width = 381
Width = 387
Align = alTop
BorderSpacing.Left = 100
BorderSpacing.Around = 6
@ -93,9 +93,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = IconTrack
AnchorSideTop.Side = asrBottom
Left = 6
Height = 17
Top = 205
Width = 134
Height = 22
Top = 213
Width = 181
BorderSpacing.Around = 6
Caption = 'UseAppBundleCheckBox'
TabOrder = 1
@ -105,9 +105,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = UseAppBundleCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 17
Top = 228
Width = 136
Height = 22
Top = 241
Width = 182
BorderSpacing.Around = 6
Caption = 'UseXPManifestCheckBox'
TabOrder = 2
@ -118,7 +118,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Side = asrBottom
Left = 106
Height = 128
Top = 33
Top = 39
Width = 128
BorderSpacing.Left = 106
BorderSpacing.Top = 6
@ -146,9 +146,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideBottom.Control = IconPanel
AnchorSideBottom.Side = asrBottom
Left = 240
Height = 23
Top = 33
Width = 102
Height = 29
Top = 39
Width = 115
AutoSize = True
BorderSpacing.Left = 6
Caption = 'LoadIconButton'
@ -161,9 +161,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = LoadIconButton
AnchorSideTop.Side = asrBottom
Left = 240
Height = 23
Top = 62
Width = 103
Height = 29
Top = 74
Width = 116
AutoSize = True
BorderSpacing.Top = 6
Caption = 'SaveIconButton'
@ -176,9 +176,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = SaveIconButton
AnchorSideTop.Side = asrBottom
Left = 240
Height = 23
Top = 91
Width = 104
Height = 29
Top = 109
Width = 117
AutoSize = True
BorderSpacing.Top = 6
Caption = 'ClearIconButton'
@ -193,8 +193,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Control = IconPanel
AnchorSideRight.Side = asrBottom
Left = 106
Height = 38
Top = 161
Height = 40
Top = 167
Width = 128
Max = 0
OnChange = IconTrackChange
@ -205,23 +205,23 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object OutputSettingsGroupBox: TGroupBox
Left = 6
Height = 71
Top = 281
Width = 497
Height = 82
Top = 300
Width = 503
Align = alTop
AutoSize = True
BorderSpacing.Around = 6
Caption = 'OutputSettingsGroupBox'
ClientHeight = 53
ClientWidth = 493
ClientHeight = 78
ClientWidth = 499
TabOrder = 1
object TargetFileLabel: TLabel
AnchorSideLeft.Control = OutputSettingsGroupBox
AnchorSideTop.Control = OutputSettingsGroupBox
Left = 6
Height = 14
Height = 18
Top = 6
Width = 74
Width = 94
BorderSpacing.Around = 6
Caption = 'TargetFileLabel'
ParentColor = False
@ -233,9 +233,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Control = OutputSettingsGroupBox
AnchorSideRight.Side = asrBottom
Left = 6
Height = 21
Top = 26
Width = 481
Height = 27
Top = 30
Width = 487
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
TabOrder = 0
@ -247,9 +247,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = OutputSettingsGroupBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 23
Top = 358
Width = 142
Height = 29
Top = 388
Width = 170
AutoSize = True
BorderSpacing.Around = 6
Caption = 'CreateAppBundleButton'
@ -260,23 +260,23 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object FormsPage: TPage
Caption = 'FormsPage'
ClientWidth = 509
ClientHeight = 437
ClientWidth = 515
ClientHeight = 426
OnResize = FormsPageResize
object FormsAutoCreatedLabel: TLabel
Left = 36
Height = 14
Height = 18
Top = 10
Width = 117
Width = 156
Caption = 'FormsAutoCreatedLabel'
ParentColor = False
end
object FormsAvailFormsLabel: TLabel
AnchorSideLeft.Control = FormsAvailFormsListBox
Left = 266
Height = 14
Height = 18
Top = 10
Width = 107
Width = 144
Caption = 'FormsAvailFormsLabel'
ParentColor = False
end
@ -285,7 +285,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = FormsAutoCreatedListBox
Left = 6
Height = 24
Top = 36
Top = 40
Width = 24
BorderSpacing.Around = 6
Color = clBtnFace
@ -298,7 +298,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Side = asrBottom
Left = 6
Height = 24
Top = 66
Top = 70
Width = 24
Color = clBtnFace
NumGlyphs = 0
@ -310,7 +310,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = FormsAutoCreatedListBox
Left = 236
Height = 24
Top = 36
Top = 40
Width = 24
BorderSpacing.Around = 6
Color = clBtnFace
@ -324,7 +324,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Side = asrBottom
Left = 236
Height = 24
Top = 66
Top = 70
Width = 24
Color = clBtnFace
NumGlyphs = 0
@ -337,8 +337,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Side = asrBottom
AnchorSideBottom.Control = FormsAutoCreateNewFormsCheckBox
Left = 36
Height = 378
Top = 30
Height = 358
Top = 34
Width = 194
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Around = 6
@ -346,6 +346,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
MultiSelect = True
OnDblClick = FormsRemoveFromAutoCreatedFormsBtnClick
TabOrder = 0
TopIndex = -1
end
object FormsAvailFormsListBox: TListBox
AnchorSideLeft.Control = FormsAddToAutoCreatedFormsBtn
@ -356,23 +357,24 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = FormsAutoCreateNewFormsCheckBox
Left = 266
Height = 378
Top = 30
Width = 237
Height = 358
Top = 34
Width = 243
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
ItemHeight = 0
MultiSelect = True
OnDblClick = FormsAddToAutoCreatedFormsBtnClick
TabOrder = 1
TopIndex = -1
end
object FormsAutoCreateNewFormsCheckBox: TCheckBox
AnchorSideLeft.Control = FormsAddToAutoCreatedFormsBtn
AnchorSideTop.Control = FormsAutoCreatedListBox
Left = 6
Height = 17
Top = 414
Width = 497
Height = 22
Top = 398
Width = 503
Align = alBottom
BorderSpacing.Around = 6
Caption = 'FormsAutoCreateNewFormsCheckBox'
@ -381,19 +383,19 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object LazDocPage: TPage
Caption = 'LazDocPage'
ClientWidth = 509
ClientHeight = 427
ClientWidth = 515
ClientHeight = 426
object LazDocPathsGroupBox: TGroupBox
Left = 6
Height = 192
Height = 207
Top = 6
Width = 497
Width = 503
Align = alTop
AutoSize = True
BorderSpacing.Around = 6
Caption = 'LazDocPathsGroupBox'
ClientHeight = 174
ClientWidth = 493
ClientHeight = 203
ClientWidth = 499
TabOrder = 0
object LazDocListBox: TListBox
AnchorSideLeft.Control = LazDocPathsGroupBox
@ -403,11 +405,12 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6
Height = 108
Top = 6
Width = 481
Width = 487
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
ItemHeight = 0
TabOrder = 0
TopIndex = -1
end
object LazDocPathEdit: TEdit
AnchorSideLeft.Control = LazDocPathsGroupBox
@ -417,7 +420,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6
Height = 27
Top = 120
Width = 457
Width = 463
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Top = 6
@ -433,7 +436,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = LazDocPathEdit
AnchorSideBottom.Side = asrBottom
Left = 463
Left = 469
Height = 27
Top = 120
Width = 24
@ -478,13 +481,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object SavePage: TPage
Caption = 'SavePage'
ClientWidth = 509
ClientHeight = 427
ClientWidth = 515
ClientHeight = 426
object SaveClosedUnitInfoCheckBox: TCheckBox
Left = 6
Height = 17
Height = 22
Top = 6
Width = 497
Width = 503
Align = alTop
BorderSpacing.Around = 6
Caption = 'SaveClosedUnitInfoCheckBox'
@ -494,9 +497,9 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideTop.Control = SaveClosedUnitInfoCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 17
Top = 29
Width = 497
Height = 22
Top = 34
Width = 503
Align = alTop
BorderSpacing.Around = 6
Caption = 'SaveOnlyProjectUnitInfoCheckBox'
@ -509,8 +512,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Side = asrBottom
Left = 6
Height = 4
Top = 58
Width = 497
Top = 68
Width = 503
Align = alTop
AutoFill = True
AutoSize = True
@ -530,8 +533,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object VersionInfoPage: TPage
Caption = 'VersionInfoPage'
ClientWidth = 509
ClientHeight = 437
ClientWidth = 515
ClientHeight = 426
object VersionInfoGroupBox: TGroupBox
AnchorSideLeft.Control = LanguageSettingsGroupBox
AnchorSideTop.Side = asrBottom
@ -539,13 +542,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6
Height = 100
Top = 29
Width = 497
Width = 503
Align = alTop
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Version Numbering'
ClientHeight = 82
ClientWidth = 493
ClientHeight = 81
ClientWidth = 499
TabOrder = 1
object VersionLabel: TLabel
AnchorSideLeft.Control = VersionInfoGroupBox
@ -659,7 +662,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6
Height = 17
Top = 6
Width = 497
Width = 503
Align = alTop
BorderSpacing.Around = 6
Caption = 'Include Version Info in executable'
@ -672,13 +675,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6
Height = 71
Top = 135
Width = 497
Width = 503
Align = alTop
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Language Options'
ClientHeight = 53
ClientWidth = 493
ClientHeight = 52
ClientWidth = 499
TabOrder = 2
object LanguageSelectionLabel: TLabel
AnchorSideLeft.Control = LanguageSettingsGroupBox
@ -713,7 +716,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Width = 248
BorderSpacing.Top = 2
BorderSpacing.Bottom = 6
ItemHeight = 13
ItemHeight = 0
TabOrder = 0
Text = 'U.S. English'
end
@ -725,11 +728,11 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 260
Height = 21
Top = 26
Width = 227
Width = 233
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
BorderSpacing.Bottom = 6
ItemHeight = 13
ItemHeight = 0
TabOrder = 1
Text = 'Multilingual'
end
@ -740,13 +743,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6
Height = 107
Top = 212
Width = 497
Width = 503
Align = alTop
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Other Info'
ClientHeight = 89
ClientWidth = 493
ClientHeight = 88
ClientWidth = 499
TabOrder = 3
object DescriptionLabel: TLabel
AnchorSideTop.Control = DescriptionEdit
@ -779,7 +782,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 74
Height = 21
Top = 6
Width = 413
Width = 419
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 10
BorderSpacing.Top = 6
@ -795,7 +798,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 74
Height = 21
Top = 33
Width = 413
Width = 419
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
BorderSpacing.Right = 6
@ -807,7 +810,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Control = OtherInfoGroupBox
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 391
Left = 397
Height = 23
Top = 60
Width = 96
@ -823,8 +826,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object i18nPage: TPage
Caption = 'i18n'
ClientWidth = 509
ClientHeight = 427
ClientWidth = 515
ClientHeight = 426
object I18NGroupBox: TGroupBox
AnchorSideLeft.Control = OtherInfoGroupBox
AnchorSideTop.Control = VersionInfoGroupBox
@ -834,13 +837,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6
Height = 84
Top = 34
Width = 497
Width = 503
Align = alTop
AutoSize = True
BorderSpacing.Around = 6
Caption = 'i18n Options'
ClientHeight = 66
ClientWidth = 493
ClientHeight = 65
ClientWidth = 499
TabOrder = 0
object PoOutDirLabel: TLabel
Left = 6
@ -859,7 +862,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6
Height = 27
Top = 30
Width = 457
Width = 463
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Top = 6
@ -873,7 +876,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = POOutDirEdit
AnchorSideBottom.Side = asrBottom
Left = 463
Left = 469
Height = 27
Top = 30
Width = 24
@ -888,7 +891,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6
Height = 22
Top = 6
Width = 497
Width = 503
Align = alTop
BorderSpacing.Around = 6
Caption = 'Enable i18n'
@ -898,8 +901,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
end
object MiscPage: TPage
Caption = 'MiscPage'
ClientWidth = 509
ClientHeight = 427
ClientWidth = 515
ClientHeight = 426
object Bevel1: TBevel
AnchorSideLeft.Control = MiscPage
AnchorSideTop.Control = MainUnitHasTitleStatementCheckBox
@ -909,7 +912,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Left = 6
Height = 3
Top = 118
Width = 497
Width = 503
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
end
@ -995,12 +998,59 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Caption = 'LRSInOutputDirCheckBox'
TabOrder = 6
end
object LFMResourceGroupBox: TGroupBox
AnchorSideLeft.Control = MiscPage
AnchorSideTop.Control = LRSInOutputDirCheckBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = MiscPage
AnchorSideRight.Side = asrBottom
Left = 6
Height = 81
Top = 208
Width = 503
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Caption = 'LFMResourceGroupBox'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 62
ClientWidth = 499
TabOrder = 7
object UseLRSFilesRadioButton: TRadioButton
Left = 6
Height = 25
Top = 6
Width = 487
Caption = 'UseLRSFilesRadioButton'
Checked = True
ParentShowHint = False
ShowHint = True
State = cbChecked
TabOrder = 0
end
object UseFPCResourcesRadioButton: TRadioButton
Left = 6
Height = 25
Top = 31
Width = 487
Caption = 'UseFPCResourcesRadioButton'
ParentShowHint = False
ShowHint = True
TabOrder = 1
end
end
end
end
object ButtonPanel: TButtonPanel
Left = 6
Height = 26
Top = 469
Height = 36
Top = 459
Width = 505
TabOrder = 1
ShowButtons = [pbOK, pbCancel, pbHelp]

View File

@ -7,351 +7,369 @@ LazarusResources.Add('TProjectOptionsDialog','FORMDATA',[
+#12'ClientHeight'#3#245#1#11'ClientWidth'#3#5#2#21'Constraints.MinHeight'#3
+#234#1#20'Constraints.MinWidth'#3#254#1#7'OnClose'#7#19'ProjectOptionsClose'
+#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#6'0.9.29'#0#9'TNotebook'#8
+'Notebook'#4'Left'#2#0#6'Height'#3#207#1#3'Top'#2#0#5'Width'#3#5#2#5'Align'#7
+#8'alClient'#20'BorderSpacing.Bottom'#2#6#9'PageIndex'#2#0#8'TabOrder'#2#0#0
+'Notebook'#4'Left'#2#0#6'Height'#3#197#1#3'Top'#2#0#5'Width'#3#5#2#5'Align'#7
+#8'alClient'#20'BorderSpacing.Bottom'#2#6#9'PageIndex'#2#6#8'TabOrder'#2#0#0
+#5'TPage'#15'ApplicationPage'#7'Caption'#6#15'ApplicationPage'#11'ClientWidt'
+'h'#3#253#1#12'ClientHeight'#3#181#1#0#9'TGroupBox'#19'AppSettingsGroupBox'#4
+'Left'#2#6#6'Height'#3#13#1#3'Top'#2#6#5'Width'#3#241#1#5'Align'#7#5'alTop'#8
+'h'#3#3#2#12'ClientHeight'#3#170#1#0#9'TGroupBox'#19'AppSettingsGroupBox'#4
+'Left'#2#6#6'Height'#3' '#1#3'Top'#2#6#5'Width'#3#247#1#5'Align'#7#5'alTop'#8
+'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'AppSettingsGroupBo'
+'x'#12'ClientHeight'#3#251#0#11'ClientWidth'#3#237#1#8'TabOrder'#2#0#0#6'TLa'
+'bel'#10'TitleLabel'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21
+'x'#12'ClientHeight'#3#28#1#11'ClientWidth'#3#243#1#8'TabOrder'#2#0#0#6'TLab'
+'el'#10'TitleLabel'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21
+'AnchorSideTop.Control'#7#9'TitleEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'
+#4'Left'#2#6#6'Height'#2#14#3'Top'#2#9#5'Width'#2'.'#18'BorderSpacing.Left'#2
+#6#7'Caption'#6#10'TitleLabel'#11'ParentColor'#8#0#0#6'TLabel'#9'IconLabel'
+#4'Left'#2#6#6'Height'#2#18#3'Top'#2#10#5'Width'#2'='#18'BorderSpacing.Left'
+#2#6#7'Caption'#6#10'TitleLabel'#11'ParentColor'#8#0#0#6'TLabel'#9'IconLabel'
+#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop.Contr'
+'ol'#7#9'IconPanel'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'!'#5'Width'#2'/'#18
+'ol'#7#9'IconPanel'#4'Left'#2#6#6'Height'#2#18#3'Top'#2''''#5'Width'#2'='#18
+'BorderSpacing.Left'#2#6#7'Caption'#6#9'IconLabel'#11'ParentColor'#8#0#0#6'T'
+'Label'#14'IconTrackLabel'#22'AnchorSideLeft.Control'#7#9'IconTrack'#19'Anch'
+'orSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'IconTrack'#18
+'AnchorSideTop.Side'#7#9'asrCenter'#23'AnchorSideRight.Control'#7#9'IconTrac'
+'k'#4'Left'#3#240#0#6'Height'#2#14#3'Top'#3#173#0#5'Width'#2'I'#18'BorderSpa'
+'k'#4'Left'#3#240#0#6'Height'#2#18#3'Top'#3#178#0#5'Width'#2']'#18'BorderSpa'
+'cing.Left'#2#6#19'BorderSpacing.Right'#2#6#7'Caption'#6#14'IconTrackLabel'
+#11'ParentColor'#8#0#0#5'TEdit'#9'TitleEdit'#19'AnchorSideLeft.Side'#7#9'asr'
+'Bottom'#4'Left'#2'j'#6'Height'#2#21#3'Top'#2#6#5'Width'#3'}'#1#5'Align'#7#5
+'Bottom'#4'Left'#2'j'#6'Height'#2#27#3'Top'#2#6#5'Width'#3#131#1#5'Align'#7#5
+'alTop'#18'BorderSpacing.Left'#2'd'#20'BorderSpacing.Around'#2#6#8'TabOrder'
+#2#0#4'Text'#6#9'TitleEdit'#0#0#9'TCheckBox'#20'UseAppBundleCheckBox'#22'Anc'
+'horSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop.Control'#7#9
+'IconTrack'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#17
+#3'Top'#3#205#0#5'Width'#3#134#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#20
+'IconTrack'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22
+#3'Top'#3#213#0#5'Width'#3#181#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#20
+'UseAppBundleCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBox'#21'UseXPManifestChec'
+'kBox'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop'
+'.Control'#7#20'UseAppBundleCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4
+'Left'#2#6#6'Height'#2#17#3'Top'#3#228#0#5'Width'#3#136#0#20'BorderSpacing.A'
+'Left'#2#6#6'Height'#2#22#3'Top'#3#241#0#5'Width'#3#182#0#20'BorderSpacing.A'
+'round'#2#6#7'Caption'#6#21'UseXPManifestCheckBox'#8'TabOrder'#2#2#0#0#6'TPa'
+'nel'#9'IconPanel'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'A'
+'nchorSideTop.Control'#7#9'TitleEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4
+'Left'#2'j'#6'Height'#3#128#0#3'Top'#2'!'#5'Width'#3#128#0#18'BorderSpacing.'
+'Left'#2'j'#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#10'BevelOu'
+'ter'#7#6'bvNone'#11'BorderWidth'#2#1#11'BorderStyle'#7#8'bsSingle'#12'Clien'
+'tHeight'#2'|'#11'ClientWidth'#2'|'#8'TabOrder'#2#3#0#6'TImage'#9'IconImage'
+'Left'#2'j'#6'Height'#3#128#0#3'Top'#2''''#5'Width'#3#128#0#18'BorderSpacing'
+'.Left'#2'j'#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#10'BevelO'
+'uter'#7#6'bvNone'#11'BorderWidth'#2#1#11'BorderStyle'#7#8'bsSingle'#12'Clie'
+'ntHeight'#2'|'#11'ClientWidth'#2'|'#8'TabOrder'#2#3#0#6'TImage'#9'IconImage'
+#4'Left'#2#1#6'Height'#2'z'#3'Top'#2#1#5'Width'#2'z'#5'Align'#7#8'alClient'#6
+'Center'#9#16'OnPictureChanged'#7#23'IconImagePictureChanged'#0#0#0#7'TBitBt'
+'n'#14'LoadIconButton'#22'AnchorSideLeft.Control'#7#9'IconPanel'#19'AnchorSi'
+'deLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#9'IconPanel'#24'Anc'
+'horSideBottom.Control'#7#9'IconPanel'#21'AnchorSideBottom.Side'#7#9'asrBott'
+'om'#4'Left'#3#240#0#6'Height'#2#23#3'Top'#2'!'#5'Width'#2'f'#8'AutoSize'#9
+'om'#4'Left'#3#240#0#6'Height'#2#29#3'Top'#2''''#5'Width'#2's'#8'AutoSize'#9
+#18'BorderSpacing.Left'#2#6#7'Caption'#6#14'LoadIconButton'#9'NumGlyphs'#2#0
+#7'OnClick'#7#19'LoadIconButtonClick'#8'TabOrder'#2#4#0#0#7'TBitBtn'#14'Save'
+'IconButton'#22'AnchorSideLeft.Control'#7#14'LoadIconButton'#21'AnchorSideTo'
+'p.Control'#7#14'LoadIconButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Lef'
+'t'#3#240#0#6'Height'#2#23#3'Top'#2'>'#5'Width'#2'g'#8'AutoSize'#9#17'Border'
+'t'#3#240#0#6'Height'#2#29#3'Top'#2'J'#5'Width'#2't'#8'AutoSize'#9#17'Border'
+'Spacing.Top'#2#6#7'Caption'#6#14'SaveIconButton'#9'NumGlyphs'#2#0#7'OnClick'
+#7#19'SaveIconButtonClick'#8'TabOrder'#2#5#0#0#7'TBitBtn'#15'ClearIconButton'
+#22'AnchorSideLeft.Control'#7#14'SaveIconButton'#21'AnchorSideTop.Control'#7
+#14'SaveIconButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#240#0#6
+'Height'#2#23#3'Top'#2'['#5'Width'#2'h'#8'AutoSize'#9#17'BorderSpacing.Top'#2
+'Height'#2#29#3'Top'#2'm'#5'Width'#2'u'#8'AutoSize'#9#17'BorderSpacing.Top'#2
+#6#7'Caption'#6#15'ClearIconButton'#9'NumGlyphs'#2#0#7'OnClick'#7#20'ClearIc'
+'onButtonClick'#8'TabOrder'#2#6#0#0#9'TTrackBar'#9'IconTrack'#22'AnchorSideL'
+'eft.Control'#7#9'IconPanel'#21'AnchorSideTop.Control'#7#9'IconPanel'#18'Anc'
+'horSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#9'IconPanel'
+#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'j'#6'Height'#2'&'#3'Top'#3
,#161#0#5'Width'#3#128#0#3'Max'#2#0#8'OnChange'#7#15'IconTrackChange'#8'Posit'
+#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'j'#6'Height'#2'('#3'Top'#3
,#167#0#5'Width'#3#128#0#3'Max'#2#0#8'OnChange'#7#15'IconTrackChange'#8'Posit'
+'ion'#2#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#7#0#0#0
+#9'TGroupBox'#22'OutputSettingsGroupBox'#4'Left'#2#6#6'Height'#2'G'#3'Top'#3
+#25#1#5'Width'#3#241#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Ar'
+'ound'#2#6#7'Caption'#6#22'OutputSettingsGroupBox'#12'ClientHeight'#2'5'#11
+'ClientWidth'#3#237#1#8'TabOrder'#2#1#0#6'TLabel'#15'TargetFileLabel'#22'Anc'
+#9'TGroupBox'#22'OutputSettingsGroupBox'#4'Left'#2#6#6'Height'#2'R'#3'Top'#3
+','#1#5'Width'#3#247#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Ar'
+'ound'#2#6#7'Caption'#6#22'OutputSettingsGroupBox'#12'ClientHeight'#2'N'#11
+'ClientWidth'#3#243#1#8'TabOrder'#2#1#0#6'TLabel'#15'TargetFileLabel'#22'Anc'
+'horSideLeft.Control'#7#22'OutputSettingsGroupBox'#21'AnchorSideTop.Control'
+#7#22'OutputSettingsGroupBox'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'
+#2'J'#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'TargetFileLabel'#11'Paren'
+#7#22'OutputSettingsGroupBox'#4'Left'#2#6#6'Height'#2#18#3'Top'#2#6#5'Width'
+#2'^'#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'TargetFileLabel'#11'Paren'
+'tColor'#8#0#0#5'TEdit'#14'TargetFileEdit'#22'AnchorSideLeft.Control'#7#22'O'
+'utputSettingsGroupBox'#21'AnchorSideTop.Control'#7#15'TargetFileLabel'#18'A'
+'nchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#22'OutputSe'
+'ttingsGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heigh'
+'t'#2#21#3'Top'#2#26#5'Width'#3#225#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akR'
+'t'#2#27#3'Top'#2#30#5'Width'#3#231#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akR'
+'ight'#0#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#4'Text'#6#14'TargetFil'
+'eEdit'#0#0#0#7'TBitBtn'#21'CreateAppBundleButton'#22'AnchorSideLeft.Control'
+#7#15'ApplicationPage'#21'AnchorSideTop.Control'#7#22'OutputSettingsGroupBox'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#23#3'Top'#3'f'
+#1#5'Width'#3#142#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6
+#21'CreateAppBundleButton'#9'NumGlyphs'#2#0#7'OnClick'#7#26'CreateAppBundleB'
+'uttonClick'#8'TabOrder'#2#2#0#0#0#5'TPage'#9'FormsPage'#7'Caption'#6#9'Form'
+'sPage'#11'ClientWidth'#3#253#1#12'ClientHeight'#3#181#1#8'OnResize'#7#15'Fo'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#29#3'Top'#3
+#132#1#5'Width'#3#170#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'
+#6#21'CreateAppBundleButton'#9'NumGlyphs'#2#0#7'OnClick'#7#26'CreateAppBundl'
+'eButtonClick'#8'TabOrder'#2#2#0#0#0#5'TPage'#9'FormsPage'#7'Caption'#6#9'Fo'
+'rmsPage'#11'ClientWidth'#3#3#2#12'ClientHeight'#3#170#1#8'OnResize'#7#15'Fo'
+'rmsPageResize'#0#6'TLabel'#21'FormsAutoCreatedLabel'#4'Left'#2'$'#6'Height'
+#2#14#3'Top'#2#10#5'Width'#2'u'#7'Caption'#6#21'FormsAutoCreatedLabel'#11'Pa'
+'rentColor'#8#0#0#6'TLabel'#20'FormsAvailFormsLabel'#22'AnchorSideLeft.Contr'
+'ol'#7#22'FormsAvailFormsListBox'#4'Left'#3#10#1#6'Height'#2#14#3'Top'#2#10#5
+'Width'#2'k'#7'Caption'#6#20'FormsAvailFormsLabel'#11'ParentColor'#8#0#0#12
+'TSpeedButton'#29'FormsMoveAutoCreatedFormUpBtn'#22'AnchorSideLeft.Control'#7
+#9'FormsPage'#21'AnchorSideTop.Control'#7#23'FormsAutoCreatedListBox'#4'Left'
+#2#6#6'Height'#2#24#3'Top'#2'$'#5'Width'#2#24#20'BorderSpacing.Around'#2#6#5
+'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'"FormsMoveAutoCreatedFo'
+'rmUpBtnClick'#0#0#12'TSpeedButton FormsMoveAutoCreatedFormsDownBtn'#22'Anch'
+'orSideLeft.Control'#7#29'FormsMoveAutoCreatedFormUpBtn'#21'AnchorSideTop.Co'
+'ntrol'#7#29'FormsMoveAutoCreatedFormUpBtn'#18'AnchorSideTop.Side'#7#9'asrBo'
+'ttom'#4'Left'#2#6#6'Height'#2#24#3'Top'#2'B'#5'Width'#2#24#5'Color'#7#9'clB'
+'tnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'$FormsMoveAutoCreatedFormDownBtnClick'
+#0#0#12'TSpeedButton"FormsRemoveFromAutoCreatedFormsBtn'#22'AnchorSideLeft.C'
+'ontrol'#7#23'FormsAutoCreatedListBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'
+#21'AnchorSideTop.Control'#7#23'FormsAutoCreatedListBox'#4'Left'#3#236#0#6'H'
+'eight'#2#24#3'Top'#2'$'#5'Width'#2#24#20'BorderSpacing.Around'#2#6#5'Color'
+#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'''FormsRemoveFromAutoCreatedFo'
+'rmsBtnClick'#0#0#12'TSpeedButton'#29'FormsAddToAutoCreatedFormsBtn'#22'Anch'
+'orSideLeft.Control'#7#23'FormsAutoCreatedListBox'#19'AnchorSideLeft.Side'#7
+#9'asrBottom'#21'AnchorSideTop.Control'#7'"FormsRemoveFromAutoCreatedFormsBt'
+'n'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#236#0#6'Height'#2#24#3'T'
+'op'#2'B'#5'Width'#2#24#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7
+'"FormsAddToAutoCreatedFormsBtnClick'#0#0#8'TListBox'#23'FormsAutoCreatedLis'
+'tBox'#22'AnchorSideLeft.Control'#7' FormsMoveAutoCreatedFormsDownBtn'#19'An'
+'chorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#21'FormsAutoC'
+'reatedLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#24'AnchorSideBottom.Cont'
+'rol'#7#31'FormsAutoCreateNewFormsCheckBox'#4'Left'#2'$'#6'Height'#3'z'#1#3
+'Top'#2#30#5'Width'#3#194#0#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0#20
+'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#11'MultiSelect'#9#10'OnDblClic'
+'k'#7'''FormsRemoveFromAutoCreatedFormsBtnClick'#8'TabOrder'#2#0#0#0#8'TList'
+'Box'#22'FormsAvailFormsListBox'#22'AnchorSideLeft.Control'#7#29'FormsAddToA'
+'utoCreatedFormsBtn'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop'
+'.Control'#7#20'FormsAvailFormsLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'
+#23'AnchorSideRight.Control'#7#9'FormsPage'#20'AnchorSideRight.Side'#7#9'asr'
+'Bottom'#24'AnchorSideBottom.Control'#7#31'FormsAutoCreateNewFormsCheckBox'#4
+'Left'#3#10#1#6'Height'#3'z'#1#3'Top'#2#30#5'Width'#3#237#0#7'Anchors'#11#5
+'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#10'I'
+'temHeight'#2#0#11'MultiSelect'#9#10'OnDblClick'#7'"FormsAddToAutoCreatedFor'
+'msBtnClick'#8'TabOrder'#2#1#0#0#9'TCheckBox'#31'FormsAutoCreateNewFormsChec'
+'kBox'#22'AnchorSideLeft.Control'#7#29'FormsAddToAutoCreatedFormsBtn'#21'Anc'
,'horSideTop.Control'#7#23'FormsAutoCreatedListBox'#4'Left'#2#6#6'Height'#2#17
+#3'Top'#3#158#1#5'Width'#3#241#1#5'Align'#7#8'alBottom'#20'BorderSpacing.Aro'
+'und'#2#6#7'Caption'#6#31'FormsAutoCreateNewFormsCheckBox'#8'TabOrder'#2#2#0
+#0#0#5'TPage'#10'LazDocPage'#7'Caption'#6#10'LazDocPage'#11'ClientWidth'#3
+#253#1#12'ClientHeight'#3#171#1#0#9'TGroupBox'#19'LazDocPathsGroupBox'#4'Lef'
+'t'#2#6#6'Height'#3#192#0#3'Top'#2#6#5'Width'#3#241#1#5'Align'#7#5'alTop'#8
+'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'LazDocPathsGroupBo'
+'x'#12'ClientHeight'#3#174#0#11'ClientWidth'#3#237#1#8'TabOrder'#2#0#0#8'TLi'
+'stBox'#13'LazDocListBox'#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBo'
+'x'#21'AnchorSideTop.Control'#7#19'LazDocPathsGroupBox'#23'AnchorSideRight.C'
+'ontrol'#7#19'LazDocPathsGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4
+'Left'#2#6#6'Height'#2'l'#3'Top'#2#6#5'Width'#3#225#1#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#8'Ta'
+'bOrder'#2#0#0#0#5'TEdit'#14'LazDocPathEdit'#22'AnchorSideLeft.Control'#7#19
+'LazDocPathsGroupBox'#21'AnchorSideTop.Control'#7#13'LazDocListBox'#18'Ancho'
+'rSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#18'LazDocBrowse'
+'Button'#4'Left'#2#6#6'Height'#2#27#3'Top'#2'x'#5'Width'#3#201#1#7'Anchors'
+#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpac'
+'ing.Top'#2#6#20'BorderSpacing.Bottom'#2#6#8'TabOrder'#2#1#4'Text'#6#14'LazD'
+'ocPathEdit'#0#0#7'TButton'#18'LazDocBrowseButton'#22'AnchorSideLeft.Control'
+#7#14'LazDocPathEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTo'
+'p.Control'#7#14'LazDocPathEdit'#23'AnchorSideRight.Control'#7#19'LazDocPath'
+'sGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Cont'
+'rol'#7#14'LazDocPathEdit'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3
+#207#1#6'Height'#2#27#3'Top'#2'x'#5'Width'#2#24#7'Anchors'#11#5'akTop'#7'akR'
+#2#18#3'Top'#2#10#5'Width'#3#156#0#7'Caption'#6#21'FormsAutoCreatedLabel'#11
+'ParentColor'#8#0#0#6'TLabel'#20'FormsAvailFormsLabel'#22'AnchorSideLeft.Con'
+'trol'#7#22'FormsAvailFormsListBox'#4'Left'#3#10#1#6'Height'#2#18#3'Top'#2#10
+#5'Width'#3#144#0#7'Caption'#6#20'FormsAvailFormsLabel'#11'ParentColor'#8#0#0
+#12'TSpeedButton'#29'FormsMoveAutoCreatedFormUpBtn'#22'AnchorSideLeft.Contro'
+'l'#7#9'FormsPage'#21'AnchorSideTop.Control'#7#23'FormsAutoCreatedListBox'#4
+'Left'#2#6#6'Height'#2#24#3'Top'#2'('#5'Width'#2#24#20'BorderSpacing.Around'
+#2#6#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'"FormsMoveAutoCre'
+'atedFormUpBtnClick'#0#0#12'TSpeedButton FormsMoveAutoCreatedFormsDownBtn'#22
+'AnchorSideLeft.Control'#7#29'FormsMoveAutoCreatedFormUpBtn'#21'AnchorSideTo'
+'p.Control'#7#29'FormsMoveAutoCreatedFormUpBtn'#18'AnchorSideTop.Side'#7#9'a'
+'srBottom'#4'Left'#2#6#6'Height'#2#24#3'Top'#2'F'#5'Width'#2#24#5'Color'#7#9
+'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'$FormsMoveAutoCreatedFormDownBtnCl'
+'ick'#0#0#12'TSpeedButton"FormsRemoveFromAutoCreatedFormsBtn'#22'AnchorSideL'
+'eft.Control'#7#23'FormsAutoCreatedListBox'#19'AnchorSideLeft.Side'#7#9'asrB'
+'ottom'#21'AnchorSideTop.Control'#7#23'FormsAutoCreatedListBox'#4'Left'#3#236
+#0#6'Height'#2#24#3'Top'#2'('#5'Width'#2#24#20'BorderSpacing.Around'#2#6#5'C'
+'olor'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'''FormsRemoveFromAutoCre'
+'atedFormsBtnClick'#0#0#12'TSpeedButton'#29'FormsAddToAutoCreatedFormsBtn'#22
+'AnchorSideLeft.Control'#7#23'FormsAutoCreatedListBox'#19'AnchorSideLeft.Sid'
+'e'#7#9'asrBottom'#21'AnchorSideTop.Control'#7'"FormsRemoveFromAutoCreatedFo'
+'rmsBtn'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#236#0#6'Height'#2#24
+#3'Top'#2'F'#5'Width'#2#24#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClic'
+'k'#7'"FormsAddToAutoCreatedFormsBtnClick'#0#0#8'TListBox'#23'FormsAutoCreat'
+'edListBox'#22'AnchorSideLeft.Control'#7' FormsMoveAutoCreatedFormsDownBtn'
+#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#21'Forms'
+'AutoCreatedLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#24'AnchorSideBottom'
+'.Control'#7#31'FormsAutoCreateNewFormsCheckBox'#4'Left'#2'$'#6'Height'#3'f'
+#1#3'Top'#2'"'#5'Width'#3#194#0#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'
+#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#11'MultiSelect'#9#10'OnDb'
+'lClick'#7'''FormsRemoveFromAutoCreatedFormsBtnClick'#8'TabOrder'#2#0#8'TopI'
+'ndex'#2#255#0#0#8'TListBox'#22'FormsAvailFormsListBox'#22'AnchorSideLeft.Co'
+'ntrol'#7#29'FormsAddToAutoCreatedFormsBtn'#19'AnchorSideLeft.Side'#7#9'asrB'
+'ottom'#21'AnchorSideTop.Control'#7#20'FormsAvailFormsLabel'#18'AnchorSideTo'
+'p.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#9'FormsPage'#20'Anchor'
+'SideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#31'FormsAutoC'
+'reateNewFormsCheckBox'#4'Left'#3#10#1#6'Height'#3'f'#1#3'Top'#2'"'#5'Width'
+#3#243#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'Border'
+'Spacing.Around'#2#6#10'ItemHeight'#2#0#11'MultiSelect'#9#10'OnDblClick'#7'"'
+'FormsAddToAutoCreatedFormsBtnClick'#8'TabOrder'#2#1#8'TopIndex'#2#255#0#0#9
+'TCheckBox'#31'FormsAutoCreateNewFormsCheckBox'#22'AnchorSideLeft.Control'#7
,#29'FormsAddToAutoCreatedFormsBtn'#21'AnchorSideTop.Control'#7#23'FormsAutoC'
+'reatedListBox'#4'Left'#2#6#6'Height'#2#22#3'Top'#3#142#1#5'Width'#3#247#1#5
+'Align'#7#8'alBottom'#20'BorderSpacing.Around'#2#6#7'Caption'#6#31'FormsAuto'
+'CreateNewFormsCheckBox'#8'TabOrder'#2#2#0#0#0#5'TPage'#10'LazDocPage'#7'Cap'
+'tion'#6#10'LazDocPage'#11'ClientWidth'#3#3#2#12'ClientHeight'#3#170#1#0#9'T'
+'GroupBox'#19'LazDocPathsGroupBox'#4'Left'#2#6#6'Height'#3#207#0#3'Top'#2#6#5
+'Width'#3#247#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'#2
+#6#7'Caption'#6#19'LazDocPathsGroupBox'#12'ClientHeight'#3#203#0#11'ClientWi'
+'dth'#3#243#1#8'TabOrder'#2#0#0#8'TListBox'#13'LazDocListBox'#22'AnchorSideL'
+'eft.Control'#7#19'LazDocPathsGroupBox'#21'AnchorSideTop.Control'#7#19'LazDo'
+'cPathsGroupBox'#23'AnchorSideRight.Control'#7#19'LazDocPathsGroupBox'#20'An'
+'chorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'l'#3'Top'#2#6#5
+'Width'#3#231#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpaci'
+'ng.Around'#2#6#10'ItemHeight'#2#0#8'TabOrder'#2#0#8'TopIndex'#2#255#0#0#5'T'
+'Edit'#14'LazDocPathEdit'#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBo'
+'x'#21'AnchorSideTop.Control'#7#13'LazDocListBox'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#23'AnchorSideRight.Control'#7#18'LazDocBrowseButton'#4'Left'#2#6
+#6'Height'#2#27#3'Top'#2'x'#5'Width'#3#207#1#7'Anchors'#11#5'akTop'#6'akLeft'
+#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#20'Border'
+'Spacing.Bottom'#2#6#8'TabOrder'#2#1#4'Text'#6#14'LazDocPathEdit'#0#0#7'TBut'
+'ton'#18'LazDocBrowseButton'#22'AnchorSideLeft.Control'#7#14'LazDocPathEdit'
+#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#14'LazDo'
+'cPathEdit'#23'AnchorSideRight.Control'#7#19'LazDocPathsGroupBox'#20'AnchorS'
+'ideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#14'LazDocPathE'
+'dit'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#213#1#6'Height'#2#27
+#3'Top'#2'x'#5'Width'#2#24#7'Anchors'#11#5'akTop'#7'akRight'#8'akBottom'#0#19
+'BorderSpacing.Right'#2#6#7'Caption'#6#3'...'#7'OnClick'#7#23'LazDocBrowseBu'
+'ttonClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#19'LazDocAddPathButton'#22'Anchor'
+'SideLeft.Control'#7#19'LazDocPathsGroupBox'#21'AnchorSideTop.Control'#7#14
+'LazDocPathEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'
+#2#29#3'Top'#3#153#0#5'Width'#3#158#0#8'AutoSize'#9#20'BorderSpacing.Around'
+#2#6#7'Caption'#6#19'LazDocAddPathButton'#9'NumGlyphs'#2#0#7'OnClick'#7#24'L'
+'azDocAddPathButtonClick'#8'TabOrder'#2#3#0#0#7'TBitBtn'#22'LazDocDeletePath'
+'Button'#22'AnchorSideLeft.Control'#7#19'LazDocAddPathButton'#19'AnchorSideL'
+'eft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#14'LazDocPathEdit'#18
+'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#170#0#6'Height'#2#29#3'Top'#3
+#153#0#5'Width'#3#175#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'
+#6#22'LazDocDeletePathButton'#9'NumGlyphs'#2#0#7'OnClick'#7#27'LazDocDeleteP'
+'athButtonClick'#8'TabOrder'#2#4#0#0#0#0#5'TPage'#8'SavePage'#7'Caption'#6#8
+'SavePage'#11'ClientWidth'#3#3#2#12'ClientHeight'#3#170#1#0#9'TCheckBox'#26
+'SaveClosedUnitInfoCheckBox'#4'Left'#2#6#6'Height'#2#22#3'Top'#2#6#5'Width'#3
+#247#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6#26'Save'
+'ClosedUnitInfoCheckBox'#8'TabOrder'#2#0#0#0#9'TCheckBox'#31'SaveOnlyProject'
+'UnitInfoCheckBox'#21'AnchorSideTop.Control'#7#26'SaveClosedUnitInfoCheckBox'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22#3'Top'#2'"'
+#5'Width'#3#247#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'
+#6#31'SaveOnlyProjectUnitInfoCheckBox'#8'TabOrder'#2#1#0#0#11'TRadioGroup'#29
+'SaveSessionLocationRadioGroup'#21'AnchorSideTop.Control'#7#31'SaveOnlyProje'
+'ctUnitInfoCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRigh'
+'t.Control'#7#8'SavePage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6
+#6'Height'#2#4#3'Top'#2'D'#5'Width'#3#247#1#5'Align'#7#5'alTop'#8'AutoFill'#9
+#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#20'BorderSpacing.Around'#2#6#7'Capt'
+'ion'#6#29'SaveSessionLocationRadioGroup'#28'ChildSizing.LeftRightSpacing'#2
+#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7
+#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomoge'
+'nousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'C'
+'hildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29
+'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#8'TabOrd'
+'er'#2#2#0#0#0#5'TPage'#15'VersionInfoPage'#7'Caption'#6#15'VersionInfoPage'
+#11'ClientWidth'#3#3#2#12'ClientHeight'#3#170#1#0#9'TGroupBox'#19'VersionInf'
+'oGroupBox'#22'AnchorSideLeft.Control'#7#24'LanguageSettingsGroupBox'#18'Anc'
+'horSideTop.Side'#7#9'asrBottom'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'L'
+'eft'#2#6#6'Height'#2'd'#3'Top'#2#29#5'Width'#3#247#1#5'Align'#7#5'alTop'#8
+'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#17'Version Numbering'
,#12'ClientHeight'#2'Q'#11'ClientWidth'#3#243#1#8'TabOrder'#2#1#0#6'TLabel'#12
+'VersionLabel'#22'AnchorSideLeft.Control'#7#19'VersionInfoGroupBox'#21'Ancho'
+'rSideTop.Control'#7#19'VersionInfoGroupBox'#4'Left'#2#6#6'Height'#2#14#3'To'
+'p'#2#6#5'Width'#2'('#20'BorderSpacing.Around'#2#6#7'Caption'#6#8'Version:'
+#11'ParentColor'#8#0#0#6'TLabel'#18'MajorRevisionLabel'#22'AnchorSideLeft.Co'
+'ntrol'#7#15'VersionSpinEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Anch'
+'orSideTop.Control'#7#19'VersionInfoGroupBox'#4'Left'#2'j'#6'Height'#2#14#3
+'Top'#2#6#5'Width'#2'K'#18'BorderSpacing.Left'#2#24#20'BorderSpacing.Around'
+#2#6#7'Caption'#6#15'Major Revision:'#11'ParentColor'#8#0#0#6'TLabel'#18'Min'
+'orRevisionLabel'#22'AnchorSideLeft.Control'#7#21'MajorRevisionSpinEdit'#19
+'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19'VersionI'
+'nfoGroupBox'#4'Left'#3#206#0#6'Height'#2#14#3'Top'#2#6#5'Width'#2'J'#18'Bor'
+'derSpacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Minor Re'
+'vision:'#11'ParentColor'#8#0#0#6'TLabel'#10'BuildLabel'#22'AnchorSideLeft.C'
+'ontrol'#7#21'MinorRevisionSpinEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'
+#21'AnchorSideTop.Control'#7#19'VersionInfoGroupBox'#4'Left'#3'2'#1#6'Height'
+#2#14#3'Top'#2#6#5'Width'#2#27#18'BorderSpacing.Left'#2#24#20'BorderSpacing.'
+'Around'#2#6#7'Caption'#6#6'Build:'#11'ParentColor'#8#0#0#9'TSpinEdit'#15'Ve'
+'rsionSpinEdit'#22'AnchorSideLeft.Control'#7#12'VersionLabel'#21'AnchorSideT'
+'op.Control'#7#12'VersionLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'
+#2#6#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'Ta'
+'bOrder'#2#0#0#0#9'TSpinEdit'#21'MajorRevisionSpinEdit'#22'AnchorSideLeft.Co'
+'ntrol'#7#18'MajorRevisionLabel'#21'AnchorSideTop.Control'#7#18'MajorRevisio'
+'nLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2'j'#6'Height'#2#21#3
+'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'TabOrder'#2#1#0#0#9'TSp'
+'inEdit'#21'MinorRevisionSpinEdit'#22'AnchorSideLeft.Control'#7#18'MinorRevi'
+'sionLabel'#21'AnchorSideTop.Control'#7#18'MinorRevisionLabel'#18'AnchorSide'
+'Top.Side'#7#9'asrBottom'#4'Left'#3#206#0#6'Height'#2#21#3'Top'#2#26#5'Width'
+#2'F'#8'MaxValue'#4#255#255#0#0#8'TabOrder'#2#2#0#0#9'TCheckBox"Automaticall'
+'yIncreaseBuildCheckBox'#22'AnchorSideLeft.Control'#7#19'VersionInfoGroupBox'
+#21'AnchorSideTop.Control'#7#15'VersionSpinEdit'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#4'Left'#2#6#6'Height'#2#17#3'Top'#2';'#5'Width'#3#150#0#17'Borde'
+'rSpacing.Top'#2#6#20'BorderSpacing.Around'#2#6#7'Caption'#6#28'Automaticall'
+'y increase Build'#8'TabOrder'#2#4#0#0#9'TSpinEdit'#13'BuildSpinEdit'#22'Anc'
+'horSideLeft.Control'#7#10'BuildLabel'#21'AnchorSideTop.Control'#7#10'BuildL'
+'abel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3'2'#1#6'Height'#2#21#3
+'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'TabOrder'#2#3#0#0#0#9'T'
+'CheckBox'#22'UseVersionInfoCheckBox'#4'Left'#2#6#6'Height'#2#17#3'Top'#2#6#5
+'Width'#3#247#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6
+'"Include Version Info in executable'#8'OnChange'#7#28'UseVersionInfoCheckBo'
+'xChange'#8'TabOrder'#2#0#0#0#9'TGroupBox'#24'LanguageSettingsGroupBox'#18'A'
+'nchorSideTop.Side'#7#9'asrBottom'#20'AnchorSideRight.Side'#7#9'asrBottom'#4
+'Left'#2#6#6'Height'#2'G'#3'Top'#3#135#0#5'Width'#3#247#1#5'Align'#7#5'alTop'
+#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#16'Language Options'
+#12'ClientHeight'#2'4'#11'ClientWidth'#3#243#1#8'TabOrder'#2#2#0#6'TLabel'#22
+'LanguageSelectionLabel'#22'AnchorSideLeft.Control'#7#24'LanguageSettingsGro'
+'upBox'#21'AnchorSideTop.Control'#7#24'LanguageSettingsGroupBox'#4'Left'#2#6
+#6'Height'#2#14#3'Top'#2#6#5'Width'#2'b'#20'BorderSpacing.Around'#2#6#7'Capt'
+'ion'#6#19'Language Selection:'#11'ParentColor'#8#0#0#6'TLabel'#17'Character'
+'SetLabel'#22'AnchorSideLeft.Control'#7#25'LanguageSelectionComboBox'#19'Anc'
+'horSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#24'LanguageSet'
+'tingsGroupBox'#4'Left'#3#4#1#6'Height'#2#14#3'Top'#2#6#5'Width'#2'H'#20'Bor'
+'derSpacing.Around'#2#6#7'Caption'#6#14'Character Set:'#11'ParentColor'#8#0#0
+#9'TComboBox'#25'LanguageSelectionComboBox'#22'AnchorSideLeft.Control'#7#22
+'LanguageSelectionLabel'#21'AnchorSideTop.Control'#7#22'LanguageSelectionLab'
+'el'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'
+#2#26#5'Width'#3#248#0#17'BorderSpacing.Top'#2#2#20'BorderSpacing.Bottom'#2#6
+#10'ItemHeight'#2#0#8'TabOrder'#2#0#4'Text'#6#12'U.S. English'#0#0#9'TComboB'
+'ox'#20'CharacterSetComboBox'#22'AnchorSideLeft.Control'#7#17'CharacterSetLa'
+'bel'#21'AnchorSideTop.Control'#7#25'LanguageSelectionComboBox'#23'AnchorSid'
+'eRight.Control'#7#24'LanguageSettingsGroupBox'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#4'Left'#3#4#1#6'Height'#2#21#3'Top'#2#26#5'Width'#3#233#0#7'Anch'
+'ors'#11#5'akTop'#6'akLeft'#7'akRight'#0#19'BorderSpacing.Right'#2#6#20'Bord'
+'erSpacing.Bottom'#2#6#10'ItemHeight'#2#0#8'TabOrder'#2#1#4'Text'#6#12'Multi'
,'lingual'#0#0#0#9'TGroupBox'#17'OtherInfoGroupBox'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2
+'k'#3'Top'#3#212#0#5'Width'#3#247#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'Bor'
+'derSpacing.Around'#2#6#7'Caption'#6#10'Other Info'#12'ClientHeight'#2'X'#11
+'ClientWidth'#3#243#1#8'TabOrder'#2#3#0#6'TLabel'#16'DescriptionLabel'#21'An'
+'chorSideTop.Control'#7#15'DescriptionEdit'#18'AnchorSideTop.Side'#7#9'asrCe'
+'nter'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#9#5'Width'#2':'#18'BorderSpacing.'
+'Left'#2#6#7'Caption'#6#12'Description:'#11'ParentColor'#8#0#0#6'TLabel'#14
+'CopyrightLabel'#22'AnchorSideLeft.Control'#7#16'DescriptionLabel'#21'Anchor'
+'SideTop.Control'#7#13'CopyrightEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4
+'Left'#2#6#6'Height'#2#14#3'Top'#2'$'#5'Width'#2'4'#7'Caption'#6#10'Copyrigh'
+'t:'#11'ParentColor'#8#0#0#5'TEdit'#15'DescriptionEdit'#22'AnchorSideLeft.Co'
+'ntrol'#7#16'DescriptionLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Anc'
+'horSideTop.Control'#7#17'OtherInfoGroupBox'#23'AnchorSideRight.Control'#7#17
+'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'J'#6'H'
+'eight'#2#21#3'Top'#2#6#5'Width'#3#163#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#0#18'BorderSpacing.Left'#2#10#17'BorderSpacing.Top'#2#6#19'BorderS'
+'pacing.Right'#2#6#8'TabOrder'#2#0#0#0#5'TEdit'#13'CopyrightEdit'#22'AnchorS'
+'ideLeft.Control'#7#15'DescriptionEdit'#21'AnchorSideTop.Control'#7#15'Descr'
+'iptionEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Contro'
+'l'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2
+'J'#6'Height'#2#21#3'Top'#2'!'#5'Width'#3#163#1#7'Anchors'#11#5'akTop'#6'akL'
+'eft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#8'T'
+'abOrder'#2#1#0#0#7'TBitBtn'#20'AdditionalInfoButton'#21'AnchorSideTop.Contr'
+'ol'#7#13'CopyrightEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSide'
+'Right.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBott'
+'om'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#141#1#6'Height'#2#23
+#3'Top'#2'<'#5'Width'#2'`'#7'Anchors'#11#5'akTop'#7'akRight'#0#8'AutoSize'#9
+#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Additional Info'#9'NumGlyphs'#2
+#0#7'OnClick'#7#25'AdditionalInfoButtonClick'#8'TabOrder'#2#2#0#0#0#0#5'TPag'
+'e'#8'i18nPage'#7'Caption'#6#4'i18n'#11'ClientWidth'#3#3#2#12'ClientHeight'#3
+#170#1#0#9'TGroupBox'#12'I18NGroupBox'#22'AnchorSideLeft.Control'#7#17'Other'
+'InfoGroupBox'#21'AnchorSideTop.Control'#7#19'VersionInfoGroupBox'#18'Anchor'
+'SideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#17'OtherInfoGrou'
+'pBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'T'#3
+'Top'#2'"'#5'Width'#3#247#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpaci'
+'ng.Around'#2#6#7'Caption'#6#12'i18n Options'#12'ClientHeight'#2'A'#11'Clien'
+'tWidth'#3#243#1#8'TabOrder'#2#0#0#6'TLabel'#13'PoOutDirLabel'#4'Left'#2#6#6
+'Height'#2#18#3'Top'#2#6#5'Width'#3#132#0#20'BorderSpacing.Around'#2#6#7'Cap'
+'tion'#6#20'PO Output Directory:'#11'ParentColor'#8#0#0#5'TEdit'#12'POOutDir'
+'Edit'#22'AnchorSideLeft.Control'#7#12'I18NGroupBox'#21'AnchorSideTop.Contro'
+'l'#7#13'PoOutDirLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideR'
+'ight.Control'#7#14'POOutDirButton'#4'Left'#2#6#6'Height'#2#27#3'Top'#2#30#5
+'Width'#3#207#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpaci'
+'ng.Left'#2#6#17'BorderSpacing.Top'#2#6#20'BorderSpacing.Bottom'#2#6#8'TabOr'
+'der'#2#0#4'Text'#6#12'POOutDirEdit'#0#0#7'TButton'#14'POOutDirButton'#21'An'
+'chorSideTop.Control'#7#12'POOutDirEdit'#23'AnchorSideRight.Control'#7#12'I1'
+'8NGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Con'
+'trol'#7#12'POOutDirEdit'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3
+#213#1#6'Height'#2#27#3'Top'#2#30#5'Width'#2#24#7'Anchors'#11#5'akTop'#7'akR'
+'ight'#8'akBottom'#0#19'BorderSpacing.Right'#2#6#7'Caption'#6#3'...'#7'OnCli'
+'ck'#7#23'LazDocBrowseButtonClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#19'LazDocA'
+'ddPathButton'#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBox'#21'Ancho'
+'rSideTop.Control'#7#14'LazDocPathEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'
+#4'Left'#2#6#6'Height'#2#29#3'Top'#3#153#0#5'Width'#3#158#0#8'AutoSize'#9#20
+'BorderSpacing.Around'#2#6#7'Caption'#6#19'LazDocAddPathButton'#9'NumGlyphs'
+#2#0#7'OnClick'#7#24'LazDocAddPathButtonClick'#8'TabOrder'#2#3#0#0#7'TBitBtn'
+#22'LazDocDeletePathButton'#22'AnchorSideLeft.Control'#7#19'LazDocAddPathBut'
+'ton'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#14
+'LazDocPathEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#170#0#6'Hei'
+'ght'#2#29#3'Top'#3#153#0#5'Width'#3#175#0#8'AutoSize'#9#20'BorderSpacing.Ar'
+'ound'#2#6#7'Caption'#6#22'LazDocDeletePathButton'#9'NumGlyphs'#2#0#7'OnClic'
+'k'#7#27'LazDocDeletePathButtonClick'#8'TabOrder'#2#4#0#0#0#0#5'TPage'#8'Sav'
+'ePage'#7'Caption'#6#8'SavePage'#11'ClientWidth'#3#253#1#12'ClientHeight'#3
+#171#1#0#9'TCheckBox'#26'SaveClosedUnitInfoCheckBox'#4'Left'#2#6#6'Height'#2
+#17#3'Top'#2#6#5'Width'#3#241#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'
+#2#6#7'Caption'#6#26'SaveClosedUnitInfoCheckBox'#8'TabOrder'#2#0#0#0#9'TChec'
+'kBox'#31'SaveOnlyProjectUnitInfoCheckBox'#21'AnchorSideTop.Control'#7#26'Sa'
+'veClosedUnitInfoCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6
+#6'Height'#2#17#3'Top'#2#29#5'Width'#3#241#1#5'Align'#7#5'alTop'#20'BorderSp'
+'acing.Around'#2#6#7'Caption'#6#31'SaveOnlyProjectUnitInfoCheckBox'#8'TabOrd'
+'er'#2#1#0#0#11'TRadioGroup'#29'SaveSessionLocationRadioGroup'#21'AnchorSide'
+'Top.Control'#7#31'SaveOnlyProjectUnitInfoCheckBox'#18'AnchorSideTop.Side'#7
+#9'asrBottom'#23'AnchorSideRight.Control'#7#8'SavePage'#20'AnchorSideRight.S'
+'ide'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#4#3'Top'#2':'#5'Width'#3#241#1#5
+'Align'#7#5'alTop'#8'AutoFill'#9#8'AutoSize'#9#17'BorderSpacing.Top'#2#6#20
+'BorderSpacing.Around'#2#6#7'Caption'#6#29'SaveSessionLocationRadioGroup'#28
+'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'C'
+'hildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing'
+'.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHoriz'
+'ontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChi'
+'lds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSiz'
+'ing.ControlsPerLine'#2#1#8'TabOrder'#2#2#0#0#0#5'TPage'#15'VersionInfoPage'
+#7'Caption'#6#15'VersionInfoPage'#11'ClientWidth'#3#253#1#12'ClientHeight'#3
+#181#1#0#9'TGroupBox'#19'VersionInfoGroupBox'#22'AnchorSideLeft.Control'#7#24
+'LanguageSettingsGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#20'AnchorSi'
+'deRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'd'#3'Top'#2#29#5'Width'
+#3#241#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Ca'
+'ption'#6#17'Version Numbering'#12'ClientHeight'#2'R'#11'ClientWidth'#3#237#1
,#8'TabOrder'#2#1#0#6'TLabel'#12'VersionLabel'#22'AnchorSideLeft.Control'#7#19
+'VersionInfoGroupBox'#21'AnchorSideTop.Control'#7#19'VersionInfoGroupBox'#4
+'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#2'('#20'BorderSpacing.Around'#2
+#6#7'Caption'#6#8'Version:'#11'ParentColor'#8#0#0#6'TLabel'#18'MajorRevision'
+'Label'#22'AnchorSideLeft.Control'#7#15'VersionSpinEdit'#19'AnchorSideLeft.S'
+'ide'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19'VersionInfoGroupBox'#4'L'
+'eft'#2'j'#6'Height'#2#14#3'Top'#2#6#5'Width'#2'K'#18'BorderSpacing.Left'#2
+#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Major Revision:'#11'ParentC'
+'olor'#8#0#0#6'TLabel'#18'MinorRevisionLabel'#22'AnchorSideLeft.Control'#7#21
+'MajorRevisionSpinEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSide'
+'Top.Control'#7#19'VersionInfoGroupBox'#4'Left'#3#206#0#6'Height'#2#14#3'Top'
+#2#6#5'Width'#2'J'#18'BorderSpacing.Left'#2#24#20'BorderSpacing.Around'#2#6#7
+'Caption'#6#15'Minor Revision:'#11'ParentColor'#8#0#0#6'TLabel'#10'BuildLabe'
+'l'#22'AnchorSideLeft.Control'#7#21'MinorRevisionSpinEdit'#19'AnchorSideLeft'
+'.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19'VersionInfoGroupBox'#4
+'Left'#3'2'#1#6'Height'#2#14#3'Top'#2#6#5'Width'#2#27#18'BorderSpacing.Left'
+#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#6'Build:'#11'ParentColor'#8#0
+#0#9'TSpinEdit'#15'VersionSpinEdit'#22'AnchorSideLeft.Control'#7#12'VersionL'
+'abel'#21'AnchorSideTop.Control'#7#12'VersionLabel'#18'AnchorSideTop.Side'#7
+#9'asrBottom'#4'Left'#2#6#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValu'
+'e'#4#255#255#0#0#8'TabOrder'#2#0#0#0#9'TSpinEdit'#21'MajorRevisionSpinEdit'
+#22'AnchorSideLeft.Control'#7#18'MajorRevisionLabel'#21'AnchorSideTop.Contro'
+'l'#7#18'MajorRevisionLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2
+'j'#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'Tab'
+'Order'#2#1#0#0#9'TSpinEdit'#21'MinorRevisionSpinEdit'#22'AnchorSideLeft.Con'
+'trol'#7#18'MinorRevisionLabel'#21'AnchorSideTop.Control'#7#18'MinorRevision'
+'Label'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#206#0#6'Height'#2#21
+#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'TabOrder'#2#2#0#0#9'T'
+'CheckBox"AutomaticallyIncreaseBuildCheckBox'#22'AnchorSideLeft.Control'#7#19
+'VersionInfoGroupBox'#21'AnchorSideTop.Control'#7#15'VersionSpinEdit'#18'Anc'
+'horSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#17#3'Top'#2';'#5'Wi'
+'dth'#3#150#0#17'BorderSpacing.Top'#2#6#20'BorderSpacing.Around'#2#6#7'Capti'
+'on'#6#28'Automatically increase Build'#8'TabOrder'#2#4#0#0#9'TSpinEdit'#13
+'BuildSpinEdit'#22'AnchorSideLeft.Control'#7#10'BuildLabel'#21'AnchorSideTop'
+'.Control'#7#10'BuildLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3
+'2'#1#6'Height'#2#21#3'Top'#2#26#5'Width'#2'F'#8'MaxValue'#4#255#255#0#0#8'T'
+'abOrder'#2#3#0#0#0#9'TCheckBox'#22'UseVersionInfoCheckBox'#4'Left'#2#6#6'He'
+'ight'#2#17#3'Top'#2#6#5'Width'#3#241#1#5'Align'#7#5'alTop'#20'BorderSpacing'
+'.Around'#2#6#7'Caption'#6'"Include Version Info in executable'#8'OnChange'#7
+#28'UseVersionInfoCheckBoxChange'#8'TabOrder'#2#0#0#0#9'TGroupBox'#24'Langua'
+'geSettingsGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#20'AnchorSideRigh'
+'t.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'G'#3'Top'#3#135#0#5'Width'#3
+#241#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Capt'
+'ion'#6#16'Language Options'#12'ClientHeight'#2'5'#11'ClientWidth'#3#237#1#8
+'TabOrder'#2#2#0#6'TLabel'#22'LanguageSelectionLabel'#22'AnchorSideLeft.Cont'
+'rol'#7#24'LanguageSettingsGroupBox'#21'AnchorSideTop.Control'#7#24'Language'
+'SettingsGroupBox'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#2'b'#20'Bo'
+'rderSpacing.Around'#2#6#7'Caption'#6#19'Language Selection:'#11'ParentColor'
+#8#0#0#6'TLabel'#17'CharacterSetLabel'#22'AnchorSideLeft.Control'#7#25'Langu'
+'ageSelectionComboBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideT'
+'op.Control'#7#24'LanguageSettingsGroupBox'#4'Left'#3#4#1#6'Height'#2#14#3'T'
+'op'#2#6#5'Width'#2'H'#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'Characte'
+'r Set:'#11'ParentColor'#8#0#0#9'TComboBox'#25'LanguageSelectionComboBox'#22
+'AnchorSideLeft.Control'#7#22'LanguageSelectionLabel'#21'AnchorSideTop.Contr'
+'ol'#7#22'LanguageSelectionLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Le'
+'ft'#2#6#6'Height'#2#21#3'Top'#2#26#5'Width'#3#248#0#17'BorderSpacing.Top'#2
+#2#20'BorderSpacing.Bottom'#2#6#10'ItemHeight'#2#13#8'TabOrder'#2#0#4'Text'#6
+#12'U.S. English'#0#0#9'TComboBox'#20'CharacterSetComboBox'#22'AnchorSideLef'
+'t.Control'#7#17'CharacterSetLabel'#21'AnchorSideTop.Control'#7#25'LanguageS'
+'electionComboBox'#23'AnchorSideRight.Control'#7#24'LanguageSettingsGroupBox'
+#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#4#1#6'Height'#2#21#3'Top'
+#2#26#5'Width'#3#227#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#19'Bord'
+'erSpacing.Right'#2#6#20'BorderSpacing.Bottom'#2#6#10'ItemHeight'#2#13#8'Tab'
+'Order'#2#1#4'Text'#6#12'Multilingual'#0#0#0#9'TGroupBox'#17'OtherInfoGroupB'
,'ox'#18'AnchorSideTop.Side'#7#9'asrBottom'#20'AnchorSideRight.Side'#7#9'asrB'
+'ottom'#4'Left'#2#6#6'Height'#2'k'#3'Top'#3#212#0#5'Width'#3#241#1#5'Align'#7
+#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#10'Other I'
+'nfo'#12'ClientHeight'#2'Y'#11'ClientWidth'#3#237#1#8'TabOrder'#2#3#0#6'TLab'
+'el'#16'DescriptionLabel'#21'AnchorSideTop.Control'#7#15'DescriptionEdit'#18
+'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#9#5
+'Width'#2':'#18'BorderSpacing.Left'#2#6#7'Caption'#6#12'Description:'#11'Par'
+'entColor'#8#0#0#6'TLabel'#14'CopyrightLabel'#22'AnchorSideLeft.Control'#7#16
+'DescriptionLabel'#21'AnchorSideTop.Control'#7#13'CopyrightEdit'#18'AnchorSi'
+'deTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'$'#5'Width'#2
+'4'#7'Caption'#6#10'Copyright:'#11'ParentColor'#8#0#0#5'TEdit'#15'Descriptio'
+'nEdit'#22'AnchorSideLeft.Control'#7#16'DescriptionLabel'#19'AnchorSideLeft.'
+'Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#17'OtherInfoGroupBox'#23'A'
+'nchorSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#4'Left'#2'J'#6'Height'#2#21#3'Top'#2#6#5'Width'#3#157#1#7'Anchor'
+'s'#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#10#17'Border'
+'Spacing.Top'#2#6#19'BorderSpacing.Right'#2#6#8'TabOrder'#2#0#0#0#5'TEdit'#13
+'CopyrightEdit'#22'AnchorSideLeft.Control'#7#15'DescriptionEdit'#21'AnchorSi'
+'deTop.Control'#7#15'DescriptionEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'
+#23'AnchorSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'
+#7#9'asrBottom'#4'Left'#2'J'#6'Height'#2#21#3'Top'#2'!'#5'Width'#3#157#1#7'A'
+'nchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#19'Bor'
+'derSpacing.Right'#2#6#8'TabOrder'#2#1#0#0#7'TBitBtn'#20'AdditionalInfoButto'
+'n'#21'AnchorSideTop.Control'#7#13'CopyrightEdit'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#23'AnchorSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSid'
+'eRight.Side'#7#9'asrBottom'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'
+#3#135#1#6'Height'#2#23#3'Top'#2'<'#5'Width'#2'`'#7'Anchors'#11#5'akTop'#7'a'
+'kRight'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Additi'
+'onal Info'#9'NumGlyphs'#2#0#7'OnClick'#7#25'AdditionalInfoButtonClick'#8'Ta'
+'bOrder'#2#2#0#0#0#0#5'TPage'#8'i18nPage'#7'Caption'#6#4'i18n'#11'ClientWidt'
+'h'#3#253#1#12'ClientHeight'#3#171#1#0#9'TGroupBox'#12'I18NGroupBox'#22'Anch'
+'orSideLeft.Control'#7#17'OtherInfoGroupBox'#21'AnchorSideTop.Control'#7#19
+'VersionInfoGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRig'
+'ht.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'
+#4'Left'#2#6#6'Height'#2'T'#3'Top'#2'"'#5'Width'#3#241#1#5'Align'#7#5'alTop'
+#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'i18n Options'#12
+'ClientHeight'#2'B'#11'ClientWidth'#3#237#1#8'TabOrder'#2#0#0#6'TLabel'#13'P'
+'oOutDirLabel'#4'Left'#2#6#6'Height'#2#18#3'Top'#2#6#5'Width'#3#132#0#20'Bor'
+'derSpacing.Around'#2#6#7'Caption'#6#20'PO Output Directory:'#11'ParentColor'
+#8#0#0#5'TEdit'#12'POOutDirEdit'#22'AnchorSideLeft.Control'#7#12'I18NGroupBo'
+'x'#21'AnchorSideTop.Control'#7#13'PoOutDirLabel'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#23'AnchorSideRight.Control'#7#14'POOutDirButton'#4'Left'#2#6#6'H'
+'eight'#2#27#3'Top'#2#30#5'Width'#3#201#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#20'BorderSp'
+'acing.Bottom'#2#6#8'TabOrder'#2#0#4'Text'#6#12'POOutDirEdit'#0#0#7'TButton'
+#14'POOutDirButton'#21'AnchorSideTop.Control'#7#12'POOutDirEdit'#23'AnchorSi'
+'deRight.Control'#7#12'I18NGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'
+#24'AnchorSideBottom.Control'#7#12'POOutDirEdit'#21'AnchorSideBottom.Side'#7
+#9'asrBottom'#4'Left'#3#207#1#6'Height'#2#27#3'Top'#2#30#5'Width'#2#24#7'Anc'
+'hors'#11#5'akTop'#7'akRight'#8'akBottom'#0#19'BorderSpacing.Right'#2#6#7'Ca'
+'ption'#6#3'...'#7'OnClick'#7#19'POOutDirButtonClick'#8'TabOrder'#2#1#0#0#0#9
+'TCheckBox'#18'EnableI18NCheckBox'#4'Left'#2#6#6'Height'#2#22#3'Top'#2#6#5'W'
+'idth'#3#241#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6
+#11'Enable i18n'#8'OnChange'#7#24'EnableI18NCheckBoxChange'#8'TabOrder'#2#1#0
+#0#0#5'TPage'#8'MiscPage'#7'Caption'#6#8'MiscPage'#11'ClientWidth'#3#253#1#12
+'ClientHeight'#3#171#1#0#6'TBevel'#6'Bevel1'#22'AnchorSideLeft.Control'#7#8
+'MiscPage'#21'AnchorSideTop.Control'#7'!MainUnitHasTitleStatementCheckBox'#18
+'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#8'MiscPage'
+#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#3#3'Top'#2
+'v'#5'Width'#3#241#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'Border'
+'Spacing.Around'#2#6#0#0#9'TCheckBox)MainUnitHasUsesSectionForAllUnitsCheckB'
+'ox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#30
+'MainUnitIsPascalSourceCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Lef'
+'t'#2#6#6'Height'#2#22#3'Top'#2'"'#5'Width'#3'<'#1#20'BorderSpacing.Around'#2
,#6#7'Caption'#6')MainUnitHasUsesSectionForAllUnitsCheckBox'#8'TabOrder'#2#0#0
+#0#9'TCheckBox''MainUnitHasCreateFormStatementsCheckBox'#22'AnchorSideLeft.C'
+'ontrol'#7#8'MiscPage'#21'AnchorSideTop.Control'#7')MainUnitHasUsesSectionFo'
+'rAllUnitsCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heig'
+'ht'#2#22#3'Top'#2'>'#5'Width'#3'@'#1#20'BorderSpacing.Around'#2#6#7'Caption'
+#6'''MainUnitHasCreateFormStatementsCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBo'
+'x'#30'MainUnitIsPascalSourceCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPa'
+'ge'#21'AnchorSideTop.Control'#7#8'MiscPage'#4'Left'#2#6#6'Height'#2#22#3'To'
+'p'#2#6#5'Width'#3#238#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#30'MainUn'
+'itIsPascalSourceCheckBox'#8'TabOrder'#2#2#0#0#9'TCheckBox!MainUnitHasTitleS'
+'tatementCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop'
+'.Control'#7'''MainUnitHasCreateFormStatementsCheckBox'#18'AnchorSideTop.Sid'
+'e'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22#3'Top'#2'Z'#5'Width'#3#7#1#20
+'BorderSpacing.Around'#2#6#7'Caption'#6'!MainUnitHasTitleStatementCheckBox'#8
+'TabOrder'#2#5#0#0#9'TCheckBox'#16'RunnableCheckBox'#22'AnchorSideLeft.Contr'
+'ol'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#6'Bevel1'#4'Left'#2#6#6'Heigh'
+'t'#2#22#3'Top'#2'|'#5'Width'#3#145#0#20'BorderSpacing.Around'#2#6#7'Caption'
+#6#16'RunnableCheckBox'#8'TabOrder'#2#3#0#0#9'TCheckBox'#19'AlwaysBuildCheck'
+'Box'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#16
+'RunnableCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heigh'
+'t'#2#22#3'Top'#3#152#0#5'Width'#3#161#0#20'BorderSpacing.Around'#2#6#7'Capt'
+'ion'#6#19'AlwaysBuildCheckBox'#8'TabOrder'#2#4#0#0#9'TCheckBox'#22'LRSInOut'
+'putDirCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.C'
+'ontrol'#7#19'AlwaysBuildCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'L'
+'eft'#2#6#6'Height'#2#22#3'Top'#3#180#0#5'Width'#3#184#0#20'BorderSpacing.Ar'
+'ound'#2#6#7'Caption'#6#22'LRSInOutputDirCheckBox'#8'TabOrder'#2#6#0#0#0#0#12
+'TButtonPanel'#11'ButtonPanel'#4'Left'#2#6#6'Height'#2#26#3'Top'#3#213#1#5'W'
+'idth'#3#249#1#8'TabOrder'#2#1#11'ShowButtons'#11#4'pbOK'#8'pbCancel'#6'pbHe'
+'lp'#0#9'ShowBevel'#8#0#0#22'TSelectDirectoryDialog'#21'SelectDirectoryDialo'
+'g'#11'FilterIndex'#2#0#4'left'#2'X'#3'top'#3'p'#1#0#0#18'TOpenPictureDialog'
+#18'OpenPictureDialog1'#4'left'#2'u'#3'top'#3'p'#1#0#0#18'TSavePictureDialog'
+#18'SavePictureDialog1'#5'Title'#6#12'Save file as'#4'left'#3#146#0#3'top'#3
+'p'#1#0#0#0
+'ck'#7#19'POOutDirButtonClick'#8'TabOrder'#2#1#0#0#0#9'TCheckBox'#18'EnableI'
+'18NCheckBox'#4'Left'#2#6#6'Height'#2#22#3'Top'#2#6#5'Width'#3#247#1#5'Align'
+#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6#11'Enable i18n'#8'OnCh'
+'ange'#7#24'EnableI18NCheckBoxChange'#8'TabOrder'#2#1#0#0#0#5'TPage'#8'MiscP'
+'age'#7'Caption'#6#8'MiscPage'#11'ClientWidth'#3#3#2#12'ClientHeight'#3#170#1
+#0#6'TBevel'#6'Bevel1'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSid'
+'eTop.Control'#7'!MainUnitHasTitleStatementCheckBox'#18'AnchorSideTop.Side'#7
+#9'asrBottom'#23'AnchorSideRight.Control'#7#8'MiscPage'#20'AnchorSideRight.S'
+'ide'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#3#3'Top'#2'v'#5'Width'#3#247#1#7
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#0#0
+#9'TCheckBox)MainUnitHasUsesSectionForAllUnitsCheckBox'#22'AnchorSideLeft.Co'
+'ntrol'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#30'MainUnitIsPascalSourceC'
+'heckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22#3
,'Top'#2'"'#5'Width'#3'<'#1#20'BorderSpacing.Around'#2#6#7'Caption'#6')MainUn'
+'itHasUsesSectionForAllUnitsCheckBox'#8'TabOrder'#2#0#0#0#9'TCheckBox''MainU'
+'nitHasCreateFormStatementsCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'
+#21'AnchorSideTop.Control'#7')MainUnitHasUsesSectionForAllUnitsCheckBox'#18
+'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22#3'Top'#2'>'#5
+'Width'#3'@'#1#20'BorderSpacing.Around'#2#6#7'Caption'#6'''MainUnitHasCreate'
+'FormStatementsCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBox'#30'MainUnitIsPasca'
+'lSourceCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.'
+'Control'#7#8'MiscPage'#4'Left'#2#6#6'Height'#2#22#3'Top'#2#6#5'Width'#3#238
+#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#30'MainUnitIsPascalSourceCheckB'
+'ox'#8'TabOrder'#2#2#0#0#9'TCheckBox!MainUnitHasTitleStatementCheckBox'#22'A'
+'nchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'#7'''MainUnit'
+'HasCreateFormStatementsCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Le'
+'ft'#2#6#6'Height'#2#22#3'Top'#2'Z'#5'Width'#3#7#1#20'BorderSpacing.Around'#2
+#6#7'Caption'#6'!MainUnitHasTitleStatementCheckBox'#8'TabOrder'#2#5#0#0#9'TC'
+'heckBox'#16'RunnableCheckBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'A'
+'nchorSideTop.Control'#7#6'Bevel1'#4'Left'#2#6#6'Height'#2#22#3'Top'#2'|'#5
+'Width'#3#145#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#16'RunnableCheckBo'
+'x'#8'TabOrder'#2#3#0#0#9'TCheckBox'#19'AlwaysBuildCheckBox'#22'AnchorSideLe'
+'ft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#16'RunnableCheckBox'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#22#3'Top'#3
+#152#0#5'Width'#3#161#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'AlwaysB'
+'uildCheckBox'#8'TabOrder'#2#4#0#0#9'TCheckBox'#22'LRSInOutputDirCheckBox'#22
+'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'#7#19'Always'
+'BuildCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2
+#22#3'Top'#3#180#0#5'Width'#3#184#0#20'BorderSpacing.Around'#2#6#7'Caption'#6
+#22'LRSInOutputDirCheckBox'#8'TabOrder'#2#6#0#0#9'TGroupBox'#19'LFMResourceG'
+'roupBox'#22'AnchorSideLeft.Control'#7#8'MiscPage'#21'AnchorSideTop.Control'
+#7#22'LRSInOutputDirCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'Ancho'
+'rSideRight.Control'#7#8'MiscPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4
+'Left'#2#6#6'Height'#2'Q'#3'Top'#3#208#0#5'Width'#3#247#1#7'Anchors'#11#5'ak'
+'Top'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'LF'
+'MResourceGroupBox'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopB'
+'ottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChild'
+'Resize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'C'
+'hildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVert'
+'ical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTo'
+'pToBottom'#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2'>'#11'Cli'
+'entWidth'#3#243#1#8'TabOrder'#2#7#0#12'TRadioButton'#22'UseLRSFilesRadioBut'
+'ton'#4'Left'#2#6#6'Height'#2#25#3'Top'#2#6#5'Width'#3#231#1#7'Caption'#6#22
+'UseLRSFilesRadioButton'#7'Checked'#9#14'ParentShowHint'#8#8'ShowHint'#9#5'S'
+'tate'#7#9'cbChecked'#8'TabOrder'#2#0#0#0#12'TRadioButton'#26'UseFPCResource'
+'sRadioButton'#4'Left'#2#6#6'Height'#2#25#3'Top'#2#31#5'Width'#3#231#1#7'Cap'
+'tion'#6#26'UseFPCResourcesRadioButton'#14'ParentShowHint'#8#8'ShowHint'#9#8
+'TabOrder'#2#1#0#0#0#0#0#12'TButtonPanel'#11'ButtonPanel'#4'Left'#2#6#6'Heig'
+'ht'#2'$'#3'Top'#3#203#1#5'Width'#3#249#1#8'TabOrder'#2#1#11'ShowButtons'#11
+#4'pbOK'#8'pbCancel'#6'pbHelp'#0#9'ShowBevel'#8#0#0#22'TSelectDirectoryDialo'
+'g'#21'SelectDirectoryDialog'#11'FilterIndex'#2#0#4'left'#2'X'#3'top'#3'p'#1
+#0#0#18'TOpenPictureDialog'#18'OpenPictureDialog1'#4'left'#2'u'#3'top'#3'p'#1
+#0#0#18'TSavePictureDialog'#18'SavePictureDialog1'#5'Title'#6#12'Save file a'
+'s'#4'left'#3#146#0#3'top'#3'p'#1#0#0#0
]);

View File

@ -38,11 +38,13 @@ interface
uses
Arrow, Buttons, StdCtrls, SysUtils, LCLProc, Classes, CodeToolManager,
Controls, Dialogs, LCLIntf, LResources, ExtCtrls, Forms, Graphics, Spin,
FileUtil, IDEContextHelpEdit, EnvironmentOpts, LCLType,
FileUtil, IDEContextHelpEdit, EnvironmentOpts, LCLType, ComCtrls, Math,
ButtonPanel,
IDEWindowIntf, IDEImagesIntf, ProjectIntf, IDEDialogs,
ProjectResources,
IDEOptionDefs, LazarusIDEStrConsts, Project, IDEProcs, W32VersionInfo,
VersionInfoAdditionalInfo, W32Manifest, ApplicationBundle, ExtDlgs,
ButtonPanel, ComCtrls, Math, PackageDefs;
PackageDefs;
type
@ -108,6 +110,9 @@ type
RunnableCheckBox: TCheckBox;
AlwaysBuildCheckBox: TCheckBox;
LRSInOutputDirCheckBox: TCheckBox;
LFMResourceGroupBox: TGroupBox;
UseLRSFilesRadioButton: TRadioButton;
UseFPCResourcesRadioButton: TRadioButton;
// Lazdoc settings
LazDocBrowseButton: TButton;
@ -366,6 +371,11 @@ begin
RunnableCheckBox.Caption := lisProjectIsRunnable;
AlwaysBuildCheckBox.Caption := lisProjOptsAlwaysBuildEvenIfNothingChanged;
LRSInOutputDirCheckBox.Caption := lisPutLrsFilesInOutputDirectory;
LFMResourceGroupBox.Caption:=lisLFMResourceType;
UseLRSFilesRadioButton.Caption:=lisLrsIncludeFiles;
UseLRSFilesRadioButton.Hint:=lisAutomaticallyConvertLfmFilesToLrsIncludeFiles;
UseFPCResourcesRadioButton.Caption:=lisFPCResources;
UseFPCResourcesRadioButton.Hint:=lisRequiresFPC24OrAboveLikeDelphiResources;
end;
procedure TProjectOptionsDialog.SetupVersionInfoPage(PageIndex: Integer);
@ -442,6 +452,7 @@ begin
(pfSaveOnlyProjectUnits in AProject.Flags);
SaveSessionLocationRadioGroup.ItemIndex:=ord(AProject.SessionStorage);
// misc
MainUnitIsPascalSourceCheckBox.Checked :=
(pfMainUnitIsPascalSource in AProject.Flags);
MainUnitHasUsesSectionForAllUnitsCheckBox.Checked :=
@ -453,6 +464,10 @@ begin
RunnableCheckBox.Checked := (pfRunnable in AProject.Flags);
AlwaysBuildCheckBox.Checked := (pfAlwaysBuild in AProject.Flags);
LRSInOutputDirCheckBox.Checked := (pfLRSFilesInOutputDirectory in AProject.Flags);
case AProject.Resources.LFMResourceType of
lfmrtLRS: UseLRSFilesRadioButton.Checked:=true;
lfmrtRes: UseFPCResourcesRadioButton.Checked:=true;
end;
// lazdoc
SplitString(Project.LazDocPaths,';',LazDocListBox.Items,true);
@ -533,6 +548,10 @@ begin
SetProjectFlag(pfAlwaysBuild, AlwaysBuildCheckBox.Checked);
SetProjectFlag(pfLRSFilesInOutputDirectory, LRSInOutputDirCheckBox.Checked);
Project.Flags := NewFlags;
if UseLRSFilesRadioButton.Checked then
Project.Resources.LFMResourceType:=lfmrtLRS
else
Project.Resources.LFMResourceType:=lfmrtRes;
if SaveSessionLocationRadioGroup.ItemIndex>=0 then
Project.SessionStorage:=LocalizedNameToProjectSessionStorage(

View File

@ -38,16 +38,22 @@ interface
uses
Classes, SysUtils, Controls, LCLProc, LResources, FileUtil, Laz_XMLCfg,
Dialogs, ProjectIntf, ProjectResourcesIntf, LazarusIDEStrConsts,
Dialogs, ProjectIntf, ProjectResourcesIntf, LazarusIDEStrConsts, AvgLvlTree,
KeywordFuncLists, BasicCodeTools,
W32VersionInfo, W32Manifest, ProjectIcon, IDEProcs, DialogProcs,
CodeToolManager, CodeCache;
type
TLFMResourceType = (
lfmrtLRS,
lfmrtRes
);
{ TProjectResources }
TProjectResources = class(TAbstractProjectResources)
private
FLFMResourceType: TLFMResourceType;
FModified: Boolean;
FOnModified: TNotifyEvent;
FInModified: Boolean;
@ -66,6 +72,7 @@ type
FProjectIcon: TProjectIcon;
procedure SetFileNames(const MainFileName, TestDir: String);
procedure SetLFMResourceType(const AValue: TLFMResourceType);
procedure SetModified(const AValue: Boolean);
procedure EmbeddedObjectModified(Sender: TObject);
function Update: Boolean;
@ -101,12 +108,182 @@ type
property Modified: Boolean read FModified write SetModified;
property OnModified: TNotifyEvent read FOnModified write FOnModified;
property LFMResourceType: TLFMResourceType read FLFMResourceType write SetLFMResourceType;
end;
procedure ParseLFMResourceType(const Src: string; NestedComments: boolean;
out HasLRSIncludeDirective, HasRDirective: boolean);
function GuessLFMResourceType(Code: TCodeBuffer; out Typ: TLFMResourceType
): boolean;
const
LFMResourceTypeNames: array[TLFMResourceType] of string = (
'lrs',
'res'
);
function StrToLFMResourceType(const s: string): TLFMResourceType;
implementation
const
LazResourcesUnit = 'LResources';
function StrToLFMResourceType(const s: string): TLFMResourceType;
var
t: TLFMResourceType;
begin
for t:=Low(TLFMResourceType) to high(TLFMResourceType) do
if SysUtils.CompareText(LFMResourceTypeNames[t],s)=0 then exit(t);
Result:=lfmrtLRS;
end;
procedure ParseLFMResourceType(const Src: string; NestedComments: boolean;
out HasLRSIncludeDirective, HasRDirective: boolean);
var
p: Integer;
d: PChar;
PointPos: PChar;
begin
HasLRSIncludeDirective:=false;
HasRDirective:=false;
p:=1;
while p<length(Src) do begin
p:=FindNextCompilerDirective(Src,p,NestedComments);
if p>length(Src) then break;
d:=@Src[p];
if (d[0]='{') and (d[1]='$') then begin
inc(d,2);
if (d[0] in ['r','R']) and (not IsIdentChar[d[1]]) then begin
// using resources
HasRDirective:=true;
end else if (d[0] in ['i','I'])
and ((d[1] in [' ',#9]) or (CompareIdentifiers(@d[0],'include')=0))
then begin
PointPos:=nil;
while not (d^ in [#0,#10,#13,'}']) do begin
if d^='.' then
PointPos:=d;
inc(d);
end;
if (PointPos<>nil) and (d-PointPos=4)
and (PointPos[1]='l') and (PointPos[2]='r') and (PointPos[3]='s') then
begin
// using include directive with lrs file
HasLRSIncludeDirective:=true;
end;
end;
end;
p:=FindCommentEnd(Src,p,NestedComments);
end;
end;
type
TLFMResourceTypesCacheItem = class
public
Code: TCodeBuffer;
CodeStamp: integer;
HasLRSIncludeDirective: boolean;
HasRDirective: boolean;
end;
function CompareLFMResTypCacheItems(Data1, Data2: Pointer): integer;
var
Item1: TLFMResourceTypesCacheItem absolute Data1;
Item2: TLFMResourceTypesCacheItem absolute Data2;
begin
Result:=CompareFilenames(Item1.Code.Filename,Item2.Code.Filename);
end;
function CompareCodeWithLFMResTypCacheItem(CodeBuf, CacheItem: Pointer): integer;
var
Code: TCodeBuffer absolute CodeBuf;
Item: TLFMResourceTypesCacheItem absolute CacheItem;
begin
Result:=CompareFilenames(Code.Filename,Item.Code.Filename);
end;
type
{ TLFMResourceTypesCache }
TLFMResourceTypesCache = class
public
Tree: TAvgLvlTree; //
constructor Create;
destructor Destroy; override;
procedure Parse(Code: TCodeBuffer;
out HasLRSIncludeDirective, HasRDirective: boolean);
end;
{ TLFMResourceTypesCache }
constructor TLFMResourceTypesCache.Create;
begin
Tree:=TAvgLvlTree.Create(@CompareLFMResTypCacheItems);
end;
destructor TLFMResourceTypesCache.Destroy;
begin
Tree.FreeAndClear;
FreeAndNil(Tree);
inherited Destroy;
end;
procedure TLFMResourceTypesCache.Parse(Code: TCodeBuffer; out
HasLRSIncludeDirective, HasRDirective: boolean);
var
Node: TAvgLvlTreeNode;
Item: TLFMResourceTypesCacheItem;
begin
Node:=Tree.FindKey(Code,@CompareCodeWithLFMResTypCacheItem);
if (Node<>nil) then begin
Item:=TLFMResourceTypesCacheItem(Node.Data);
if (Item.CodeStamp=Item.Code.ChangeStep) then begin
// cache valid
HasLRSIncludeDirective:=Item.HasLRSIncludeDirective;
HasRDirective:=Item.HasRDirective;
exit;
end;
end else
Item:=nil;
// update
if Item=nil then begin
Item:=TLFMResourceTypesCacheItem.Create;
Item.Code:=Code;
Tree.Add(Item);
end;
Item.CodeStamp:=Code.ChangeStep;
ParseLFMResourceType(Code.Source,
CodeToolBoss.GetNestedCommentsFlagForFile(Code.Filename),
Item.HasLRSIncludeDirective,Item.HasRDirective);
end;
var
LFMResourceTypesCache: TLFMResourceTypesCache = nil;
function GuessLFMResourceType(Code: TCodeBuffer; out Typ: TLFMResourceType
): boolean;
var
HasLRSIncludeDirective,HasRDirective: Boolean;
begin
if LFMResourceTypesCache=nil then
LFMResourceTypesCache:=TLFMResourceTypesCache.Create;
LFMResourceTypesCache.Parse(Code,HasLRSIncludeDirective,HasRDirective);
if HasLRSIncludeDirective then begin
Typ:=lfmrtLRS;
Result:=true;
end
else if HasRDirective then begin
Typ:=lfmrtRes;
Result:=true;
end
else begin
Typ:=lfmrtLRS;
Result:=false;
end;
end;
{ TProjectResources }
procedure TProjectResources.SetFileNames(const MainFileName, TestDir: String);
@ -128,6 +305,13 @@ begin
end;
end;
procedure TProjectResources.SetLFMResourceType(const AValue: TLFMResourceType);
begin
if FLFMResourceType=AValue then exit;
FLFMResourceType:=AValue;
Modified:=true;
end;
procedure TProjectResources.SetModified(const AValue: Boolean);
begin
if FInModified then
@ -292,6 +476,7 @@ begin
// todo: further split by classes
with AConfig do
begin
SetDeleteValue(Path+'General/LFMResourceType/Value', LFMResourceTypeNames[LFMResourceType], LFMResourceTypeNames[lfmrtLRS]);
SetDeleteValue(Path+'General/Icon/Value', BoolToStr(ProjectIcon.IsEmpty), '-1');
SetDeleteValue(Path+'General/UseXPManifest/Value', XPManifest.UseManifest, False);
SetDeleteValue(Path+'VersionInfo/UseVersionInfo/Value', VersionInfo.UseVersionInfo,false);
@ -321,6 +506,7 @@ begin
begin
ProjectIcon.IcoFileName := ChangeFileExt(FileName, '.ico');
LFMResourceType := StrToLFMResourceType(GetValue(Path+'General/LFMResourceType/Value', LFMResourceTypeNames[lfmrtLRS]));
ProjectIcon.IsEmpty := StrToBoolDef(GetValue(Path+'General/Icon/Value', '-1'), False);
XPManifest.UseManifest := GetValue(Path+'General/UseXPManifest/Value', False);
VersionInfo.UseVersionInfo := GetValue(Path+'VersionInfo/UseVersionInfo/Value', False);
@ -639,5 +825,8 @@ begin
CleanCodeBuffer(LastlrsFilename, lrsFileName);
end;
finalization
LFMResourceTypesCache.Free;
end.