From 1c13bee8666c1be62a247981e1de65967873d79b Mon Sep 17 00:00:00 2001 From: juha Date: Sat, 4 Apr 2015 18:02:08 +0000 Subject: [PATCH] =?UTF-8?q?Improve=20EditorToolbar=20config=20window.=20Is?= =?UTF-8?q?sue=20#27770,=20patch=20from=20Bal=C3=A1zs=20Sz=C3=A9kely.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: trunk@48622 - --- components/editortoolbar/edttbconfigfrm.lfm | 181 +++++++------------- components/editortoolbar/edttbconfigfrm.pas | 41 ++--- 2 files changed, 80 insertions(+), 142 deletions(-) diff --git a/components/editortoolbar/edttbconfigfrm.lfm b/components/editortoolbar/edttbconfigfrm.lfm index 215bc228ba..6fff3f5f07 100644 --- a/components/editortoolbar/edttbconfigfrm.lfm +++ b/components/editortoolbar/edttbconfigfrm.lfm @@ -7,7 +7,7 @@ object EdtTbConfigForm: TEdtTbConfigForm ClientHeight = 457 ClientWidth = 772 Constraints.MinHeight = 375 - Constraints.MinWidth = 450 + Constraints.MinWidth = 500 OnCreate = FormCreate OnDestroy = FormDestroy Position = poScreenCenter @@ -90,126 +90,11 @@ object EdtTbConfigForm: TEdtTbConfigForm ShowHint = True ParentShowHint = False end - object pnlButtons: TPanel - Left = 0 - Height = 42 - Top = 415 - Width = 772 - Align = alBottom - BevelOuter = bvNone - ClientHeight = 42 - ClientWidth = 772 - Color = clGreen - ParentColor = False - TabOrder = 2 - object Bevel1: TBevel - Left = 0 - Height = 2 - Top = 0 - Width = 772 - Align = alTop - end - object btnOK: TButton - AnchorSideRight.Control = btnCancel - AnchorSideBottom.Control = pnlButtons - AnchorSideBottom.Side = asrBottom - Left = 597 - Height = 25 - Top = 11 - Width = 75 - Anchors = [akRight, akBottom] - AutoSize = True - BorderSpacing.Right = 6 - BorderSpacing.Bottom = 6 - BorderSpacing.InnerBorder = 4 - Caption = 'btnOK' - Constraints.MaxHeight = 25 - Constraints.MinHeight = 25 - Constraints.MinWidth = 75 - ModalResult = 1 - OnClick = btnOKClick - TabOrder = 0 - end - object btnCancel: TButton - AnchorSideRight.Control = pnlButtons - AnchorSideRight.Side = asrBottom - AnchorSideBottom.Control = pnlButtons - AnchorSideBottom.Side = asrBottom - Left = 678 - Height = 25 - Top = 11 - Width = 88 - Anchors = [akRight, akBottom] - AutoSize = True - BorderSpacing.Right = 6 - BorderSpacing.Bottom = 6 - BorderSpacing.InnerBorder = 4 - Cancel = True - Caption = 'btnCancel' - Constraints.MaxHeight = 25 - Constraints.MinHeight = 25 - Constraints.MinWidth = 75 - ModalResult = 2 - TabOrder = 1 - end - object btnHelp: TBitBtn - AnchorSideBottom.Control = pnlButtons - AnchorSideBottom.Side = asrBottom - Left = 16 - Height = 25 - Top = 11 - Width = 75 - Anchors = [akLeft, akBottom] - BorderSpacing.Bottom = 6 - Caption = 'Help' - OnClick = btnHelpClick - TabOrder = 2 - end - object cbProfile: TComboBox - AnchorSideLeft.Control = pnlButtons - AnchorSideLeft.Side = asrCenter - AnchorSideBottom.Control = pnlButtons - AnchorSideBottom.Side = asrCenter - Left = 336 - Height = 23 - Top = 9 - Width = 100 - Anchors = [akLeft, akBottom] - BorderSpacing.Bottom = 6 - ItemHeight = 15 - ItemIndex = 0 - Items.Strings = ( - 'All' - 'Design' - 'Debug' - 'HTML' - 'Custom' - '' - ) - OnChange = cbProfileChange - TabOrder = 3 - Text = 'All' - end - object lblProfile: TLabel - AnchorSideTop.Control = cbProfile - AnchorSideTop.Side = asrCenter - AnchorSideRight.Control = cbProfile - Left = 292 - Height = 15 - Top = 13 - Width = 34 - Anchors = [akTop, akRight] - BorderSpacing.Right = 10 - Caption = 'Profile' - ParentColor = False - end - end object TV: TTreeView AnchorSideLeft.Control = FilterEdit AnchorSideTop.Control = FilterEdit AnchorSideTop.Side = asrBottom AnchorSideRight.Control = Splitter1 - AnchorSideBottom.Control = pnlButtons Left = 16 Height = 343 Top = 66 @@ -246,7 +131,6 @@ object EdtTbConfigForm: TEdtTbConfigForm AnchorSideTop.Side = asrCenter AnchorSideRight.Control = lvToolbar AnchorSideRight.Side = asrBottom - AnchorSideBottom.Control = pnlButtons Left = 655 Height = 23 Top = 386 @@ -262,7 +146,7 @@ object EdtTbConfigForm: TEdtTbConfigForm 'Left' ) OnChange = cbPosChange - TabOrder = 3 + TabOrder = 2 Text = 'Top' end object lblpos: TLabel @@ -296,7 +180,6 @@ object EdtTbConfigForm: TEdtTbConfigForm AnchorSideLeft.Control = btnAdd AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = TV - AnchorSideBottom.Control = pnlButtons Left = 443 Height = 312 Top = 66 @@ -321,7 +204,7 @@ object EdtTbConfigForm: TEdtTbConfigForm ReadOnly = True ScrollBars = ssAutoBoth ShowColumnHeaders = False - TabOrder = 5 + TabOrder = 4 ViewStyle = vsReport OnDrawItem = lvToolbarDrawItem OnSelectItem = lvToolbarSelectItem @@ -375,7 +258,7 @@ object EdtTbConfigForm: TEdtTbConfigForm Width = 50 Caption = 'Show' OnClick = btnShowClick - TabOrder = 6 + TabOrder = 5 Visible = False end object btnHide: TButton @@ -385,9 +268,63 @@ object EdtTbConfigForm: TEdtTbConfigForm Width = 50 Caption = 'Hide' OnClick = btnHideClick - TabOrder = 7 + TabOrder = 6 Visible = False end + object pnlButtons: TButtonPanel + Left = 6 + Height = 34 + Top = 417 + Width = 760 + OKButton.Name = 'OKButton' + OKButton.DefaultCaption = True + OKButton.OnClick = OKButtonClick + HelpButton.Name = 'HelpButton' + HelpButton.DefaultCaption = True + HelpButton.OnClick = HelpButtonClick + CloseButton.Name = 'CloseButton' + CloseButton.DefaultCaption = True + CancelButton.Name = 'CancelButton' + CancelButton.DefaultCaption = True + TabOrder = 7 + OnResize = pnlButtonsResize + ShowButtons = [pbOK, pbCancel, pbHelp] + ShowGlyphs = [pbOK, pbCancel, pbHelp] + object cbProfile: TComboBox + AnchorSideLeft.Side = asrCenter + AnchorSideBottom.Side = asrCenter + Left = 336 + Height = 23 + Top = 9 + Width = 100 + Anchors = [akRight, akBottom] + BorderSpacing.Bottom = 6 + ItemHeight = 15 + ItemIndex = 0 + Items.Strings = ( + 'All' + 'Design' + 'Debug' + 'HTML' + 'Custom' + '' + ) + OnChange = cbProfileChange + TabOrder = 4 + Text = 'All' + end + object lblProfile: TLabel + AnchorSideTop.Side = asrCenter + Left = 292 + Height = 15 + Top = 13 + Width = 34 + Anchors = [akLeft, akBottom] + BorderSpacing.Right = 10 + Caption = 'Profile' + ParentColor = False + end + end object puMenuItems: TPopupMenu OnPopup = puMenuItemsPopup left = 421 diff --git a/components/editortoolbar/edttbconfigfrm.pas b/components/editortoolbar/edttbconfigfrm.pas index 60e4892495..2ea459b3f2 100644 --- a/components/editortoolbar/edttbconfigfrm.pas +++ b/components/editortoolbar/edttbconfigfrm.pas @@ -24,7 +24,7 @@ interface uses Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls, - Buttons, StdCtrls, ComCtrls, Menus, MenuIntf, editortoolbar_str, + Buttons, StdCtrls, ComCtrls, Menus, ButtonPanel, MenuIntf, editortoolbar_str, TreeFilterEdit; type @@ -38,13 +38,9 @@ type { TEdtTbConfigForm } TEdtTbConfigForm = class(TForm) - Bevel1: TBevel; - btnHelp: TBitBtn; btnAdd: TSpeedButton; btnMoveDown: TSpeedButton; btnMoveUp: TSpeedButton; - btnOK: TButton; - btnCancel: TButton; btnRemove: TSpeedButton; btnShow: TButton; btnHide: TButton; @@ -61,27 +57,26 @@ type miDebug: TMenuItem; miHTML: TMenuItem; miCustom: TMenuItem; - pnlButtons: TPanel; FilterEdit: TTreeFilterEdit; + pnlButtons: TButtonPanel; puMenuItems: TPopupMenu; sbAddDivider: TSpeedButton; btnClear: TSpeedButton; Splitter1: TSplitter; TV: TTreeView; procedure btnClearClick(Sender: TObject); - procedure btnHelpClick(Sender: TObject); procedure btnShowClick(Sender: TObject); procedure btnHideClick(Sender: TObject); procedure cbPosChange(Sender: TObject); procedure cbProfileChange(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); + procedure HelpButtonClick(Sender: TObject); procedure lbToolbarSelectionChange(Sender: TObject; User: boolean); procedure btnAddClick(Sender: TObject); procedure btnAddDividerClick(Sender: TObject); procedure btnMoveDownClick(Sender: TObject); procedure btnMoveUpClick(Sender: TObject); - procedure btnOKClick(Sender: TObject); procedure btnRemoveClick(Sender: TObject); procedure lvToolbarDrawItem(Sender: TCustomListView; AItem: TListItem; ARect: TRect; AState: TOwnerDrawState); @@ -91,6 +86,8 @@ type procedure miDebugClick(Sender: TObject); procedure miDesignClick(Sender: TObject); procedure miHTMLClick(Sender: TObject); + procedure OKButtonClick(Sender: TObject); + procedure pnlButtonsResize(Sender: TObject); procedure puMenuItemsPopup(Sender: TObject); procedure TVSelectionChanged(Sender: TObject); private @@ -159,7 +156,6 @@ begin {$IFDEF LCLQT} lvToolbar.OwnerDraw := True; {$ENDIF} - pnlButtons.Color := clBtnFace; // load button images btnAdd.LoadGlyphFromResourceName(HInstance, 'arrow_right'); @@ -167,7 +163,6 @@ begin btnMoveUp.LoadGlyphFromResourceName(HInstance, 'arrow_up'); btnMoveDown.LoadGlyphFromResourceName(HInstance, 'arrow_down'); btnClear.LoadGlyphFromResourceName(HINSTANCE,'menu_close'); - btnHelp.LoadGlyphFromResourceName(HINSTANCE, 'menu_help'); sbAddDivider.LoadGlyphFromResourceName(HINSTANCE, 'menu_divider16'); btnAdd.Hint := rsAddSelected; @@ -220,7 +215,7 @@ begin lvToolbar.Selected := nil; end; -procedure TEdtTbConfigForm.btnHelpClick(Sender: TObject); +procedure TEdtTbConfigForm.HelpButtonClick(Sender: TObject); begin ShowMessageFmt('%s%s%s%s%s%s%s', [rsHelp1,LineEnding,rsHelp2,LineEnding,rsHelp3,LineEnding,rsHelp4]); end; @@ -620,23 +615,29 @@ begin end; end; -procedure TEdtTbConfigForm.btnOKClick(Sender: TObject); +procedure TEdtTbConfigForm.OKButtonClick(Sender: TObject); begin SaveSettings; end; +procedure TEdtTbConfigForm.pnlButtonsResize(Sender: TObject); +begin + cbProfile.Left := (pnlButtons.Width - cbProfile.Width) div 2; + lblProfile.Left := cbProfile.Left - lblProfile.Width - 10; +end; + procedure TEdtTbConfigForm.SetupCaptions; var i: integer; begin - Caption := rsEditorToolbarConfigForm; - btnHelp.Caption := rsHelp; - btnOK.Caption := rsOK; - btnCancel.Caption := rsCancel; - lblMenuTree.Caption := rsMenuTree; - lblToolbar.Caption := rsToolbar; - lblpos.Caption := rsPosition; - lblProfile.Caption := rsProfile; + Caption := rsEditorToolbarConfigForm; + pnlButtons.HelpButton.Caption := rsHelp; + pnlButtons.OKButton.Caption := rsOK; + pnlButtons.CancelButton.Caption := rsCancel; + lblMenuTree.Caption := rsMenuTree; + lblToolbar.Caption := rsToolbar; + lblpos.Caption := rsPosition; + lblProfile.Caption := rsProfile; sLocalizedPosValues[0] := rsTop; sLocalizedPosValues[1] := rsBottom;