From 822a4db073efaf2ee048863653929eccbab8f7fc Mon Sep 17 00:00:00 2001 From: juha Date: Sat, 5 Nov 2011 11:13:16 +0000 Subject: [PATCH] IDE: Improve 'Build Macro' toolbar layout and fix copying the description field. Issue #19927, patch from Samuel Herzog git-svn-id: trunk@33332 - --- ide/frames/compiler_buildmacro_options.lfm | 90 +++++++++++----------- ide/frames/compiler_buildmacro_options.pas | 48 ++++++------ 2 files changed, 66 insertions(+), 72 deletions(-) diff --git a/ide/frames/compiler_buildmacro_options.lfm b/ide/frames/compiler_buildmacro_options.lfm index 4898c383cc..634e9299cf 100644 --- a/ide/frames/compiler_buildmacro_options.lfm +++ b/ide/frames/compiler_buildmacro_options.lfm @@ -5,8 +5,8 @@ inherited CompOptBuildMacrosFrame: TCompOptBuildMacrosFrame ClientWidth = 514 TabOrder = 0 Visible = False - DesignLeft = 308 - DesignTop = 268 + DesignLeft = 304 + DesignTop = 213 object MacrosGroupBox: TGroupBox[0] Left = 0 Height = 243 @@ -14,8 +14,8 @@ inherited CompOptBuildMacrosFrame: TCompOptBuildMacrosFrame Width = 514 Align = alTop Caption = 'MacrosGroupBox' - ClientHeight = 221 - ClientWidth = 506 + ClientHeight = 223 + ClientWidth = 508 TabOrder = 0 object BuildMacrosTreeView: TTreeView AnchorSideLeft.Control = MacrosGroupBox @@ -25,7 +25,7 @@ inherited CompOptBuildMacrosFrame: TCompOptBuildMacrosFrame AnchorSideBottom.Control = MacrosGroupBox AnchorSideBottom.Side = asrBottom Left = 0 - Height = 199 + Height = 201 Top = 22 Width = 227 Anchors = [akTop, akLeft, akBottom] @@ -43,7 +43,7 @@ inherited CompOptBuildMacrosFrame: TCompOptBuildMacrosFrame AnchorSideBottom.Control = MacrosGroupBox AnchorSideBottom.Side = asrBottom Left = 233 - Height = 221 + Height = 223 Top = 0 Width = 5 Align = alNone @@ -53,22 +53,22 @@ inherited CompOptBuildMacrosFrame: TCompOptBuildMacrosFrame AnchorSideLeft.Control = Splitter1 AnchorSideLeft.Side = asrBottom Left = 244 - Height = 221 + Height = 223 Top = 0 - Width = 262 + Width = 264 Align = alRight Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Left = 6 Caption = 'BuildMacroSelectedGroupBox' - ClientHeight = 199 - ClientWidth = 254 + ClientHeight = 203 + ClientWidth = 258 TabOrder = 2 object BuildMacroDefaultLabel: TLabel Left = 6 - Height = 127 - Top = 66 - Width = 242 - Align = alClient + Height = 129 + Top = 68 + Width = 246 + Align = alBottom AutoSize = False BorderSpacing.Top = 15 BorderSpacing.Around = 6 @@ -78,9 +78,9 @@ inherited CompOptBuildMacrosFrame: TCompOptBuildMacrosFrame end object BuildMacroDescriptionLabel: TLabel Left = 6 - Height = 17 + Height = 16 Top = 6 - Width = 242 + Width = 246 Align = alTop BorderSpacing.Left = 6 BorderSpacing.Top = 6 @@ -90,15 +90,27 @@ inherited CompOptBuildMacrosFrame: TCompOptBuildMacrosFrame end object BuildMacroDescriptionEdit: TEdit Left = 6 - Height = 22 - Top = 23 - Width = 242 + Height = 23 + Top = 22 + Width = 246 Align = alTop BorderSpacing.Left = 6 BorderSpacing.Right = 6 + OnExit = BuildMacroDescriptionEditExit TabOrder = 0 Text = 'BuildMacroDescriptionEdit' end + object BMAddMacroValueSpeedButton: TSpeedButton + Left = 6 + Height = 22 + Top = 48 + Width = 23 + BorderSpacing.Left = 6 + NumGlyphs = 0 + OnClick = BMAddMacroValueSpeedButtonClick + ShowHint = True + ParentShowHint = False + end end object BMAddMacroSpeedButton: TSpeedButton AnchorSideLeft.Control = MacrosGroupBox @@ -112,31 +124,16 @@ inherited CompOptBuildMacrosFrame: TCompOptBuildMacrosFrame ShowHint = True ParentShowHint = False end - object BMAddMacroValueSpeedButton: TSpeedButton - AnchorSideLeft.Control = BMAddMacroSpeedButton + object BMDeleteMacroSpeedButton: TSpeedButton AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = MacrosGroupBox - Left = 29 + Left = 22 Height = 22 Top = 0 Width = 23 BorderSpacing.Left = 6 NumGlyphs = 0 - OnClick = BMAddMacroValueSpeedButtonClick - ShowHint = True - ParentShowHint = False - end - object BMDeleteSpeedButton: TSpeedButton - AnchorSideLeft.Control = BMAddMacroValueSpeedButton - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = MacrosGroupBox - Left = 58 - Height = 22 - Top = 0 - Width = 23 - BorderSpacing.Left = 6 - NumGlyphs = 0 - OnClick = BMDeleteSpeedButtonClick + OnClick = BMDeleteMacroSpeedButtonClick ShowHint = True ParentShowHint = False end @@ -157,14 +154,14 @@ inherited CompOptBuildMacrosFrame: TCompOptBuildMacrosFrame Width = 514 Align = alClient Caption = 'ConditionalsGroupBox' - ClientHeight = 174 - ClientWidth = 506 + ClientHeight = 176 + ClientWidth = 508 TabOrder = 2 inline CondSynEdit: TSynEdit Left = 0 - Height = 159 + Height = 156 Top = 0 - Width = 506 + Width = 508 Align = alClient Font.Height = 9 Font.Name = '-misc-dejavu sans mono-*-*-*-*-*-*-*-*-*-*-iso10646-1' @@ -175,7 +172,7 @@ inherited CompOptBuildMacrosFrame: TCompOptBuildMacrosFrame TabOrder = 0 OnKeyDown = CondSynEditKeyDown OnKeyPress = CondSynEditKeyPress - Gutter.Width = 59 + Gutter.Width = 51 Gutter.MouseActions = < item Shift = [] @@ -770,6 +767,7 @@ inherited CompOptBuildMacrosFrame: TCompOptBuildMacrosFrame Lines.Strings = ( 'CondSynEdit' ) + VisibleSpecialChars = [vscSpace, vscTabAtLast] BracketHighlightStyle = sbhsBoth OnChange = CondSynEditChange OnProcessCommand = CondSynEditProcessCommand @@ -779,7 +777,7 @@ inherited CompOptBuildMacrosFrame: TCompOptBuildMacrosFrame Width = 24 end object SynGutterLineNumber1: TSynGutterLineNumber - Width = 19 + Width = 11 MouseActions = <> MarkupInfo.Background = clBtnFace MarkupInfo.Foreground = clNone @@ -884,9 +882,9 @@ inherited CompOptBuildMacrosFrame: TCompOptBuildMacrosFrame end object CondStatusbar: TStatusBar Left = 0 - Height = 15 - Top = 159 - Width = 506 + Height = 20 + Top = 156 + Width = 508 Panels = < item Width = 80 diff --git a/ide/frames/compiler_buildmacro_options.pas b/ide/frames/compiler_buildmacro_options.pas index 31bbbc4b31..0c4e38c49b 100644 --- a/ide/frames/compiler_buildmacro_options.pas +++ b/ide/frames/compiler_buildmacro_options.pas @@ -53,7 +53,7 @@ type TCompOptBuildMacrosFrame = class(TAbstractIDEOptionsEditor) BMAddMacroSpeedButton: TSpeedButton; BMAddMacroValueSpeedButton: TSpeedButton; - BMDeleteSpeedButton: TSpeedButton; + BMDeleteMacroSpeedButton: TSpeedButton; BuildMacroDescriptionEdit: TEdit; BuildMacroSelectedGroupBox: TGroupBox; BuildMacrosTreeView: TTreeView; @@ -67,7 +67,8 @@ type Splitter1: TSplitter; procedure BMAddMacroSpeedButtonClick(Sender: TObject); procedure BMAddMacroValueSpeedButtonClick(Sender: TObject); - procedure BMDeleteSpeedButtonClick(Sender: TObject); + procedure BMDeleteMacroSpeedButtonClick(Sender: TObject); + procedure BuildMacroDescriptionEditExit(Sender: TObject); procedure BuildMacrosTreeViewEdited(Sender: TObject; Node: TTreeNode; var S: string); procedure BuildMacrosTreeViewEditing(Sender: TObject; Node: TTreeNode; @@ -111,7 +112,6 @@ type fDefValueImgID: LongInt; fEngine: TCTConfigScriptEngine; fSynCompletion: TSynCompletion; - procedure SaveItemProperties; procedure SetBuildMacros(const AValue: TIDEBuildMacros); procedure RebuildTreeView; procedure SetIdleConnected(const AValue: Boolean); @@ -348,8 +348,7 @@ begin AllowEdit:=NodeType in [cbmntBuildMacro,cbmntValue]; end; -procedure TCompOptBuildMacrosFrame.BuildMacrosTreeViewSelectionChanged( - Sender: TObject); +procedure TCompOptBuildMacrosFrame.BuildMacrosTreeViewSelectionChanged(Sender: TObject); begin UpdateItemPropertyControls; end; @@ -520,7 +519,7 @@ begin BuildMacrosTreeView.EndUpdate; end; -procedure TCompOptBuildMacrosFrame.BMDeleteSpeedButtonClick(Sender: TObject); +procedure TCompOptBuildMacrosFrame.BMDeleteMacroSpeedButtonClick(Sender: TObject); var aBuildMacro: TIDEBuildMacro; SelTVNode: TTreeNode; @@ -552,6 +551,16 @@ begin BuildMacrosTreeView.EndUpdate; end; +procedure TCompOptBuildMacrosFrame.BuildMacroDescriptionEditExit(Sender: TObject); +var + BuildMacro: TLazBuildMacro; + NodeType: TCBMNodeType; +begin + GetSelectedNode(BuildMacro,NodeType); + if BuildMacro<>nil then + BuildMacro.Description:=BuildMacroDescriptionEdit.Text; +end; + procedure TCompOptBuildMacrosFrame.SetBuildMacros( const AValue: TIDEBuildMacros); begin @@ -697,17 +706,15 @@ var begin GetSelectedNode(aBuildMacro,NodeType); if aBuildMacro<>nil then begin - BuildMacroSelectedGroupBox.Caption:=Format(lisMacro, [aBuildMacro.Identifier - ]); + BuildMacroSelectedGroupBox.Caption:=Format(lisMacro, [aBuildMacro.Identifier]); BuildMacroSelectedGroupBox.Enabled:=true; BuildMacroDescriptionEdit.Enabled:=true; BuildMacroDescriptionEdit.Text:=aBuildMacro.Description; - BMAddMacroValueSpeedButton.Hint:=Format(lisAddValueToMacro, [ - aBuildMacro.Identifier]); + BMAddMacroValueSpeedButton.Hint:=Format(lisAddValueToMacro, [aBuildMacro.Identifier]); if NodeType=cbmntBuildMacro then - BMDeleteSpeedButton.Hint:=Format(lisDeleteMacro, [aBuildMacro.Identifier]) + BMDeleteMacroSpeedButton.Hint:=Format(lisDeleteMacro, [aBuildMacro.Identifier]) else - BMDeleteSpeedButton.Hint:=Format(lisDeleteValue2, [BuildMacrosTreeView. + BMDeleteMacroSpeedButton.Hint:=Format(lisDeleteValue2, [BuildMacrosTreeView. Selected.Text]); end else begin BuildMacroSelectedGroupBox.Caption:=lisNoMacroSelected; @@ -715,11 +722,11 @@ begin BuildMacroDescriptionEdit.Enabled:=false; BuildMacroDescriptionEdit.Text:=''; BMAddMacroValueSpeedButton.Hint:=''; - BMDeleteSpeedButton.Hint:=''; + BMDeleteMacroSpeedButton.Hint:=''; end; BMAddMacroSpeedButton.Hint:=lisAddNewMacro; BMAddMacroValueSpeedButton.Enabled:=NodeType in [cbmntBuildMacro,cbmntValue]; - BMDeleteSpeedButton.Enabled:=NodeType in [cbmntBuildMacro,cbmntValue]; + BMDeleteMacroSpeedButton.Enabled:=NodeType in [cbmntBuildMacro,cbmntValue]; end; procedure TCompOptBuildMacrosFrame.UpdateMessages; @@ -947,16 +954,6 @@ begin //debugln(['TCompOptBuildMacrosFrame.GetCondCursorWord "',Result,'"']); end; -procedure TCompOptBuildMacrosFrame.SaveItemProperties; -var - BuildMacro: TLazBuildMacro; - NodeType: TCBMNodeType; -begin - GetSelectedNode(BuildMacro,NodeType); - if BuildMacro=nil then exit; - BuildMacro.Description:=BuildMacroDescriptionEdit.Text; -end; - constructor TCompOptBuildMacrosFrame.Create(TheOwner: TComponent); begin inherited Create(TheOwner); @@ -983,7 +980,7 @@ begin BMAddMacroSpeedButton.LoadGlyphFromLazarusResource('laz_add'); BMAddMacroValueSpeedButton.LoadGlyphFromLazarusResource('laz_add'); - BMDeleteSpeedButton.LoadGlyphFromLazarusResource('laz_delete'); + BMDeleteMacroSpeedButton.LoadGlyphFromLazarusResource('laz_delete'); fSynCompletion:=TSynCompletion.Create(Self); fSynCompletion.TheForm.Parent:=Self; @@ -1061,7 +1058,6 @@ end; procedure TCompOptBuildMacrosFrame.SaveToOptions(Options: TBaseCompilerOptions); begin - SaveItemProperties; (Options.BuildMacros as TIDEBuildMacros).Assign(BuildMacros); Options.Conditionals:=CondSynEdit.Lines.Text; end;