diff --git a/ide/buildlazdialog.lfm b/ide/buildlazdialog.lfm index 704844f58e..97af51e3d4 100644 --- a/ide/buildlazdialog.lfm +++ b/ide/buildlazdialog.lfm @@ -17,418 +17,6 @@ object ConfigureBuildLazarusDlg: TConfigureBuildLazarusDlg OnShow = FormShow Position = poScreenCenter LCLVersion = '0.9.31' - object DetailsPanel: TPanel - Left = 0 - Height = 434 - Top = 0 - Width = 700 - Align = alClient - AutoSize = True - ClientHeight = 434 - ClientWidth = 700 - TabOrder = 0 - object BuildProfileLabel: TLabel - AnchorSideLeft.Control = DetailsPanel - AnchorSideTop.Control = BuildProfileComboBox - AnchorSideTop.Side = asrCenter - Left = 7 - Height = 15 - Top = 13 - Width = 92 - BorderSpacing.Top = 5 - BorderSpacing.Around = 6 - Caption = 'Profile to Build' - Font.Style = [fsBold] - ParentColor = False - ParentFont = False - end - object BuildProfileComboBox: TComboBox - AnchorSideLeft.Control = BuildProfileLabel - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = BuildProfileButton - Left = 105 - Height = 28 - Hint = 'Name of the active profile.' - Top = 6 - Width = 561 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Left = 6 - BorderSpacing.Right = 6 - ItemHeight = 0 - OnSelect = BuildProfileComboBoxSelect - ParentShowHint = False - ShowHint = True - Style = csDropDownList - TabOrder = 0 - end - object BuildProfileButton: TButton - AnchorSideTop.Control = BuildProfileComboBox - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = DetailsPanel - AnchorSideRight.Side = asrBottom - AnchorSideBottom.Side = asrBottom - Left = 672 - Height = 26 - Hint = 'Manage profiles' - Top = 7 - Width = 21 - Anchors = [akTop, akRight] - AutoSize = True - BorderSpacing.Left = 6 - BorderSpacing.Right = 6 - Caption = '...' - OnClick = BuildProfileButtonClick - ParentShowHint = False - ShowHint = True - TabOrder = 1 - end - object OptionsLabel: TLabel - AnchorSideLeft.Control = LCLWidgetTypeLabel - AnchorSideTop.Control = LCLWidgetTypeComboBox - AnchorSideTop.Side = asrBottom - Left = 7 - Height = 15 - Top = 89 - Width = 44 - Alignment = taRightJustify - BorderSpacing.Top = 6 - Caption = 'Options' - Layout = tlBottom - ParentColor = False - end - object OptionsMemo: TMemo - AnchorSideLeft.Control = OptionsLabel - AnchorSideTop.Control = OptionsLabel - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = BuildProfileButton - AnchorSideRight.Side = asrBottom - Left = 7 - Height = 56 - Hint = 'Options passed to compiler' - Top = 104 - Width = 686 - Anchors = [akTop, akLeft, akRight] - Lines.Strings = ( - '' - ) - PopupMenu = OptionsPopupMenu - ParentShowHint = False - ScrollBars = ssAutoBoth - ShowHint = True - TabOrder = 4 - end - object DefinesLabel: TLabel - AnchorSideLeft.Control = DetailsPanel - AnchorSideTop.Control = TargetDirectoryComboBox - AnchorSideTop.Side = asrBottom - Left = 7 - Height = 15 - Top = 214 - Width = 43 - BorderSpacing.Left = 6 - BorderSpacing.Top = 6 - Caption = 'Defines' - ParentColor = False - end - object DefinesListBox: TCheckListBox - AnchorSideLeft.Control = OptionsMemo - AnchorSideTop.Control = DefinesLabel - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = CleanUpGroupBox - AnchorSideBottom.Side = asrBottom - Left = 7 - Height = 126 - Hint = 'Defines without -d' - Top = 229 - Width = 489 - Anchors = [akTop, akLeft, akRight, akBottom] - ItemHeight = 0 - ParentShowHint = False - PopupMenu = OptionsPopupMenu - ShowHint = True - TabOrder = 2 - TopIndex = -1 - end - object LCLWidgetTypeLabel: TLabel - AnchorSideLeft.Control = BuildProfileLabel - AnchorSideTop.Control = BuildProfileComboBox - AnchorSideTop.Side = asrBottom - Left = 7 - Height = 15 - Top = 40 - Width = 91 - BorderSpacing.Top = 6 - Caption = 'LCL Widget Type' - ParentColor = False - end - object LCLWidgetTypeComboBox: TComboBox - AnchorSideLeft.Control = LCLWidgetTypeLabel - AnchorSideTop.Control = LCLWidgetTypeLabel - AnchorSideTop.Side = asrBottom - AnchorSideRight.Side = asrBottom - Left = 7 - Height = 28 - Top = 55 - Width = 209 - ItemHeight = 0 - Style = csDropDownList - TabOrder = 3 - end - object TargetDirectoryLabel: TLabel - AnchorSideLeft.Control = LCLWidgetTypeLabel - AnchorSideTop.Control = OptionsMemo - AnchorSideTop.Side = asrBottom - Left = 7 - Height = 15 - Top = 166 - Width = 87 - Alignment = taRightJustify - BorderSpacing.Top = 6 - Caption = 'Target Directory' - ParentColor = False - end - object TargetDirectoryComboBox: TComboBox - AnchorSideLeft.Control = TargetDirectoryLabel - AnchorSideTop.Control = TargetDirectoryLabel - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = TargetDirectoryButton - Left = 7 - Height = 27 - Top = 181 - Width = 659 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Right = 6 - ItemHeight = 0 - TabOrder = 5 - end - object TargetOSLabel: TLabel - AnchorSideLeft.Control = LCLWidgetTypeComboBox - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = BuildProfileComboBox - AnchorSideTop.Side = asrBottom - Left = 222 - Height = 15 - Top = 40 - Width = 54 - Alignment = taRightJustify - BorderSpacing.Left = 6 - BorderSpacing.Top = 6 - Caption = 'Target OS' - ParentColor = False - end - object TargetCPULabel: TLabel - AnchorSideLeft.Control = TargetOSComboBox - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = BuildProfileComboBox - AnchorSideTop.Side = asrBottom - Left = 452 - Height = 15 - Top = 40 - Width = 61 - Alignment = taRightJustify - BorderSpacing.Left = 6 - BorderSpacing.Top = 6 - Caption = 'Target CPU' - ParentColor = False - end - object UpdateRevisionIncCheckBox: TCheckBox - AnchorSideLeft.Control = CleanUpGroupBox - AnchorSideTop.Control = CleanUpGroupBox - AnchorSideTop.Side = asrBottom - AnchorSideBottom.Side = asrBottom - Left = 502 - Height = 22 - Hint = 'Increment revision? (ToDo: get a better hint)' - Top = 342 - Width = 181 - BorderSpacing.Top = 6 - Caption = 'UpdateRevisionIncCheckBox' - ParentShowHint = False - ShowHint = True - TabOrder = 9 - end - object TargetCPUComboBox: TComboBox - AnchorSideLeft.Control = TargetCPULabel - AnchorSideTop.Control = TargetCPULabel - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = OptionsMemo - AnchorSideRight.Side = asrBottom - Left = 452 - Height = 27 - Top = 55 - Width = 241 - Anchors = [akTop, akLeft, akRight] - ItemHeight = 0 - TabOrder = 8 - end - object CommonsDividerBevel: TDividerBevel - AnchorSideLeft.Control = DetailsPanel - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = DetailsPanel - AnchorSideRight.Side = asrBottom - Left = 7 - Height = 14 - Top = 370 - Width = 686 - Caption = 'CommonsDividerBevel' - Autosize = True - Anchors = [akLeft, akRight, akBottom] - BorderSpacing.Left = 6 - BorderSpacing.Right = 6 - BorderSpacing.Bottom = 6 - Font.Style = [fsBold] - ParentFont = False - end - object RestartAfterBuildCheckBox: TCheckBox - AnchorSideLeft.Control = CommonsDividerBevel - AnchorSideTop.Control = CommonsDividerBevel - AnchorSideTop.Side = asrBottom - AnchorSideBottom.Side = asrBottom - Left = 7 - Height = 22 - Hint = 'Restart Lazarus automatically after building the IDE. Has no effect when building other parts' - Top = 391 - Width = 171 - BorderSpacing.Top = 7 - Caption = 'RestartAfterBuildCheckBox' - ParentShowHint = False - ShowHint = True - TabOrder = 10 - end - object ConfirmBuildCheckBox: TCheckBox - AnchorSideLeft.Control = RestartAfterBuildCheckBox - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = RestartAfterBuildCheckBox - Left = 190 - Height = 22 - Hint = 'Show confirmation dialog when building directly from Tools menu' - Top = 391 - Width = 149 - BorderSpacing.Left = 12 - Caption = 'ConfirmBuildCheckBox' - ParentShowHint = False - ShowHint = True - TabOrder = 11 - end - object DefinesButton: TButton - AnchorSideTop.Control = RestartAfterBuildCheckBox - AnchorSideRight.Control = DetailsPanel - AnchorSideRight.Side = asrBottom - AnchorSideBottom.Side = asrBottom - Left = 615 - Height = 26 - Hint = 'Edit list of defines which can be used by any profile' - Top = 391 - Width = 78 - Anchors = [akTop, akRight] - AutoSize = True - BorderSpacing.Right = 6 - Caption = 'Edit Defines' - OnClick = DefinesButtonClick - ParentShowHint = False - ShowHint = True - TabOrder = 12 - end - object TargetDirectoryButton: TButton - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = TargetDirectoryComboBox - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = DetailsPanel - AnchorSideRight.Side = asrBottom - AnchorSideBottom.Side = asrBottom - Left = 672 - Height = 26 - Top = 181 - Width = 21 - Anchors = [akTop, akRight] - AutoSize = True - BorderSpacing.Left = 6 - BorderSpacing.Right = 6 - Caption = '...' - OnClick = TargetDirectoryButtonClick - TabOrder = 6 - end - object TargetOSComboBox: TComboBox - AnchorSideLeft.Control = TargetOSLabel - AnchorSideTop.Control = TargetOSLabel - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = LCLWidgetTypeComboBox - AnchorSideRight.Side = asrBottom - Left = 222 - Height = 27 - Top = 55 - Width = 224 - ItemHeight = 0 - TabOrder = 7 - end - object CleanUpGroupBox: TGroupBox - AnchorSideLeft.Control = DefinesListBox - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = TargetDirectoryComboBox - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = DetailsPanel - AnchorSideRight.Side = asrBottom - Left = 502 - Height = 122 - Top = 214 - Width = 191 - Anchors = [akTop, akRight] - AutoSize = True - BorderSpacing.Left = 6 - BorderSpacing.Top = 6 - BorderSpacing.Right = 6 - Caption = 'Clean up' - 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 = 106 - ClientWidth = 187 - ParentShowHint = False - ShowHint = True - TabOrder = 13 - object CleanAutoRadioButton: TRadioButton - Left = 6 - Height = 22 - Top = 6 - Width = 175 - Caption = 'CleanAutoRadioButton' - Checked = True - TabOrder = 0 - TabStop = True - end - object CleanCommonRadioButton: TRadioButton - Left = 6 - Height = 22 - Top = 28 - Width = 175 - Caption = 'CleanCommonRadioButton' - TabOrder = 1 - end - object CleanAllRadioButton: TRadioButton - Left = 6 - Height = 22 - Top = 50 - Width = 175 - Caption = 'CleanAllRadioButton' - TabOrder = 2 - end - object CleanOnceCheckBox: TCheckBox - Left = 6 - Height = 22 - Top = 78 - Width = 175 - BorderSpacing.Top = 6 - Caption = 'CleanOnceCheckBox' - TabOrder = 3 - end - end - end object CBLDBtnPanel: TPanel AnchorSideTop.Side = asrBottom Left = 0 @@ -440,7 +28,7 @@ object ConfigureBuildLazarusDlg: TConfigureBuildLazarusDlg BevelOuter = bvNone ClientHeight = 46 ClientWidth = 700 - TabOrder = 1 + TabOrder = 0 object CancelButton: TBitBtn Left = 619 Height = 34 @@ -510,6 +98,461 @@ object ConfigureBuildLazarusDlg: TConfigureBuildLazarusDlg TabOrder = 2 end end + object PageControl1: TPageControl + Left = 0 + Height = 434 + Top = 0 + Width = 700 + ActivePage = InfoTabSheet + Align = alClient + TabIndex = 1 + TabOrder = 1 + object BuildTabSheet: TTabSheet + Caption = 'BuildTabSheet' + ClientHeight = 402 + ClientWidth = 694 + object DetailsPanel: TPanel + Left = 0 + Height = 402 + Top = 0 + Width = 694 + Align = alClient + AutoSize = True + BevelOuter = bvNone + ClientHeight = 402 + ClientWidth = 694 + TabOrder = 0 + object BuildProfileLabel: TLabel + AnchorSideLeft.Control = DetailsPanel + AnchorSideTop.Control = BuildProfileComboBox + AnchorSideTop.Side = asrCenter + Left = 6 + Height = 15 + Top = 13 + Width = 92 + BorderSpacing.Top = 5 + BorderSpacing.Around = 6 + Caption = 'Profile to Build' + Font.Style = [fsBold] + ParentColor = False + ParentFont = False + end + object BuildProfileComboBox: TComboBox + AnchorSideLeft.Control = BuildProfileLabel + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = BuildProfileButton + Left = 104 + Height = 28 + Hint = 'Name of the active profile.' + Top = 6 + Width = 557 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Left = 6 + BorderSpacing.Right = 6 + ItemHeight = 0 + OnSelect = BuildProfileComboBoxSelect + ParentShowHint = False + ShowHint = True + Style = csDropDownList + TabOrder = 0 + end + object BuildProfileButton: TButton + AnchorSideTop.Control = BuildProfileComboBox + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = DetailsPanel + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Side = asrBottom + Left = 667 + Height = 26 + Hint = 'Manage profiles' + Top = 7 + Width = 21 + Anchors = [akTop, akRight] + AutoSize = True + BorderSpacing.Left = 6 + BorderSpacing.Right = 6 + Caption = '...' + OnClick = BuildProfileButtonClick + ParentShowHint = False + ShowHint = True + TabOrder = 1 + end + object OptionsLabel: TLabel + AnchorSideLeft.Control = LCLWidgetTypeLabel + AnchorSideTop.Control = LCLWidgetTypeComboBox + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 15 + Top = 89 + Width = 44 + Alignment = taRightJustify + BorderSpacing.Top = 6 + Caption = 'Options' + Layout = tlBottom + ParentColor = False + end + object OptionsMemo: TMemo + AnchorSideLeft.Control = OptionsLabel + AnchorSideTop.Control = OptionsLabel + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = BuildProfileButton + AnchorSideRight.Side = asrBottom + Left = 6 + Height = 56 + Hint = 'Options passed to compiler' + Top = 104 + Width = 682 + Anchors = [akTop, akLeft, akRight] + Lines.Strings = ( + '' + ) + PopupMenu = OptionsPopupMenu + ParentShowHint = False + ScrollBars = ssAutoBoth + ShowHint = True + TabOrder = 4 + end + object DefinesLabel: TLabel + AnchorSideLeft.Control = DetailsPanel + AnchorSideTop.Control = TargetDirectoryComboBox + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 15 + Top = 214 + Width = 43 + BorderSpacing.Left = 6 + BorderSpacing.Top = 6 + Caption = 'Defines' + ParentColor = False + end + object DefinesListBox: TCheckListBox + AnchorSideLeft.Control = OptionsMemo + AnchorSideTop.Control = DefinesLabel + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = CleanUpGroupBox + AnchorSideBottom.Side = asrBottom + Left = 6 + Height = 94 + Hint = 'Defines without -d' + Top = 229 + Width = 485 + Anchors = [akTop, akLeft, akRight, akBottom] + ItemHeight = 0 + ParentShowHint = False + PopupMenu = OptionsPopupMenu + ShowHint = True + TabOrder = 2 + TopIndex = -1 + end + object LCLWidgetTypeLabel: TLabel + AnchorSideLeft.Control = BuildProfileLabel + AnchorSideTop.Control = BuildProfileComboBox + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 15 + Top = 40 + Width = 91 + BorderSpacing.Top = 6 + Caption = 'LCL Widget Type' + ParentColor = False + end + object LCLWidgetTypeComboBox: TComboBox + AnchorSideLeft.Control = LCLWidgetTypeLabel + AnchorSideTop.Control = LCLWidgetTypeLabel + AnchorSideTop.Side = asrBottom + AnchorSideRight.Side = asrBottom + Left = 6 + Height = 28 + Top = 55 + Width = 209 + ItemHeight = 0 + Style = csDropDownList + TabOrder = 3 + end + object TargetDirectoryLabel: TLabel + AnchorSideLeft.Control = LCLWidgetTypeLabel + AnchorSideTop.Control = OptionsMemo + AnchorSideTop.Side = asrBottom + Left = 6 + Height = 15 + Top = 166 + Width = 87 + Alignment = taRightJustify + BorderSpacing.Top = 6 + Caption = 'Target Directory' + ParentColor = False + end + object TargetDirectoryComboBox: TComboBox + AnchorSideLeft.Control = TargetDirectoryLabel + AnchorSideTop.Control = TargetDirectoryLabel + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = TargetDirectoryButton + Left = 6 + Height = 27 + Top = 181 + Width = 655 + Anchors = [akTop, akLeft, akRight] + BorderSpacing.Right = 6 + ItemHeight = 0 + TabOrder = 5 + end + object TargetOSLabel: TLabel + AnchorSideLeft.Control = LCLWidgetTypeComboBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = BuildProfileComboBox + AnchorSideTop.Side = asrBottom + Left = 221 + Height = 15 + Top = 40 + Width = 54 + Alignment = taRightJustify + BorderSpacing.Left = 6 + BorderSpacing.Top = 6 + Caption = 'Target OS' + ParentColor = False + end + object TargetCPULabel: TLabel + AnchorSideLeft.Control = TargetOSComboBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = BuildProfileComboBox + AnchorSideTop.Side = asrBottom + Left = 451 + Height = 15 + Top = 40 + Width = 61 + Alignment = taRightJustify + BorderSpacing.Left = 6 + BorderSpacing.Top = 6 + Caption = 'Target CPU' + ParentColor = False + end + object UpdateRevisionIncCheckBox: TCheckBox + AnchorSideLeft.Control = CleanUpGroupBox + AnchorSideTop.Control = CleanUpGroupBox + AnchorSideTop.Side = asrBottom + AnchorSideBottom.Side = asrBottom + Left = 497 + Height = 22 + Hint = 'Increment revision? (ToDo: get a better hint)' + Top = 342 + Width = 181 + BorderSpacing.Top = 6 + Caption = 'UpdateRevisionIncCheckBox' + ParentShowHint = False + ShowHint = True + TabOrder = 9 + end + object TargetCPUComboBox: TComboBox + AnchorSideLeft.Control = TargetCPULabel + AnchorSideTop.Control = TargetCPULabel + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = OptionsMemo + AnchorSideRight.Side = asrBottom + Left = 451 + Height = 27 + Top = 55 + Width = 237 + Anchors = [akTop, akLeft, akRight] + ItemHeight = 0 + TabOrder = 8 + end + object CommonsDividerBevel: TDividerBevel + AnchorSideLeft.Control = DetailsPanel + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = DetailsPanel + AnchorSideRight.Side = asrBottom + Left = 6 + Height = 14 + Top = 338 + Width = 682 + Caption = 'CommonsDividerBevel' + Autosize = True + Anchors = [akLeft, akRight, akBottom] + BorderSpacing.Left = 6 + BorderSpacing.Right = 6 + BorderSpacing.Bottom = 6 + Font.Style = [fsBold] + ParentFont = False + end + object RestartAfterBuildCheckBox: TCheckBox + AnchorSideLeft.Control = CommonsDividerBevel + AnchorSideTop.Control = CommonsDividerBevel + AnchorSideTop.Side = asrBottom + AnchorSideBottom.Side = asrBottom + Left = 6 + Height = 22 + Hint = 'Restart Lazarus automatically after building the IDE. Has no effect when building other parts' + Top = 359 + Width = 171 + BorderSpacing.Top = 7 + Caption = 'RestartAfterBuildCheckBox' + ParentShowHint = False + ShowHint = True + TabOrder = 10 + end + object ConfirmBuildCheckBox: TCheckBox + AnchorSideLeft.Control = RestartAfterBuildCheckBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = RestartAfterBuildCheckBox + Left = 189 + Height = 22 + Hint = 'Show confirmation dialog when building directly from Tools menu' + Top = 359 + Width = 149 + BorderSpacing.Left = 12 + Caption = 'ConfirmBuildCheckBox' + ParentShowHint = False + ShowHint = True + TabOrder = 11 + end + object DefinesButton: TButton + AnchorSideTop.Control = RestartAfterBuildCheckBox + AnchorSideRight.Control = DetailsPanel + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Side = asrBottom + Left = 610 + Height = 26 + Hint = 'Edit list of defines which can be used by any profile' + Top = 359 + Width = 78 + Anchors = [akTop, akRight] + AutoSize = True + BorderSpacing.Right = 6 + Caption = 'Edit Defines' + OnClick = DefinesButtonClick + ParentShowHint = False + ShowHint = True + TabOrder = 12 + end + object TargetDirectoryButton: TButton + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = TargetDirectoryComboBox + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = DetailsPanel + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Side = asrBottom + Left = 667 + Height = 26 + Top = 181 + Width = 21 + Anchors = [akTop, akRight] + AutoSize = True + BorderSpacing.Left = 6 + BorderSpacing.Right = 6 + Caption = '...' + OnClick = TargetDirectoryButtonClick + TabOrder = 6 + end + object TargetOSComboBox: TComboBox + AnchorSideLeft.Control = TargetOSLabel + AnchorSideTop.Control = TargetOSLabel + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = LCLWidgetTypeComboBox + AnchorSideRight.Side = asrBottom + Left = 221 + Height = 27 + Top = 55 + Width = 224 + ItemHeight = 0 + TabOrder = 7 + end + object CleanUpGroupBox: TGroupBox + AnchorSideLeft.Control = DefinesListBox + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = TargetDirectoryComboBox + AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = DetailsPanel + AnchorSideRight.Side = asrBottom + Left = 497 + Height = 122 + Top = 214 + Width = 191 + Anchors = [akTop, akRight] + AutoSize = True + BorderSpacing.Left = 6 + BorderSpacing.Top = 6 + BorderSpacing.Right = 6 + Caption = 'Clean up' + 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 = 106 + ClientWidth = 187 + ParentShowHint = False + ShowHint = True + TabOrder = 13 + object CleanAutoRadioButton: TRadioButton + Left = 6 + Height = 22 + Top = 6 + Width = 175 + Caption = 'CleanAutoRadioButton' + Checked = True + TabOrder = 0 + TabStop = True + end + object CleanCommonRadioButton: TRadioButton + Left = 6 + Height = 22 + Top = 28 + Width = 175 + Caption = 'CleanCommonRadioButton' + TabOrder = 1 + end + object CleanAllRadioButton: TRadioButton + Left = 6 + Height = 22 + Top = 50 + Width = 175 + Caption = 'CleanAllRadioButton' + TabOrder = 2 + end + object CleanOnceCheckBox: TCheckBox + Left = 6 + Height = 22 + Top = 78 + Width = 175 + BorderSpacing.Top = 6 + Caption = 'CleanOnceCheckBox' + TabOrder = 3 + end + end + end + end + object InfoTabSheet: TTabSheet + Caption = 'InfoTabSheet' + ClientHeight = 402 + ClientWidth = 694 + object InhTreeView: TTreeView + Left = 0 + Height = 375 + Top = 27 + Width = 694 + Align = alClient + DefaultItemHeight = 16 + ReadOnly = True + TabOrder = 0 + Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw] + end + object InhNoteLabel: TLabel + Left = 6 + Height = 15 + Top = 6 + Width = 682 + Align = alTop + BorderSpacing.Around = 6 + Caption = 'InhNoteLabel' + ParentColor = False + WordWrap = True + end + end + end object OptionsPopupMenu: TPopupMenu left = 320 top = 592 diff --git a/ide/buildlazdialog.pas b/ide/buildlazdialog.pas index 459a8591d3..fa0c4dfdd3 100644 --- a/ide/buildlazdialog.pas +++ b/ide/buildlazdialog.pas @@ -45,11 +45,12 @@ interface uses Classes, SysUtils, LCLProc, LConvEncoding, Forms, Controls, LCLType, LCLIntf, - Graphics, GraphType, StdCtrls, ExtCtrls, Buttons, FileUtil, Dialogs, - InterfaceBase, Themes, CheckLst, Menus, DividerBevel, + Graphics, GraphType, StdCtrls, ExtCtrls, Buttons, FileUtil, LazUTF8, Dialogs, + InterfaceBase, Themes, CheckLst, Menus, ComCtrls, DividerBevel, DefineTemplates, // IDEIntf LazIDEIntf, IDEMsgIntf, IDEHelpIntf, IDEImagesIntf, IDEWindowIntf, + CompOptsIntf, // IDE LazarusIDEStrConsts, TransferMacros, LazConf, IDEProcs, DialogProcs, MainBar, InputHistory, ExtToolDialog, ExtToolEditDlg, EnvironmentOpts, @@ -57,7 +58,7 @@ uses CodeToolManager, // added for windres workaround {$ENDIF} ApplicationBundle, CompilerOptions, BuildProfileManager, - GenericListEditor, GenericCheckList; + GenericListEditor, GenericCheckList, PackageSystem, PackageDefs; type @@ -87,11 +88,14 @@ type BuildProfileComboBox: TComboBox; CompileButton: TBitBtn; CompileAdvancedButton: TBitBtn; + InhTreeView: TTreeView; + InhNoteLabel: TLabel; LCLWidgetTypeLabel: TLabel; LCLWidgetTypeComboBox: TComboBox; OptionsLabel: TLabel; OptionsMemo: TMemo; CleanUpGroupBox: TGroupBox; + PageControl1: TPageControl; RestartAfterBuildCheckBox: TCheckBox; ShowOptsMenuItem: TMenuItem; DetailsPanel: TPanel; @@ -101,6 +105,8 @@ type Panel2: TPanel; SaveSettingsButton: TBitBtn; BuildProfileButton: TButton; + BuildTabSheet: TTabSheet; + InfoTabSheet: TTabSheet; TargetCPUComboBox: TComboBox; TargetCPULabel: TLabel; TargetDirectoryButton: TButton; @@ -127,7 +133,12 @@ type // Data is copied by caller before and after opening this dialog. fProfiles: TBuildLazarusProfiles; fUpdatingProfileCombo: Boolean; + fImageIndexPackage: Integer; + fImageIndexRequired: Integer; + fImageIndexInherited: Integer; procedure PrepareClose; + procedure SetupInfoPage; + procedure UpdateInheritedTree; public constructor Create(TheOwner: TComponent); overload; reintroduce; destructor Destroy; override; @@ -713,6 +724,7 @@ begin IDEDialogLayoutList.ApplyLayout(Self,700,480); Caption := Format(lisConfigureBuildLazarus, ['"', '"']); + BuildTabSheet.Caption:='Build'; // Show Build target names in combobox. LCLWidgetTypeLabel.Caption := lisLCLWidgetType; @@ -809,11 +821,13 @@ begin end; ItemIndex:=0; end; + + SetupInfoPage; end; procedure TConfigureBuildLazarusDlg.FormDestroy(Sender: TObject); begin - ; + end; procedure TConfigureBuildLazarusDlg.FormResize(Sender: TObject); @@ -923,6 +937,81 @@ begin ConfirmBuildCheckBox.Checked :=fProfiles.ConfirmBuild; end; +procedure TConfigureBuildLazarusDlg.SetupInfoPage; +begin + InfoTabSheet.Caption:='Information'; + + fImageIndexPackage := IDEImages.LoadImage(16, 'item_package'); + fImageIndexRequired := IDEImages.LoadImage(16, 'pkg_required'); + fImageIndexInherited := IDEImages.LoadImage(16, 'pkg_inherited'); + InhNoteLabel.Caption := lisAdditionalCompilerOptionsInheritedFromPackages; + InhTreeView.Images := IDEImages.Images_16; + + UpdateInheritedTree; +end; + +procedure TConfigureBuildLazarusDlg.UpdateInheritedTree; +var + AncestorNode: TTreeNode; + + procedure AddChildNode(const NewNodeName, Value: string); + var + VisibleValue: string; + ChildNode: TTreeNode; + begin + VisibleValue := UTF8Trim(Value); + if VisibleValue = '' then + exit; + ChildNode := InhTreeView.Items.AddChild(AncestorNode, + NewNodeName + ' = "' + VisibleValue + '"'); + ChildNode.ImageIndex := fImageIndexRequired; + ChildNode.SelectedIndex := ChildNode.ImageIndex; + end; + +var + PkgList: TFPList; + i: Integer; + Pkg: TLazPackage; + AncestorOptions: TPkgAdditionalCompilerOptions; + LazDir: String; +begin + PkgList:=nil; + InhTreeView.BeginUpdate; + LazDir:=EnvironmentOptions.GetParsedLazarusDirectory; + try + PackageGraph.GetAllRequiredPackages(PackageGraph.FirstAutoInstallDependency,PkgList); + + // add detail nodes + if PkgList<>nil then + for i := 0 to PkgList.Count - 1 do + begin + Pkg:=TLazPackage(PkgList[i]); + AncestorOptions := Pkg.UsageOptions; + AncestorNode := InhTreeView.Items.Add(nil, ''); + AncestorNode.Text := AncestorOptions.GetOwnerName; + AncestorNode.ImageIndex := fImageIndexPackage; + AncestorNode.SelectedIndex := AncestorNode.ImageIndex; + with AncestorOptions.ParsedOpts do + begin + AddChildNode(lisunitPath, + CreateRelativeSearchPath(GetParsedValue(pcosUnitPath),LazDir)); + AddChildNode(lisincludePath, + CreateRelativeSearchPath(GetParsedValue(pcosIncludePath),LazDir)); + AddChildNode(lisobjectPath, + CreateRelativeSearchPath(GetParsedValue(pcosObjectPath),LazDir)); + AddChildNode(lislibraryPath, + CreateRelativeSearchPath(GetParsedValue(pcosLibraryPath),LazDir)); + AddChildNode(lislinkerOptions, GetParsedValue(pcosLinkerOptions)); + AddChildNode(liscustomOptions, GetParsedValue(pcosCustomOptions)); + end; + AncestorNode.Expanded := True; + end; + finally + InhTreeView.EndUpdate; + PkgList.Free; + end; +end; + procedure TConfigureBuildLazarusDlg.PrepareClose; begin CopyUIToProfile(Profiles.Current); diff --git a/ide/frames/compiler_inherited_options.pas b/ide/frames/compiler_inherited_options.pas index c72f4bfbe0..c95c6eba28 100644 --- a/ide/frames/compiler_inherited_options.pas +++ b/ide/frames/compiler_inherited_options.pas @@ -140,8 +140,8 @@ var InheritedChildDatas := TList.Create; InheritedChildDatas.Add(ChildData); - if length(Value) > 100 then - VisibleValue := copy(Value, 1, 100) + '[...]' + if UTF8Length(Value) > 100 then + VisibleValue := UTF8Copy(Value, 1, 100) + '[...]' else VisibleValue := Value; ChildNode := InhTreeView.Items.AddChildObject(AncestorNode, @@ -209,20 +209,16 @@ begin with AncestorOptions.ParsedOpts do begin AddChildNode(lisunitPath, - CreateRelativeSearchPath(GetParsedValue(pcosUnitPath), - CompilerOpts.BaseDirectory), + CreateRelativeSearchPath(GetParsedValue(pcosUnitPath),CompilerOpts.BaseDirectory), icoUnitPath); AddChildNode(lisincludePath, - CreateRelativeSearchPath(GetParsedValue(pcosIncludePath), - CompilerOpts.BaseDirectory), + CreateRelativeSearchPath(GetParsedValue(pcosIncludePath),CompilerOpts.BaseDirectory), icoIncludePath); AddChildNode(lisobjectPath, - CreateRelativeSearchPath(GetParsedValue(pcosObjectPath), - CompilerOpts.BaseDirectory), + CreateRelativeSearchPath(GetParsedValue(pcosObjectPath),CompilerOpts.BaseDirectory), icoObjectPath); AddChildNode(lislibraryPath, - CreateRelativeSearchPath(GetParsedValue(pcosLibraryPath), - CompilerOpts.BaseDirectory), + CreateRelativeSearchPath(GetParsedValue(pcosLibraryPath),CompilerOpts.BaseDirectory), icoLibraryPath); AddChildNode(lislinkerOptions, GetParsedValue(pcosLinkerOptions), icoLinkerOptions); diff --git a/ide/main.pp b/ide/main.pp index 85146f5b20..810534699c 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -4759,7 +4759,13 @@ var LazSrcDirTemplate: TDefineTemplate; DlgResult: TModalResult; begin - DlgResult:=ShowConfigureBuildLazarusDlg(MiscellaneousOptions.BuildLazProfiles); + MainBuildBoss.SetBuildTargetIDE; + try + DlgResult:=ShowConfigureBuildLazarusDlg(MiscellaneousOptions.BuildLazProfiles); + finally + MainBuildBoss.SetBuildTargetProject1(true); + end; + if DlgResult in [mrOk,mrYes,mrAll] then begin MiscellaneousOptions.Save; IncreaseCompilerParseStamp; diff --git a/packager/packagesystem.pas b/packager/packagesystem.pas index 2cd1780aae..5196a12924 100644 --- a/packager/packagesystem.pas +++ b/packager/packagesystem.pas @@ -1719,11 +1719,9 @@ var ConfigDir: String; begin Result:=''; - if not Assigned(OnGetAllRequiredPackages) then exit; - // get all required packages PkgList:=nil; - OnGetAllRequiredPackages(FirstDependency,PkgList); + GetAllRequiredPackages(FirstDependency,PkgList); if PkgList=nil then exit; // get all usage options AddOptionsList:=GetUsageOptionsList(PkgList); diff --git a/packager/pkgmanager.pas b/packager/pkgmanager.pas index eff50d6705..75e3ff7bc7 100644 --- a/packager/pkgmanager.pas +++ b/packager/pkgmanager.pas @@ -1730,7 +1730,7 @@ var i: Integer; begin PkgList:=nil; - OnGetAllRequiredPackages(PackageGraph.FirstAutoInstallDependency,PkgList); + PackageGraph.GetAllRequiredPackages(PackageGraph.FirstAutoInstallDependency,PkgList); if PkgList=nil then exit; for i:=0 to PkgList.Count-1 do if TObject(PkgList[i]) is TLazPackage then