ide: start project icon

- add project icon interface to ProjectOptions dialog
  - save/restore project icon from project options file (lpi)

git-svn-id: trunk@16878 -
This commit is contained in:
paul 2008-10-05 09:20:36 +00:00
parent ddea740b16
commit bb55537667
6 changed files with 523 additions and 296 deletions

View File

@ -1477,6 +1477,11 @@ resourcestring
dlgPOUseAppBundle = 'Use Application Bundle for running and debugging (darwin only)';
dlgPOCreateAppBundle = 'Create Application Bundle';
dlgPOUseManifest = 'Use manifest file to enable themes (windows only)';
dlgPOIcon = 'Icon:';
dlgPOLoadIcon = 'Load Icon';
dlgPOSaveIcon = 'Save Icon';
dlgPOClearIcon = 'Clear Icon';
dlgAutoCreateForms = 'Auto-create forms:';
dlgAvailableForms = 'Available forms:';
dlgAutoCreateNewForms = 'When creating new forms, add them to auto-created forms';

View File

@ -576,7 +576,6 @@ type
fFirst: array[TUnitInfoList] of TUnitInfo;
FFirstRemovedDependency: TPkgDependency;
FFirstRequiredDependency: TPkgDependency;
fIconPath: String;
FJumpHistory: TProjectJumpHistory;
FLastCompilerFileDate: integer;
FLastCompilerFilename: string;
@ -836,7 +835,6 @@ type
property FirstUnitWithEditorIndex: TUnitInfo read GetFirstUnitWithEditorIndex;
property FirstUnitWithComponent: TUnitInfo read GetFirstUnitWithComponent;
property StateFlags: TLazProjectStateFlags read FStateFlags write FStateFlags;
property IconPath: String read fIconPath write fIconPath;
property JumpHistory: TProjectJumpHistory
read FJumpHistory write FJumpHistory;
property LastCompilerFileDate: integer read FLastCompilerFileDate
@ -906,7 +904,8 @@ function dbgs(Flags: TUnitInfoFlags): string; overload;
implementation
uses frmcustomapplicationoptions;
uses
frmcustomapplicationoptions;
const
ProjectInfoFileVersion = 6;
@ -1867,7 +1866,6 @@ begin
CompilerOptions.ParsedOpts.InvalidateParseOnChange:=true;
FDefineTemplates:=TProjectDefineTemplates.Create(Self);
FFlags:=DefaultProjectFlags;
fIconPath := '';
FJumpHistory:=TProjectJumpHistory.Create;
FJumpHistory.OnCheckPosition:=@JumpHistoryCheckPosition;
FJumpHistory.OnLoadSaveFilename:=@OnLoadSaveFilename;
@ -1883,6 +1881,7 @@ begin
FRunParameterOptions:=TRunParamsOptions.Create;
FTargetFileExt := GetExecutableExt;
Title := '';
Icon := '';
FUnitList := TFPList.Create; // list of TUnitInfo
FVersionInfo := TProjectVersionInfo.Create;
@ -2068,9 +2067,9 @@ begin
xmlconfig.SetDeleteValue(Path+'General/MainUnit/Value', MainUnitID,-1);
xmlconfig.SetDeleteValue(Path+'General/AutoCreateForms/Value',
AutoCreateForms,true);
xmlconfig.SetDeleteValue(Path+'General/IconPath/Value',IconPath,'');
xmlconfig.SetValue(Path+'General/TargetFileExt/Value',TargetFileExt);
xmlconfig.SetDeleteValue(Path+'General/Title/Value', Title,'');
xmlconfig.SetDeleteValue(Path+'General/Icon/Value', Icon, '');
xmlconfig.SetDeleteValue(Path+'General/UseAppBundle/Value', UseAppBundle, True);
xmlconfig.SetDeleteValue(Path+'General/UseXPManifest/Value', XPManifest.UseManifest, False);
@ -2468,12 +2467,10 @@ begin
NewMainUnitID := xmlconfig.GetValue(Path+'General/MainUnit/Value', -1);
AutoCreateForms := xmlconfig.GetValue(
Path+'General/AutoCreateForms/Value', true);
IconPath := SwitchPathDelims(
xmlconfig.GetValue(Path+'General/IconPath/Value', './'),
fPathDelimChanged);
TargetFileExt := xmlconfig.GetValue(
Path+'General/TargetFileExt/Value', GetExecutableExt);
Title := xmlconfig.GetValue(Path+'General/Title/Value', '');
Icon := xmlconfig.GetValue(Path+'General/Icon/Value', '');
UseAppBundle := xmlconfig.GetValue(Path+'General/UseAppBundle/Value', True);
XPManifest.UseManifest := xmlconfig.GetValue(Path+'General/UseXPManifest/Value', False);
@ -2747,7 +2744,6 @@ begin
FBookmarks.Clear;
FCompilerOptions.Clear;
FDefineTemplates.Clear;
fIconPath := '';
FJumpHistory.Clear;
fMainUnitID := -1;
Modified := false;
@ -2761,6 +2757,7 @@ begin
FPublishOptions.Clear;
FTargetFileExt := GetExecutableExt;
Title := '';
Icon := '';
EndUpdate;
end;

View File

@ -13,7 +13,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
OnClose = ProjectOptionsClose
ParentFont = False
Position = poScreenCenter
LCLVersion = '0.9.25'
LCLVersion = '0.9.27'
object Notebook: TNotebook
AnchorSideBottom.Control = PODBtnPanel
Height = 394
@ -28,107 +28,204 @@ object ProjectOptionsDialog: TProjectOptionsDialog
ClientHeight = 368
object AppSettingsGroupBox: TGroupBox
Left = 6
Height = 166
Height = 219
Top = 6
Width = 453
Align = alTop
AutoSize = True
BorderSpacing.Around = 6
Caption = 'AppSettingsGroupBox'
ClientHeight = 148
ClientHeight = 201
ClientWidth = 449
TabOrder = 0
object TitleLabel: TLabel
AnchorSideLeft.Control = AppSettingsGroupBox
AnchorSideTop.Control = TitleEdit
AnchorSideTop.Side = asrCenter
Left = 6
Height = 14
Top = 6
Width = 437
Align = alTop
Top = 10
Width = 46
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Right = 6
Caption = 'TitleLabel'
ParentColor = False
end
object TitleEdit: TEdit
object IconLabel: TLabel
AnchorSideLeft.Control = AppSettingsGroupBox
AnchorSideTop.Control = IconPanel
Left = 6
Height = 23
Top = 20
Width = 437
Align = alTop
Height = 14
Top = 35
Width = 47
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'IconLabel'
ParentColor = False
end
object TitleEdit: TEdit
AnchorSideLeft.Side = asrBottom
Left = 106
Height = 23
Top = 6
Width = 337
Align = alTop
BorderSpacing.Left = 100
BorderSpacing.Around = 6
TabOrder = 0
Text = 'TitleEdit'
end
object UseAppBundleCheckBox: TCheckBox
AnchorSideLeft.Control = AppSettingsGroupBox
AnchorSideTop.Control = IconPanel
AnchorSideTop.Side = asrBottom
Left = 6
Height = 24
Top = 52
Top = 141
Width = 425
Anchors = [akTop, akLeft, akRight]
AutoSize = False
BorderSpacing.Around = 6
Caption = 'UseAppBundleCheckBox'
TabOrder = 1
end
object UseXPManifestCheckBox: TCheckBox
AnchorSideLeft.Control = AppSettingsGroupBox
AnchorSideTop.Control = UseAppBundleCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 24
Top = 118
Top = 171
Width = 425
Anchors = [akTop, akLeft, akRight]
AutoSize = False
BorderSpacing.Around = 6
Caption = 'UseXPManifestCheckBox'
TabOrder = 2
end
object CreateAppBundleButton: TBitBtn
Left = 6
Height = 23
Top = 82
Width = 142
AutoSize = True
Caption = 'CreateAppBundleButton'
NumGlyphs = 0
OnClick = CreateAppBundleButtonClick
object IconPanel: TPanel
AnchorSideLeft.Control = AppSettingsGroupBox
AnchorSideTop.Control = TitleEdit
AnchorSideTop.Side = asrBottom
Left = 106
Height = 100
Top = 35
Width = 100
BorderSpacing.Left = 100
BorderSpacing.Around = 6
BevelOuter = bvLowered
ClientHeight = 100
ClientWidth = 100
TabOrder = 3
object IconImage: TImage
Left = 1
Height = 98
Top = 1
Width = 98
Align = alClient
Center = True
end
end
object LoadIconButton: TBitBtn
AnchorSideLeft.Control = IconPanel
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = IconPanel
AnchorSideBottom.Control = IconPanel
AnchorSideBottom.Side = asrBottom
Left = 212
Height = 23
Top = 35
Width = 102
AutoSize = True
BorderSpacing.Left = 6
Caption = 'LoadIconButton'
NumGlyphs = 0
OnClick = LoadIconButtonClick
TabOrder = 4
end
object SaveIconButton: TBitBtn
AnchorSideLeft.Control = LoadIconButton
AnchorSideTop.Control = LoadIconButton
AnchorSideTop.Side = asrBottom
Left = 212
Height = 23
Top = 64
Width = 103
AutoSize = True
BorderSpacing.Top = 6
Caption = 'SaveIconButton'
NumGlyphs = 0
OnClick = SaveIconButtonClick
TabOrder = 5
end
object ClearIconButton: TBitBtn
AnchorSideLeft.Control = SaveIconButton
AnchorSideTop.Control = SaveIconButton
AnchorSideTop.Side = asrBottom
Left = 212
Height = 23
Top = 93
Width = 104
AutoSize = True
BorderSpacing.Top = 6
Caption = 'ClearIconButton'
NumGlyphs = 0
OnClick = ClearIconButtonClick
TabOrder = 6
end
end
object OutputSettingsGroupBox: TGroupBox
Left = 6
Height = 67
Top = 178
Height = 53
Top = 231
Width = 453
Align = alTop
AutoSize = True
BorderSpacing.Around = 6
Caption = 'OutputSettingsGroupBox'
ClientHeight = 49
ClientHeight = 35
ClientWidth = 449
TabOrder = 1
object TargetFileLabel: TLabel
AnchorSideLeft.Control = OutputSettingsGroupBox
AnchorSideTop.Control = TargetFileEdit
AnchorSideTop.Side = asrCenter
Left = 6
Height = 14
Top = 6
Width = 437
Align = alTop
Top = 10
Width = 74
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Right = 6
Caption = 'TargetFileLabel'
ParentColor = False
end
object TargetFileEdit: TEdit
Left = 6
AnchorSideLeft.Control = OutputSettingsGroupBox
AnchorSideTop.Control = OutputSettingsGroupBox
AnchorSideRight.Control = OutputSettingsGroupBox
AnchorSideRight.Side = asrBottom
Left = 106
Height = 23
Top = 20
Width = 437
Align = alTop
BorderSpacing.Left = 6
BorderSpacing.Right = 6
BorderSpacing.Bottom = 6
Top = 6
Width = 337
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 100
BorderSpacing.Around = 6
TabOrder = 0
Text = 'TargetFileEdit'
end
end
object CreateAppBundleButton: TBitBtn
AnchorSideLeft.Control = ApplicationPage
AnchorSideTop.Control = OutputSettingsGroupBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 23
Top = 290
Width = 142
AutoSize = True
BorderSpacing.Around = 6
Caption = 'CreateAppBundleButton'
NumGlyphs = 0
OnClick = CreateAppBundleButtonClick
TabOrder = 2
end
end
object FormsPage: TPage
Caption = 'FormsPage'
@ -337,8 +434,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AutoSize = True
BorderSpacing.Around = 6
Caption = 'LazDocPathsGroupBox'
ClientHeight = 178
ClientWidth = 449
ClientHeight = 196
ClientWidth = 453
TabOrder = 0
object LazDocListBox: TListBox
AnchorSideLeft.Control = LazDocPathsGroupBox
@ -685,8 +782,29 @@ object ProjectOptionsDialog: TProjectOptionsDialog
ClientHeight = 101
ClientWidth = 453
TabOrder = 3
object DescriptionLabel: TLabel
AnchorSideTop.Control = DescriptionEdit
AnchorSideTop.Side = asrCenter
Left = 6
Height = 14
Top = 3
Width = 58
BorderSpacing.Left = 6
Caption = 'Description:'
ParentColor = False
end
object CopyrightLabel: TLabel
AnchorSideLeft.Control = DescriptionLabel
AnchorSideTop.Control = CopyrightEdit
AnchorSideTop.Side = asrCenter
Left = 6
Height = 14
Top = 30
Width = 52
Caption = 'Copyright:'
ParentColor = False
end
object DescriptionEdit: TEdit
AnchorSideLeft.Control = PanelOtherLabels
AnchorSideLeft.Side = asrBottom
AnchorSideRight.Control = OtherInfoGroupBox
AnchorSideRight.Side = asrBottom
@ -713,34 +831,6 @@ object ProjectOptionsDialog: TProjectOptionsDialog
BorderSpacing.Right = 6
TabOrder = 1
end
object PanelOtherLabels: TPanel
Height = 40
Width = 64
AutoSize = True
BevelOuter = bvNone
ClientHeight = 40
ClientWidth = 64
TabOrder = 2
object CopyrightLabel: TLabel
AnchorSideLeft.Control = DescriptionLabel
AnchorSideTop.Side = asrCenter
Left = 6
Height = 14
Top = 26
Width = 52
Caption = 'Copyright:'
ParentColor = False
end
object DescriptionLabel: TLabel
AnchorSideTop.Side = asrCenter
Left = 6
Height = 14
Width = 58
BorderSpacing.Left = 6
Caption = 'Description:'
ParentColor = False
end
end
object AdditionalInfoButton: TBitBtn
AnchorSideTop.Control = CopyrightEdit
AnchorSideTop.Side = asrBottom
@ -757,7 +847,7 @@ object ProjectOptionsDialog: TProjectOptionsDialog
Caption = 'Additional Info'
NumGlyphs = 0
OnClick = AdditionalInfoButtonClick
TabOrder = 3
TabOrder = 2
end
end
end
@ -779,8 +869,8 @@ object ProjectOptionsDialog: TProjectOptionsDialog
AutoSize = True
BorderSpacing.Around = 6
Caption = 'i18n Options'
ClientHeight = 55
ClientWidth = 449
ClientHeight = 73
ClientWidth = 453
TabOrder = 0
object PoOutDirLabel: TLabel
Left = 6
@ -905,4 +995,13 @@ object ProjectOptionsDialog: TProjectOptionsDialog
left = 88
top = 368
end
object OpenPictureDialog1: TOpenPictureDialog
left = 117
top = 368
end
object SavePictureDialog1: TSavePictureDialog
Title = 'Save file as'
left = 146
top = 368
end
end

View File

@ -6,141 +6,177 @@ LazarusResources.Add('TProjectOptionsDialog','FORMDATA',[
+#11'BorderIcons'#11#12'biSystemMenu'#0#7'Caption'#6#20'ProjectOptionsDialog'
+#12'ClientHeight'#3#176#1#11'ClientWidth'#3#217#1#21'Constraints.MinHeight'#3
+#144#1#20'Constraints.MinWidth'#3#144#1#7'OnClose'#7#19'ProjectOptionsClose'
+#10'ParentFont'#8#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#6'0.9.25'
+#10'ParentFont'#8#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#6'0.9.27'
+#0#9'TNotebook'#8'Notebook'#24'AnchorSideBottom.Control'#7#11'PODBtnPanel'#6
+'Height'#3#138#1#5'Width'#3#217#1#5'Align'#7#5'alTop'#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#8'akBottom'#0#9'PageIndex'#2#0#8'TabOrder'#2#0#0#5'TPa'
+'ge'#15'ApplicationPage'#7'Caption'#6#15'ApplicationPage'#11'ClientWidth'#3
+#209#1#12'ClientHeight'#3'p'#1#0#9'TGroupBox'#19'AppSettingsGroupBox'#4'Left'
+#2#6#6'Height'#3#166#0#3'Top'#2#6#5'Width'#3#197#1#5'Align'#7#5'alTop'#20'Bo'
+'rderSpacing.Around'#2#6#7'Caption'#6#19'AppSettingsGroupBox'#12'ClientHeigh'
+'t'#3#148#0#11'ClientWidth'#3#193#1#8'TabOrder'#2#0#0#6'TLabel'#10'TitleLabe'
+'l'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#3#181#1#5'Align'#7#5'alTo'
+'p'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Ri'
+'ght'#2#6#7'Caption'#6#10'TitleLabel'#11'ParentColor'#8#0#0#5'TEdit'#9'Title'
+'Edit'#4'Left'#2#6#6'Height'#2#23#3'Top'#2#20#5'Width'#3#181#1#5'Align'#7#5
+'alTop'#18'BorderSpacing.Left'#2#6#19'BorderSpacing.Right'#2#6#8'TabOrder'#2
+#0#4'Text'#6#9'TitleEdit'#0#0#9'TCheckBox'#20'UseAppBundleCheckBox'#4'Left'#2
+#6#6'Height'#2#24#3'Top'#2'4'#5'Width'#3#169#1#7'Anchors'#11#5'akTop'#6'akLe'
+'ft'#7'akRight'#0#8'AutoSize'#8#7'Caption'#6#20'UseAppBundleCheckBox'#8'TabO'
+'rder'#2#1#0#0#9'TCheckBox'#21'UseXPManifestCheckBox'#4'Left'#2#6#6'Height'#2
+#24#3'Top'#2'v'#5'Width'#3#169#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'
+#0#8'AutoSize'#8#7'Caption'#6#21'UseXPManifestCheckBox'#8'TabOrder'#2#2#0#0#7
+'TBitBtn'#21'CreateAppBundleButton'#4'Left'#2#6#6'Height'#2#23#3'Top'#2'R'#5
+'Width'#3#142#0#8'AutoSize'#9#7'Caption'#6#21'CreateAppBundleButton'#9'NumGl'
+'yphs'#2#0#7'OnClick'#7#26'CreateAppBundleButtonClick'#8'TabOrder'#2#3#0#0#0
+#9'TGroupBox'#22'OutputSettingsGroupBox'#4'Left'#2#6#6'Height'#2'C'#3'Top'#3
+#178#0#5'Width'#3#197#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.A'
+'round'#2#6#7'Caption'#6#22'OutputSettingsGroupBox'#12'ClientHeight'#2'1'#11
+'ClientWidth'#3#193#1#8'TabOrder'#2#1#0#6'TLabel'#15'TargetFileLabel'#4'Left'
+#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#3#181#1#5'Align'#7#5'alTop'#18'Borde'
+'rSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#7
+'Caption'#6#15'TargetFileLabel'#11'ParentColor'#8#0#0#5'TEdit'#14'TargetFile'
+'Edit'#4'Left'#2#6#6'Height'#2#23#3'Top'#2#20#5'Width'#3#181#1#5'Align'#7#5
+'alTop'#18'BorderSpacing.Left'#2#6#19'BorderSpacing.Right'#2#6#20'BorderSpac'
+'ing.Bottom'#2#6#8'TabOrder'#2#0#4'Text'#6#14'TargetFileEdit'#0#0#0#0#5'TPag'
+'e'#9'FormsPage'#7'Caption'#6#9'FormsPage'#11'ClientWidth'#3#209#1#12'Client'
+'Height'#3'p'#1#14'OnContextPopup'#7#21'FormsPageContextPopup'#8'OnResize'#7
+#15'FormsPageResize'#0#6'TLabel'#21'FormsAutoCreatedLabel'#4'Left'#2'$'#6'He'
+'ight'#2#14#3'Top'#2#10#5'Width'#2'u'#7'Caption'#6#21'FormsAutoCreatedLabel'
+#11'ParentColor'#8#0#0#6'TLabel'#20'FormsAvailFormsLabel'#22'AnchorSideLeft.'
+'Control'#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.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'B'#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'B'#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'3'
+#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#11'MultiSelect'#9#8'TabOrder'#2#0#0#0#8'TLis'
+'tBox'#22'FormsAvailFormsListBox'#22'AnchorSideLeft.Control'#7#29'FormsAddTo'
+'AutoCreatedFormsBtn'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTo'
+'p.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'3'#1#3'Top'#2#30#5'Width'#3#193#0#7'Anchors'#11#5
+'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#11'M'
+'ultiSelect'#9#8'TabOrder'#2#1#0#0#9'TCheckBox'#31'FormsAutoCreateNewFormsCh'
+'eckBox'#22'AnchorSideLeft.Control'#7#29'FormsAddToAutoCreatedFormsBtn'#21'A'
+'nchorSideTop.Control'#7#23'FormsAutoCreatedListBox'#4'Left'#2#6#6'Height'#2
+#19#3'Top'#3'W'#1#5'Width'#3#197#1#5'Align'#7#8'alBottom'#20'BorderSpacing.A'
+'round'#2#6#7'Caption'#6#31'FormsAutoCreateNewFormsCheckBox'#8'TabOrder'#2#2
+#0#0#0#5'TPage'#8'MiscPage'#7'Caption'#6#8'MiscPage'#11'ClientWidth'#3#209#1
+#12'ClientHeight'#3'p'#1#0#9'TCheckBox)MainUnitHasUsesSectionForAllUnitsChec'
+'kBox'#21'AnchorSideTop.Control'#7#30'MainUnitIsPascalSourceCheckBox'#18'Anc'
+'horSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2#31#5'Wi'
+'dth'#3#197#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6
+')MainUnitHasUsesSectionForAllUnitsCheckBox'#8'TabOrder'#2#0#0#0#9'TCheckBox'
+'''MainUnitHasCreateFormStatementsCheckBox'#21'AnchorSideTop.Control'#7')Mai'
+'nUnitHasUsesSectionForAllUnitsCheckBox'#18'AnchorSideTop.Side'#7#9'asrBotto'
+'m'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'8'#5'Width'#3#197#1#5'Align'#7#5'alT'
+'op'#20'BorderSpacing.Around'#2#6#7'Caption'#6'''MainUnitHasCreateFormStatem'
+'entsCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBox'#30'MainUnitIsPascalSourceChe'
+'ckBox'#4'Left'#2#6#6'Height'#2#19#3'Top'#2#6#5'Width'#3#197#1#5'Align'#7#5
+'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6#30'MainUnitIsPascalSourceC'
+'heckBox'#8'TabOrder'#2#2#0#0#9'TCheckBox!MainUnitHasTitleStatementCheckBox'
+#21'AnchorSideTop.Control'#7'''MainUnitHasCreateFormStatementsCheckBox'#18'A'
+'nchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'Q'#5
+'Width'#3#197#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6
+'!MainUnitHasTitleStatementCheckBox'#8'TabOrder'#2#5#0#0#9'TCheckBox'#16'Run'
+'nableCheckBox'#21'AnchorSideTop.Control'#7'!MainUnitHasTitleStatementCheckB'
+'ox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'
+#2'p'#5'Width'#3#197#1#5'Align'#7#5'alTop'#17'BorderSpacing.Top'#2#6#20'Bord'
+'erSpacing.Around'#2#6#7'Caption'#6#16'RunnableCheckBox'#8'TabOrder'#2#3#0#0
+#9'TCheckBox'#19'AlwaysBuildCheckBox'#21'AnchorSideTop.Control'#7#16'Runnabl'
+'eCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19
+#3'Top'#3#137#0#5'Width'#3#197#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'
+#2#6#7'Caption'#6#19'AlwaysBuildCheckBox'#8'TabOrder'#2#4#0#0#0#5'TPage'#10
+'LazDocPage'#7'Caption'#6#10'LazDocPage'#11'ClientWidth'#3#209#1#12'ClientHe'
+'ight'#3'p'#1#0#9'TGroupBox'#19'LazDocPathsGroupBox'#4'Left'#2#6#6'Height'#3
+#196#0#3'Top'#2#6#5'Width'#3#197#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'Bord'
+'erSpacing.Around'#2#6#7'Caption'#6#19'LazDocPathsGroupBox'#12'ClientHeight'
+#3#178#0#11'ClientWidth'#3#193#1#8'TabOrder'#2#0#0#8'TListBox'#13'LazDocList'
+'Box'#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBox'#21'AnchorSideTop.'
+'Control'#7#14'LazDocPathEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'Anch'
+'orSideRight.Control'#7#19'LazDocPathsGroupBox'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#4'Left'#2#6#6'Height'#2'l'#3'Top'#2'#'#5'Width'#3#181#1#7'Anchor'
+'s'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#8'TabOrd'
+'er'#2#0#0#0#5'TEdit'#14'LazDocPathEdit'#22'AnchorSideLeft.Control'#7#19'Laz'
+'DocPathsGroupBox'#21'AnchorSideTop.Control'#7#19'LazDocPathsGroupBox'#23'An'
+'chorSideRight.Control'#7#18'LazDocBrowseButton'#4'Left'#2#6#6'Height'#2#23#3
+'Top'#2#6#5'Width'#3#151#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20
+'BorderSpacing.Around'#2#6#8'TabOrder'#2#1#4'Text'#6#14'LazDocPathEdit'#0#0#7
+'TButton'#18'LazDocBrowseButton'#22'AnchorSideLeft.Control'#7#14'LazDocPathE'
+'dit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19
+'LazDocPathsGroupBox'#23'AnchorSideRight.Control'#7#19'LazDocPathsGroupBox'
+#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#163#1#6'Height'#2#23#3'To'
,'p'#2#6#5'Width'#2#24#7'Anchors'#11#5'akTop'#7'akRight'#0#17'BorderSpacing.T'
+'op'#2#6#19'BorderSpacing.Right'#2#6#7'Caption'#6#3'...'#7'OnClick'#7#23'Laz'
+'DocBrowseButtonClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#19'LazDocAddPathButton'
+#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBox'#21'AnchorSideTop.Contr'
+'ol'#7#13'LazDocListBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6
+'Height'#2#23#3'Top'#3#149#0#5'Width'#3#133#0#8'AutoSize'#9#20'BorderSpacing'
+'.Around'#2#6#7'Caption'#6#19'LazDocAddPathButton'#9'NumGlyphs'#2#0#7'OnClic'
+'k'#7#24'LazDocAddPathButtonClick'#8'TabOrder'#2#3#0#0#7'TBitBtn'#22'LazDocD'
+'eletePathButton'#22'AnchorSideLeft.Control'#7#19'LazDocAddPathButton'#19'An'
+'chorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#13'LazDocList'
+'Box'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#145#0#6'Height'#2#23#3
+'Top'#3#149#0#5'Width'#3#145#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7
+#2#6#6'Height'#3#219#0#3'Top'#2#6#5'Width'#3#197#1#5'Align'#7#5'alTop'#8'Aut'
+'oSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'AppSettingsGroupBox'
+#12'ClientHeight'#3#201#0#11'ClientWidth'#3#193#1#8'TabOrder'#2#0#0#6'TLabel'
+#10'TitleLabel'#22'AnchorSideLeft.Control'#7#19'AppSettingsGroupBox'#21'Anch'
+'orSideTop.Control'#7#9'TitleEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'L'
+'eft'#2#6#6'Height'#2#14#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.Control'
+#7#9'IconPanel'#4'Left'#2#6#6'Height'#2#14#3'Top'#2'#'#5'Width'#2'/'#18'Bord'
+'erSpacing.Left'#2#6#7'Caption'#6#9'IconLabel'#11'ParentColor'#8#0#0#5'TEdit'
+#9'TitleEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Left'#2'j'#6'Height'#2
+#23#3'Top'#2#6#5'Width'#3'Q'#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'AnchorSideLeft.Control'#7#19'AppSett'
+'ingsGroupBox'#21'AnchorSideTop.Control'#7#9'IconPanel'#18'AnchorSideTop.Sid'
+'e'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#24#3'Top'#3#141#0#5'Width'#3#169#1
+#8'AutoSize'#8#20'BorderSpacing.Around'#2#6#7'Caption'#6#20'UseAppBundleChec'
+'kBox'#8'TabOrder'#2#1#0#0#9'TCheckBox'#21'UseXPManifestCheckBox'#22'AnchorS'
+'ideLeft.Control'#7#19'AppSettingsGroupBox'#21'AnchorSideTop.Control'#7#20'U'
+'seAppBundleCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'He'
+'ight'#2#24#3'Top'#3#171#0#5'Width'#3#169#1#8'AutoSize'#8#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'#2'd'#3'Top'#2'#'#5'Width'#2'd'#18'BorderSpacing.Left'#2
+'d'#20'BorderSpacing.Around'#2#6#10'BevelOuter'#7#9'bvLowered'#12'ClientHeig'
+'ht'#2'd'#11'ClientWidth'#2'd'#8'TabOrder'#2#3#0#6'TImage'#9'IconImage'#4'Le'
+'ft'#2#1#6'Height'#2'b'#3'Top'#2#1#5'Width'#2'b'#5'Align'#7#8'alClient'#6'Ce'
+'nter'#9#0#0#0#7'TBitBtn'#14'LoadIconButton'#22'AnchorSideLeft.Control'#7#9
+'IconPanel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'
+#7#9'IconPanel'#24'AnchorSideBottom.Control'#7#9'IconPanel'#21'AnchorSideBot'
+'tom.Side'#7#9'asrBottom'#4'Left'#3#212#0#6'Height'#2#23#3'Top'#2'#'#5'Width'
+#2'f'#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#7'Caption'#6#14'LoadIconButto'
+'n'#9'NumGlyphs'#2#0#7'OnClick'#7#19'LoadIconButtonClick'#8'TabOrder'#2#4#0#0
+#7'TBitBtn'#14'SaveIconButton'#22'AnchorSideLeft.Control'#7#14'LoadIconButto'
+'n'#21'AnchorSideTop.Control'#7#14'LoadIconButton'#18'AnchorSideTop.Side'#7#9
+'asrBottom'#4'Left'#3#212#0#6'Height'#2#23#3'Top'#2'@'#5'Width'#2'g'#8'AutoS'
+'ize'#9#17'BorderSpacing.Top'#2#6#7'Caption'#6#14'SaveIconButton'#9'NumGlyph'
+'s'#2#0#7'OnClick'#7#19'SaveIconButtonClick'#8'TabOrder'#2#5#0#0#7'TBitBtn'
+#15'ClearIconButton'#22'AnchorSideLeft.Control'#7#14'SaveIconButton'#21'Anch'
+'orSideTop.Control'#7#14'SaveIconButton'#18'AnchorSideTop.Side'#7#9'asrBotto'
+'m'#4'Left'#3#212#0#6'Height'#2#23#3'Top'#2']'#5'Width'#2'h'#8'AutoSize'#9#17
+'BorderSpacing.Top'#2#6#7'Caption'#6#15'ClearIconButton'#9'NumGlyphs'#2#0#7
+'OnClick'#7#20'ClearIconButtonClick'#8'TabOrder'#2#6#0#0#0#9'TGroupBox'#22'O'
+'utputSettingsGroupBox'#4'Left'#2#6#6'Height'#2'5'#3'Top'#3#231#0#5'Width'#3
+#197#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Capt'
+'ion'#6#22'OutputSettingsGroupBox'#12'ClientHeight'#2'#'#11'ClientWidth'#3
+#193#1#8'TabOrder'#2#1#0#6'TLabel'#15'TargetFileLabel'#22'AnchorSideLeft.Con'
+'trol'#7#22'OutputSettingsGroupBox'#21'AnchorSideTop.Control'#7#14'TargetFil'
+'eEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#14#3'T'
+'op'#2#10#5'Width'#2'J'#18'BorderSpacing.Left'#2#6#19'BorderSpacing.Right'#2
+#6#7'Caption'#6#15'TargetFileLabel'#11'ParentColor'#8#0#0#5'TEdit'#14'Target'
+'FileEdit'#22'AnchorSideLeft.Control'#7#22'OutputSettingsGroupBox'#21'Anchor'
,'SideTop.Control'#7#22'OutputSettingsGroupBox'#23'AnchorSideRight.Control'#7
+#22'OutputSettingsGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2
+'j'#6'Height'#2#23#3'Top'#2#6#5'Width'#3'Q'#1#7'Anchors'#11#5'akTop'#6'akLef'
+'t'#7'akRight'#0#18'BorderSpacing.Left'#2'd'#20'BorderSpacing.Around'#2#6#8
+'TabOrder'#2#0#4'Text'#6#14'TargetFileEdit'#0#0#0#7'TBitBtn'#21'CreateAppBun'
+'dleButton'#22'AnchorSideLeft.Control'#7#15'ApplicationPage'#21'AnchorSideTo'
+'p.Control'#7#22'OutputSettingsGroupBox'#18'AnchorSideTop.Side'#7#9'asrBotto'
+'m'#4'Left'#2#6#6'Height'#2#23#3'Top'#3'"'#1#5'Width'#3#142#0#8'AutoSize'#9
+#20'BorderSpacing.Around'#2#6#7'Caption'#6#21'CreateAppBundleButton'#9'NumGl'
+'yphs'#2#0#7'OnClick'#7#26'CreateAppBundleButtonClick'#8'TabOrder'#2#2#0#0#0
+#5'TPage'#9'FormsPage'#7'Caption'#6#9'FormsPage'#11'ClientWidth'#3#209#1#12
+'ClientHeight'#3'p'#1#14'OnContextPopup'#7#21'FormsPageContextPopup'#8'OnRes'
+'ize'#7#15'FormsPageResize'#0#6'TLabel'#21'FormsAutoCreatedLabel'#4'Left'#2
+'$'#6'Height'#2#14#3'Top'#2#10#5'Width'#2'u'#7'Caption'#6#21'FormsAutoCreate'
+'dLabel'#11'ParentColor'#8#0#0#6'TLabel'#20'FormsAvailFormsLabel'#22'AnchorS'
+'ideLeft.Control'#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'ParentCo'
+'lor'#8#0#0#12'TSpeedButton'#29'FormsMoveAutoCreatedFormUpBtn'#22'AnchorSide'
+'Left.Control'#7#9'FormsPage'#21'AnchorSideTop.Control'#7#23'FormsAutoCreate'
+'dListBox'#4'Left'#2#6#6'Height'#2#24#3'Top'#2'$'#5'Width'#2#24#20'BorderSpa'
+'cing.Around'#2#6#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'"For'
+'msMoveAutoCreatedFormUpBtnClick'#0#0#12'TSpeedButton FormsMoveAutoCreatedFo'
+'rmsDownBtn'#22'AnchorSideLeft.Control'#7#29'FormsMoveAutoCreatedFormUpBtn'
+#21'AnchorSideTop.Control'#7#29'FormsMoveAutoCreatedFormUpBtn'#18'AnchorSide'
+'Top.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#24#3'Top'#2'B'#5'Width'#2
+#24#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'$FormsMoveAutoCrea'
+'tedFormDownBtnClick'#0#0#12'TSpeedButton"FormsRemoveFromAutoCreatedFormsBtn'
+#22'AnchorSideLeft.Control'#7#23'FormsAutoCreatedListBox'#19'AnchorSideLeft.'
+'Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#23'FormsAutoCreatedListBox'
+#4'Left'#3#236#0#6'Height'#2#24#3'Top'#2'$'#5'Width'#2#24#20'BorderSpacing.A'
+'round'#2#6#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7'''FormsRem'
+'oveFromAutoCreatedFormsBtnClick'#0#0#12'TSpeedButton'#29'FormsAddToAutoCrea'
+'tedFormsBtn'#22'AnchorSideLeft.Control'#7#23'FormsAutoCreatedListBox'#19'An'
+'chorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7'"FormsRemoveF'
+'romAutoCreatedFormsBtn'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#236
+#0#6'Height'#2#24#3'Top'#2'B'#5'Width'#2#24#5'Color'#7#9'clBtnFace'#9'NumGly'
+'phs'#2#0#7'OnClick'#7'"FormsAddToAutoCreatedFormsBtnClick'#0#0#8'TListBox'
+#23'FormsAutoCreatedListBox'#22'AnchorSideLeft.Control'#7' FormsMoveAutoCrea'
+'tedFormsDownBtn'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Co'
+'ntrol'#7#21'FormsAutoCreatedLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#24
+'AnchorSideBottom.Control'#7#31'FormsAutoCreateNewFormsCheckBox'#4'Left'#2'$'
+#6'Height'#3'3'#1#3'Top'#2#30#5'Width'#3#194#0#7'Anchors'#11#5'akTop'#6'akLe'
+'ft'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#11'MultiSelect'#9#8'TabOrder'
+#2#0#0#0#8'TListBox'#22'FormsAvailFormsListBox'#22'AnchorSideLeft.Control'#7
+#29'FormsAddToAutoCreatedFormsBtn'#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.Si'
+'de'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#31'FormsAutoCreateNewForm'
+'sCheckBox'#4'Left'#3#10#1#6'Height'#3'3'#1#3'Top'#2#30#5'Width'#3#193#0#7'A'
+'nchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#20'BorderSpacing.Aro'
+'und'#2#6#11'MultiSelect'#9#8'TabOrder'#2#1#0#0#9'TCheckBox'#31'FormsAutoCre'
+'ateNewFormsCheckBox'#22'AnchorSideLeft.Control'#7#29'FormsAddToAutoCreatedF'
+'ormsBtn'#21'AnchorSideTop.Control'#7#23'FormsAutoCreatedListBox'#4'Left'#2#6
+#6'Height'#2#19#3'Top'#3'W'#1#5'Width'#3#197#1#5'Align'#7#8'alBottom'#20'Bor'
+'derSpacing.Around'#2#6#7'Caption'#6#31'FormsAutoCreateNewFormsCheckBox'#8'T'
+'abOrder'#2#2#0#0#0#5'TPage'#8'MiscPage'#7'Caption'#6#8'MiscPage'#11'ClientW'
+'idth'#3#209#1#12'ClientHeight'#3'p'#1#0#9'TCheckBox)MainUnitHasUsesSectionF'
+'orAllUnitsCheckBox'#21'AnchorSideTop.Control'#7#30'MainUnitIsPascalSourceCh'
+'eckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3
+'Top'#2#31#5'Width'#3#197#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6
+#7'Caption'#6')MainUnitHasUsesSectionForAllUnitsCheckBox'#8'TabOrder'#2#0#0#0
+#9'TCheckBox''MainUnitHasCreateFormStatementsCheckBox'#21'AnchorSideTop.Cont'
+'rol'#7')MainUnitHasUsesSectionForAllUnitsCheckBox'#18'AnchorSideTop.Side'#7
+#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'8'#5'Width'#3#197#1#5'Alig'
,'n'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6'''MainUnitHasCreate'
+'FormStatementsCheckBox'#8'TabOrder'#2#1#0#0#9'TCheckBox'#30'MainUnitIsPasca'
+'lSourceCheckBox'#4'Left'#2#6#6'Height'#2#19#3'Top'#2#6#5'Width'#3#197#1#5'A'
+'lign'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6#30'MainUnitIsPas'
+'calSourceCheckBox'#8'TabOrder'#2#2#0#0#9'TCheckBox!MainUnitHasTitleStatemen'
+'tCheckBox'#21'AnchorSideTop.Control'#7'''MainUnitHasCreateFormStatementsChe'
+'ckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'T'
+'op'#2'Q'#5'Width'#3#197#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7
+'Caption'#6'!MainUnitHasTitleStatementCheckBox'#8'TabOrder'#2#5#0#0#9'TCheck'
+'Box'#16'RunnableCheckBox'#21'AnchorSideTop.Control'#7'!MainUnitHasTitleStat'
+'ementCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2
+#19#3'Top'#2'p'#5'Width'#3#197#1#5'Align'#7#5'alTop'#17'BorderSpacing.Top'#2
+#6#20'BorderSpacing.Around'#2#6#7'Caption'#6#16'RunnableCheckBox'#8'TabOrder'
+#2#3#0#0#9'TCheckBox'#19'AlwaysBuildCheckBox'#21'AnchorSideTop.Control'#7#16
+'RunnableCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heigh'
+'t'#2#19#3'Top'#3#137#0#5'Width'#3#197#1#5'Align'#7#5'alTop'#20'BorderSpacin'
+'g.Around'#2#6#7'Caption'#6#19'AlwaysBuildCheckBox'#8'TabOrder'#2#4#0#0#0#5
+'TPage'#10'LazDocPage'#7'Caption'#6#10'LazDocPage'#11'ClientWidth'#3#209#1#12
+'ClientHeight'#3'p'#1#0#9'TGroupBox'#19'LazDocPathsGroupBox'#4'Left'#2#6#6'H'
+'eight'#3#196#0#3'Top'#2#6#5'Width'#3#197#1#5'Align'#7#5'alTop'#8'AutoSize'#9
+#20'BorderSpacing.Around'#2#6#7'Caption'#6#19'LazDocPathsGroupBox'#12'Client'
+'Height'#3#196#0#11'ClientWidth'#3#197#1#8'TabOrder'#2#0#0#8'TListBox'#13'La'
+'zDocListBox'#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBox'#21'Anchor'
+'SideTop.Control'#7#14'LazDocPathEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'
+#23'AnchorSideRight.Control'#7#19'LazDocPathsGroupBox'#20'AnchorSideRight.Si'
+'de'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'l'#3'Top'#2'#'#5'Width'#3#181#1#7
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#8
+'TabOrder'#2#0#0#0#5'TEdit'#14'LazDocPathEdit'#22'AnchorSideLeft.Control'#7
+#19'LazDocPathsGroupBox'#21'AnchorSideTop.Control'#7#19'LazDocPathsGroupBox'
+#23'AnchorSideRight.Control'#7#18'LazDocBrowseButton'#4'Left'#2#6#6'Height'#2
+#23#3'Top'#2#6#5'Width'#3#151#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0
+#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#1#4'Text'#6#14'LazDocPathEdit'#0
+#0#7'TButton'#18'LazDocBrowseButton'#22'AnchorSideLeft.Control'#7#14'LazDocP'
+'athEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7
+#19'LazDocPathsGroupBox'#23'AnchorSideRight.Control'#7#19'LazDocPathsGroupBo'
+'x'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#163#1#6'Height'#2#23#3
+'Top'#2#6#5'Width'#2#24#7'Anchors'#11#5'akTop'#7'akRight'#0#17'BorderSpacing'
+'.Top'#2#6#19'BorderSpacing.Right'#2#6#7'Caption'#6#3'...'#7'OnClick'#7#23'L'
+'azDocBrowseButtonClick'#8'TabOrder'#2#2#0#0#7'TBitBtn'#19'LazDocAddPathButt'
+'on'#22'AnchorSideLeft.Control'#7#19'LazDocPathsGroupBox'#21'AnchorSideTop.C'
+'ontrol'#7#13'LazDocListBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2
+#6#6'Height'#2#23#3'Top'#3#149#0#5'Width'#3#133#0#8'AutoSize'#9#20'BorderSpa'
+'cing.Around'#2#6#7'Caption'#6#19'LazDocAddPathButton'#9'NumGlyphs'#2#0#7'On'
+'Click'#7#24'LazDocAddPathButtonClick'#8'TabOrder'#2#3#0#0#7'TBitBtn'#22'Laz'
+'DocDeletePathButton'#22'AnchorSideLeft.Control'#7#19'LazDocAddPathButton'#19
+'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#13'LazDocLi'
+'stBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#3#145#0#6'Height'#2#23
+#3'Top'#3#149#0#5'Width'#3#145#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7
+'Caption'#6#22'LazDocDeletePathButton'#9'NumGlyphs'#2#0#7'OnClick'#7#27'LazD'
+'ocDeletePathButtonClick'#8'TabOrder'#2#4#0#0#0#0#5'TPage'#8'SavePage'#7'Cap'
+'tion'#6#8'SavePage'#11'ClientWidth'#3#209#1#12'ClientHeight'#3'p'#1#0#9'TCh'
@ -157,7 +193,7 @@ LazarusResources.Add('TProjectOptionsDialog','FORMDATA',[
+'m'#4'Left'#2#6#6'Height'#2'u'#3'Top'#2'>'#5'Width'#3#197#1#5'Align'#7#5'alT'
+'op'#8'AutoFill'#9#17'BorderSpacing.Top'#2#6#20'BorderSpacing.Around'#2#6#7
+'Caption'#6#29'SaveSessionLocationRadioGroup'#28'ChildSizing.LeftRightSpacin'
+'g'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizonta'
,'g'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizonta'
+'l'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsH'
+'omogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'
+#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7
@ -193,7 +229,7 @@ LazarusResources.Add('TProjectOptionsDialog','FORMDATA',[
+'AnchorSideTop.Control'#7#12'VersionLabel'#18'AnchorSideTop.Side'#7#9'asrBot'
+'tom'#4'Left'#2#6#6'Height'#2#20#3'Top'#2#26#5'Width'#2'F'#8'TabOrder'#2#1#0
+#0#9'TSpinEdit'#21'MajorRevisionSpinEdit'#22'AnchorSideLeft.Control'#7#18'Ma'
,'jorRevisionLabel'#21'AnchorSideTop.Control'#7#18'MajorRevisionLabel'#18'Anc'
+'jorRevisionLabel'#21'AnchorSideTop.Control'#7#18'MajorRevisionLabel'#18'Anc'
+'horSideTop.Side'#7#9'asrBottom'#4'Left'#2'j'#6'Height'#2#20#3'Top'#2#26#5'W'
+'idth'#2'F'#8'TabOrder'#2#2#0#0#9'TSpinEdit'#21'MinorRevisionSpinEdit'#22'An'
+'chorSideLeft.Control'#7#18'MinorRevisionLabel'#21'AnchorSideTop.Control'#7
@ -221,7 +257,7 @@ LazarusResources.Add('TProjectOptionsDialog','FORMDATA',[
+'Left'#3#4#1#6'Height'#2#14#3'Top'#2#6#5'Width'#2'H'#20'BorderSpacing.Around'
+#2#6#7'Caption'#6#14'Character Set:'#11'ParentColor'#8#0#0#9'TComboBox'#25'L'
+'anguageSelectionComboBox'#22'AnchorSideLeft.Control'#7#22'LanguageSelection'
+'Label'#21'AnchorSideTop.Control'#7#22'LanguageSelectionLabel'#18'AnchorSide'
,'Label'#21'AnchorSideTop.Control'#7#22'LanguageSelectionLabel'#18'AnchorSide'
+'Top.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#13#8'TabOrder'#2#0#4'Text'#6#12'U.S. English'#0#0#9'TComboBox'#20'Charact'
@ -235,72 +271,73 @@ LazarusResources.Add('TProjectOptionsDialog','FORMDATA',[
+'nchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'e'#3'Top'#3#215
+#0#5'Width'#3#197#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Aroun'
+'d'#2#6#7'Caption'#6#10'Other Info'#12'ClientHeight'#2'e'#11'ClientWidth'#3
+#197#1#8'TabOrder'#2#3#0#5'TEdit'#15'DescriptionEdit'#22'AnchorSideLeft.Cont'
+'rol'#7#16'PanelOtherLabels'#19'AnchorSideLeft.Side'#7#9'asrBottom'#23'Ancho'
+'rSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'as'
+'rBottom'#4'Left'#2'F'#6'Height'#2#21#5'Width'#3'u'#1#7'Anchors'#11#5'akTop'
+#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6#19'BorderSpacing.Right'#2
+#6#8'TabOrder'#2#0#0#0#5'TEdit'#13'CopyrightEdit'#22'AnchorSideLeft.Control'
+#7#15'DescriptionEdit'#21'AnchorSideTop.Control'#7#15'DescriptionEdit'#18'An'
+'chorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#17'OtherInfo'
+'GroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'F'#6'Height'#2
+#21#3'Top'#2#27#5'Width'#3'u'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0
+#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#8'TabOrder'#2#1#0#0#6
+'TPanel'#16'PanelOtherLabels'#6'Height'#2'('#5'Width'#2'@'#8'AutoSize'#9#10
+'BevelOuter'#7#6'bvNone'#12'ClientHeight'#2'('#11'ClientWidth'#2'@'#8'TabOrd'
+'er'#2#2#0#6'TLabel'#14'CopyrightLabel'#22'AnchorSideLeft.Control'#7#16'Desc'
+'riptionLabel'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2
+#14#3'Top'#2#26#5'Width'#2'4'#7'Caption'#6#10'Copyright:'#11'ParentColor'#8#0
+#0#6'TLabel'#16'DescriptionLabel'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Le'
+'ft'#2#6#6'Height'#2#14#5'Width'#2':'#18'BorderSpacing.Left'#2#6#7'Caption'#6
+#12'Description:'#11'ParentColor'#8#0#0#0#7'TBitBtn'#20'AdditionalInfoButton'
+#21'AnchorSideTop.Control'#7#13'CopyrightEdit'#18'AnchorSideTop.Side'#7#9'as'
+'rBottom'#23'AnchorSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideR'
+'ight.Side'#7#9'asrBottom'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3
,'['#1#6'Height'#2#23#3'Top'#2'6'#5'Width'#2'`'#7'Anchors'#11#5'akTop'#7'akRi'
+'ght'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#15'Additiona'
+'l Info'#9'NumGlyphs'#2#0#7'OnClick'#7#25'AdditionalInfoButtonClick'#8'TabOr'
+'der'#2#3#0#0#0#0#5'TPage'#8'i18nPage'#7'Caption'#6#4'i18n'#11'ClientWidth'#3
+#209#1#12'ClientHeight'#3'p'#1#0#9'TGroupBox'#12'I18NGroupBox'#22'AnchorSide'
+'Left.Control'#7#17'OtherInfoGroupBox'#21'AnchorSideTop.Control'#7#19'Versio'
+'nInfoGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Con'
+'trol'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Lef'
+'t'#2#6#6'Height'#2'I'#3'Top'#2#31#5'Width'#3#197#1#5'Align'#7#5'alTop'#8'Au'
+'toSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'i18n Options'#12'Cli'
+'entHeight'#2'7'#11'ClientWidth'#3#193#1#8'TabOrder'#2#0#0#6'TLabel'#13'PoOu'
+'tDirLabel'#4'Left'#2#6#6'Height'#2#14#3'Top'#2#6#5'Width'#2'g'#20'BorderSpa'
+'cing.Around'#2#6#7'Caption'#6#20'PO Output Directory:'#11'ParentColor'#8#0#0
+#5'TEdit'#12'POOutDirEdit'#22'AnchorSideLeft.Control'#7#12'I18NGroupBox'#21
+'AnchorSideTop.Control'#7#13'PoOutDirLabel'#18'AnchorSideTop.Side'#7#9'asrBo'
+'ttom'#23'AnchorSideRight.Control'#7#14'POOutDirButton'#4'Left'#2#6#6'Height'
+#2#23#3'Top'#2#26#5'Width'#3#151#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRigh'
+'t'#0#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#0#4'Text'#6#12'POOutDirEdit'
+#0#0#7'TButton'#14'POOutDirButton'#21'AnchorSideTop.Control'#7#13'PoOutDirLa'
+'bel'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#12
+'I18NGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#21'AnchorSideBottom.S'
+'ide'#7#9'asrBottom'#4'Left'#3#163#1#6'Height'#2#23#3'Top'#2#26#5'Width'#2#24
+#7'Anchors'#11#5'akTop'#7'akRight'#0#20'BorderSpacing.Around'#2#6#7'Caption'
+#6#3'...'#7'OnClick'#7#19'POOutDirButtonClick'#8'TabOrder'#2#1#0#0#0#9'TChec'
+'kBox'#18'EnableI18NCheckBox'#4'Left'#2#6#6'Height'#2#19#3'Top'#2#6#5'Width'
+#3#197#1#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6#11'En'
+'able i18n'#8'OnChange'#7#24'EnableI18NCheckBoxChange'#8'TabOrder'#2#1#0#0#0
+#0#6'TPanel'#11'PODBtnPanel'#6'Height'#2'&'#3'Top'#3#138#1#5'Width'#3#217#1#5
+'Align'#7#8'alBottom'#8'AutoSize'#9#10'BevelOuter'#7#6'bvNone'#12'ClientHeig'
+'ht'#2'&'#11'ClientWidth'#3#217#1#8'TabOrder'#2#1#0#7'TBitBtn'#8'OKButton'#21
+'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3'5'#1#6'Height'#2#26#3'Top'#2
+#6#5'Width'#2'K'#5'Align'#7#7'alRight'#8'AutoSize'#9#20'BorderSpacing.Around'
+#2#6#7'Caption'#6#3'&OK'#21'Constraints.MinHeight'#2#25#20'Constraints.MinWi'
+'dth'#2'K'#7'Default'#9#4'Kind'#7#4'bkOK'#11'ModalResult'#2#1#9'NumGlyphs'#2
+#0#8'TabOrder'#2#0#0#0#7'TBitBtn'#12'CancelButton'#20'AnchorSideRight.Side'#7
+#9'asrBottom'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#134#1#6'Hei'
+'ght'#2#26#3'Top'#2#6#5'Width'#2'M'#5'Align'#7#7'alRight'#8'AutoSize'#9#20'B'
+'orderSpacing.Around'#2#6#6'Cancel'#9#7'Caption'#6#6'Cancel'#21'Constraints.'
+'MinHeight'#2#25#20'Constraints.MinWidth'#2'K'#4'Kind'#7#8'bkCancel'#11'Moda'
+'lResult'#2#2#9'NumGlyphs'#2#0#8'TabOrder'#2#1#0#0#7'TBitBtn'#10'HelpButton'
+#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#26#3'Top'#2
+#6#5'Width'#2'K'#5'Align'#7#6'alLeft'#8'AutoSize'#9#20'BorderSpacing.Around'
+#2#6#7'Caption'#6#5'&Help'#21'Constraints.MinHeight'#2#25#20'Constraints.Min'
+'Width'#2'K'#4'Kind'#7#6'bkHelp'#9'NumGlyphs'#2#0#7'OnClick'#7#15'HelpButton'
+'Click'#8'TabOrder'#2#2#0#0#0#22'TSelectDirectoryDialog'#21'SelectDirectoryD'
+'ialog'#11'FilterIndex'#2#0#4'left'#2'X'#3'top'#3'p'#1#0#0#0
+#197#1#8'TabOrder'#2#3#0#6'TLabel'#16'DescriptionLabel'#21'AnchorSideTop.Con'
+'trol'#7#15'DescriptionEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2
+#6#6'Height'#2#14#3'Top'#2#3#5'Width'#2':'#18'BorderSpacing.Left'#2#6#7'Capt'
+'ion'#6#12'Description:'#11'ParentColor'#8#0#0#6'TLabel'#14'CopyrightLabel'
+#22'AnchorSideLeft.Control'#7#16'DescriptionLabel'#21'AnchorSideTop.Control'
+#7#13'CopyrightEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Hei'
+'ght'#2#14#3'Top'#2#30#5'Width'#2'4'#7'Caption'#6#10'Copyright:'#11'ParentCo'
+'lor'#8#0#0#5'TEdit'#15'DescriptionEdit'#19'AnchorSideLeft.Side'#7#9'asrBott'
+'om'#23'AnchorSideRight.Control'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.'
+'Side'#7#9'asrBottom'#4'Left'#2'F'#6'Height'#2#21#5'Width'#3'u'#1#7'Anchors'
+#11#5'akTop'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6#19'BorderSpac'
+'ing.Right'#2#6#8'TabOrder'#2#0#0#0#5'TEdit'#13'CopyrightEdit'#22'AnchorSide'
+'Left.Control'#7#15'DescriptionEdit'#21'AnchorSideTop.Control'#7#15'Descript'
+'ionEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7
+#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2'F'#6
+'Height'#2#21#3'Top'#2#27#5'Width'#3'u'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#0#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#8'TabOrder'
+#2#1#0#0#7'TBitBtn'#20'AdditionalInfoButton'#21'AnchorSideTop.Control'#7#13
+'CopyrightEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Con'
+'trol'#7#17'OtherInfoGroupBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#21'An'
+'chorSideBottom.Side'#7#9'asrBottom'#4'Left'#3'['#1#6'Height'#2#23#3'Top'#2
+'6'#5'Width'#2'`'#7'Anchors'#11#5'akTop'#7'akRight'#0#8'AutoSize'#9#20'Borde'
+'rSpacing.Around'#2#6#7'Caption'#6#15'Additional Info'#9'NumGlyphs'#2#0#7'On'
+'Click'#7#25'AdditionalInfoButtonClick'#8'TabOrder'#2#2#0#0#0#0#5'TPage'#8'i'
+'18nPage'#7'Caption'#6#4'i18n'#11'ClientWidth'#3#209#1#12'ClientHeight'#3'p'
+#1#0#9'TGroupBox'#12'I18NGroupBox'#22'AnchorSideLeft.Control'#7#17'OtherInfo'
+'GroupBox'#21'AnchorSideTop.Control'#7#19'VersionInfoGroupBox'#18'AnchorSide'
+'Top.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#17'OtherInfoGroupBox'
+#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2'I'#3'Top'#2
+#31#5'Width'#3#197#1#5'Align'#7#5'alTop'#8'AutoSize'#9#20'BorderSpacing.Arou'
+'nd'#2#6#7'Caption'#6#12'i18n Options'#12'ClientHeight'#2'I'#11'ClientWidth'
+#3#197#1#8'TabOrder'#2#0#0#6'TLabel'#13'PoOutDirLabel'#4'Left'#2#6#6'Height'
+#2#14#3'Top'#2#6#5'Width'#2'g'#20'BorderSpacing.Around'#2#6#7'Caption'#6#20
+'PO Output Directory:'#11'ParentColor'#8#0#0#5'TEdit'#12'POOutDirEdit'#22'An'
+'chorSideLeft.Control'#7#12'I18NGroupBox'#21'AnchorSideTop.Control'#7#13'PoO'
+'utDirLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Contro'
+'l'#7#14'POOutDirButton'#4'Left'#2#6#6'Height'#2#23#3'Top'#2#26#5'Width'#3
+#151#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'
+#2#6#8'TabOrder'#2#0#4'Text'#6#12'POOutDirEdit'#0#0#7'TButton'#14'POOutDirBu'
+'tton'#21'AnchorSideTop.Control'#7#13'PoOutDirLabel'#18'AnchorSideTop.Side'#7
+#9'asrBottom'#23'AnchorSideRight.Control'#7#12'I18NGroupBox'#20'AnchorSideRi'
+'ght.Side'#7#9'asrBottom'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3
+#163#1#6'Height'#2#23#3'Top'#2#26#5'Width'#2#24#7'Anchors'#11#5'akTop'#7'akR'
+'ight'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#3'...'#7'OnClick'#7#19'PO'
+'OutDirButtonClick'#8'TabOrder'#2#1#0#0#0#9'TCheckBox'#18'EnableI18NCheckBox'
+#4'Left'#2#6#6'Height'#2#19#3'Top'#2#6#5'Width'#3#197#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#0#6'TPanel'#11'PODBtnPanel'
+#6'Height'#2'&'#3'Top'#3#138#1#5'Width'#3#217#1#5'Align'#7#8'alBottom'#8'Aut'
+'oSize'#9#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#2'&'#11'ClientWidth'#3
,#217#1#8'TabOrder'#2#1#0#7'TBitBtn'#8'OKButton'#21'AnchorSideBottom.Side'#7#9
+'asrBottom'#4'Left'#3'5'#1#6'Height'#2#26#3'Top'#2#6#5'Width'#2'K'#5'Align'#7
+#7'alRight'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#3'&OK'#21
+'Constraints.MinHeight'#2#25#20'Constraints.MinWidth'#2'K'#7'Default'#9#4'Ki'
+'nd'#7#4'bkOK'#11'ModalResult'#2#1#9'NumGlyphs'#2#0#8'TabOrder'#2#0#0#0#7'TB'
+'itBtn'#12'CancelButton'#20'AnchorSideRight.Side'#7#9'asrBottom'#21'AnchorSi'
+'deBottom.Side'#7#9'asrBottom'#4'Left'#3#134#1#6'Height'#2#26#3'Top'#2#6#5'W'
+'idth'#2'M'#5'Align'#7#7'alRight'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6
+#6'Cancel'#9#7'Caption'#6#6'Cancel'#21'Constraints.MinHeight'#2#25#20'Constr'
+'aints.MinWidth'#2'K'#4'Kind'#7#8'bkCancel'#11'ModalResult'#2#2#9'NumGlyphs'
+#2#0#8'TabOrder'#2#1#0#0#7'TBitBtn'#10'HelpButton'#21'AnchorSideBottom.Side'
+#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#26#3'Top'#2#6#5'Width'#2'K'#5'Align'
+#7#6'alLeft'#8'AutoSize'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6#5'&Help'
+#21'Constraints.MinHeight'#2#25#20'Constraints.MinWidth'#2'K'#4'Kind'#7#6'bk'
+'Help'#9'NumGlyphs'#2#0#7'OnClick'#7#15'HelpButtonClick'#8'TabOrder'#2#2#0#0
+#0#22'TSelectDirectoryDialog'#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 as'#4'left'#3#146#0#3'top'#3'p'#1#0#0#0
]);

View File

@ -41,7 +41,7 @@ uses
FileUtil, IDEContextHelpEdit, EnvironmentOpts,
IDEWindowIntf, IDEImagesIntf, ProjectIntf, IDEDialogs,
IDEOptionDefs, LazarusIDEStrConsts, Project, IDEProcs, W32VersionInfo,
VersionInfoAdditionalInfo, W32Manifest, ApplicationBundle;
VersionInfoAdditionalInfo, W32Manifest, ApplicationBundle, ExtDlgs, base64;
type
@ -49,11 +49,18 @@ type
TProjectOptionsDialog = class(TForm)
AdditionalInfoButton: TBitBtn;
ClearIconButton: TBitBtn;
SaveIconButton: TBitBtn;
LoadIconButton: TBitBtn;
CopyrightLabel: TLabel;
CreateAppBundleButton: TBitBtn;
DescriptionLabel: TLabel;
FormsAddToAutoCreatedFormsBtn: TSpeedButton;
FormsMoveAutoCreatedFormsDownBtn: TSpeedButton;
FormsMoveAutoCreatedFormUpBtn: TSpeedButton;
FormsRemoveFromAutoCreatedFormsBtn: TSpeedButton;
IconLabel: TLabel;
IconImage: TImage;
LazDocAddPathButton: TBitBtn;
LazDocDeletePathButton: TBitBtn;
Notebook: TNotebook;
@ -61,7 +68,11 @@ type
FormsPage: TPage;
MiscPage: TPage;
LazDocPage: TPage;
IconPanel: TPanel;
OpenPictureDialog1: TOpenPictureDialog;
SavePage: TPage;
SavePictureDialog1: TSavePictureDialog;
TitleLabel: TLabel;
VersionInfoPage: TPage;
i18nPage: TPage;
@ -69,11 +80,9 @@ type
AppSettingsGroupBox: TGroupBox;
OutputSettingsGroupBox: TGroupBox;
SelectDirectoryDialog: TSelectDirectoryDialog;
TitleLabel: TLabel;
TitleEdit: TEdit;
TargetFileLabel: TLabel;
TargetFileEdit: TEdit;
PanelOtherLabels: TPanel;
UseAppBundleCheckBox: TCheckBox;
UseXPManifestCheckBox: TCheckBox;
@ -124,8 +133,6 @@ type
OtherInfoGroupBox: TGroupBox;
DescriptionEdit: TEdit;
CopyrightEdit: TEdit;
DescriptionLabel: TLabel;
CopyrightLabel: TLabel;
AdditionalInfoForm: TVersionInfoAdditinalInfoForm;
// i18n
@ -142,6 +149,7 @@ type
OKButton: TBitBtn;
procedure AdditionalInfoButtonClick(Sender: TObject);
procedure ClearIconButtonClick(Sender: TObject);
procedure CreateAppBundleButtonClick(Sender: TObject);
procedure EnableI18NCheckBoxChange(Sender: TObject);
procedure FormsPageContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
@ -150,6 +158,7 @@ type
procedure LazDocAddPathButtonClick(Sender: TObject);
procedure LazDocBrowseButtonClick(Sender: TObject);
procedure LazDocDeletePathButtonClick(Sender: TObject);
procedure LoadIconButtonClick(Sender: TObject);
procedure ProjectOptionsClose(Sender: TObject;
var CloseAction: TCloseAction);
procedure FormsAddToAutoCreatedFormsBtnClick(Sender: TObject);
@ -157,6 +166,7 @@ type
procedure FormsMoveAutoCreatedFormUpBtnClick(Sender: TObject);
procedure FormsMoveAutoCreatedFormDownBtnClick(Sender: TObject);
procedure POOutDirButtonClick(Sender: TObject);
procedure SaveIconButtonClick(Sender: TObject);
procedure UseVersionInfoCheckBoxChange(Sender: TObject);
private
FProject: TProject;
@ -180,6 +190,9 @@ type
function GetProjectTitle: String;
function SetAutoCreateForms: Boolean;
function SetProjectTitle: Boolean;
procedure SetIconFromText(Value: String);
function GetIconAsText: String;
public
constructor Create(TheOwner: TComponent); override;
property Project: TProject read FProject write SetProject;
@ -195,7 +208,6 @@ function LocalizedNameToProjectSessionStorage(
implementation
function ShowProjectOptionsDialog(AProject: TProject): TModalResult;
begin
with TProjectOptionsDialog.Create(Nil) do
@ -289,6 +301,15 @@ begin
UseXPManifestCheckBox.Checked := False;
CreateAppBundleButton.Caption := dlgPOCreateAppBundle;
CreateAppBundleButton.LoadGlyphFromLazarusResource('pkg_compile');
// icon
IconLabel.Caption := dlgPOIcon;
LoadIconButton.Caption := dlgPOLoadIcon;
SaveIconButton.Caption := dlgPOSaveIcon;
ClearIconButton.Caption := dlgPOClearIcon;
LoadIconButton.LoadGlyphFromLazarusResource('open');
SaveIconButton.LoadGlyphFromLazarusResource('menu_save');
ClearIconButton.LoadGlyphFromLazarusResource('menu_clean');
end;
procedure TProjectOptionsDialog.SetupLazDocPage(PageIndex: Integer);
@ -399,6 +420,7 @@ begin
UseAppBundleCheckBox.Checked := UseAppBundle;
UseXPManifestCheckBox.Checked := XPManifest.UseManifest;
UseVersionInfoCheckBox.Checked := VersionInfo.UseVersionInfo;
SetIconFromText(Icon);
end;
FillAutoCreateFormsListbox;
FillAvailFormsListBox;
@ -471,8 +493,8 @@ var
begin
if ModalResult = mrOk then
begin
Project.Title := TitleEdit.Text;
Project.Icon := GetIconAsText;
Project.TargetFilename := TargetFileEdit.Text;
Project.UseAppBundle := UseAppBundleCheckBox.Checked;
Project.XPManifest.UseManifest := UseXPManifestCheckBox.Checked;
@ -565,6 +587,11 @@ begin
Project.Modified:=true;
end;
procedure TProjectOptionsDialog.ClearIconButtonClick(Sender: TObject);
begin
IconImage.Picture.Clear;
end;
procedure TProjectOptionsDialog.CreateAppBundleButtonClick(Sender: TObject);
begin
CreateProjectApplicationBundle(Project);
@ -587,6 +614,12 @@ begin
LazDocListBox.Items.Delete(LazDocListBox.ItemIndex);
end;
procedure TProjectOptionsDialog.LoadIconButtonClick(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
IconImage.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;
function TProjectOptionsDialog.GetAutoCreatedFormsList: TStrings;
var
i, j: Integer;
@ -816,6 +849,12 @@ begin
POOutDirEdit.Text:=NewDirectory;
end;
procedure TProjectOptionsDialog.SaveIconButtonClick(Sender: TObject);
begin
if SavePictureDialog1.Execute then
IconImage.Picture.SaveToFile(SavePictureDialog1.FileName);
end;
procedure TProjectOptionsDialog.UseVersionInfoCheckBoxChange(Sender: TObject);
begin
EnableVersionInfo(UseVersionInfoCheckBox.Checked);
@ -906,6 +945,45 @@ begin
end;// delete title
end;
procedure TProjectOptionsDialog.SetIconFromText(Value: String);
var
S: TStringStream;
BS: TBase64DecodingStream;
begin
IconImage.Picture.Clear;
if Value <> '' then
begin
S := TStringStream.Create(Value);
S.Position := 0;
BS := TBase64DecodingStream.Create(S);
try
IconImage.Picture.Icon.LoadFromStream(BS);
except
on E: Exception do
MessageDlg(E.Message, mtError, [mbOk], 0);
end;
BS.Free;
S.Free;
end;
end;
function TProjectOptionsDialog.GetIconAsText: String;
var
S: TStringStream;
BS: TBase64EncodingStream;
begin
Result := '';
if not ((IconImage.Picture.Graphic = nil) or IconImage.Picture.Graphic.Empty) then
begin
S := TStringStream.Create('');
BS := TBase64EncodingStream.Create(S);
IconImage.Picture.Icon.SaveToStream(BS);
BS.Free;
Result := S.DataString;
S.Free;
end;
end;
initialization
{$I projectopts.lrs}

View File

@ -531,7 +531,8 @@ type
fModified: boolean;
FProjectSessionFile: string;
FSessionModified: boolean;
fTitle: String;
FTitle: String;
FIcon: String;
FSessionStorage: TProjectSessionStorage;
FLazDocPaths: string;
procedure SetLazDocPaths(const AValue: string);
@ -542,6 +543,7 @@ type
function GetMainFileID: Integer; virtual; abstract;
procedure SetMainFileID(const AValue: Integer); virtual; abstract;
function GetFiles(Index: integer): TLazProjectFile; virtual; abstract;
procedure SetIcon(const AValue: String); virtual;
procedure SetTitle(const AValue: String); virtual;
procedure SetFlags(const AValue: TProjectFlags); virtual;
function GetProjectInfoFile: string; virtual; abstract;
@ -574,7 +576,8 @@ type
property Files[Index: integer]: TLazProjectFile read GetFiles;
property FileCount: integer read GetFileCount;
property MainFile: TLazProjectFile read GetMainFile;
property Title: String read fTitle write SetTitle;
property Title: String read FTitle write SetTitle;
property Icon: string read FIcon write SetIcon;
property Flags: TProjectFlags read FFlags write SetFlags;
property ExecutableType: TProjectExecutableType read FExecutableType
write SetExecutableType;// read from MainFile, not saved to lpi
@ -1067,6 +1070,7 @@ end;
function TProjectDescriptor.InitProject(AProject: TLazProject): TModalResult;
begin
AProject.Title:='project1';
// TODO: AProject.Icon := default icon
AProject.Flags:=Flags;
Result:=mrOk;
end;
@ -1133,8 +1137,15 @@ end;
procedure TLazProject.SetTitle(const AValue: String);
begin
if fTitle=AValue then exit;
fTitle:=AValue;
if FTitle=AValue then exit;
FTitle:=AValue;
Modified:=true;
end;
procedure TLazProject.SetIcon(const AValue: String);
begin
if FIcon=AValue then exit;
FIcon:=AValue;
Modified:=true;
end;