View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0028185 | Lazarus | IDE | public | 2015-05-26 18:09 | 2018-07-17 00:09 |
Reporter | CudaText man | Assigned To | Martin Friebe | ||
Priority | normal | Severity | minor | Reproducibility | N/A |
Status | resolved | Resolution | fixed | ||
Product Version | 1.5 (SVN) | ||||
Target Version | 1.6 | Fixed in Version | 1.5 (SVN) | ||
Summary | 0028185: MouseAction dlg bad look | ||||
Description | Dlg has problems.. --It's too wide, my monitor is super wide and dlg is at 80% (image) --listbox too small, while it has 7-10 items Make it at last 2x. --Dlg has scrollbox -why? why not use listbox with scroll? | ||||
Tags | No tags attached. | ||||
Fixed in Revision | |||||
LazTarget | 1.4.2 | ||||
Widgetset | Win32/Win64 | ||||
Attached Files |
|
|
|
|
The CheckListBox height is indented to be approx 3 visible lines. Exactly because the dialog gets to big otherwise. The Width is caused by auto sizing, and that is a bug in auto sizing. |
|
Listbox height must be bigger 2x-3x, dialog is NOT tall-- i see not big sizeY on my monitor 2) Autosizin-- then disable autosizing |
|
|
|
dif.diff (7,996 bytes)
Index: ide/mouseactiondialog.lfm =================================================================== --- ide/mouseactiondialog.lfm (revision 49180) +++ ide/mouseactiondialog.lfm (working copy) @@ -1,14 +1,13 @@ object MouseaActionDialog: TMouseaActionDialog - Left = 478 - Height = 319 - Top = 191 - Width = 374 - AutoSize = True + Left = 414 + Height = 400 + Top = 225 + Width = 610 BorderIcons = [biSystemMenu] BorderStyle = bsDialog Caption = 'MouseaActionDialog' - ClientHeight = 319 - ClientWidth = 374 + ClientHeight = 400 + ClientWidth = 610 OnCreate = FormCreate Position = poScreenCenter LCLVersion = '1.5' @@ -47,7 +46,7 @@ Left = 75 Height = 16 Top = 60 - Width = 293 + Width = 529 Anchors = [akTop, akLeft, akRight] AutoSize = False BorderSpacing.Top = 6 @@ -68,34 +67,31 @@ ParentColor = False end object CapturePanel: TPanel - AnchorSideLeft.Control = Owner - AnchorSideTop.Control = ShiftCheck - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = BtnDefault + AnchorSideLeft.Control = chkUpRestrict + AnchorSideTop.Control = BtnDefault + AnchorSideRight.Control = chkUpRestrict + AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = ButtonPanel1 - Left = 6 - Height = 31 - Top = 242 - Width = 274 + Left = 181 + Height = 62 + Top = 292 + Width = 423 Anchors = [akTop, akLeft, akRight, akBottom] - BorderSpacing.Left = 6 - BorderSpacing.Top = 6 - BorderSpacing.Right = 6 - BorderSpacing.Bottom = 6 BevelOuter = bvLowered BevelWidth = 2 - ClientHeight = 31 - ClientWidth = 274 + ClientHeight = 62 + ClientWidth = 423 Color = clBtnShadow ParentColor = False - TabOrder = 2 + TabOrder = 11 OnMouseDown = CapturePanelMouseDown object PaintBox1: TPaintBox Left = 2 - Height = 27 + Height = 58 Top = 2 - Width = 270 + Width = 419 Align = alClient + Anchors = [akTop, akBottom] OnMouseDown = CapturePanelMouseDown OnMouseWheel = PaintBox1MouseWheel end @@ -111,54 +107,50 @@ AllowGrayed = True BorderSpacing.Top = 6 Caption = 'ShiftCheck' - TabOrder = 3 + TabOrder = 6 end object AltCheck: TCheckBox AnchorSideLeft.Control = ShiftCheck - AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = ShiftCheck - AnchorSideTop.Side = asrCenter - Left = 158 + AnchorSideTop.Side = asrBottom + Left = 75 Height = 19 - Top = 217 + Top = 242 Width = 68 AllowGrayed = True - BorderSpacing.Left = 6 + BorderSpacing.Top = 6 Caption = 'AltCheck' - TabOrder = 4 + TabOrder = 7 end object CtrlCheck: TCheckBox AnchorSideLeft.Control = AltCheck - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = ShiftCheck - AnchorSideTop.Side = asrCenter - Left = 232 + AnchorSideTop.Control = AltCheck + AnchorSideTop.Side = asrBottom + Left = 75 Height = 19 - Top = 217 + Top = 267 Width = 72 AllowGrayed = True - BorderSpacing.Left = 6 + BorderSpacing.Top = 6 Caption = 'CtrlCheck' - TabOrder = 5 + TabOrder = 8 end object BtnDefault: TButton - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = CapturePanel - AnchorSideTop.Side = asrCenter + AnchorSideLeft.Control = CtrlCheck + AnchorSideTop.Control = CtrlCheck + AnchorSideTop.Side = asrBottom AnchorSideRight.Control = Owner AnchorSideRight.Side = asrBottom AnchorSideBottom.Side = asrBottom - Left = 286 + Left = 75 Height = 25 - Top = 245 + Top = 292 Width = 82 - Anchors = [akTop, akRight] AutoSize = True BorderSpacing.Top = 6 - BorderSpacing.Right = 6 Caption = 'BtnDefault' OnClick = BtnDefaultClick - TabOrder = 6 + TabOrder = 9 end object CaretCheck: TCheckBox AnchorSideLeft.Control = ActionBox @@ -181,7 +173,7 @@ Left = 75 Height = 23 Top = 6 - Width = 293 + Width = 529 Anchors = [akTop, akLeft, akRight] BorderSpacing.Left = 6 BorderSpacing.Top = 6 @@ -198,8 +190,8 @@ AnchorSideRight.Side = asrBottom Left = 6 Height = 34 - Top = 279 - Width = 362 + Top = 360 + Width = 598 OKButton.Name = 'OKButton' OKButton.DefaultCaption = True HelpButton.Name = 'HelpButton' @@ -208,7 +200,7 @@ CloseButton.DefaultCaption = True CancelButton.Name = 'CancelButton' CancelButton.DefaultCaption = True - TabOrder = 7 + TabOrder = 12 ShowButtons = [pbOK, pbCancel] end object OptBox: TComboBox @@ -220,13 +212,13 @@ Left = 75 Height = 23 Top = 76 - Width = 293 + Width = 529 Anchors = [akTop, akLeft, akRight] BorderSpacing.Right = 6 Enabled = False ItemHeight = 15 Style = csDropDownList - TabOrder = 8 + TabOrder = 2 end object PriorSpin: TSpinEdit AnchorSideLeft.Control = OptLabel @@ -238,7 +230,7 @@ Width = 60 BorderSpacing.Top = 6 MaxValue = 3 - TabOrder = 9 + TabOrder = 3 end object Opt2Spin: TSpinEdit AnchorSideLeft.Control = OptLabel @@ -246,7 +238,7 @@ AnchorSideTop.Side = asrBottom AnchorSideRight.Control = Owner AnchorSideRight.Side = asrBottom - Left = 308 + Left = 544 Height = 23 Top = 105 Width = 60 @@ -254,7 +246,7 @@ BorderSpacing.Top = 6 BorderSpacing.Right = 6 MaxValue = 999 - TabOrder = 10 + TabOrder = 4 end object Opt2Label: TLabel AnchorSideLeft.Control = Owner @@ -261,7 +253,7 @@ AnchorSideTop.Control = Opt2Spin AnchorSideTop.Side = asrCenter AnchorSideRight.Control = Opt2Spin - Left = 248 + Left = 484 Height = 15 Top = 109 Width = 54 @@ -284,7 +276,7 @@ BevelOuter = bvNone ClientHeight = 77 ClientWidth = 100 - TabOrder = 11 + TabOrder = 5 object DirCheck: TCheckBox AnchorSideTop.Control = ClickBox AnchorSideTop.Side = asrBottom @@ -295,7 +287,7 @@ BorderSpacing.Top = 6 Caption = 'DirCheck' OnChange = DirCheckChange - TabOrder = 0 + TabOrder = 2 end object ClickBox: TComboBox AnchorSideTop.Control = ButtonBox @@ -319,39 +311,22 @@ ItemHeight = 15 OnChange = ButtonBoxChange Style = csDropDownList - TabOrder = 2 + TabOrder = 0 end end - object ScrollBox1: TScrollBox + object chkUpRestrict: TCheckListBox AnchorSideLeft.Control = Panel1 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 - AnchorSideRight.Control = Owner - AnchorSideRight.Side = asrBottom - AnchorSideBottom.Control = Panel1 - AnchorSideBottom.Side = asrBottom + AnchorSideBottom.Control = BtnDefault Left = 181 - Height = 77 + Height = 152 Top = 134 - Width = 187 - HorzScrollBar.Page = 170 - VertScrollBar.Page = 60 - Anchors = [akTop, akLeft, akRight, akBottom] + Width = 423 + Anchors = [akTop, akLeft, akBottom] BorderSpacing.Left = 6 BorderSpacing.Right = 6 - BorderStyle = bsNone - ClientHeight = 60 - ClientWidth = 170 - Constraints.MinWidth = 180 - TabOrder = 12 - object chkUpRestrict: TCheckListBox - Left = 0 - Height = 150 - Top = 0 - Width = 900 - BorderSpacing.Right = 6 - ItemHeight = 0 - TabOrder = 0 - end + ItemHeight = 0 + TabOrder = 10 end end Index: ide/mouseactiondialog.pas =================================================================== --- ide/mouseactiondialog.pas (revision 49180) +++ ide/mouseactiondialog.pas (working copy) @@ -38,7 +38,6 @@ OptLabel: TLabel; Opt2Spin: TSpinEdit; Opt2Label: TLabel; - ScrollBox1: TScrollBox; ShiftCheck: TCheckBox; PriorSpin: TSpinEdit; procedure ActionBoxChange(Sender: TObject); |
|
Suggested-look; Image +Diff.. Also done taborder fix. |
|
About the patch: Does TCheckListBox show a horizontal scrollbar if any caption is longer than the available space? When the window was last edited it did iirc not do that. Therefore the TScrollBox is/was needed. The other layout changes are fine, but the patch can only be applied if the scrolling for TCheckListBox workn (not tested with the patch yet) |
|
done; pch update in 5min. Added setting of ScrollWidth (i used check size =35px) |
|
dif-2.diff (10,524 bytes)
Index: ide/mouseactiondialog.lfm =================================================================== --- ide/mouseactiondialog.lfm (revision 49191) +++ ide/mouseactiondialog.lfm (working copy) @@ -1,14 +1,13 @@ object MouseaActionDialog: TMouseaActionDialog - Left = 478 - Height = 319 - Top = 191 - Width = 374 - AutoSize = True + Left = 414 + Height = 400 + Top = 225 + Width = 620 BorderIcons = [biSystemMenu] BorderStyle = bsDialog Caption = 'MouseaActionDialog' - ClientHeight = 319 - ClientWidth = 374 + ClientHeight = 400 + ClientWidth = 620 OnCreate = FormCreate Position = poScreenCenter LCLVersion = '1.5' @@ -47,7 +46,7 @@ Left = 75 Height = 16 Top = 60 - Width = 293 + Width = 539 Anchors = [akTop, akLeft, akRight] AutoSize = False BorderSpacing.Top = 6 @@ -68,34 +67,31 @@ ParentColor = False end object CapturePanel: TPanel - AnchorSideLeft.Control = Owner - AnchorSideTop.Control = ShiftCheck - AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = BtnDefault + AnchorSideLeft.Control = chkUpRestrict + AnchorSideTop.Control = BtnDefault + AnchorSideRight.Control = chkUpRestrict + AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = ButtonPanel1 - Left = 6 - Height = 31 - Top = 242 - Width = 274 + Left = 181 + Height = 62 + Top = 292 + Width = 433 Anchors = [akTop, akLeft, akRight, akBottom] - BorderSpacing.Left = 6 - BorderSpacing.Top = 6 - BorderSpacing.Right = 6 - BorderSpacing.Bottom = 6 BevelOuter = bvLowered BevelWidth = 2 - ClientHeight = 31 - ClientWidth = 274 + ClientHeight = 62 + ClientWidth = 433 Color = clBtnShadow ParentColor = False - TabOrder = 2 + TabOrder = 11 OnMouseDown = CapturePanelMouseDown object PaintBox1: TPaintBox Left = 2 - Height = 27 + Height = 58 Top = 2 - Width = 270 + Width = 429 Align = alClient + Anchors = [akTop, akRight, akBottom] OnMouseDown = CapturePanelMouseDown OnMouseWheel = PaintBox1MouseWheel end @@ -111,54 +107,50 @@ AllowGrayed = True BorderSpacing.Top = 6 Caption = 'ShiftCheck' - TabOrder = 3 + TabOrder = 6 end object AltCheck: TCheckBox AnchorSideLeft.Control = ShiftCheck - AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = ShiftCheck - AnchorSideTop.Side = asrCenter - Left = 158 + AnchorSideTop.Side = asrBottom + Left = 75 Height = 19 - Top = 217 + Top = 242 Width = 68 AllowGrayed = True - BorderSpacing.Left = 6 + BorderSpacing.Top = 6 Caption = 'AltCheck' - TabOrder = 4 + TabOrder = 7 end object CtrlCheck: TCheckBox AnchorSideLeft.Control = AltCheck - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = ShiftCheck - AnchorSideTop.Side = asrCenter - Left = 232 + AnchorSideTop.Control = AltCheck + AnchorSideTop.Side = asrBottom + Left = 75 Height = 19 - Top = 217 + Top = 267 Width = 72 AllowGrayed = True - BorderSpacing.Left = 6 + BorderSpacing.Top = 6 Caption = 'CtrlCheck' - TabOrder = 5 + TabOrder = 8 end object BtnDefault: TButton - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = CapturePanel - AnchorSideTop.Side = asrCenter + AnchorSideLeft.Control = CtrlCheck + AnchorSideTop.Control = CtrlCheck + AnchorSideTop.Side = asrBottom AnchorSideRight.Control = Owner AnchorSideRight.Side = asrBottom AnchorSideBottom.Side = asrBottom - Left = 286 + Left = 75 Height = 25 - Top = 245 + Top = 292 Width = 82 - Anchors = [akTop, akRight] AutoSize = True BorderSpacing.Top = 6 - BorderSpacing.Right = 6 Caption = 'BtnDefault' OnClick = BtnDefaultClick - TabOrder = 6 + TabOrder = 9 end object CaretCheck: TCheckBox AnchorSideLeft.Control = ActionBox @@ -181,7 +173,7 @@ Left = 75 Height = 23 Top = 6 - Width = 293 + Width = 539 Anchors = [akTop, akLeft, akRight] BorderSpacing.Left = 6 BorderSpacing.Top = 6 @@ -198,8 +190,8 @@ AnchorSideRight.Side = asrBottom Left = 6 Height = 34 - Top = 279 - Width = 362 + Top = 360 + Width = 608 OKButton.Name = 'OKButton' OKButton.DefaultCaption = True HelpButton.Name = 'HelpButton' @@ -208,7 +200,7 @@ CloseButton.DefaultCaption = True CancelButton.Name = 'CancelButton' CancelButton.DefaultCaption = True - TabOrder = 7 + TabOrder = 12 ShowButtons = [pbOK, pbCancel] end object OptBox: TComboBox @@ -220,13 +212,13 @@ Left = 75 Height = 23 Top = 76 - Width = 293 + Width = 539 Anchors = [akTop, akLeft, akRight] BorderSpacing.Right = 6 Enabled = False ItemHeight = 15 Style = csDropDownList - TabOrder = 8 + TabOrder = 2 end object PriorSpin: TSpinEdit AnchorSideLeft.Control = OptLabel @@ -238,7 +230,7 @@ Width = 60 BorderSpacing.Top = 6 MaxValue = 3 - TabOrder = 9 + TabOrder = 3 end object Opt2Spin: TSpinEdit AnchorSideLeft.Control = OptLabel @@ -246,7 +238,7 @@ AnchorSideTop.Side = asrBottom AnchorSideRight.Control = Owner AnchorSideRight.Side = asrBottom - Left = 308 + Left = 554 Height = 23 Top = 105 Width = 60 @@ -254,7 +246,7 @@ BorderSpacing.Top = 6 BorderSpacing.Right = 6 MaxValue = 999 - TabOrder = 10 + TabOrder = 4 end object Opt2Label: TLabel AnchorSideLeft.Control = Owner @@ -261,7 +253,7 @@ AnchorSideTop.Control = Opt2Spin AnchorSideTop.Side = asrCenter AnchorSideRight.Control = Opt2Spin - Left = 248 + Left = 494 Height = 15 Top = 109 Width = 54 @@ -284,7 +276,7 @@ BevelOuter = bvNone ClientHeight = 77 ClientWidth = 100 - TabOrder = 11 + TabOrder = 5 object DirCheck: TCheckBox AnchorSideTop.Control = ClickBox AnchorSideTop.Side = asrBottom @@ -295,7 +287,7 @@ BorderSpacing.Top = 6 Caption = 'DirCheck' OnChange = DirCheckChange - TabOrder = 0 + TabOrder = 2 end object ClickBox: TComboBox AnchorSideTop.Control = ButtonBox @@ -319,39 +311,22 @@ ItemHeight = 15 OnChange = ButtonBoxChange Style = csDropDownList - TabOrder = 2 + TabOrder = 0 end end - object ScrollBox1: TScrollBox + object chkUpRestrict: TCheckListBox AnchorSideLeft.Control = Panel1 AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = Panel1 - AnchorSideRight.Control = Owner - AnchorSideRight.Side = asrBottom - AnchorSideBottom.Control = Panel1 - AnchorSideBottom.Side = asrBottom + AnchorSideBottom.Control = BtnDefault Left = 181 - Height = 77 + Height = 152 Top = 134 - Width = 187 - HorzScrollBar.Page = 170 - VertScrollBar.Page = 60 + Width = 433 Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Left = 6 BorderSpacing.Right = 6 - BorderStyle = bsNone - ClientHeight = 60 - ClientWidth = 170 - Constraints.MinWidth = 180 - TabOrder = 12 - object chkUpRestrict: TCheckListBox - Left = 0 - Height = 150 - Top = 0 - Width = 900 - BorderSpacing.Right = 6 - ItemHeight = 0 - TabOrder = 0 - end + ItemHeight = 0 + TabOrder = 10 end end Index: ide/mouseactiondialog.pas =================================================================== --- ide/mouseactiondialog.pas (revision 49191) +++ ide/mouseactiondialog.pas (working copy) @@ -38,7 +38,6 @@ OptLabel: TLabel; Opt2Spin: TSpinEdit; Opt2Label: TLabel; - ScrollBox1: TScrollBox; ShiftCheck: TCheckBox; PriorSpin: TSpinEdit; procedure ActionBoxChange(Sender: TObject); @@ -53,6 +52,7 @@ private FKeyMap: TKeyCommandRelationList; procedure AddMouseCmd(const S: string); + procedure FillListbox; public { public declarations } Procedure ResetInputs; @@ -65,6 +65,8 @@ implementation +uses Math; + {$R *.lfm} const @@ -98,11 +100,42 @@ end; end; +procedure TMouseaActionDialog.FillListbox; +const + cCheckSize=35; +var + r: TSynMAUpRestriction; + s: string; + i, Len: integer; +begin + for r := low(TSynMAUpRestriction) to high(TSynMAUpRestriction) do + case r of + crLastDownPos: chkUpRestrict.AddItem(synfMatchActionPosOfMouseDown, nil); + crLastDownPosSameLine: chkUpRestrict.AddItem(synfMatchActionLineOfMouseDown, nil); + crLastDownPosSearchAll: chkUpRestrict.AddItem(synfSearchAllActionOfMouseDown, nil); + crLastDownButton: chkUpRestrict.AddItem(synfMatchActionButtonOfMouseDown, nil); + crLastDownShift: chkUpRestrict.AddItem(synfMatchActionModifiersOfMouseDown, nil); + crAllowFallback: chkUpRestrict.AddItem(synfContinueWithNextMouseUpAction, nil); + else begin + WriteStr(s, r); + chkUpRestrict.AddItem(s, nil); + end; + end; + + // update scrollbar + Len := 0; + with chkUpRestrict do + begin + for i := 0 to Items.Count-1 do + Len := Max(Len, Canvas.TextWidth(Items[i])+cCheckSize); + ScrollWidth := Len; + end; +end; + procedure TMouseaActionDialog.FormCreate(Sender: TObject); var mb: TSynMouseButton; cc: TSynMAClickCount; - r: TSynMAUpRestriction; s: string; begin ButtonName[mbXLeft]:=dlgMouseOptBtnLeft; @@ -119,21 +152,8 @@ ClickName[ccQuad]:=dlgMouseOptBtn4; ClickName[ccAny]:=dlgMouseOptBtnAny; - for r := low(TSynMAUpRestriction) to high(TSynMAUpRestriction) do - case r of - crLastDownPos: chkUpRestrict.AddItem(synfMatchActionPosOfMouseDown, nil); - crLastDownPosSameLine: chkUpRestrict.AddItem(synfMatchActionLineOfMouseDown, nil); - crLastDownPosSearchAll: chkUpRestrict.AddItem(synfSearchAllActionOfMouseDown, nil); - crLastDownButton: chkUpRestrict.AddItem(synfMatchActionButtonOfMouseDown, nil); - crLastDownShift: chkUpRestrict.AddItem(synfMatchActionModifiersOfMouseDown, nil); - crAllowFallback: chkUpRestrict.AddItem(synfContinueWithNextMouseUpAction, nil); - else begin - WriteStr(s, r); - chkUpRestrict.AddItem(s, nil); - end; - end; + FillListbox; - ButtonDirName[cdUp]:=lisUp; ButtonDirName[cdDown]:=lisDown; |
|
Thanks for the patch - Applied r 49193 |
Date Modified | Username | Field | Change |
---|---|---|---|
2015-05-26 18:09 | CudaText man | New Issue | |
2015-05-26 18:09 | CudaText man | File Added: too-wide.png | |
2015-05-26 20:20 | Martin Friebe | Note Added: 0084021 | |
2015-05-26 20:24 | CudaText man | Note Added: 0084022 | |
2015-05-26 21:17 | CudaText man | File Added: dlg.png | |
2015-05-26 21:17 | CudaText man | File Added: dif.diff | |
2015-05-26 21:18 | CudaText man | Note Added: 0084024 | |
2015-05-26 21:20 | CudaText man | Note Edited: 0084024 | View Revisions |
2015-05-27 09:51 | Juha Manninen | Assigned To | => Martin Friebe |
2015-05-27 09:51 | Juha Manninen | Status | new => assigned |
2015-05-27 21:20 | Martin Friebe | LazTarget | => - |
2015-05-27 21:20 | Martin Friebe | Assigned To | Martin Friebe => |
2015-05-27 21:20 | Martin Friebe | Status | assigned => acknowledged |
2015-05-27 21:26 | Martin Friebe | Note Added: 0084045 | |
2015-05-27 21:54 | CudaText man | Note Added: 0084046 | |
2015-05-27 21:57 | CudaText man | File Added: dif-2.diff | |
2015-05-27 22:17 | Martin Friebe | Assigned To | => Martin Friebe |
2015-05-27 22:17 | Martin Friebe | Status | acknowledged => assigned |
2015-05-27 22:22 | Martin Friebe | LazTarget | - => 1.4.2 |
2015-05-27 22:22 | Martin Friebe | Note Added: 0084048 | |
2015-05-27 22:22 | Martin Friebe | Status | assigned => resolved |
2015-05-27 22:22 | Martin Friebe | Fixed in Version | => 1.5 (SVN) |
2015-05-27 22:22 | Martin Friebe | Resolution | open => fixed |
2015-05-27 22:22 | Martin Friebe | Target Version | => 1.6 |