Packager: Use ButtonPanel in AddToPackage dialog. Issue #28131, patch from Alexey Torgashin.

git-svn-id: trunk@49109 -
This commit is contained in:
juha 2015-05-19 17:13:37 +00:00
parent 8fd3337105
commit 6412104839
3 changed files with 70 additions and 165 deletions

View File

@ -4291,6 +4291,7 @@ resourcestring
lisA2PUnitName = 'Unit Name:';
lisA2PShortenOrExpandFilename = 'Shorten or expand filename';
lisA2PSaveFileDialog = 'Save file dialog';
lisA2PIconAndSize = 'Icon (maximum 24x24):';
lisMoveSelectedUp = 'Move selected item up (Ctrl+Up)';
lisMoveSelectedDown = 'Move selected item down (Ctrl+Down)';

View File

@ -14,139 +14,28 @@ object AddToPackageDlg: TAddToPackageDlg
OnKeyDown = AddToPackageDlgKeyDown
Position = poScreenCenter
LCLVersion = '1.5'
object AddToPackageBtnPanel: TPanel
Left = 0
Height = 41
Top = 316
Width = 658
Align = alBottom
AutoSize = True
BevelOuter = bvNone
ClientHeight = 41
ClientWidth = 658
TabOrder = 0
object OkButton: TBitBtn
Left = 437
Height = 29
Top = 6
Width = 94
Align = alRight
AutoSize = True
BorderSpacing.Around = 6
Caption = 'OkButton'
Constraints.MinWidth = 75
Enabled = False
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00317A360A2D753207FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF003985400A37833DFF317B37FB2E763307FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF004292490A408E47FF54A35CFF4F9F57FF327C38FE2E773408FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF004B9E530A499A51FF5BAC64FF77CA82FF74C87EFF51A059FF337D39FE2F78
3508FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0053A9
5C0A51A65AFF63B56DFF7ECE89FF7BCC87FF76CA81FF76C981FF52A25AFF347E
3AFE30793508FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005AB4650959B0
63FF6BBD76FF84D290FF7AC985FF60B26AFF63B46DFF78C983FF78CB82FF53A3
5CFF347F3AFD317A3608FFFFFF00FFFFFF00FFFFFF00FFFFFF005EB969465BB5
66E479C986FF80CE8DFF51A65AFC4DA1566F499C518B5CAD67FF7CCC86FF79CB
85FF54A45DFF35803BFC317B3708FFFFFF00FFFFFF00FFFFFF00FFFFFF005FBA
6A3C5CB666E66DC079FF55AC5F6FFFFFFF00FFFFFF004A9D52915EAE68FF7DCD
89FF7CCD87FF56A55FFF36813CFC327C3808FFFFFF00FFFFFF00FFFFFF00FFFF
FF005FBB6A435CB76765FFFFFF00FFFFFF00FFFFFF00FFFFFF004B9E53915FAF
69FF7FCE8AFF7ECE89FF57A660FF37823DFC337D3908FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004B9F
549160B06AFF81CF8DFF7FCF8BFF58A761FF398540FF347E3A08FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF004CA0559162B26CFF82D18FFF7AC885FF57A660FF38843F7BFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF004DA1569163B36DFF5FAF69FF41914979FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF004EA257914A9D527FFFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
}
TabOrder = 0
end
object CancelButton: TBitBtn
AnchorSideLeft.Side = asrBottom
Left = 537
Height = 29
Top = 6
Width = 115
Align = alRight
AutoSize = True
BorderSpacing.Around = 6
Caption = 'CancelButton'
Constraints.MinWidth = 75
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF003F3DED413B38EB08FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00211FE3081E1CE241FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF004A47F0414F4CF2FF403EEDFD3C39EB08FFFFFF00FFFFFF00FFFFFF00FFFF
FF002725E5082422E4FC312FEAFF1F1DE241FFFFFF00FFFFFF00FFFFFF005451
F3415856F5FF6361FAFF5855F6FF413FEDFC3D3AEC08FFFFFF00FFFFFF00302D
E7082C2AE6FC413FF1FF4C4AF6FF312FEAFF1F1DE241FFFFFF00FFFFFF005956
F52B5B58F6FF6562FAFF7170FFFF5956F6FF4240EEFC3E3BEC083937EB083532
E9FC4745F2FF6362FFFF4A48F4FF2F2DE9FF2220E32BFFFFFF00FFFFFF00FFFF
FF005A57F52B5B59F6FF6663FAFF7471FFFF5A58F6FF4341EEFC3E3CECFD504D
F4FF6867FFFF504EF5FF3634EBFF2A27E52BFFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF005B58F62B5C5AF6FF6764FAFF7472FFFF7370FFFF706EFFFF6E6C
FFFF5755F7FF3F3DEEFF3230E82BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF005C59F62B5D5BF7FF7976FFFF5956FFFF5754FFFF7270
FFFF4846F0FF3C39EB2BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00615EF8085D5AF6FD7D79FFFF5E5BFFFF5B58FFFF7674
FFFF4643EFFD413FED08FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF006967FB086663F9FC706DFBFF807EFFFF7E7BFFFF7C79FFFF7977
FFFF5E5CF7FF4744EFFC4240EE08FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00716EFD086E6BFCFC7774FDFF8682FFFF7673FCFF6462F8FF605DF7FF6D6A
FAFF7B79FFFF605DF7FF4845EFFC4341EE08FFFFFF00FFFFFF00FFFFFF007673
FF087471FEFD7D7AFEFF8A87FFFF7C79FDFF6C69FBFF6361F92B5F5CF72B615E
F8FF6E6CFAFF7D7AFFFF615FF7FF4946F0FC4441EE05FFFFFF00FFFFFF007774
FF1F7A77FFFF817EFFFF817EFEFF7471FDFF6C69FB2BFFFFFF00FFFFFF00605D
F72B625FF8FF6F6DFBFF7E7CFFFF625FF8FF4A47F06F4542EE02FFFFFF00FFFF
FF007774FF1F7A77FFFF7976FEFF726FFD2BFFFFFF00FFFFFF00FFFFFF00FFFF
FF00615EF82B6461F8FF6A68F9FF5451F3A84F4DF229FFFFFF00FFFFFF00FFFF
FF00FFFFFF007774FF1F7774FF2BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00625FF82B5D5BF76F5956F53EFFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF006360F80AFFFFFF00FFFFFF00FFFFFF00
}
ModalResult = 2
TabOrder = 1
end
end
object PageControl1: TPageControl
Left = 0
Height = 316
Height = 319
Top = 0
Width = 658
ActivePage = NewComponentPage
Align = alClient
TabIndex = 0
TabOrder = 1
TabOrder = 0
OnChange = PageControl1Change
object NewComponentPage: TTabSheet
Caption = 'New Component'
ClientHeight = 289
ClientWidth = 654
ClientHeight = 291
ClientWidth = 650
OnResize = NewComponentPageResize
object AncestorTypeLabel: TLabel
AnchorSideTop.Control = AncestorComboBox
AnchorSideTop.Side = asrCenter
Left = 5
Height = 17
Top = 9
Width = 108
Height = 15
Top = 10
Width = 101
Caption = 'AncestorTypeLabel'
ParentColor = False
end
@ -154,9 +43,9 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Control = ClassNameEdit
AnchorSideTop.Side = asrCenter
Left = 5
Height = 17
Top = 38
Width = 94
Height = 15
Top = 39
Width = 87
Caption = 'ClassNameLabel'
ParentColor = False
end
@ -164,9 +53,9 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Control = PalettePageCombobox
AnchorSideTop.Side = asrCenter
Left = 5
Height = 17
Top = 67
Width = 99
Height = 15
Top = 68
Width = 90
Caption = 'PalettePageLabel'
ParentColor = False
end
@ -174,9 +63,9 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Control = ComponentUnitFileEdit
AnchorSideTop.Side = asrCenter
Left = 5
Height = 17
Top = 96
Width = 141
Height = 15
Top = 97
Width = 132
Caption = 'ComponentUnitFileLabel'
ParentColor = False
end
@ -184,9 +73,9 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Control = ComponentUnitNameEdit
AnchorSideTop.Side = asrCenter
Left = 5
Height = 17
Top = 125
Width = 156
Height = 15
Top = 126
Width = 146
Caption = 'ComponentUnitNameLabel'
ParentColor = False
end
@ -198,7 +87,7 @@ object AddToPackageDlg: TAddToPackageDlg
Top = 6
Width = 200
BorderSpacing.Top = 6
ItemHeight = 17
ItemHeight = 15
OnChange = AncestorComboBoxChange
OnCloseUp = AncestorComboBoxCloseUp
TabOrder = 0
@ -210,9 +99,9 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Control = AncestorComboBox
AnchorSideTop.Side = asrCenter
Left = 390
Height = 22
Top = 6
Width = 176
Height = 19
Top = 8
Width = 162
BorderSpacing.Left = 6
Caption = 'AncestorShowAllCheckBox'
Checked = True
@ -247,7 +136,7 @@ object AddToPackageDlg: TAddToPackageDlg
Top = 64
Width = 200
BorderSpacing.Top = 6
ItemHeight = 17
ItemHeight = 15
TabOrder = 3
Text = 'PalettePageCombobox'
end
@ -259,7 +148,7 @@ object AddToPackageDlg: TAddToPackageDlg
Left = 184
Height = 23
Top = 93
Width = 416
Width = 383
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
TabOrder = 4
@ -270,11 +159,11 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Control = ComponentUnitFileEdit
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = ComponentUnitFileShortenButton
Left = 600
Height = 29
Left = 567
Height = 25
Hint = 'Save file dialog'
Top = 90
Width = 22
Top = 92
Width = 35
Anchors = [akTop, akRight]
AutoSize = True
Caption = '...'
@ -289,11 +178,11 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = NewComponentPage
AnchorSideRight.Side = asrBottom
Left = 622
Height = 29
Left = 602
Height = 25
Hint = 'Shorten or expand filename'
Top = 90
Width = 26
Top = 92
Width = 42
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Right = 6
@ -324,9 +213,9 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Control = ComponentIconSpeedButton
AnchorSideTop.Side = asrCenter
Left = 5
Height = 17
Top = 156
Width = 123
Height = 15
Top = 157
Width = 115
Caption = 'ComponentIconLabel'
ParentColor = False
end
@ -383,7 +272,7 @@ object AddToPackageDlg: TAddToPackageDlg
AutoComplete = True
AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
Constraints.MinWidth = 200
ItemHeight = 17
ItemHeight = 15
OnChange = DependPkgNameComboBoxChange
TabOrder = 0
Text = 'DependPkgNameComboBox'
@ -506,4 +395,21 @@ object AddToPackageDlg: TAddToPackageDlg
end
end
end
object ButtonPanel1: TButtonPanel
Left = 6
Height = 26
Top = 325
Width = 646
OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True
HelpButton.Name = 'HelpButton'
HelpButton.DefaultCaption = True
CloseButton.Name = 'CloseButton'
CloseButton.DefaultCaption = True
CancelButton.Name = 'CancelButton'
CancelButton.DefaultCaption = True
TabOrder = 1
ShowButtons = [pbOK, pbCancel]
ShowBevel = False
end
end

View File

@ -31,7 +31,7 @@ interface
uses
Math, Classes, SysUtils, LCLProc, LCLType, Forms, Controls, Buttons, ExtDlgs,
StdCtrls, ExtCtrls, Dialogs, FileUtil, ComCtrls, AVL_Tree,
StdCtrls, ExtCtrls, Dialogs, FileUtil, ComCtrls, ButtonPanel, AVL_Tree,
// IDEIntf
NewItemIntf, ProjectIntf, PackageIntf, FormEditingIntf, IDEWindowIntf, IDEDialogs,
// IDE
@ -83,7 +83,7 @@ type
AncestorComboBox: TComboBox;
AncestorShowAllCheckBox: TCheckBox;
AncestorTypeLabel: TLabel;
CancelButton: TBitBtn;
ButtonPanel1: TButtonPanel;
ClassNameEdit: TEdit;
ClassNameLabel: TLabel;
ComponentIconLabel: TLabel;
@ -107,8 +107,6 @@ type
NewComponentPage: TTabSheet;
NewDepPanel: TPanel;
NewRequirementPage: TTabSheet;
OkButton: TBitBtn;
AddToPackageBtnPanel: TPanel;
PageControl1: TPageControl;
PalettePageCombobox: TComboBox;
PalettePageLabel: TLabel;
@ -658,7 +656,7 @@ begin
LastParams:=CurParams;
inc(i);
end;
OkButton.Enabled:=FilesListView.SelCount>0;
ButtonPanel1.OKButton.Enabled:=FilesListView.SelCount>0;
ok:=LastParams<>nil;
finally
if not ok then Params.Clear;
@ -738,7 +736,7 @@ begin
FilesDeleteButton.Enabled:=FilesListView.SelCount>0;
Result:=FilesListView.Items.Count>0;
FilesShortenButton.Enabled:=Result;
OkButton.Enabled:=FilesListView.SelCount>0;
ButtonPanel1.OKButton.Enabled:=FilesListView.SelCount>0;
end;
procedure TAddToPackageDlg.FormCreate(Sender: TObject);
@ -968,31 +966,31 @@ end;
function TAddToPackageDlg.CheckNewCompOk: Boolean;
begin
Result:=(AncestorComboBox.Text<>'') and (ClassNameEdit.Text<>'') and (ComponentUnitNameEdit.Text<>'');
OkButton.Enabled:=Result;
ButtonPanel1.OKButton.Enabled:=Result;
end;
function TAddToPackageDlg.CheckNewReqOk: Boolean;
begin
Result:=(DependPkgNameComboBox.Text<>'');
OkButton.Enabled:=Result;
ButtonPanel1.OKButton.Enabled:=Result;
end;
procedure TAddToPackageDlg.PageControl1Change(Sender: TObject);
begin
case PageControl1.PageIndex of
0: begin // New Component
OkButton.Caption:=lisA2PCreateNewComp;
OkButton.OnClick:=@NewComponentButtonClick;
ButtonPanel1.OkButton.Caption:=lisA2PCreateNewComp;
ButtonPanel1.OkButton.OnClick:=@NewComponentButtonClick;
CheckNewCompOk;
end;
1: begin // New Requirement
OkButton.Caption:=lisA2PCreateNewReq;
OkButton.OnClick:=@NewDependButtonClick;
ButtonPanel1.OkButton.Caption:=lisA2PCreateNewReq;
ButtonPanel1.OkButton.OnClick:=@NewDependButtonClick;
CheckNewReqOk;
end;
2: begin // Add Files
OkButton.Caption:=lisA2PAddFilesToPackage;
OkButton.OnClick:=@FilesAddButtonClick;
ButtonPanel1.OkButton.Caption:=lisA2PAddFilesToPackage;
ButtonPanel1.OkButton.OnClick:=@FilesAddButtonClick;
CheckFilesButtonsOk;
end;
end;
@ -1004,7 +1002,7 @@ begin
NewComponentPage.Caption:=lisA2PNewComponent;
NewRequirementPage.Caption:=lisProjAddNewRequirement;
AddFilesPage.Caption:=lisA2PAddFiles;
CancelButton.Caption:=lisCancel;
ButtonPanel1.CancelButton.Caption:=lisCancel;
PageControl1.PageIndex:=0;
PageControl1Change(PageControl1);
@ -1037,7 +1035,7 @@ begin
end;
ComponentUnitNameLabel.Caption:=lisA2PUnitName;
ComponentUnitNameEdit.Text:='';
ComponentIconLabel.Caption:='Icon (maximum 24x24)';
ComponentIconLabel.Caption:=lisA2PIconAndSize;
ComponentIconSpeedButton.Width:=ComponentPaletteBtnWidth;
ComponentIconSpeedButton.Height:=ComponentPaletteBtnHeight;
end;
@ -1116,7 +1114,7 @@ begin
PalettePageCombobox.Text:=PkgComponent.RealPage.PageName;
// filename
AutoCompleteNewComponentUnitName;
OkButton.Enabled := True;
ButtonPanel1.OkButton.Enabled:=True;
end;
procedure TAddToPackageDlg.AutoCompleteNewComponentUnitName;