ide: make ellipsis button in debugger options frame square again (issue #32924). Based on patch by FTurtle and idea by Ondrej.

git-svn-id: trunk@56949 -
This commit is contained in:
wp 2018-01-04 08:20:24 +00:00
parent 6e9a07b58b
commit 20bc34c5fe
2 changed files with 36 additions and 25 deletions

View File

@ -15,13 +15,13 @@ object DebuggerGeneralOptionsFrame: TDebuggerGeneralOptionsFrame
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 0
Height = 97
Height = 84
Top = 0
Width = 519
Anchors = [akTop, akLeft, akRight]
AutoSize = True
Caption = 'Debugger type and path'
ClientHeight = 78
ClientHeight = 64
ClientWidth = 515
TabOrder = 0
object cmdOpenDebuggerPath: TSpeedButton
@ -30,14 +30,16 @@ object DebuggerGeneralOptionsFrame: TDebuggerGeneralOptionsFrame
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = cmbDebuggerPath
AnchorSideBottom.Side = asrBottom
Left = 459
Height = 29
Top = 43
Width = 50
Left = 496
Height = 23
Top = 35
Width = 13
Anchors = [akTop, akRight, akBottom]
AutoSize = True
BorderSpacing.Right = 6
Caption = '...'
Caption = ''
OnClick = cmdOpenDebuggerPathClick
OnResize = ResizeSquare
end
object cmbDebuggerType: TComboBox
AnchorSideLeft.Control = gbDebuggerType
@ -45,12 +47,12 @@ object DebuggerGeneralOptionsFrame: TDebuggerGeneralOptionsFrame
AnchorSideRight.Control = gbDebuggerType
AnchorSideRight.Side = asrBottom
Left = 6
Height = 31
Height = 23
Top = 6
Width = 503
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
ItemHeight = 0
ItemHeight = 15
OnEditingDone = cmbDebuggerTypeEditingDone
OnSelect = cmbDebuggerTypeEditingDone
Style = csDropDownList
@ -62,14 +64,14 @@ object DebuggerGeneralOptionsFrame: TDebuggerGeneralOptionsFrame
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = cmdOpenDebuggerPath
Left = 6
Height = 29
Top = 43
Width = 453
Height = 23
Top = 35
Width = 490
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Bottom = 6
ItemHeight = 0
ItemHeight = 15
TabOrder = 1
end
end
@ -80,14 +82,14 @@ object DebuggerGeneralOptionsFrame: TDebuggerGeneralOptionsFrame
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 0
Height = 58
Top = 103
Height = 55
Top = 90
Width = 519
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Top = 6
Caption = 'Additional search path'
ClientHeight = 39
ClientHeight = 35
ClientWidth = 515
TabOrder = 1
object cmdOpenAdditionalPath: TSpeedButton
@ -96,23 +98,25 @@ object DebuggerGeneralOptionsFrame: TDebuggerGeneralOptionsFrame
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = txtAdditionalPath
AnchorSideBottom.Side = asrBottom
Left = 459
Height = 27
Left = 496
Height = 23
Top = 6
Width = 50
Width = 13
Anchors = [akTop, akRight, akBottom]
AutoSize = True
BorderSpacing.Right = 6
Caption = '...'
Caption = ''
OnClick = cmdOpenAdditionalPathClick
OnResize = ResizeSquare
end
object txtAdditionalPath: TEdit
AnchorSideLeft.Control = gbAdditionalSearchPath
AnchorSideTop.Control = gbAdditionalSearchPath
AnchorSideRight.Control = cmdOpenAdditionalPath
Left = 6
Height = 27
Height = 23
Top = 6
Width = 453
Width = 490
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Top = 6
@ -128,7 +132,7 @@ object DebuggerGeneralOptionsFrame: TDebuggerGeneralOptionsFrame
AnchorSideRight.Side = asrBottom
Left = 0
Height = 19
Top = 167
Top = 151
Width = 519
Anchors = [akTop, akLeft, akRight]
AutoFill = True
@ -154,8 +158,8 @@ object DebuggerGeneralOptionsFrame: TDebuggerGeneralOptionsFrame
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 0
Height = 235
Top = 192
Height = 251
Top = 176
Width = 519
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Top = 6

View File

@ -48,6 +48,7 @@ type
procedure cmbDebuggerTypeEditingDone(Sender: TObject);
procedure cmdOpenAdditionalPathClick(Sender: TObject);
procedure cmdOpenDebuggerPathClick(Sender: TObject);
procedure ResizeSquare(Sender: TObject);
private
PropertyGrid: TOIPropertyGrid;
FCurDebuggerClass: TDebuggerClass; // currently shown debugger class
@ -124,6 +125,12 @@ begin
end;
end;
procedure TDebuggerGeneralOptionsFrame.ResizeSquare(Sender: TObject);
begin
with Sender as TControl do
Constraints.MinWidth := Height;
end;
procedure TDebuggerGeneralOptionsFrame.FetchDebuggerClass;
var
n: PtrInt;