Packager: Improve the AddToPackage dialog. Issue #28638, patch from Alexey Torgashin.

git-svn-id: trunk@49843 -
This commit is contained in:
juha 2015-09-17 09:25:32 +00:00
parent df04f44051
commit e3b220009f
2 changed files with 85 additions and 66 deletions

View File

@ -17,7 +17,7 @@ object AddToPackageDlg: TAddToPackageDlg
LCLVersion = '1.5' LCLVersion = '1.5'
object PageControl1: TPageControl object PageControl1: TPageControl
Left = 0 Left = 0
Height = 319 Height = 316
Top = 0 Top = 0
Width = 658 Width = 658
ActivePage = NewComponentPage ActivePage = NewComponentPage
@ -27,16 +27,16 @@ object AddToPackageDlg: TAddToPackageDlg
OnChange = PageControl1Change OnChange = PageControl1Change
object NewComponentPage: TTabSheet object NewComponentPage: TTabSheet
Caption = 'New Component' Caption = 'New Component'
ClientHeight = 291 ClientHeight = 285
ClientWidth = 650 ClientWidth = 654
OnResize = NewComponentPageResize OnResize = NewComponentPageResize
object AncestorTypeLabel: TLabel object AncestorTypeLabel: TLabel
AnchorSideTop.Control = AncestorComboBox AnchorSideTop.Control = AncestorComboBox
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 5 Left = 5
Height = 15 Height = 17
Top = 10 Top = 12
Width = 101 Width = 130
Caption = 'AncestorTypeLabel' Caption = 'AncestorTypeLabel'
ParentColor = False ParentColor = False
end end
@ -44,9 +44,9 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Control = ClassNameEdit AnchorSideTop.Control = ClassNameEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 5 Left = 5
Height = 15 Height = 17
Top = 39 Top = 46
Width = 87 Width = 112
Caption = 'ClassNameLabel' Caption = 'ClassNameLabel'
ParentColor = False ParentColor = False
end end
@ -54,9 +54,9 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Control = PalettePageCombobox AnchorSideTop.Control = PalettePageCombobox
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 5 Left = 5
Height = 15 Height = 17
Top = 68 Top = 80
Width = 90 Width = 119
Caption = 'PalettePageLabel' Caption = 'PalettePageLabel'
ParentColor = False ParentColor = False
end end
@ -64,9 +64,9 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Control = ComponentUnitFileEdit AnchorSideTop.Control = ComponentUnitFileEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 5 Left = 5
Height = 15 Height = 17
Top = 97 Top = 114
Width = 132 Width = 168
Caption = 'ComponentUnitFileLabel' Caption = 'ComponentUnitFileLabel'
ParentColor = False ParentColor = False
end end
@ -74,9 +74,9 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Control = ComponentUnitNameEdit AnchorSideTop.Control = ComponentUnitNameEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 5 Left = 5
Height = 15 Height = 17
Top = 126 Top = 147
Width = 146 Width = 184
Caption = 'ComponentUnitNameLabel' Caption = 'ComponentUnitNameLabel'
ParentColor = False ParentColor = False
end end
@ -84,11 +84,11 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = NewComponentPage AnchorSideTop.Control = NewComponentPage
Left = 184 Left = 184
Height = 23 Height = 29
Top = 6 Top = 6
Width = 200 Width = 200
BorderSpacing.Top = 6 BorderSpacing.Top = 6
ItemHeight = 15 ItemHeight = 0
OnChange = AncestorComboBoxChange OnChange = AncestorComboBoxChange
OnCloseUp = AncestorComboBoxCloseUp OnCloseUp = AncestorComboBoxCloseUp
TabOrder = 0 TabOrder = 0
@ -100,9 +100,9 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Control = AncestorComboBox AnchorSideTop.Control = AncestorComboBox
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 390 Left = 390
Height = 19 Height = 24
Top = 8 Top = 8
Width = 162 Width = 207
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'AncestorShowAllCheckBox' Caption = 'AncestorShowAllCheckBox'
Checked = True Checked = True
@ -117,8 +117,8 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideRight.Control = AncestorComboBox AnchorSideRight.Control = AncestorComboBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 184 Left = 184
Height = 23 Height = 27
Top = 35 Top = 41
Width = 200 Width = 200
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -133,11 +133,11 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideRight.Control = AncestorComboBox AnchorSideRight.Control = AncestorComboBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 184 Left = 184
Height = 23 Height = 29
Top = 64 Top = 74
Width = 200 Width = 200
BorderSpacing.Top = 6 BorderSpacing.Top = 6
ItemHeight = 15 ItemHeight = 0
TabOrder = 3 TabOrder = 3
Text = 'PalettePageCombobox' Text = 'PalettePageCombobox'
end end
@ -147,9 +147,9 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ComponentUnitFileBrowseButton AnchorSideRight.Control = ComponentUnitFileBrowseButton
Left = 184 Left = 184
Height = 23 Height = 27
Top = 93 Top = 109
Width = 383 Width = 364
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
TabOrder = 4 TabOrder = 4
@ -160,14 +160,15 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Control = ComponentUnitFileEdit AnchorSideTop.Control = ComponentUnitFileEdit
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = ComponentUnitFileShortenButton AnchorSideRight.Control = ComponentUnitFileShortenButton
Left = 567 Left = 548
Height = 25 Height = 29
Hint = 'Save file dialog' Hint = 'Save file dialog'
Top = 92 Top = 108
Width = 35 Width = 50
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
AutoSize = True AutoSize = True
Caption = '...' Caption = '...'
Constraints.MinWidth = 50
OnClick = ComponentUnitFileBrowseButtonClick OnClick = ComponentUnitFileBrowseButtonClick
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
@ -179,15 +180,16 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = NewComponentPage AnchorSideRight.Control = NewComponentPage
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 602 Left = 598
Height = 25 Height = 29
Hint = 'Shorten or expand filename' Hint = 'Shorten or expand filename'
Top = 92 Top = 108
Width = 42 Width = 50
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = '<>' Caption = '<>'
Constraints.MinWidth = 50
OnClick = ComponentUnitFileShortenButtonClick OnClick = ComponentUnitFileShortenButtonClick
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
@ -200,8 +202,8 @@ object AddToPackageDlg: TAddToPackageDlg
AnchorSideRight.Control = AncestorComboBox AnchorSideRight.Control = AncestorComboBox
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 184 Left = 184
Height = 23 Height = 27
Top = 122 Top = 142
Width = 200 Width = 200
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -211,32 +213,46 @@ object AddToPackageDlg: TAddToPackageDlg
end end
object ComponentIconLabel: TLabel object ComponentIconLabel: TLabel
AnchorSideLeft.Control = ComponentUnitNameLabel AnchorSideLeft.Control = ComponentUnitNameLabel
AnchorSideTop.Control = ComponentIconSpeedButton AnchorSideTop.Control = ComponentIconBitBtn
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 5 Left = 5
Height = 15 Height = 17
Top = 157 Top = 183
Width = 115 Width = 144
Caption = 'ComponentIconLabel' Caption = 'ComponentIconLabel'
ParentColor = False ParentColor = False
end end
object ComponentIconSpeedButton: TSpeedButton object ComponentIconBitBtn: TBitBtn
AnchorSideLeft.Control = ComponentUnitNameEdit AnchorSideLeft.Control = ComponentUnitNameEdit
AnchorSideTop.Control = ComponentUnitNameEdit AnchorSideTop.Control = ComponentUnitNameEdit
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 184 Left = 184
Height = 26 Height = 32
Top = 151 Top = 175
Width = 28 Width = 50
BorderSpacing.Top = 6 BorderSpacing.Top = 6
OnClick = ComponentIconSpeedButtonClick Constraints.MinWidth = 50
ShowHint = True GlyphShowMode = gsmAlways
ParentShowHint = False OnClick = ComponentIconBitBtnClick
TabOrder = 8
end
object LabelIconInfo: TLabel
AnchorSideLeft.Control = ComponentIconBitBtn
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ComponentIconLabel
AnchorSideTop.Side = asrCenter
Left = 240
Height = 17
Top = 183
Width = 6
BorderSpacing.Around = 6
Caption = '?'
ParentColor = False
end end
end end
object NewRequirementPage: TTabSheet object NewRequirementPage: TTabSheet
Caption = 'New Requirement' Caption = 'New Requirement'
ClientHeight = 289 ClientHeight = 285
ClientWidth = 654 ClientWidth = 654
object NewDepPanel: TPanel object NewDepPanel: TPanel
Left = 0 Left = 0
@ -273,7 +289,7 @@ object AddToPackageDlg: TAddToPackageDlg
AutoComplete = True AutoComplete = True
AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending] AutoCompleteText = [cbactEnabled, cbactEndOfLineComplete, cbactSearchAscending]
Constraints.MinWidth = 200 Constraints.MinWidth = 200
ItemHeight = 15 ItemHeight = 0
OnChange = DependPkgNameComboBoxChange OnChange = DependPkgNameComboBoxChange
TabOrder = 0 TabOrder = 0
Text = 'DependPkgNameComboBox' Text = 'DependPkgNameComboBox'
@ -322,7 +338,7 @@ object AddToPackageDlg: TAddToPackageDlg
end end
object AddFilesPage: TTabSheet object AddFilesPage: TTabSheet
Caption = 'Add Files' Caption = 'Add Files'
ClientHeight = 289 ClientHeight = 285
ClientWidth = 654 ClientWidth = 654
object FilesListView: TListView object FilesListView: TListView
Left = 6 Left = 6
@ -398,8 +414,8 @@ object AddToPackageDlg: TAddToPackageDlg
end end
object ButtonPanel1: TButtonPanel object ButtonPanel1: TButtonPanel
Left = 6 Left = 6
Height = 26 Height = 29
Top = 325 Top = 322
Width = 646 Width = 646
OKButton.Name = 'OKButton' OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True OKButton.DefaultCaption = True

View File

@ -87,7 +87,7 @@ type
ClassNameEdit: TEdit; ClassNameEdit: TEdit;
ClassNameLabel: TLabel; ClassNameLabel: TLabel;
ComponentIconLabel: TLabel; ComponentIconLabel: TLabel;
ComponentIconSpeedButton: TSpeedButton; ComponentIconBitBtn: TBitBtn;
ComponentUnitFileBrowseButton: TButton; ComponentUnitFileBrowseButton: TButton;
ComponentUnitFileEdit: TEdit; ComponentUnitFileEdit: TEdit;
ComponentUnitFileLabel: TLabel; ComponentUnitFileLabel: TLabel;
@ -104,6 +104,7 @@ type
FilesDirButton: TBitBtn; FilesDirButton: TBitBtn;
FilesListView: TListView; FilesListView: TListView;
FilesShortenButton: TBitBtn; FilesShortenButton: TBitBtn;
LabelIconInfo: TLabel;
NewComponentPage: TTabSheet; NewComponentPage: TTabSheet;
NewDepPanel: TPanel; NewDepPanel: TPanel;
NewRequirementPage: TTabSheet; NewRequirementPage: TTabSheet;
@ -118,7 +119,7 @@ type
procedure CancelAddFileButtonClick(Sender: TObject); procedure CancelAddFileButtonClick(Sender: TObject);
procedure CancelAddUnitButtonClick(Sender: TObject); procedure CancelAddUnitButtonClick(Sender: TObject);
procedure ClassNameEditChange(Sender: TObject); procedure ClassNameEditChange(Sender: TObject);
procedure ComponentIconSpeedButtonClick(Sender: TObject); procedure ComponentIconBitBtnClick(Sender: TObject);
procedure ComponentUnitFileBrowseButtonClick(Sender: TObject); procedure ComponentUnitFileBrowseButtonClick(Sender: TObject);
procedure ComponentUnitFileShortenButtonClick(Sender: TObject); procedure ComponentUnitFileShortenButtonClick(Sender: TObject);
procedure ComponentUnitNameEditChange(Sender: TObject); procedure ComponentUnitNameEditChange(Sender: TObject);
@ -518,7 +519,7 @@ begin
CheckNewCompOk; CheckNewCompOk;
end; end;
procedure TAddToPackageDlg.ComponentIconSpeedButtonClick(Sender: TObject); procedure TAddToPackageDlg.ComponentIconBitBtnClick(Sender: TObject);
var var
Dlg: TOpenPictureDialog; Dlg: TOpenPictureDialog;
begin begin
@ -1046,8 +1047,8 @@ begin
ComponentUnitNameLabel.Caption:=lisA2PUnitName; ComponentUnitNameLabel.Caption:=lisA2PUnitName;
ComponentUnitNameEdit.Text:=''; ComponentUnitNameEdit.Text:='';
ComponentIconLabel.Caption:=lisA2PIconAndSize; ComponentIconLabel.Caption:=lisA2PIconAndSize;
ComponentIconSpeedButton.Width:=ComponentPaletteBtnWidth; ComponentIconBitBtn.Width:=ComponentPaletteBtnWidth;
ComponentIconSpeedButton.Height:=ComponentPaletteBtnHeight; ComponentIconBitBtn.Height:=ComponentPaletteBtnHeight;
end; end;
procedure TAddToPackageDlg.SetupAddDependencyPage; procedure TAddToPackageDlg.SetupAddDependencyPage;
@ -1089,6 +1090,8 @@ begin
Hint:=lisDeleteSelectedFiles; Hint:=lisDeleteSelectedFiles;
LoadGlyphFromResourceName(HInstance, 'laz_delete'); LoadGlyphFromResourceName(HInstance, 'laz_delete');
end; end;
LabelIconInfo.Caption:=lisNoneClickToChooseOne;
end; end;
procedure TAddToPackageDlg.OnIterateComponentClasses(PkgComponent: TPkgComponent); procedure TAddToPackageDlg.OnIterateComponentClasses(PkgComponent: TPkgComponent);
@ -1205,11 +1208,11 @@ begin
Image:=TImage.Create(nil); Image:=TImage.Create(nil);
try try
Image.Picture.LoadFromFile(AFilename); Image.Picture.LoadFromFile(AFilename);
ComponentIconSpeedButton.Glyph.Assign(Image.Picture.Graphic); ComponentIconBitBtn.Glyph.Assign(Image.Picture.Graphic);
ShortFilename:=AFilename; ShortFilename:=AFilename;
LazPackage.ShortenFilename(ShortFilename,true); LazPackage.ShortenFilename(ShortFilename,true);
with ComponentIconSpeedButton do LabelIconInfo.Caption:= Format('%s (%dx%d)',
Hint:=Format('%s (%dx%d)', [ShortFilename, Glyph.Width, Glyph.Height]); [ShortFilename, ComponentIconBitBtn.Glyph.Width, ComponentIconBitBtn.Glyph.Height]);
FComponentIconFilename:=AFilename; FComponentIconFilename:=AFilename;
finally finally
Image.Free; Image.Free;
@ -1219,9 +1222,9 @@ begin
IDEMessageDialog(lisCCOErrorCaption, IDEMessageDialog(lisCCOErrorCaption,
Format(lisErrorLoadingFile2,[AFilename]) + LineEnding + E.Message, Format(lisErrorLoadingFile2,[AFilename]) + LineEnding + E.Message,
mtError, [mbCancel]); mtError, [mbCancel]);
ComponentIconSpeedButton.Glyph.Clear; ComponentIconBitBtn.Glyph.Clear;
FComponentIconFilename:=''; FComponentIconFilename:='';
ComponentIconSpeedButton.Hint:=lisNoneClickToChooseOne; LabelIconInfo.Caption:=lisNoneClickToChooseOne;
end; end;
end; end;
end; end;