IDE: Improve MakeResStr dialog, use ButtonPanel. Issue #28147, patch from Alexey Torgashin.

git-svn-id: trunk@49137 -
This commit is contained in:
juha 2015-05-22 20:20:40 +00:00
parent 0fe92eae95
commit 07ff42276e
2 changed files with 101 additions and 160 deletions

View File

@ -1,28 +1,27 @@
object MakeResStrDialog: TMakeResStrDialog object MakeResStrDialog: TMakeResStrDialog
Left = 386 Left = 386
Height = 551 Height = 535
Top = 234 Top = 234
Width = 649 Width = 649
ActiveControl = CustomIdentifierCheckBox ActiveControl = CustomIdentifierCheckBox
BorderIcons = [biSystemMenu] BorderIcons = [biSystemMenu]
Caption = 'MakeResStrDialog' Caption = 'MakeResStrDialog'
ClientHeight = 551 ClientHeight = 535
ClientWidth = 649 ClientWidth = 649
Constraints.MinHeight = 513 Constraints.MinHeight = 513
Constraints.MinWidth = 480 Constraints.MinWidth = 480
OnCreate = FormCreate
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '1.5' LCLVersion = '1.5'
object ConversionGroupBox: TGroupBox object ConversionGroupBox: TGroupBox
Left = 6 Left = 6
Height = 242 Height = 224
Top = 6 Top = 6
Width = 637 Width = 637
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'ConversionGroupBox' Caption = 'ConversionGroupBox'
ClientHeight = 225 ClientHeight = 204
ClientWidth = 633 ClientWidth = 633
TabOrder = 0 TabOrder = 0
object ResStrSectionLabel: TLabel object ResStrSectionLabel: TLabel
@ -31,8 +30,8 @@ object MakeResStrDialog: TMakeResStrDialog
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 12 Left = 12
Height = 15 Height = 15
Top = 131 Top = 123
Width = 106 Width = 99
Alignment = taRightJustify Alignment = taRightJustify
BorderSpacing.Top = 2 BorderSpacing.Top = 2
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -45,8 +44,8 @@ object MakeResStrDialog: TMakeResStrDialog
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 12 Left = 12
Height = 15 Height = 15
Top = 164 Top = 152
Width = 151 Width = 143
Alignment = taRightJustify Alignment = taRightJustify
BorderSpacing.Top = 2 BorderSpacing.Top = 2
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -59,13 +58,13 @@ object MakeResStrDialog: TMakeResStrDialog
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 6 Left = 6
Height = 24 Height = 19
Top = 195 Top = 179
Width = 175 Width = 160
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'AppendResStrRadioButton' Caption = 'AppendResStrRadioButton'
Checked = True Checked = True
TabOrder = 0 TabOrder = 3
TabStop = True TabStop = True
end end
object InsertContextSensitiveRadioButton: TRadioButton object InsertContextSensitiveRadioButton: TRadioButton
@ -73,26 +72,26 @@ object MakeResStrDialog: TMakeResStrDialog
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ResStrWithSameValuesCombobox AnchorSideTop.Control = ResStrWithSameValuesCombobox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 434 Left = 400
Height = 24 Height = 19
Top = 195 Top = 179
Width = 221 Width = 202
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'InsertContextSensitiveRadioButton' Caption = 'InsertContextSensitiveRadioButton'
TabOrder = 1 TabOrder = 5
end end
object InsertAlphabeticallyResStrRadioButton: TRadioButton object InsertAlphabeticallyResStrRadioButton: TRadioButton
AnchorSideLeft.Control = AppendResStrRadioButton AnchorSideLeft.Control = AppendResStrRadioButton
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ResStrWithSameValuesCombobox AnchorSideTop.Control = ResStrWithSameValuesCombobox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 187 Left = 172
Height = 24 Height = 19
Top = 195 Top = 179
Width = 241 Width = 222
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'InsertAlphabeticallyResStrRadioButton' Caption = 'InsertAlphabeticallyResStrRadioButton'
TabOrder = 2 TabOrder = 4
end end
object ResStrSectionComboBox: TComboBox object ResStrSectionComboBox: TComboBox
AnchorSideLeft.Control = ResStrSectionLabel AnchorSideLeft.Control = ResStrSectionLabel
@ -101,15 +100,15 @@ object MakeResStrDialog: TMakeResStrDialog
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ConversionGroupBox AnchorSideRight.Control = ConversionGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 124 Left = 117
Height = 27 Height = 23
Top = 129 Top = 121
Width = 503 Width = 510
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 0 ItemHeight = 15
OnChange = ResStrSectionComboBoxChange OnChange = ResStrSectionComboBoxChange
TabOrder = 3 TabOrder = 1
Text = 'ResStrSectionComboBox' Text = 'ResStrSectionComboBox'
end end
object ResStrWithSameValuesCombobox: TComboBox object ResStrWithSameValuesCombobox: TComboBox
@ -119,37 +118,37 @@ object MakeResStrDialog: TMakeResStrDialog
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ConversionGroupBox AnchorSideRight.Control = ConversionGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 169 Left = 161
Height = 27 Height = 23
Top = 162 Top = 150
Width = 458 Width = 466
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 0 ItemHeight = 15
OnChange = ResStrWithSameValuesComboboxChange OnChange = ResStrWithSameValuesComboboxChange
TabOrder = 4 TabOrder = 2
Text = 'ResStrWithSameValuesCombobox' Text = 'ResStrWithSameValuesCombobox'
end end
object IdentifierGroupBox: TGroupBox object IdentifierGroupBox: TGroupBox
Left = 6 Left = 6
Height = 117 Height = 109
Top = 6 Top = 6
Width = 621 Width = 621
Align = alTop Align = alTop
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'IdentifierGroupBox' Caption = 'IdentifierGroupBox'
ClientHeight = 100 ClientHeight = 89
ClientWidth = 617 ClientWidth = 617
TabOrder = 5 TabOrder = 0
object IdentLengthLabel: TLabel object IdentLengthLabel: TLabel
AnchorSideTop.Control = IdentLengthComboBox AnchorSideTop.Control = IdentLengthComboBox
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = IdentLengthComboBox AnchorSideRight.Control = IdentLengthComboBox
Left = 408 Left = 413
Height = 15 Height = 15
Top = 42 Top = 35
Width = 97 Width = 92
Alignment = taRightJustify Alignment = taRightJustify
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Top = 2 BorderSpacing.Top = 2
@ -163,8 +162,8 @@ object MakeResStrDialog: TMakeResStrDialog
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 15 Height = 15
Top = 42 Top = 35
Width = 91 Width = 84
Alignment = taRightJustify Alignment = taRightJustify
BorderSpacing.Top = 2 BorderSpacing.Top = 2
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -178,28 +177,28 @@ object MakeResStrDialog: TMakeResStrDialog
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = IdentifierGroupBox AnchorSideRight.Control = IdentifierGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 103 Left = 96
Height = 25 Height = 23
Top = 69 Top = 60
Width = 508 Width = 515
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Enabled = False Enabled = False
OnChange = IdentifierEditChange OnChange = IdentifierEditChange
TabOrder = 0 TabOrder = 3
Text = 'IdentifierEdit' Text = 'IdentifierEdit'
end end
object CustomIdentifierCheckBox: TCheckBox object CustomIdentifierCheckBox: TCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 24 Height = 19
Top = 6 Top = 6
Width = 605 Width = 605
Align = alTop Align = alTop
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'CustomIdentifierCheckBox' Caption = 'CustomIdentifierCheckBox'
OnChange = CustomIdentifierCheckBoxClick OnChange = CustomIdentifierCheckBoxClick
TabOrder = 1 TabOrder = 0
end end
object IdentLengthComboBox: TComboBox object IdentLengthComboBox: TComboBox
AnchorSideTop.Control = CustomIdentifierCheckBox AnchorSideTop.Control = CustomIdentifierCheckBox
@ -207,12 +206,12 @@ object MakeResStrDialog: TMakeResStrDialog
AnchorSideRight.Control = IdentifierGroupBox AnchorSideRight.Control = IdentifierGroupBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 511 Left = 511
Height = 27 Height = 23
Top = 36 Top = 31
Width = 100 Width = 100
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 0 ItemHeight = 15
OnChange = IdentLengthComboBoxChange OnChange = IdentLengthComboBoxChange
TabOrder = 2 TabOrder = 2
Text = 'IdentLengthComboBox' Text = 'IdentLengthComboBox'
@ -222,45 +221,44 @@ object MakeResStrDialog: TMakeResStrDialog
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CustomIdentifierCheckBox AnchorSideTop.Control = CustomIdentifierCheckBox
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 103 Left = 96
Height = 27 Height = 23
Top = 36 Top = 31
Width = 100 Width = 100
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 0 ItemHeight = 15
OnChange = IdentPrefixComboBoxChange OnChange = IdentPrefixComboBoxChange
TabOrder = 3 TabOrder = 1
Text = 'IdentPrefixComboBox' Text = 'IdentPrefixComboBox'
end end
end end
end end
object CodePanel: TPanel object CodePanel: TPanel
AnchorSideBottom.Control = CancelButton
Left = 6 Left = 6
Height = 251 Height = 261
Top = 254 Top = 236
Width = 637 Width = 637
Align = alClient Align = alClient
BorderSpacing.Around = 6 BorderSpacing.Around = 6
BevelOuter = bvNone BevelOuter = bvNone
ClientHeight = 251 ClientHeight = 261
ClientWidth = 637 ClientWidth = 637
TabOrder = 1 TabOrder = 1
object SrcPreviewGroupBox: TGroupBox object SrcPreviewGroupBox: TGroupBox
AnchorSideBottom.Control = Splitter1 AnchorSideBottom.Control = Splitter1
Left = 0 Left = 0
Height = 99 Height = 135
Top = 0 Top = 0
Width = 637 Width = 637
Align = alTop Align = alTop
Anchors = [akTop, akLeft, akRight, akBottom]
Caption = 'SrcPreviewGroupBox' Caption = 'SrcPreviewGroupBox'
ClientHeight = 82 ClientHeight = 115
ClientWidth = 633 ClientWidth = 633
Constraints.MinHeight = 80
TabOrder = 0 TabOrder = 0
inline SrcPreviewSynEdit: TSynEdit inline SrcPreviewSynEdit: TSynEdit
Left = 6 Left = 6
Height = 70 Height = 103
Top = 6 Top = 6
Width = 621 Width = 621
Align = alClient Align = alClient
@ -275,7 +273,7 @@ object MakeResStrDialog: TMakeResStrDialog
TabOrder = 0 TabOrder = 0
BookMarkOptions.Xoffset = -18 BookMarkOptions.Xoffset = -18
Gutter.Visible = False Gutter.Visible = False
Gutter.Width = 57 Gutter.Width = 59
Gutter.MouseActions = < Gutter.MouseActions = <
item item
ClickCount = ccAny ClickCount = ccAny
@ -701,13 +699,14 @@ object MakeResStrDialog: TMakeResStrDialog
MouseLinkColor.Foreground = clBlue MouseLinkColor.Foreground = clBlue
LineHighlightColor.Background = clNone LineHighlightColor.Background = clNone
LineHighlightColor.Foreground = clNone LineHighlightColor.Foreground = clNone
WantTabs = False
inline TSynGutterPartList inline TSynGutterPartList
object TSynGutterMarks object TSynGutterMarks
Width = 24 Width = 24
MouseActions = <> MouseActions = <>
end end
object TSynGutterLineNumber object TSynGutterLineNumber
Width = 17 Width = 19
MouseActions = <> MouseActions = <>
MarkupInfo.Background = clBtnFace MarkupInfo.Background = clBtnFace
MarkupInfo.Foreground = clNone MarkupInfo.Foreground = clNone
@ -784,17 +783,19 @@ object MakeResStrDialog: TMakeResStrDialog
end end
object StringConstGroupBox: TGroupBox object StringConstGroupBox: TGroupBox
Left = 0 Left = 0
Height = 147 Height = 121
Top = 104 Top = 140
Width = 637 Width = 637
Align = alClient Align = alClient
Anchors = [akLeft, akRight]
Caption = 'StringConstGroupBox' Caption = 'StringConstGroupBox'
ClientHeight = 130 ClientHeight = 101
ClientWidth = 633 ClientWidth = 633
TabOrder = 1 Constraints.MinHeight = 80
TabOrder = 2
inline StringConstSynEdit: TSynEdit inline StringConstSynEdit: TSynEdit
Left = 6 Left = 6
Height = 118 Height = 89
Top = 6 Top = 6
Width = 621 Width = 621
Align = alClient Align = alClient
@ -809,7 +810,7 @@ object MakeResStrDialog: TMakeResStrDialog
TabOrder = 0 TabOrder = 0
BookMarkOptions.Xoffset = -18 BookMarkOptions.Xoffset = -18
Gutter.Visible = False Gutter.Visible = False
Gutter.Width = 57 Gutter.Width = 59
Gutter.MouseActions = < Gutter.MouseActions = <
item item
ClickCount = ccAny ClickCount = ccAny
@ -1235,13 +1236,14 @@ object MakeResStrDialog: TMakeResStrDialog
MouseLinkColor.Foreground = clBlue MouseLinkColor.Foreground = clBlue
LineHighlightColor.Background = clNone LineHighlightColor.Background = clNone
LineHighlightColor.Foreground = clNone LineHighlightColor.Foreground = clNone
WantTabs = False
inline TSynGutterPartList inline TSynGutterPartList
object TSynGutterMarks object TSynGutterMarks
Width = 24 Width = 24
MouseActions = <> MouseActions = <>
end end
object TSynGutterLineNumber object TSynGutterLineNumber
Width = 17 Width = 19
MouseActions = <> MouseActions = <>
MarkupInfo.Background = clBtnFace MarkupInfo.Background = clBtnFace
MarkupInfo.Foreground = clNone MarkupInfo.Foreground = clNone
@ -1320,76 +1322,31 @@ object MakeResStrDialog: TMakeResStrDialog
Cursor = crVSplit Cursor = crVSplit
Left = 0 Left = 0
Height = 5 Height = 5
Top = 99 Top = 135
Width = 637 Width = 637
Align = alTop Align = alTop
AutoSnap = False
ResizeAnchor = akTop ResizeAnchor = akTop
end end
end end
object BtnPanel: TPanel object ButtonPanel1: TButtonPanel
Left = 0 Left = 6
Height = 40 Height = 26
Top = 511 Top = 503
Width = 649 Width = 637
Align = alBottom OKButton.Name = 'OKButton'
AutoSize = True OKButton.DefaultCaption = True
BevelOuter = bvNone OKButton.OnClick = OkButtonClick
ClientHeight = 40 HelpButton.Name = 'HelpButton'
ClientWidth = 649 HelpButton.DefaultCaption = True
HelpButton.OnClick = HelpButtonClick
CloseButton.Name = 'CloseButton'
CloseButton.DefaultCaption = True
CancelButton.Name = 'CancelButton'
CancelButton.DefaultCaption = True
TabOrder = 2 TabOrder = 2
object OKButton: TBitBtn ShowButtons = [pbOK, pbCancel, pbHelp]
AnchorSideBottom.Side = asrBottom ShowBevel = False
Left = 487
Height = 28
Top = 6
Width = 75
Align = alRight
AutoSize = True
BorderSpacing.Around = 6
Caption = '&OK'
Constraints.MinHeight = 25
Constraints.MinWidth = 75
Default = True
Kind = bkOK
ModalResult = 1
OnClick = OkButtonClick
TabOrder = 0
end
object CancelButton: TBitBtn
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 568
Height = 28
Top = 6
Width = 75
Align = alRight
AutoSize = True
BorderSpacing.Around = 6
Cancel = True
Caption = 'Cancel'
Constraints.MinHeight = 25
Constraints.MinWidth = 75
Kind = bkCancel
ModalResult = 2
OnClick = CancelButtonClick
TabOrder = 1
end
object HelpButton: TBitBtn
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 28
Top = 6
Width = 75
Align = alLeft
AutoSize = True
BorderSpacing.Around = 6
Caption = '&Help'
Constraints.MinHeight = 25
Constraints.MinWidth = 75
Kind = bkHelp
OnClick = HelpButtonClick
TabOrder = 2
end
end end
object SynPasSyn: TSynPasSyn object SynPasSyn: TSynPasSyn
Enabled = False Enabled = False

View File

@ -40,7 +40,7 @@ interface
uses uses
Classes, SysUtils, LCLProc, Forms, Controls, Buttons, StdCtrls, Classes, SysUtils, LCLProc, Forms, Controls, Buttons, StdCtrls,
Dialogs, ExtCtrls, IDEWindowIntf, Dialogs, ExtCtrls, ButtonPanel, IDEWindowIntf,
SynHighlighterPas, SynEdit, SynHighlighterPas, SynEdit,
CodeToolManager, CodeToolsStructs, CodeCache, CodeToolManager, CodeToolsStructs, CodeCache,
IDEHelpIntf, IDEDialogs, IDEHelpIntf, IDEDialogs,
@ -52,6 +52,7 @@ type
{ TMakeResStrDialog } { TMakeResStrDialog }
TMakeResStrDialog = class(TForm) TMakeResStrDialog = class(TForm)
ButtonPanel1: TButtonPanel;
CustomIdentifierCheckBox: TCheckBox; CustomIdentifierCheckBox: TCheckBox;
IdentifierGroupBox: TGroupBox; IdentifierGroupBox: TGroupBox;
IdentifierEdit: TEdit; IdentifierEdit: TEdit;
@ -63,7 +64,6 @@ type
// options // options
ConversionGroupBox: TGroupBox; ConversionGroupBox: TGroupBox;
CodePanel: TPanel; CodePanel: TPanel;
BtnPanel: TPanel;
// resourcestring section // resourcestring section
ResStrSectionLabel: TLabel; ResStrSectionLabel: TLabel;
ResStrSectionComboBox: TComboBox; ResStrSectionComboBox: TComboBox;
@ -84,14 +84,8 @@ type
// highlighter // highlighter
SynPasSyn: TSynPasSyn; SynPasSyn: TSynPasSyn;
// ok+cancel buttons
OkButton: TBitBtn;
CancelButton: TBitBtn;
HelpButton: TBitBtn;
procedure CancelButtonClick(Sender: TObject);
procedure CustomIdentifierCheckBoxClick(Sender: TObject); procedure CustomIdentifierCheckBoxClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure HelpButtonClick(Sender: TObject); procedure HelpButtonClick(Sender: TObject);
procedure IdentLengthComboBoxChange(Sender: TObject); procedure IdentLengthComboBoxChange(Sender: TObject);
procedure IdentPrefixComboBoxChange(Sender: TObject); procedure IdentPrefixComboBoxChange(Sender: TObject);
@ -196,21 +190,11 @@ end;
{ TMakeResStrDialog } { TMakeResStrDialog }
procedure TMakeResStrDialog.CancelButtonClick(Sender: TObject);
begin
ModalResult:=mrCancel;
end;
procedure TMakeResStrDialog.CustomIdentifierCheckBoxClick(Sender: TObject); procedure TMakeResStrDialog.CustomIdentifierCheckBoxClick(Sender: TObject);
begin begin
UpdateIdentifier; UpdateIdentifier;
end; end;
procedure TMakeResStrDialog.FormCreate(Sender: TObject);
begin
ActiveControl:=OkButton;
end;
procedure TMakeResStrDialog.HelpButtonClick(Sender: TObject); procedure TMakeResStrDialog.HelpButtonClick(Sender: TObject);
begin begin
LazarusHelp.ShowHelpForIDEControl(Self); LazarusHelp.ShowHelpForIDEControl(Self);
@ -291,9 +275,9 @@ begin
StringConstGroupBox.Caption:=lisMakeResStrStringConstantInSource; StringConstGroupBox.Caption:=lisMakeResStrStringConstantInSource;
// OK, Cancel, Help buttons // OK, Cancel, Help buttons
OkButton.Caption:=lisMenuOk; ButtonPanel1.OkButton.Caption:=lisMenuOk;
CancelButton.Caption:=lisCancel; ButtonPanel1.CancelButton.Caption:=lisCancel;
HelpButton.Caption:=lisMenuHelp; ButtonPanel1.HelpButton.Caption:=lisMenuHelp;
end; end;
constructor TMakeResStrDialog.Create(TheOwner: TComponent); constructor TMakeResStrDialog.Create(TheOwner: TComponent);