+ Modified patch from Giuliano Colla for quickoptions

git-svn-id: trunk@12069 -
This commit is contained in:
marc 2007-09-18 23:22:22 +00:00
parent b24b5ec37d
commit 460ae152ea
4 changed files with 793 additions and 431 deletions

View File

@ -1,302 +1,431 @@
object ConfigureBuildLazarusDlg: TConfigureBuildLazarusDlg object ConfigureBuildLazarusDlg: TConfigureBuildLazarusDlg
Left = 190 Left = 518
Height = 480 Height = 535
Top = 142 Top = 169
Width = 485 Width = 489
HorzScrollBar.Page = 484 HorzScrollBar.Page = 488
VertScrollBar.Page = 479 VertScrollBar.Page = 534
ActiveControl = CleanAllCheckBox ActiveControl = SaveSettingsButton
BorderIcons = [biSystemMenu] BorderIcons = [biSystemMenu]
Caption = 'ConfigureBuildLazarusDlg' Caption = 'ConfigureBuildLazarusDlg'
ClientHeight = 480 ClientHeight = 535
ClientWidth = 485 ClientWidth = 489
Constraints.MinHeight = 480 Constraints.MinHeight = 535
Constraints.MinWidth = 485 Constraints.MinWidth = 489
OnClose = FormClose
OnCreate = FormCreate OnCreate = FormCreate
OnDestroy = FormDestroy OnDestroy = FormDestroy
OnShow = FormShow
Position = poScreenCenter Position = poScreenCenter
object OptionsLabel: TLabel object Panel1: TPanel
AnchorSideLeft.Control = ItemsListBox AnchorSideLeft.Control = Notebook
AnchorSideTop.Control = ItemsListBox AnchorSideTop.Control = Notebook
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 AnchorSideRight.Control = Notebook
Height = 14 AnchorSideRight.Side = asrBottom
Top = 282 Height = 50
Width = 42 Top = 485
BorderSpacing.Top = 18 Width = 489
Caption = 'Options:' Align = alBottom
Color = clNone BevelOuter = bvNone
ParentColor = False ClientHeight = 50
end ClientWidth = 489
object TargetOSLabel: TLabel
AnchorSideLeft.Control = OptionsLabel
AnchorSideTop.Control = TargetOSEdit
Left = 6
Height = 14
Top = 310
Width = 54
Caption = 'Target OS:'
Color = clNone
ParentColor = False
end
object TargetDirectoryLabel: TLabel
AnchorSideLeft.Control = TargetOSLabel
AnchorSideTop.Control = TargetDirectoryComboBox
Left = 6
Height = 14
Top = 338
Width = 84
Caption = 'Target Directory:'
Color = clNone
ParentColor = False
end
object TargetCPULabel: TLabel
AnchorSideLeft.Control = TargetDirectoryLabel
AnchorSideTop.Control = TargetCPUComboBox
Left = 6
Height = 14
Top = 365
Width = 56
Caption = 'Target CPU'
Color = clNone
ParentColor = False
end
object CleanAllCheckBox: TCheckBox
AnchorSideLeft.Control = LCLInterfaceRadioGroup
AnchorSideTop.Control = LCLInterfaceRadioGroup
AnchorSideTop.Side = asrBottom
AnchorSideBottom.Control = WithStaticPackagesCheckBox
Left = 320
Height = 13
Top = 232
Width = 61
Anchors = [akLeft, akBottom]
BorderSpacing.Top = 18
BorderSpacing.Bottom = 6
Caption = 'Clean All'
TabOrder = 0 TabOrder = 0
object CompileButton: TButton
AnchorSideRight.Control = SaveSettingsButton
AnchorSideBottom.Control = SaveSettingsButton
AnchorSideBottom.Side = asrBottom
Left = 245
Height = 26
Top = 12
Width = 59
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Right = 18
BorderSpacing.InnerBorder = 4
Caption = 'Compile'
OnClick = CompileButtonClick
TabOrder = 0
end
object SaveSettingsButton: TButton
AnchorSideRight.Control = CancelButton
AnchorSideBottom.Control = CancelButton
AnchorSideBottom.Side = asrBottom
Left = 322
Height = 26
Top = 12
Width = 89
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Right = 18
BorderSpacing.InnerBorder = 4
Caption = 'Save settings'
OnClick = SaveSettingsButtonClick
TabOrder = 1
end
object CancelButton: TButton
AnchorSideRight.Control = Panel1
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Panel1
AnchorSideBottom.Side = asrCenter
Left = 429
Height = 26
Top = 12
Width = 54
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Around = 6
BorderSpacing.InnerBorder = 4
Cancel = True
Caption = 'Cancel'
OnClick = CancelButtonClick
TabOrder = 2
end
end end
object OptionsEdit: TEdit object Notebook: TNotebook
AnchorSideTop.Control = OptionsLabel AnchorSideLeft.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 156
Height = 22
Top = 282
Width = 323
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
TabOrder = 4
end
object TargetOSEdit: TEdit
AnchorSideTop.Control = OptionsEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 156
Height = 22
Top = 310
Width = 323
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
TabOrder = 5
end
object TargetDirectoryComboBox: TComboBox
AnchorSideLeft.Control = TargetOSEdit
AnchorSideTop.Control = TargetOSEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = TargetDirectoryButton
Left = 156
Height = 21
Top = 338
Width = 295
Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
ItemHeight = 13
MaxLength = 0
TabOrder = 6
end
object TargetDirectoryButton: TButton
AnchorSideTop.Control = TargetOSEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = TargetDirectoryComboBox
AnchorSideBottom.Side = asrBottom
Left = 457
Height = 21
Top = 338
Width = 22
Anchors = [akTop, akRight, akBottom]
BorderSpacing.Left = 6
BorderSpacing.Right = 6
BorderSpacing.InnerBorder = 4
Caption = '...'
OnClick = TargetDirectoryButtonClick
TabOrder = 7
end
object LCLInterfaceRadioGroup: TRadioGroup
AnchorSideLeft.Control = ItemListHeader
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Owner AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = CleanAllCheckBox AnchorSideBottom.Control = Panel1
Left = 320 Height = 485
Height = 208 Width = 489
Top = 6
Width = 159
Anchors = [akTop, akRight, akBottom]
AutoFill = True
BorderSpacing.Around = 6
Caption = 'LCLInterfaceRadioGroup'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
TabOrder = 2
end
object WithStaticPackagesCheckBox: TCheckBox
AnchorSideLeft.Control = LCLInterfaceRadioGroup
AnchorSideTop.Control = CleanAllCheckBox
AnchorSideTop.Side = asrBottom
AnchorSideBottom.Control = ItemsListBox
AnchorSideBottom.Side = asrBottom
Left = 320
Height = 13
Top = 251
Width = 166
Anchors = [akLeft, akBottom]
BorderSpacing.Top = 6
Caption = 'WithStaticPackagesCheckBox'
TabOrder = 3
end
object RestartAfterBuildCheckBox: TCheckBox
AnchorSideLeft.Control = TargetCPULabel
AnchorSideTop.Control = TargetCPUComboBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 13
Top = 404
Width = 148
BorderSpacing.Top = 18
Caption = 'RestartAfterBuildCheckBox'
TabOrder = 9
end
object ConfirmBuildCheckBox: TCheckBox
AnchorSideLeft.Control = RestartAfterBuildCheckBox
AnchorSideTop.Control = RestartAfterBuildCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 13
Top = 423
Width = 127
BorderSpacing.Top = 6
Caption = 'ConfirmBuildCheckBox'
TabOrder = 10
end
object SaveSettingsButton: TButton
AnchorSideRight.Control = CancelButton
AnchorSideBottom.Control = CancelButton
AnchorSideBottom.Side = asrBottom
Left = 308
Height = 25
Top = 449
Width = 92
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Right = 18
BorderSpacing.InnerBorder = 4
Caption = 'Save settings'
Default = True
OnClick = SaveSettingsButtonClick
TabOrder = 11
end
object CancelButton: TButton
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 418
Height = 25
Top = 449
Width = 61
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Around = 6
BorderSpacing.InnerBorder = 4
Cancel = True
Caption = 'Cancel'
OnClick = CancelButtonClick
TabOrder = 12
end
object ItemsListBox: TListBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ItemListHeader
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ItemListHeader
AnchorSideRight.Side = asrBottom
Left = 6
Height = 234
Top = 30
Width = 308
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 6 OnEnter = NotebookPageChanged
ItemHeight = 25 OnPageChanged = NotebookPageChanged
OnDrawItem = ItemsListBoxDrawItem PageIndex = 0
OnMouseDown = ItemsListBoxMouseDown
OnShowHint = ItemsListBoxShowHint
ParentShowHint = False
ShowHint = True
Style = lbOwnerDrawFixed
TabOrder = 1 TabOrder = 1
end object QuickBuildOptionsPage: TPage
object TargetCPUComboBox: TComboBox AnchorSideBottom.Side = asrBottom
AnchorSideLeft.Control = TargetDirectoryComboBox Caption = 'QuickBuildOptions'
AnchorSideTop.Control = TargetDirectoryComboBox ClientWidth = 485
AnchorSideTop.Side = asrBottom ClientHeight = 455
AnchorSideRight.Control = TargetDirectoryComboBox object QuickLCLInterfaceComboLabel: TLabel
AnchorSideRight.Side = asrBottom AnchorSideLeft.Control = QuickBuildOptionsRadioGroup
Left = 156 AnchorSideLeft.Side = asrBottom
Height = 21 AnchorSideRight.Side = asrBottom
Top = 365 Left = 286
Width = 295 Height = 13
Anchors = [akTop, akLeft, akRight] Top = 44
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending] Width = 175
BorderSpacing.Top = 6 BorderSpacing.Right = 24
ItemHeight = 13 Caption = 'QuickLCLInterfaceComboLabel'
MaxLength = 0 ParentColor = False
TabOrder = 8 end
end object AppLCLLabel: TLabel
object CompileButton: TButton AnchorSideLeft.Control = QuickLCLInterfaceComboLabel
AnchorSideRight.Control = SaveSettingsButton AnchorSideRight.Control = QuickBuildOptionsPage
AnchorSideBottom.Control = SaveSettingsButton AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom Left = 286
Left = 225 Height = 13
Height = 25 Top = 84
Top = 449 Width = 36
Width = 65 BorderSpacing.Right = 24
Anchors = [akRight, akBottom] Caption = 'Target'
AutoSize = True ParentColor = False
BorderSpacing.Right = 18 end
BorderSpacing.InnerBorder = 4 object IDELCLLabel: TLabel
Caption = 'Compile' AnchorSideLeft.Control = QuickLCLInterfaceComboLabel
OnClick = CompileButtonClick AnchorSideRight.Side = asrBottom
TabOrder = 13 Left = 286
end Height = 13
object ItemListHeader: THeaderControl Top = 132
Left = 6 Width = 21
Height = 24 BorderSpacing.Right = 24
Top = 6 Caption = 'IDE'
Width = 308 ParentColor = False
Sections = <> end
OnSectionClick = ItemListHeaderSectionClick object AppLCLInterfaceComboBox: TComboBox
Anchors = [akTop, akLeft, akRight] AnchorSideRight.Control = QuickBuildOptionsPage
OnResize = ItemListHeaderResize AnchorSideRight.Side = asrBottom
Left = 361
Height = 25
Top = 76
Width = 100
Anchors = [akTop, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Right = 24
Enabled = False
MaxLength = 0
OnChange = AppLCLInterfaceComboBoxChange
TabOrder = 0
Text = '(none)'
end
object IDELCLInterfaceComboBox: TComboBox
AnchorSideRight.Control = QuickBuildOptionsPage
AnchorSideRight.Side = asrBottom
Left = 361
Height = 25
Top = 124
Width = 100
Anchors = [akTop, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Right = 24
Enabled = False
MaxLength = 0
OnChange = AppLCLInterfaceComboBoxChange
TabOrder = 1
Text = '(none)'
end
object QuickBuildOptionsRadioGroup: TRadioGroup
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 264
Top = 4
Width = 256
AutoFill = True
BorderSpacing.Right = 24
Caption = 'QuickBuildOptionsRadioGroup'
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 = 247
ClientWidth = 252
ItemIndex = 5
Items.Strings = (
'Build LCL'
'Build IDE with Packages'
'Build IDE without Packages'
'Build All'
'Clean Up + Build all'
'Other'
)
OnClick = QuickBuildOptionsRadioGroupClick
TabOrder = 2
end
end
object AdvancedBuildOptionsPage: TPage
Caption = 'AdvancedBuildOptions'
ClientWidth = 485
ClientHeight = 455
object OptionsLabel: TLabel
AnchorSideTop.Control = ItemsListBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 13
Top = 281
Width = 44
BorderSpacing.Top = 19
Caption = 'Options'
ParentColor = False
end
object TargetOSLabel: TLabel
AnchorSideLeft.Control = OptionsLabel
AnchorSideTop.Control = TargetOsEdit
Left = 6
Height = 13
Top = 309
Width = 58
Caption = 'Target OS'
ParentColor = False
end
object TargetDirectoryLabel: TLabel
AnchorSideLeft.Control = TargetOSLabel
AnchorSideTop.Control = TargetDirectoryComboBox
Left = 6
Height = 13
Top = 337
Width = 91
Caption = 'Target Directory'
ParentColor = False
end
object TargetCPULabel: TLabel
AnchorSideLeft.Control = TargetDirectoryLabel
AnchorSideTop.Control = TargetCPUComboBox
Left = 6
Height = 13
Top = 363
Width = 65
Caption = 'Target CPU'
ParentColor = False
end
object ItemListHeader: THeaderControl
Left = 6
Height = 24
Top = 4
Width = 308
Sections = <>
OnSectionClick = ItemListHeaderSectionClick
OnResize = ItemListHeaderResize
end
object LCLInterfaceRadioGroup: TRadioGroup
AnchorSideLeft.Control = ItemListHeader
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = AdvancedBuildOptionsPage
AnchorSideRight.Control = AdvancedBuildOptionsPage
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = CleanAllCheckBox
Left = 320
Height = 194
Top = 6
Width = 159
Anchors = [akTop, akLeft, akRight, akBottom]
AutoFill = True
BorderSpacing.Around = 6
Caption = 'LCLInterfaceRadioGroup'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
TabOrder = 0
end
object CleanAllCheckBox: TCheckBox
AnchorSideLeft.Control = LCLInterfaceRadioGroup
AnchorSideTop.Control = LCLInterfaceRadioGroup
AnchorSideTop.Side = asrBottom
AnchorSideBottom.Control = WithStaticPackagesCheckBox
Left = 320
Height = 20
Top = 216
Width = 79
Anchors = [akLeft, akBottom]
BorderSpacing.Top = 16
BorderSpacing.Bottom = 6
Caption = 'Clean All'
TabOrder = 1
end
object WithStaticPackagesCheckBox: TCheckBox
AnchorSideLeft.Control = LCLInterfaceRadioGroup
AnchorSideTop.Control = CleanAllCheckBox
AnchorSideTop.Side = asrBottom
AnchorSideBottom.Control = ItemsListBox
AnchorSideBottom.Side = asrBottom
Left = 320
Height = 20
Top = 242
Width = 194
Anchors = [akLeft, akBottom]
BorderSpacing.Top = 6
Caption = 'WithStaticPackagesCheckBox'
TabOrder = 2
end
object ItemsListBox: TListBox
AnchorSideTop.Control = ItemListHeader
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ItemListHeader
AnchorSideRight.Side = asrBottom
Left = 6
Height = 234
Top = 28
Width = 308
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Left = 6
ItemHeight = 25
OnDrawItem = ItemsListBoxDrawItem
OnMouseDown = ItemsListBoxMouseDown
OnShowHint = ItemsListBoxShowHint
ParentShowHint = False
ShowHint = True
Style = lbOwnerDrawFixed
TabOrder = 3
TopIndex = -1
end
object OptionsEdit: TEdit
AnchorSideTop.Control = OptionsLabel
AnchorSideRight.Control = AdvancedBuildOptionsPage
AnchorSideRight.Side = asrBottom
Left = 156
Height = 22
Top = 281
Width = 323
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Right = 6
TabOrder = 4
end
object TargetOsEdit: TEdit
AnchorSideTop.Control = OptionsEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = AdvancedBuildOptionsPage
AnchorSideRight.Side = asrBottom
Left = 156
Height = 22
Top = 309
Width = 323
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
TabOrder = 5
end
object TargetDirectoryComboBox: TComboBox
AnchorSideLeft.Control = TargetOsEdit
AnchorSideTop.Control = TargetOsEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = TargetDirectoryButton
Left = 156
Height = 20
Top = 337
Width = 295
Anchors = [akTop, akLeft, akRight, akBottom]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
MaxLength = 0
TabOrder = 6
end
object TargetCPUComboBox: TComboBox
AnchorSideLeft.Control = TargetDirectoryComboBox
AnchorSideTop.Control = TargetDirectoryComboBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = TargetDirectoryComboBox
AnchorSideRight.Side = asrBottom
Left = 156
Height = 21
Top = 363
Width = 295
Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Top = 6
MaxLength = 0
TabOrder = 7
end
object TargetDirectoryButton: TButton
AnchorSideTop.Control = TargetDirectoryComboBox
AnchorSideRight.Control = AdvancedBuildOptionsPage
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = TargetDirectoryComboBox
AnchorSideBottom.Side = asrBottom
Left = 457
Height = 20
Top = 337
Width = 22
Anchors = [akTop, akRight, akBottom]
BorderSpacing.Left = 6
BorderSpacing.Right = 6
BorderSpacing.InnerBorder = 4
Caption = '...'
OnClick = TargetDirectoryButtonClick
TabOrder = 8
end
object RestartAfterBuildCheckBox: TCheckBox
AnchorSideLeft.Control = TargetCPULabel
AnchorSideTop.Control = TargetCPUComboBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 20
Top = 402
Width = 176
BorderSpacing.Top = 18
BorderSpacing.Bottom = 6
Caption = 'RestartAfterBuildCheckBox'
TabOrder = 9
end
object ConfirmBuildCheckBox: TCheckBox
AnchorSideLeft.Control = RestartAfterBuildCheckBox
AnchorSideTop.Control = RestartAfterBuildCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 20
Top = 428
Width = 154
BorderSpacing.Top = 6
Caption = 'ConfirmBuildCheckBox'
TabOrder = 10
end
end
end end
end end

View File

@ -1,118 +1,167 @@
{ This is an automatically generated lazarus resource file } { This is an automatically generated lazarus resource file }
LazarusResources.Add('TConfigureBuildLazarusDlg','FORMDATA',[ LazarusResources.Add('TConfigureBuildLazarusDlg','FORMDATA',[
'TPF0'#25'TConfigureBuildLazarusDlg'#24'ConfigureBuildLazarusDlg'#4'Left'#3 'TPF0'#25'TConfigureBuildLazarusDlg'#24'ConfigureBuildLazarusDlg'#4'Left'#3#6
+#190#0#6'Height'#3#224#1#3'Top'#3#142#0#5'Width'#3#229#1#18'HorzScrollBar.Pa' +#2#6'Height'#3#23#2#3'Top'#3#169#0#5'Width'#3#233#1#18'HorzScrollBar.Page'#3
+'ge'#3#228#1#18'VertScrollBar.Page'#3#223#1#13'ActiveControl'#7#16'CleanAllC' +#232#1#18'VertScrollBar.Page'#3#22#2#13'ActiveControl'#7#18'SaveSettingsButt'
+'heckBox'#11'BorderIcons'#11#12'biSystemMenu'#0#7'Caption'#6#24'ConfigureBui' +'on'#11'BorderIcons'#11#12'biSystemMenu'#0#7'Caption'#6#24'ConfigureBuildLaz'
+'ldLazarusDlg'#12'ClientHeight'#3#224#1#11'ClientWidth'#3#229#1#21'Constrain' +'arusDlg'#12'ClientHeight'#3#23#2#11'ClientWidth'#3#233#1#21'Constraints.Min'
+'ts.MinHeight'#3#224#1#20'Constraints.MinWidth'#3#229#1#7'OnClose'#7#9'FormC' +'Height'#3#23#2#20'Constraints.MinWidth'#3#233#1#8'OnCreate'#7#10'FormCreate'
+'lose'#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#8'Positio' +#9'OnDestroy'#7#11'FormDestroy'#6'OnShow'#7#8'FormShow'#8'Position'#7#14'poS'
+'n'#7#14'poScreenCenter'#0#6'TLabel'#12'OptionsLabel'#22'AnchorSideLeft.Cont' +'creenCenter'#0#6'TPanel'#6'Panel1'#22'AnchorSideLeft.Control'#7#8'Notebook'
+'rol'#7#12'ItemsListBox'#21'AnchorSideTop.Control'#7#12'ItemsListBox'#18'Anc' +#21'AnchorSideTop.Control'#7#8'Notebook'#18'AnchorSideTop.Side'#7#9'asrBotto'
+'horSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#14#3'Top'#3#26#1#5 +'m'#23'AnchorSideRight.Control'#7#8'Notebook'#20'AnchorSideRight.Side'#7#9'a'
+'Width'#2'*'#17'BorderSpacing.Top'#2#18#7'Caption'#6#8'Options:'#5'Color'#7#6 +'srBottom'#6'Height'#2'2'#3'Top'#3#229#1#5'Width'#3#233#1#5'Align'#7#8'alBot'
+'clNone'#11'ParentColor'#8#0#0#6'TLabel'#13'TargetOSLabel'#22'AnchorSideLeft' +'tom'#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#2'2'#11'ClientWidth'#3#233
+'.Control'#7#12'OptionsLabel'#21'AnchorSideTop.Control'#7#12'TargetOSEdit'#4 +#1#8'TabOrder'#2#0#0#7'TButton'#13'CompileButton'#23'AnchorSideRight.Control'
+'Left'#2#6#6'Height'#2#14#3'Top'#3'6'#1#5'Width'#2'6'#7'Caption'#6#10'Target' +#7#18'SaveSettingsButton'#24'AnchorSideBottom.Control'#7#18'SaveSettingsButt'
+' OS:'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#20'TargetDirecto' +'on'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#245#0#6'Height'#2#26
+'ryLabel'#22'AnchorSideLeft.Control'#7#13'TargetOSLabel'#21'AnchorSideTop.Co' +#3'Top'#2#12#5'Width'#2';'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'
+'ntrol'#7#23'TargetDirectoryComboBox'#4'Left'#2#6#6'Height'#2#14#3'Top'#3'R' +#9#19'BorderSpacing.Right'#2#18#25'BorderSpacing.InnerBorder'#2#4#7'Caption'
+#1#5'Width'#2'T'#7'Caption'#6#17'Target Directory:'#5'Color'#7#6'clNone'#11 +#6#7'Compile'#7'OnClick'#7#18'CompileButtonClick'#8'TabOrder'#2#0#0#0#7'TBut'
+'ParentColor'#8#0#0#6'TLabel'#14'TargetCPULabel'#22'AnchorSideLeft.Control'#7 +'ton'#18'SaveSettingsButton'#23'AnchorSideRight.Control'#7#12'CancelButton'
+#20'TargetDirectoryLabel'#21'AnchorSideTop.Control'#7#17'TargetCPUComboBox'#4
+'Left'#2#6#6'Height'#2#14#3'Top'#3'm'#1#5'Width'#2'8'#7'Caption'#6#10'Target'
+' CPU'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#9'TCheckBox'#16'CleanAllCh'
+'eckBox'#22'AnchorSideLeft.Control'#7#22'LCLInterfaceRadioGroup'#21'AnchorSi'
+'deTop.Control'#7#22'LCLInterfaceRadioGroup'#18'AnchorSideTop.Side'#7#9'asrB'
+'ottom'#24'AnchorSideBottom.Control'#7#26'WithStaticPackagesCheckBox'#4'Left'
+#3'@'#1#6'Height'#2#13#3'Top'#3#232#0#5'Width'#2'='#7'Anchors'#11#6'akLeft'#8
+'akBottom'#0#17'BorderSpacing.Top'#2#18#20'BorderSpacing.Bottom'#2#6#7'Capti'
+'on'#6#9'Clean All'#8'TabOrder'#2#0#0#0#5'TEdit'#11'OptionsEdit'#21'AnchorSi'
+'deTop.Control'#7#12'OptionsLabel'#23'AnchorSideRight.Control'#7#5'Owner'#20
+'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#156#0#6'Height'#2#22#3'Top'#3
+#26#1#5'Width'#3'C'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#19'Borde'
+'rSpacing.Right'#2#6#8'TabOrder'#2#4#0#0#5'TEdit'#12'TargetOSEdit'#21'Anchor'
+'SideTop.Control'#7#11'OptionsEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23
+'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'
+#4'Left'#3#156#0#6'Height'#2#22#3'Top'#3'6'#1#5'Width'#3'C'#1#7'Anchors'#11#5
+'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#5#0
+#0#9'TComboBox'#23'TargetDirectoryComboBox'#22'AnchorSideLeft.Control'#7#12
+'TargetOSEdit'#21'AnchorSideTop.Control'#7#12'TargetOSEdit'#18'AnchorSideTop'
+'.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#21'TargetDirectoryButto'
+'n'#4'Left'#3#156#0#6'Height'#2#21#3'Top'#3'R'#1#5'Width'#3''''#1#7'Anchors'
+#11#5'akTop'#6'akLeft'#7'akRight'#0#16'AutoCompleteText'#11#22'cbactEndOfLin'
+'eComplete'#20'cbactSearchAscending'#0#10'ItemHeight'#2#13#9'MaxLength'#2#0#8
+'TabOrder'#2#6#0#0#7'TButton'#21'TargetDirectoryButton'#21'AnchorSideTop.Con'
+'trol'#7#12'TargetOSEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSid'
+'eRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'Ancho'
+'rSideBottom.Control'#7#23'TargetDirectoryComboBox'#21'AnchorSideBottom.Side'
+#7#9'asrBottom'#4'Left'#3#201#1#6'Height'#2#21#3'Top'#3'R'#1#5'Width'#2#22#7
+'Anchors'#11#5'akTop'#7'akRight'#8'akBottom'#0#18'BorderSpacing.Left'#2#6#19
+'BorderSpacing.Right'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#3'.'
+'..'#7'OnClick'#7#26'TargetDirectoryButtonClick'#8'TabOrder'#2#7#0#0#11'TRad'
+'ioGroup'#22'LCLInterfaceRadioGroup'#22'AnchorSideLeft.Control'#7#14'ItemLis'
+'tHeader'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7
+#5'Owner'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9
+'asrBottom'#24'AnchorSideBottom.Control'#7#16'CleanAllCheckBox'#4'Left'#3'@'
+#1#6'Height'#3#208#0#3'Top'#2#6#5'Width'#3#159#0#7'Anchors'#11#5'akTop'#7'ak'
+'Right'#8'akBottom'#0#8'AutoFill'#9#20'BorderSpacing.Around'#2#6#7'Caption'#6
+#22'LCLInterfaceRadioGroup'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSiz'
+'ing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogen'
+'ousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResi'
+'ze'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.Sh'
+'rinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRig'
+'htThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#8'TabOrder'#2#2#0#0#9
+'TCheckBox'#26'WithStaticPackagesCheckBox'#22'AnchorSideLeft.Control'#7#22'L'
+'CLInterfaceRadioGroup'#21'AnchorSideTop.Control'#7#16'CleanAllCheckBox'#18
,'AnchorSideTop.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#12'ItemsL'
+'istBox'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3'@'#1#6'Height'#2
+#13#3'Top'#3#251#0#5'Width'#3#166#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#17
+'BorderSpacing.Top'#2#6#7'Caption'#6#26'WithStaticPackagesCheckBox'#8'TabOrd'
+'er'#2#3#0#0#9'TCheckBox'#25'RestartAfterBuildCheckBox'#22'AnchorSideLeft.Co'
+'ntrol'#7#14'TargetCPULabel'#21'AnchorSideTop.Control'#7#17'TargetCPUComboBo'
+'x'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#13#3'Top'#3
+#148#1#5'Width'#3#148#0#17'BorderSpacing.Top'#2#18#7'Caption'#6#25'RestartAf'
+'terBuildCheckBox'#8'TabOrder'#2#9#0#0#9'TCheckBox'#20'ConfirmBuildCheckBox'
+#22'AnchorSideLeft.Control'#7#25'RestartAfterBuildCheckBox'#21'AnchorSideTop'
+'.Control'#7#25'RestartAfterBuildCheckBox'#18'AnchorSideTop.Side'#7#9'asrBot'
+'tom'#4'Left'#2#6#6'Height'#2#13#3'Top'#3#167#1#5'Width'#2''#17'BorderSpaci'
+'ng.Top'#2#6#7'Caption'#6#20'ConfirmBuildCheckBox'#8'TabOrder'#2#10#0#0#7'TB'
+'utton'#18'SaveSettingsButton'#23'AnchorSideRight.Control'#7#12'CancelButton'
+#24'AnchorSideBottom.Control'#7#12'CancelButton'#21'AnchorSideBottom.Side'#7 +#24'AnchorSideBottom.Control'#7#12'CancelButton'#21'AnchorSideBottom.Side'#7
+#9'asrBottom'#4'Left'#3'4'#1#6'Height'#2#25#3'Top'#3#193#1#5'Width'#2'\'#7'A' +#9'asrBottom'#4'Left'#3'B'#1#6'Height'#2#26#3'Top'#2#12#5'Width'#2'Y'#7'Anch'
+'nchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#19'BorderSpacing.Right'#2 +'ors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#19'BorderSpacing.Right'#2#18
+#18#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#13'Save settings'#7'Defau' +#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#13'Save settings'#7'OnClick'
+'lt'#9#7'OnClick'#7#23'SaveSettingsButtonClick'#8'TabOrder'#2#11#0#0#7'TButt' +#7#23'SaveSettingsButtonClick'#8'TabOrder'#2#1#0#0#7'TButton'#12'CancelButto'
+'on'#12'CancelButton'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRi' +'n'#23'AnchorSideRight.Control'#7#6'Panel1'#20'AnchorSideRight.Side'#7#9'asr'
+'ght.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorS' +'Bottom'#24'AnchorSideBottom.Control'#7#6'Panel1'#21'AnchorSideBottom.Side'#7
+'ideBottom.Side'#7#9'asrBottom'#4'Left'#3#162#1#6'Height'#2#25#3'Top'#3#193#1 +#9'asrCenter'#4'Left'#3#173#1#6'Height'#2#26#3'Top'#2#12#5'Width'#2'6'#7'Anc'
+#5'Width'#2'='#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'Borde' +'hors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#6
+'rSpacing.Around'#2#6#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Captio' +#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#6'Cancel'#7'OnCl'
+'n'#6#6'Cancel'#7'OnClick'#7#17'CancelButtonClick'#8'TabOrder'#2#12#0#0#8'TL' +'ick'#7#17'CancelButtonClick'#8'TabOrder'#2#2#0#0#0#9'TNotebook'#8'Notebook'
+'istBox'#12'ItemsListBox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSid' +#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#5'Owner'
+'eTop.Control'#7#14'ItemListHeader'#18'AnchorSideTop.Side'#7#9'asrBottom'#23 +#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBott'
+'AnchorSideRight.Control'#7#14'ItemListHeader'#20'AnchorSideRight.Side'#7#9 +'om'#24'AnchorSideBottom.Control'#7#6'Panel1'#6'Height'#3#229#1#5'Width'#3
+'asrBottom'#4'Left'#2#6#6'Height'#3#234#0#3'Top'#2#30#5'Width'#3'4'#1#7'Anch' +#233#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'OnEnter'#7
+'ors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#18'BorderSpacing.Left'#2 +#19'NotebookPageChanged'#13'OnPageChanged'#7#19'NotebookPageChanged'#9'PageI'
+#6#10'ItemHeight'#2#25#10'OnDrawItem'#7#20'ItemsListBoxDrawItem'#11'OnMouseD' +'ndex'#2#0#8'TabOrder'#2#1#0#5'TPage'#21'QuickBuildOptionsPage'#21'AnchorSid'
+'own'#7#21'ItemsListBoxMouseDown'#10'OnShowHint'#7#20'ItemsListBoxShowHint' +'eBottom.Side'#7#9'asrBottom'#7'Caption'#6#17'QuickBuildOptions'#11'ClientWi'
+#14'ParentShowHint'#8#8'ShowHint'#9#5'Style'#7#16'lbOwnerDrawFixed'#8'TabOrd' +'dth'#3#229#1#12'ClientHeight'#3#199#1#0#6'TLabel'#27'QuickLCLInterfaceCombo'
+'er'#2#1#0#0#9'TComboBox'#17'TargetCPUComboBox'#22'AnchorSideLeft.Control'#7 +'Label'#22'AnchorSideLeft.Control'#7#27'QuickBuildOptionsRadioGroup'#19'Anch'
+#23'TargetDirectoryComboBox'#21'AnchorSideTop.Control'#7#23'TargetDirectoryC' +'orSideLeft.Side'#7#9'asrBottom'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'L'
+'omboBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7 +'eft'#3#30#1#6'Height'#2#13#3'Top'#2','#5'Width'#3#175#0#19'BorderSpacing.Ri'
+#23'TargetDirectoryComboBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left' +'ght'#2#24#7'Caption'#6#27'QuickLCLInterfaceComboLabel'#11'ParentColor'#8#0#0
+#3#156#0#6'Height'#2#21#3'Top'#3'm'#1#5'Width'#3''''#1#7'Anchors'#11#5'akTop' +#6'TLabel'#11'AppLCLLabel'#22'AnchorSideLeft.Control'#7#27'QuickLCLInterface'
+#6'akLeft'#7'akRight'#0#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20 +'ComboLabel'#23'AnchorSideRight.Control'#7#21'QuickBuildOptionsPage'#20'Anch'
+'cbactSearchAscending'#0#17'BorderSpacing.Top'#2#6#10'ItemHeight'#2#13#9'Max' +'orSideRight.Side'#7#9'asrBottom'#4'Left'#3#30#1#6'Height'#2#13#3'Top'#2'T'#5
+'Length'#2#0#8'TabOrder'#2#8#0#0#7'TButton'#13'CompileButton'#23'AnchorSideR' +'Width'#2'$'#19'BorderSpacing.Right'#2#24#7'Caption'#6#6'Target'#11'ParentCo'
+'ight.Control'#7#18'SaveSettingsButton'#24'AnchorSideBottom.Control'#7#18'Sa' +'lor'#8#0#0#6'TLabel'#11'IDELCLLabel'#22'AnchorSideLeft.Control'#7#27'QuickL'
+'veSettingsButton'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#225#0#6 +'CLInterfaceComboLabel'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#30
+'Height'#2#25#3'Top'#3#193#1#5'Width'#2'A'#7'Anchors'#11#7'akRight'#8'akBott' +#1#6'Height'#2#13#3'Top'#3#132#0#5'Width'#2#21#19'BorderSpacing.Right'#2#24#7
+'om'#0#8'AutoSize'#9#19'BorderSpacing.Right'#2#18#25'BorderSpacing.InnerBord' +'Caption'#6#3'IDE'#11'ParentColor'#8#0#0#9'TComboBox'#23'AppLCLInterfaceComb'
+'er'#2#4#7'Caption'#6#7'Compile'#7'OnClick'#7#18'CompileButtonClick'#8'TabOr' +'oBox'#23'AnchorSideRight.Control'#7#21'QuickBuildOptionsPage'#20'AnchorSide'
+'der'#2#13#0#0#14'THeaderControl'#14'ItemListHeader'#4'Left'#2#6#6'Height'#2 +'Right.Side'#7#9'asrBottom'#4'Left'#3'i'#1#6'Height'#2#25#3'Top'#2'L'#5'Widt'
+#24#3'Top'#2#6#5'Width'#3'4'#1#8'Sections'#14#0#14'OnSectionClick'#7#26'Item' +'h'#2'd'#7'Anchors'#11#5'akTop'#7'akRight'#0#16'AutoCompleteText'#11#22'cbac'
+'ListHeaderSectionClick'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'OnR' +'tEndOfLineComplete'#20'cbactSearchAscending'#0#19'BorderSpacing.Right'#2#24
+'esize'#7#20'ItemListHeaderResize'#0#0#0 +#7'Enabled'#8#9'MaxLength'#2#0#8'OnChange'#7#29'AppLCLInterfaceComboBoxChang'
+'e'#8'TabOrder'#2#0#4'Text'#6#6'(none)'#0#0#9'TComboBox'#23'IDELCLInterfaceC'
+'omboBox'#23'AnchorSideRight.Control'#7#21'QuickBuildOptionsPage'#20'AnchorS'
+'ideRight.Side'#7#9'asrBottom'#4'Left'#3'i'#1#6'Height'#2#25#3'Top'#2'|'#5'W'
+'idth'#2'd'#7'Anchors'#11#5'akTop'#7'akRight'#0#16'AutoCompleteText'#11#22'c'
+'bactEndOfLineComplete'#20'cbactSearchAscending'#0#19'BorderSpacing.Right'#2
+#24#7'Enabled'#8#9'MaxLength'#2#0#8'OnChange'#7#29'AppLCLInterfaceComboBoxCh'
+'ange'#8'TabOrder'#2#1#4'Text'#6#6'(none)'#0#0#11'TRadioGroup'#27'QuickBuild'
+'OptionsRadioGroup'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2#6#6'H'
+'eight'#3#8#1#3'Top'#2#4#5'Width'#3#0#1#8'AutoFill'#9#19'BorderSpacing.Right'
,#2#24#7'Caption'#6#27'QuickBuildOptionsRadioGroup'#28'ChildSizing.LeftRightS'
+'pacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHori'
+'zontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24
+'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChi'
+'lds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Lay'
+'out'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1
+#12'ClientHeight'#3#247#0#11'ClientWidth'#3#252#0#9'ItemIndex'#2#5#13'Items.'
+'Strings'#1#6#9'Build LCL'#6#23'Build IDE with Packages'#6#26'Build IDE with'
+'out Packages'#6#9'Build All'#6#20'Clean Up + Build all'#6#5'Other'#0#7'OnCl'
+'ick'#7' QuickBuildOptionsRadioGroupClick'#8'TabOrder'#2#2#0#0#0#5'TPage'#24
+'AdvancedBuildOptionsPage'#7'Caption'#6#20'AdvancedBuildOptions'#11'ClientWi'
+'dth'#3#229#1#12'ClientHeight'#3#199#1#0#6'TLabel'#12'OptionsLabel'#21'Ancho'
+'rSideTop.Control'#7#12'ItemsListBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4
+'Left'#2#6#6'Height'#2#13#3'Top'#3#25#1#5'Width'#2','#17'BorderSpacing.Top'#2
+#19#7'Caption'#6#7'Options'#11'ParentColor'#8#0#0#6'TLabel'#13'TargetOSLabel'
+#22'AnchorSideLeft.Control'#7#12'OptionsLabel'#21'AnchorSideTop.Control'#7#12
+'TargetOsEdit'#4'Left'#2#6#6'Height'#2#13#3'Top'#3'5'#1#5'Width'#2':'#7'Capt'
+'ion'#6#9'Target OS'#11'ParentColor'#8#0#0#6'TLabel'#20'TargetDirectoryLabel'
+#22'AnchorSideLeft.Control'#7#13'TargetOSLabel'#21'AnchorSideTop.Control'#7
+#23'TargetDirectoryComboBox'#4'Left'#2#6#6'Height'#2#13#3'Top'#3'Q'#1#5'Widt'
+'h'#2'['#7'Caption'#6#16'Target Directory'#11'ParentColor'#8#0#0#6'TLabel'#14
+'TargetCPULabel'#22'AnchorSideLeft.Control'#7#20'TargetDirectoryLabel'#21'An'
+'chorSideTop.Control'#7#17'TargetCPUComboBox'#4'Left'#2#6#6'Height'#2#13#3'T'
+'op'#3'k'#1#5'Width'#2'A'#7'Caption'#6#10'Target CPU'#11'ParentColor'#8#0#0
+#14'THeaderControl'#14'ItemListHeader'#4'Left'#2#6#6'Height'#2#24#3'Top'#2#4
+#5'Width'#3'4'#1#8'Sections'#14#0#14'OnSectionClick'#7#26'ItemListHeaderSect'
+'ionClick'#8'OnResize'#7#20'ItemListHeaderResize'#0#0#11'TRadioGroup'#22'LCL'
+'InterfaceRadioGroup'#22'AnchorSideLeft.Control'#7#14'ItemListHeader'#19'Anc'
+'horSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#24'AdvancedBui'
+'ldOptionsPage'#23'AnchorSideRight.Control'#7#24'AdvancedBuildOptionsPage'#20
+'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#16'Clea'
+'nAllCheckBox'#4'Left'#3'@'#1#6'Height'#3#194#0#3'Top'#2#6#5'Width'#3#159#0#7
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#8'AutoFill'#9#20'Bo'
+'rderSpacing.Around'#2#6#7'Caption'#6#22'LCLInterfaceRadioGroup'#28'ChildSiz'
+'ing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizi'
+'ng.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.Enlarge'
+'Vertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7
+#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'C'
+'hildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.Contr'
+'olsPerLine'#2#1#8'TabOrder'#2#0#0#0#9'TCheckBox'#16'CleanAllCheckBox'#22'An'
+'chorSideLeft.Control'#7#22'LCLInterfaceRadioGroup'#21'AnchorSideTop.Control'
+#7#22'LCLInterfaceRadioGroup'#18'AnchorSideTop.Side'#7#9'asrBottom'#24'Ancho'
+'rSideBottom.Control'#7#26'WithStaticPackagesCheckBox'#4'Left'#3'@'#1#6'Heig'
+'ht'#2#20#3'Top'#3#216#0#5'Width'#2'O'#7'Anchors'#11#6'akLeft'#8'akBottom'#0
+#17'BorderSpacing.Top'#2#16#20'BorderSpacing.Bottom'#2#6#7'Caption'#6#9'Clea'
+'n All'#8'TabOrder'#2#1#0#0#9'TCheckBox'#26'WithStaticPackagesCheckBox'#22'A'
+'nchorSideLeft.Control'#7#22'LCLInterfaceRadioGroup'#21'AnchorSideTop.Contro'
+'l'#7#16'CleanAllCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#24'AnchorSi'
+'deBottom.Control'#7#12'ItemsListBox'#21'AnchorSideBottom.Side'#7#9'asrBotto'
+'m'#4'Left'#3'@'#1#6'Height'#2#20#3'Top'#3#242#0#5'Width'#3#194#0#7'Anchors'
+#11#6'akLeft'#8'akBottom'#0#17'BorderSpacing.Top'#2#6#7'Caption'#6#26'WithSt'
+'aticPackagesCheckBox'#8'TabOrder'#2#2#0#0#8'TListBox'#12'ItemsListBox'#21'A'
+'nchorSideTop.Control'#7#14'ItemListHeader'#18'AnchorSideTop.Side'#7#9'asrBo'
+'ttom'#23'AnchorSideRight.Control'#7#14'ItemListHeader'#20'AnchorSideRight.S'
+'ide'#7#9'asrBottom'#4'Left'#2#6#6'Height'#3#234#0#3'Top'#2#28#5'Width'#3'4'
+#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#18'BorderSpacin'
+'g.Left'#2#6#10'ItemHeight'#2#25#10'OnDrawItem'#7#20'ItemsListBoxDrawItem'#11
+'OnMouseDown'#7#21'ItemsListBoxMouseDown'#10'OnShowHint'#7#20'ItemsListBoxSh'
+'owHint'#14'ParentShowHint'#8#8'ShowHint'#9#5'Style'#7#16'lbOwnerDrawFixed'#8
+'TabOrder'#2#3#8'TopIndex'#2#255#0#0#5'TEdit'#11'OptionsEdit'#21'AnchorSideT'
+'op.Control'#7#12'OptionsLabel'#23'AnchorSideRight.Control'#7#24'AdvancedBui'
+'ldOptionsPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#156#0#6'He'
+'ight'#2#22#3'Top'#3#25#1#5'Width'#3'C'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#8'akBottom'#0#19'BorderSpacing.Right'#2#6#8'TabOrder'#2#4#0#0#5'TE'
,'dit'#12'TargetOsEdit'#21'AnchorSideTop.Control'#7#11'OptionsEdit'#18'Anchor'
+'SideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#24'AdvancedBuild'
+'OptionsPage'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#156#0#6'Heig'
+'ht'#2#22#3'Top'#3'5'#1#5'Width'#3'C'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'a'
+'kRight'#0#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#5#0#0#9'TComboBox'#23
+'TargetDirectoryComboBox'#22'AnchorSideLeft.Control'#7#12'TargetOsEdit'#21'A'
+'nchorSideTop.Control'#7#12'TargetOsEdit'#18'AnchorSideTop.Side'#7#9'asrBott'
+'om'#23'AnchorSideRight.Control'#7#21'TargetDirectoryButton'#4'Left'#3#156#0
+#6'Height'#2#20#3'Top'#3'Q'#1#5'Width'#3''''#1#7'Anchors'#11#5'akTop'#6'akLe'
+'ft'#7'akRight'#8'akBottom'#0#16'AutoCompleteText'#11#22'cbactEndOfLineCompl'
+'ete'#20'cbactSearchAscending'#0#9'MaxLength'#2#0#8'TabOrder'#2#6#0#0#9'TCom'
+'boBox'#17'TargetCPUComboBox'#22'AnchorSideLeft.Control'#7#23'TargetDirector'
+'yComboBox'#21'AnchorSideTop.Control'#7#23'TargetDirectoryComboBox'#18'Ancho'
+'rSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#23'TargetDirect'
+'oryComboBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#156#0#6'Heig'
+'ht'#2#21#3'Top'#3'k'#1#5'Width'#3''''#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#0#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearc'
+'hAscending'#0#17'BorderSpacing.Top'#2#6#9'MaxLength'#2#0#8'TabOrder'#2#7#0#0
+#7'TButton'#21'TargetDirectoryButton'#21'AnchorSideTop.Control'#7#23'TargetD'
+'irectoryComboBox'#23'AnchorSideRight.Control'#7#24'AdvancedBuildOptionsPage'
+#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#23'T'
+'argetDirectoryComboBox'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3
+#201#1#6'Height'#2#20#3'Top'#3'Q'#1#5'Width'#2#22#7'Anchors'#11#5'akTop'#7'a'
+'kRight'#8'akBottom'#0#18'BorderSpacing.Left'#2#6#19'BorderSpacing.Right'#2#6
+#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#3'...'#7'OnClick'#7#26'Targe'
+'tDirectoryButtonClick'#8'TabOrder'#2#8#0#0#9'TCheckBox'#25'RestartAfterBuil'
+'dCheckBox'#22'AnchorSideLeft.Control'#7#14'TargetCPULabel'#21'AnchorSideTop'
+'.Control'#7#17'TargetCPUComboBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'L'
+'eft'#2#6#6'Height'#2#20#3'Top'#3#146#1#5'Width'#3#176#0#17'BorderSpacing.To'
+'p'#2#18#20'BorderSpacing.Bottom'#2#6#7'Caption'#6#25'RestartAfterBuildCheck'
+'Box'#8'TabOrder'#2#9#0#0#9'TCheckBox'#20'ConfirmBuildCheckBox'#22'AnchorSid'
+'eLeft.Control'#7#25'RestartAfterBuildCheckBox'#21'AnchorSideTop.Control'#7
+#25'RestartAfterBuildCheckBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'
+#2#6#6'Height'#2#20#3'Top'#3#172#1#5'Width'#3#154#0#17'BorderSpacing.Top'#2#6
+#7'Caption'#6#20'ConfirmBuildCheckBox'#8'TabOrder'#2#10#0#0#0#0#0
]); ]);

View File

@ -20,6 +20,7 @@
Author: Mattias Gaertner Author: Mattias Gaertner
Converted to lfm by: Matthijs Willemstein Converted to lfm by: Matthijs Willemstein
Quickoptions added by: Giuliano Colla
Abstract: Abstract:
Defines the TBuildLazarusOptions which stores the settings for the Defines the TBuildLazarusOptions which stores the settings for the
@ -27,11 +28,23 @@
TConfigureBuildLazarusDlg is used to edit TBuildLazarusOptions. TConfigureBuildLazarusDlg is used to edit TBuildLazarusOptions.
The BuildLazarus function will build the lazarus parts. The BuildLazarus function will build the lazarus parts.
Building occurs only with options defined in the Advanced Page.
The Quick Page is just used to set options there.
Therefore advanced users can ignore the Quick Page, while beginners
can see the effect of the choice made by looking at the Advanced Page.
} }
unit BuildLazDialog; unit BuildLazDialog;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}
// MWE: ??? changed this to a define, it was found in original submitted code
// I didn't notice any change
// Original comment:
// This is required to overcome some bugs in TNotebook. Remove whne TNotebook is fixed
{.$define UsePageInvalidate}
interface interface
uses uses
@ -44,6 +57,7 @@ uses
CompilerOptions, ImgList, Themes, ComCtrls; CompilerOptions, ImgList, Themes, ComCtrls;
type type
{ TBuildLazarusItem } { TBuildLazarusItem }
TMakeMode = TMakeMode =
@ -98,6 +112,7 @@ type
TBuildLazarusOptions = class TBuildLazarusOptions = class
private private
FAdvanced: boolean;
FCleanAll: boolean; FCleanAll: boolean;
FGlobals: TGlobalCompilerOptions; FGlobals: TGlobalCompilerOptions;
FItemCodeTools: TBuildLazarusItem; FItemCodeTools: TBuildLazarusItem;
@ -116,6 +131,8 @@ type
FTargetDirectory: string; FTargetDirectory: string;
fTargetOS: string; fTargetOS: string;
fLCLPlatform: TLCLPlatform; fLCLPlatform: TLCLPlatform;
fTargetPlatform: TLCLPlatform; // holds selection for LCL Build
fIDEPlatform: TLCLPlatform; // holds selection for IDE Build
fStaticAutoInstallPackages: TStringList; fStaticAutoInstallPackages: TStringList;
FWithStaticPackages: boolean; FWithStaticPackages: boolean;
FItems: TList; // list of TBuildLazarusItem FItems: TList; // list of TBuildLazarusItem
@ -151,11 +168,14 @@ type
property ItemIDE: TBuildLazarusItem read FItemIDE; property ItemIDE: TBuildLazarusItem read FItemIDE;
property ItemStarter: TBuildLazarusItem read FItemStarter; property ItemStarter: TBuildLazarusItem read FItemStarter;
property ItemExamples: TBuildLazarusItem read FItemExamples; property ItemExamples: TBuildLazarusItem read FItemExamples;
property Advanced: boolean read FAdvanced write FAdvanced;
property CleanAll: boolean read FCleanAll write FCleanAll; property CleanAll: boolean read FCleanAll write FCleanAll;
property ExtraOptions: string read FExtraOptions write FExtraOptions; property ExtraOptions: string read FExtraOptions write FExtraOptions;
property TargetOS: string read fTargetOS write SetTargetOS; property TargetOS: string read fTargetOS write SetTargetOS;
property TargetCPU: string read FTargetCPU write SetTargetCPU; property TargetCPU: string read FTargetCPU write SetTargetCPU;
property LCLPlatform: TLCLPlatform read fLCLPlatform write fLCLPlatform; property LCLPlatform: TLCLPlatform read fLCLPlatform write fLCLPlatform;
property IDEPlatform: TLCLPlatform read fIDEPlatform write fIDEPlatform;
property TargetPlatform: TLCLPlatform read fTargetPlatform write fTargetPlatform;
property StaticAutoInstallPackages: TStringList property StaticAutoInstallPackages: TStringList
read fStaticAutoInstallPackages; read fStaticAutoInstallPackages;
property TargetDirectory: string read FTargetDirectory property TargetDirectory: string read FTargetDirectory
@ -171,30 +191,42 @@ type
{ TConfigureBuildLazarusDlg } { TConfigureBuildLazarusDlg }
TConfigureBuildLazarusDlg = class(TForm) TConfigureBuildLazarusDlg = class(TForm)
CompileButton: TButton; TargetDirectoryButton: TButton;
CancelButton: TButton; CancelButton: TButton;
CleanAllCheckBox: TCheckBox; AppLCLInterfaceComboBox: TComboBox;
IDELCLInterfaceComboBox: TComboBox;
QuickLCLInterfaceComboLabel: TLabel;
AppLCLLabel: TLabel;
IDELCLLabel: TLabel;
QuickBuildOptionsRadioGroup: TRadioGroup;
RestartAfterBuildCheckBox: TCheckBox;
ConfirmBuildCheckBox: TCheckBox; ConfirmBuildCheckBox: TCheckBox;
ItemListHeader: THeaderControl; CleanAllCheckBox: TCheckBox;
TargetDirectoryComboBox: TComboBox;
TargetCPUComboBox: TComboBox;
OptionsEdit: TEdit;
TargetOsEdit: TEdit;
OptionsLabel: TLabel;
TargetOSLabel: TLabel;
TargetDirectoryLabel: TLabel;
TargetCPULabel: TLabel;
ItemsListBox: TListBox; ItemsListBox: TListBox;
WithStaticPackagesCheckBox: TCheckBox;
ItemListHeader: THeaderControl;
Notebook: TNotebook;
QuickBuildOptionsPage: TPage;
AdvancedBuildOptionsPage: TPage;
Panel1: TPanel;
LCLInterfaceRadioGroup: TRadioGroup; LCLInterfaceRadioGroup: TRadioGroup;
SaveSettingsButton: TButton; SaveSettingsButton: TButton;
OptionsEdit: TEdit; CompileButton: TButton;
OptionsLabel: TLabel; procedure AppLCLInterfaceComboBoxChange(Sender: TObject);
RestartAfterBuildCheckBox: TCheckBox;
TargetCPUComboBox: TComboBox;
TargetCPULabel: TLabel;
TargetDirectoryButton: TButton;
TargetDirectoryComboBox: TComboBox;
TargetDirectoryLabel: TLabel;
TargetOSEdit: TEdit;
TargetOSLabel: TLabel;
WithStaticPackagesCheckBox: TCheckBox;
procedure CancelButtonClick(Sender: TObject); procedure CancelButtonClick(Sender: TObject);
procedure CompileButtonClick(Sender: TObject); procedure CompileButtonClick(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject); procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ItemListHeaderResize(Sender: TObject); procedure ItemListHeaderResize(Sender: TObject);
procedure ItemListHeaderSectionClick(HeaderControl: TCustomHeaderControl; procedure ItemListHeaderSectionClick(HeaderControl: TCustomHeaderControl;
Section: THeaderSection); Section: THeaderSection);
@ -203,16 +235,22 @@ type
procedure ItemsListBoxMouseDown(Sender: TOBject; Button: TMouseButton; procedure ItemsListBoxMouseDown(Sender: TOBject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); Shift: TShiftState; X, Y: Integer);
procedure ItemsListBoxShowHint(Sender: TObject; HintInfo: PHintInfo); procedure ItemsListBoxShowHint(Sender: TObject; HintInfo: PHintInfo);
procedure NotebookPageChanged(Sender: TObject);
procedure QuickBuildOptionsRadioGroupClick(Sender: TObject);
procedure SaveSettingsButtonClick(Sender: TObject); procedure SaveSettingsButtonClick(Sender: TObject);
procedure TargetDirectoryButtonClick(Sender: TObject); procedure TargetDirectoryButtonClick(Sender: TObject);
private private
Options: TBuildLazarusOptions; FAdvanced: Boolean;
FOptions: TBuildLazarusOptions;
function GetMakeModeAtX(const X: Integer; var MakeMode: TMakeMode): boolean; function GetMakeModeAtX(const X: Integer; var MakeMode: TMakeMode): boolean;
function MakeModeToInt(MakeMode: TMakeMode): integer; function MakeModeToInt(MakeMode: TMakeMode): integer;
function IntToMakeMode(i: integer): TMakeMode; function IntToMakeMode(i: integer): TMakeMode;
procedure SetAdvanced(AValue: boolean);
public public
procedure Load(SourceOptions: TBuildLazarusOptions); procedure Load(SourceOptions: TBuildLazarusOptions);
procedure Save(DestOptions: TBuildLazarusOptions); procedure Save(DestOptions: TBuildLazarusOptions);
property Advanced: Boolean read FAdvanced write SetAdvanced;
property Options: TBuildLazarusOptions read FOptions;
end; end;
function ShowConfigureBuildLazarusDlg( function ShowConfigureBuildLazarusDlg(
@ -233,6 +271,7 @@ function GetMakeIDEConfigFilename: string;
function GetTranslatedMakeModes(MakeMode: TMakeMode): string; function GetTranslatedMakeModes(MakeMode: TMakeMode): string;
implementation implementation
uses uses
IDEImagesIntf; IDEImagesIntf;
@ -272,8 +311,10 @@ begin
try try
ConfigBuildLazDlg.Load(Options); ConfigBuildLazDlg.Load(Options);
Result:=ConfigBuildLazDlg.ShowModal; Result:=ConfigBuildLazDlg.ShowModal;
if Result in [mrOk,mrYes] then if Result in [mrOk,mrYes] then begin
DebugLn('ShowConfigureBuildLazarusDialog');
ConfigBuildLazDlg.Save(Options); ConfigBuildLazDlg.Save(Options);
end;
finally finally
ConfigBuildLazDlg.Free; ConfigBuildLazDlg.Free;
end; end;
@ -694,13 +735,22 @@ begin
Text := 'Action'; Text := 'Action';
end; end;
Options := TBuildLazarusOptions.Create; FOptions := TBuildLazarusOptions.Create;
CleanAllCheckBox.Caption := lisLazBuildCleanAll; CleanAllCheckBox.Caption := lisLazBuildCleanAll;
OptionsLabel.Caption := lisLazBuildOptions; OptionsLabel.Caption := lisLazBuildOptions;
LCLInterfaceRadioGroup.Caption := lisLazBuildLCLInterface; LCLInterfaceRadioGroup.Caption := lisLazBuildLCLInterface;
for LCLInterface := Low(TLCLPlatform) to High(TLCLPlatform) do begin QuickLCLInterfaceComboLabel.Caption := lisLazBuildLCLInterface;
QuickBuildOptionsRadioGroup.Caption := lisLazBuildBuildOptions;
QuickBuildOptionsPage.Caption := lisLazBuildQuickBuildOptions;
AdvancedBuildOptionsPage.Caption := lisLazBuildAdvancedBuildOptions;
for LCLInterface := Low(TLCLPlatform) to High(TLCLPlatform) do
begin
LCLInterfaceRadioGroup.Items.Add(LCLPlatformDisplayNames[LCLInterface]); LCLInterfaceRadioGroup.Items.Add(LCLPlatformDisplayNames[LCLInterface]);
AppLCLInterfaceComboBox.Items.Add(LCLPlatformDisplayNames[LCLInterface]);
IDELCLInterfaceComboBox.Items.Add(LCLPlatformDisplayNames[LCLInterface]);
end; end;
WithStaticPackagesCheckBox.Caption := lisLazBuildWithStaticPackages; WithStaticPackagesCheckBox.Caption := lisLazBuildWithStaticPackages;
RestartAfterBuildCheckBox.Caption := lisLazBuildRestartAfterBuild; RestartAfterBuildCheckBox.Caption := lisLazBuildRestartAfterBuild;
ConfirmBuildCheckBox.Caption := lisLazBuildConfirmBuild; ConfirmBuildCheckBox.Caption := lisLazBuildConfirmBuild;
@ -713,12 +763,17 @@ begin
IDEDialogLayoutList.ApplyLayout(Self, 500, 500); IDEDialogLayoutList.ApplyLayout(Self, 500, 500);
Load(Options); Load(FOptions);
end; end;
procedure TConfigureBuildLazarusDlg.FormDestroy(Sender: TObject); procedure TConfigureBuildLazarusDlg.FormDestroy(Sender: TObject);
begin begin
Options.Free; FreeAndNil(FOptions);
end;
procedure TConfigureBuildLazarusDlg.FormShow(Sender: TObject);
begin
Advanced := Options.Advanced;
end; end;
procedure TConfigureBuildLazarusDlg.ItemListHeaderResize(Sender: TObject); procedure TConfigureBuildLazarusDlg.ItemListHeaderResize(Sender: TObject);
@ -785,11 +840,11 @@ begin
ButtonRect.Top := (ButtonRect.Top + ButtonRect.Bottom - RadioSize) div 2; ButtonRect.Top := (ButtonRect.Top + ButtonRect.Bottom - RadioSize) div 2;
ButtonRect.Bottom := ButtonRect.Top + RadioSize; ButtonRect.Bottom := ButtonRect.Top + RadioSize;
end; end;
ThemeServices.DrawElement(ItemsListBox.Canvas.GetUpdatedHandle([csBrushValid,csPenValid]), ButtonDetails, ButtonRect); ThemeServices.DrawElement(ItemsListBox.Canvas.GetUpdatedHandle([csBrushValid,csPenValid]), ButtonDetails, ButtonRect);
Inc(x, ButtonSize); Inc(x, ButtonSize);
end; end;
// draw description // draw description
ItemsListBox.Canvas.Brush.Style:=bsClear; ItemsListBox.Canvas.Brush.Style:=bsClear;
ItemsListBox.Canvas.TextOut(x+2, ItemsListBox.Canvas.TextOut(x+2,
@ -815,6 +870,7 @@ begin
exit; exit;
Options.Items[i].MakeMode:=NewMakeMode; Options.Items[i].MakeMode:=NewMakeMode;
ItemsListBox.Invalidate; ItemsListBox.Invalidate;
QuickBuildOptionsRadioGroup.ItemIndex := 5;
end; end;
procedure TConfigureBuildLazarusDlg.ItemsListBoxShowHint(Sender: TObject; HintInfo: PHintInfo); procedure TConfigureBuildLazarusDlg.ItemsListBoxShowHint(Sender: TObject; HintInfo: PHintInfo);
@ -831,12 +887,6 @@ begin
end; end;
end; end;
procedure TConfigureBuildLazarusDlg.SaveSettingsButtonClick(Sender: TObject);
begin
Save(Options);
ModalResult:=mrOk;
end;
procedure TConfigureBuildLazarusDlg.TargetDirectoryButtonClick(Sender: TObject); procedure TConfigureBuildLazarusDlg.TargetDirectoryButtonClick(Sender: TObject);
var var
AFilename: String; AFilename: String;
@ -914,13 +964,15 @@ begin
OptionsEdit.Text:=Options.ExtraOptions; OptionsEdit.Text:=Options.ExtraOptions;
LCLInterfaceRadioGroup.ItemIndex:=ord(Options.LCLPlatform); LCLInterfaceRadioGroup.ItemIndex:=ord(Options.LCLPlatform);
AppLCLInterfaceComboBox.ItemIndex:=ord(Options.TargetPlatform);
IDELCLInterfaceComboBox.ItemIndex:=ord(Options.IDEPlatform);
WithStaticPackagesCheckBox.Checked:=Options.WithStaticPackages; WithStaticPackagesCheckBox.Checked:=Options.WithStaticPackages;
RestartAfterBuildCheckBox.Checked:=Options.RestartAfterBuild; RestartAfterBuildCheckBox.Checked:=Options.RestartAfterBuild;
ConfirmBuildCheckBox.Checked:=Options.ConfirmBuild; ConfirmBuildCheckBox.Checked:=Options.ConfirmBuild;
TargetOSEdit.Text:=Options.TargetOS; TargetOSEdit.Text:=Options.TargetOS;
TargetDirectoryComboBox.Text:=Options.TargetDirectory; TargetDirectoryComboBox.Text:=Options.TargetDirectory;
TargetCPUComboBox.Text:=Options.TargetCPU; TargetCPUComboBox.Text:=Options.TargetCPU;
Invalidate; Invalidate;
end; end;
@ -928,9 +980,18 @@ procedure TConfigureBuildLazarusDlg.Save(DestOptions: TBuildLazarusOptions);
begin begin
if DestOptions=nil then exit; if DestOptions=nil then exit;
Options.Advanced := Advanced;
Options.CleanAll:=CleanAllCheckBox.Checked; Options.CleanAll:=CleanAllCheckBox.Checked;
Options.ExtraOptions:=OptionsEdit.Text; Options.ExtraOptions:=OptionsEdit.Text;
Options.LCLPlatform:=TLCLPlatform(LCLInterfaceRadioGroup.ItemIndex); Options.LCLPlatform:=TLCLPlatform(LCLInterfaceRadioGroup.ItemIndex);
if AppLCLInterfaceComboBox.ItemIndex = -1 then
Options.TargetPlatform:= Options.LCLPlatform
else
Options.TargetPlatform:= TLCLPlatform(AppLCLInterfaceComboBox.ItemIndex);
if IDELCLInterfaceComboBox.ItemIndex = -1 then
Options.IDEPlatform := Options.LCLPlatform
else
Options.IDEPlatform := TLCLPlatform(IDELCLInterfaceComboBox.ItemIndex);
Options.WithStaticPackages:=WithStaticPackagesCheckBox.Checked; Options.WithStaticPackages:=WithStaticPackagesCheckBox.Checked;
Options.RestartAfterBuild:=RestartAfterBuildCheckBox.Checked; Options.RestartAfterBuild:=RestartAfterBuildCheckBox.Checked;
Options.ConfirmBuild:=ConfirmBuildCheckBox.Checked; Options.ConfirmBuild:=ConfirmBuildCheckBox.Checked;
@ -941,9 +1002,26 @@ begin
DestOptions.Assign(Options); DestOptions.Assign(Options);
end; end;
procedure TConfigureBuildLazarusDlg.CancelButtonClick(Sender: TObject); procedure TConfigureBuildLazarusDlg.SetAdvanced(AValue: boolean);
begin begin
ModalResult:=mrCancel; if AValue = FAdvanced then Exit;
FAdvanced := AValue;
if FAdvanced
then Notebook.PageIndex := 1
else Notebook.PageIndex := 0;
end;
procedure TConfigureBuildLazarusDlg.AppLCLInterfaceComboBoxChange(
Sender: TObject);
var
Combo: TComboBox;
begin
Combo := Sender as TComboBox;
LCLInterfaceRadioGroup.ItemIndex := Combo.ItemIndex;
{$ifdef UsePageInvalidate}
AdvancedBuildOptionsPage.Invalidate;
{$endif}
end; end;
procedure TConfigureBuildLazarusDlg.CompileButtonClick(Sender: TObject); procedure TConfigureBuildLazarusDlg.CompileButtonClick(Sender: TObject);
@ -952,12 +1030,92 @@ begin
ModalResult:=mrYes; ModalResult:=mrYes;
end; end;
procedure TConfigureBuildLazarusDlg.SaveSettingsButtonClick(Sender: TObject);
begin
Save(Options);
ModalResult:=mrOk;
end;
procedure TConfigureBuildLazarusDlg.CancelButtonClick(Sender: TObject);
begin
ModalResult:=mrCancel;
end;
procedure TConfigureBuildLazarusDlg.FormClose(Sender: TObject; procedure TConfigureBuildLazarusDlg.FormClose(Sender: TObject;
var CloseAction: TCloseAction); var CloseAction: TCloseAction);
begin begin
IDEDialogLayoutList.SaveLayout(Self); IDEDialogLayoutList.SaveLayout(Self);
end; end;
procedure TConfigureBuildLazarusDlg.NotebookPageChanged(Sender: TObject);
begin
FAdvanced := Notebook.ActivePageComponent = AdvancedBuildOptionsPage;
{$ifdef UsePageInvalidate}
if Notebook.ActivePageComponent <> nil
then Notebook.ActivePageComponent.Invalidate;
{$endif}
end;
procedure TConfigureBuildLazarusDlg.QuickBuildOptionsRadioGroupClick(
Sender: TObject);
procedure SetOptions(ASet, AReset: TMakeMode; ASetItem: TBuildLazarusItem);
var
i: Integer;
Item: TBuildLazarusItem;
begin
for i := 0 to Options.Count -1 do
begin
Item := Options.Items[i];
if Item = ASetItem
then Item.MakeMode := ASet
else Item.MakeMode := AReset;
end;
end;
begin
if QuickBuildOptionsRadioGroup.ItemIndex = 0
then begin // Build LCL
if AppLCLInterfaceComboBox.ItemIndex > -1
then LCLInterfaceRadioGroup.ItemIndex := AppLCLInterfaceComboBox.ItemIndex;
IDELCLInterfaceComboBox.Enabled := False;
AppLCLInterfaceComboBox.Enabled := True;
end
else begin // Build IDE
if IDELCLInterfaceComboBox.ItemIndex > -1
then LCLInterfaceRadioGroup.ItemIndex := IDELCLInterfaceComboBox.ItemIndex;
AppLCLInterfaceComboBox.Enabled := False;
IDELCLInterfaceComboBox.Enabled := True;
end;
case QuickBuildOptionsRadioGroup.ItemIndex of
0 : begin // Build LCL
SetOptions(mmBuild, mmNone, Options.ItemLCL);
end;
1 : begin // Build IDE with Packages
SetOptions(mmBuild, mmNone, Options.ItemIDE);
WithStaticPackagesCheckBox.Checked := True;
end;
2 : begin // Build IDE w/out Packages
SetOptions(mmBuild, mmNone, Options.ItemIDE);
WithStaticPackagesCheckBox.Checked := False;
end;
3 : begin // Build All
SetOptions(mmNone, mmBuild, nil);
WithStaticPackagesCheckBox.Checked := True;
end;
4 : begin // Clean + Build All
SetOptions(mmNone, mmCleanBuild, nil);
WithStaticPackagesCheckBox.Checked := True;
end;
end;
{$ifdef UsePageInvalidate}
AdvancedBuildOptionsPage.Invalidate;
{$endif}
end;
{ TBuildLazarusItem } { TBuildLazarusItem }
function TBuildLazarusItem.GetCommands(Mode: TMakeMode): string; function TBuildLazarusItem.GetCommands(Mode: TMakeMode): string;
@ -1215,6 +1373,7 @@ begin
Path+'Build'+Items[i].Name+'/Value', Path+'Build'+Items[i].Name+'/Value',
MakeModeNames[Items[i].MakeMode])); MakeModeNames[Items[i].MakeMode]));
end; end;
FAdvanced:=XMLConfig.GetValue(Path+'Advanced/Value',false);
FCleanAll:=XMLConfig.GetValue(Path+'CleanAll/Value',false); FCleanAll:=XMLConfig.GetValue(Path+'CleanAll/Value',false);
FExtraOptions:=XMLConfig.GetValue(Path+'ExtraOptions/Value',''); FExtraOptions:=XMLConfig.GetValue(Path+'ExtraOptions/Value','');
TargetOS:=XMLConfig.GetValue(Path+'TargetOS/Value',''); TargetOS:=XMLConfig.GetValue(Path+'TargetOS/Value','');
@ -1224,6 +1383,17 @@ begin
fLCLPlatform:=GetDefaultLCLWidgetType fLCLPlatform:=GetDefaultLCLWidgetType
else else
fLCLPlatform:=DirNameToLCLPlatform(LCLPlatformStr); fLCLPlatform:=DirNameToLCLPlatform(LCLPlatformStr);
LCLPlatformStr:= XMLConfig.GetValue(Path+'TargetLCLPlatform/Value','');
if LCLPlatformStr='' then
fTargetPlatform:=GetDefaultLCLWidgetType
else
fTargetPlatform:=DirNameToLCLPlatform(LCLPlatformStr);
LCLPlatformStr:= XMLConfig.GetValue(Path+'IDELCLPlatform/Value','');
if LCLPlatformStr='' then
fIDEPlatform:=GetDefaultLCLWidgetType
else
fIDEPlatform:=DirNameToLCLPlatform(LCLPlatformStr);
FTargetDirectory:=AppendPathDelim(SetDirSeparators( FTargetDirectory:=AppendPathDelim(SetDirSeparators(
XMLConfig.GetValue(Path+'TargetDirectory/Value', XMLConfig.GetValue(Path+'TargetDirectory/Value',
DefaultTargetDirectory))); DefaultTargetDirectory)));
@ -1247,6 +1417,7 @@ begin
MakeModeNames[Items[i].DefaultMakeMode]); MakeModeNames[Items[i].DefaultMakeMode]);
end; end;
XMLConfig.SetDeleteValue(Path+'Advanced/Value',FAdvanced,false);
XMLConfig.SetDeleteValue(Path+'CleanAll/Value',FCleanAll,true); XMLConfig.SetDeleteValue(Path+'CleanAll/Value',FCleanAll,true);
XMLConfig.SetDeleteValue(Path+'ExtraOptions/Value',FExtraOptions,''); XMLConfig.SetDeleteValue(Path+'ExtraOptions/Value',FExtraOptions,'');
XMLConfig.SetDeleteValue(Path+'TargetOS/Value',TargetOS,''); XMLConfig.SetDeleteValue(Path+'TargetOS/Value',TargetOS,'');
@ -1254,6 +1425,12 @@ begin
XMLConfig.SetDeleteValue(Path+'LCLPlatform/Value', XMLConfig.SetDeleteValue(Path+'LCLPlatform/Value',
LCLPlatformDirNames[fLCLPlatform], LCLPlatformDirNames[fLCLPlatform],
LCLPlatformDirNames[GetDefaultLCLWidgetType]); LCLPlatformDirNames[GetDefaultLCLWidgetType]);
XMLConfig.SetDeleteValue(Path+'TargetLCLPlatform/Value',
LCLPlatformDirNames[fTargetPlatform],
LCLPlatformDirNames[GetDefaultLCLWidgetType]);
XMLConfig.SetDeleteValue(Path+'IDELCLPlatform/Value',
LCLPlatformDirNames[fIDEPlatform],
LCLPlatformDirNames[GetDefaultLCLWidgetType]);
XMLConfig.SetDeleteValue(Path+'TargetDirectory/Value', XMLConfig.SetDeleteValue(Path+'TargetDirectory/Value',
FTargetDirectory,DefaultTargetDirectory); FTargetDirectory,DefaultTargetDirectory);
XMLConfig.SetDeleteValue(Path+'RestartAfterBuild/Value',FRestartAfterBuild, XMLConfig.SetDeleteValue(Path+'RestartAfterBuild/Value',FRestartAfterBuild,
@ -1276,11 +1453,14 @@ var
begin begin
if (Source=nil) or (Source=Self) then exit; if (Source=nil) or (Source=Self) then exit;
Clear; Clear;
Advanced:=Source.Advanced;
CleanAll:=Source.CleanAll; CleanAll:=Source.CleanAll;
ExtraOptions:=Source.ExtraOptions; ExtraOptions:=Source.ExtraOptions;
TargetOS:=Source.TargetOS; TargetOS:=Source.TargetOS;
TargetCPU:=Source.TargetCPU; TargetCPU:=Source.TargetCPU;
LCLPlatform:=Source.LCLPlatform; LCLPlatform:=Source.LCLPlatform;
TargetPlatform:=Source.TargetPlatform;
IDEPlatform:= Source.IDEPlatform;
TargetDirectory:=Source.TargetDirectory; TargetDirectory:=Source.TargetDirectory;
WithStaticPackages:=Source.WithStaticPackages; WithStaticPackages:=Source.WithStaticPackages;
RestartAfterBuild:=Source.RestartAfterBuild; RestartAfterBuild:=Source.RestartAfterBuild;
@ -1337,3 +1517,4 @@ initialization
{$I buildlazdialog.lrs} {$I buildlazdialog.lrs}
end. end.

View File

@ -1926,7 +1926,10 @@ resourcestring
lisLazBuildNone = 'None'; lisLazBuildNone = 'None';
lisLazBuildBuild = 'Build'; lisLazBuildBuild = 'Build';
lisLazBuildCleanBuild = 'Clean+Build'; lisLazBuildCleanBuild = 'Clean+Build';
lisLazBuildBuildOptions ='Build Options';
lisLazBuildQuickBuildOptions = 'Quick Build Options';
lisLazBuildAdvancedBuildOptions = 'Advanced Build Options';
// compiler // compiler
lisCompilerErrorInvalidCompiler = 'Error: invalid compiler: %s'; lisCompilerErrorInvalidCompiler = 'Error: invalid compiler: %s';
listCompilerInternalError = 'Internal compiler error! (%d)'; listCompilerInternalError = 'Internal compiler error! (%d)';