From 7e6f03810d09fddd9ef9946cc1a60890d3683a8c Mon Sep 17 00:00:00 2001 From: maxim Date: Sat, 24 Mar 2012 16:31:56 +0000 Subject: [PATCH] IDE: improved Sort Selection dialog layout, bug #21536 git-svn-id: trunk@36291 - --- .gitattributes | 1 + ide/sortselectiondlg.lfm | 624 +++++++++++++++++++++++++++++++++++++++ ide/sortselectiondlg.pas | 242 +++++---------- 3 files changed, 697 insertions(+), 170 deletions(-) create mode 100644 ide/sortselectiondlg.lfm diff --git a/.gitattributes b/.gitattributes index a5c2dbd98e..a049b90ce3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4466,6 +4466,7 @@ ide/showcompileropts.lfm svneol=native#text/plain ide/showcompileropts.pas svneol=native#text/pascal ide/showdeletingfilesdlg.lfm svneol=native#text/plain ide/showdeletingfilesdlg.pas svneol=native#text/plain +ide/sortselectiondlg.lfm svneol=native#text/plain ide/sortselectiondlg.pas svneol=native#text/pascal ide/sourceeditor.lfm svneol=native#text/plain ide/sourceeditor.pp svneol=native#text/pascal diff --git a/ide/sortselectiondlg.lfm b/ide/sortselectiondlg.lfm new file mode 100644 index 0000000000..8425f02751 --- /dev/null +++ b/ide/sortselectiondlg.lfm @@ -0,0 +1,624 @@ +object SortSelectionDialog: TSortSelectionDialog + Left = 217 + Height = 378 + Top = 141 + Width = 493 + BorderIcons = [biSystemMenu] + Caption = 'SortSelectionDialog' + ClientHeight = 378 + ClientWidth = 493 + OnClose = FormClose + OnCreate = FormCreate + Position = poScreenCenter + LCLVersion = '0.9.31' + object PreviewGroupBox: TGroupBox + AnchorSideLeft.Control = Owner + AnchorSideTop.Control = Owner + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = DirectionRadioGroup + Left = 6 + Height = 167 + Top = 6 + Width = 481 + Anchors = [akTop, akLeft, akRight, akBottom] + BorderSpacing.Around = 6 + Caption = 'PreviewGroupBox' + ClientHeight = 149 + ClientWidth = 477 + TabOrder = 4 + inline PreviewSynEdit: TSynEdit + AnchorSideLeft.Control = PreviewGroupBox + AnchorSideTop.Control = PreviewGroupBox + AnchorSideRight.Control = PreviewGroupBox + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = PreviewGroupBox + AnchorSideBottom.Side = asrBottom + Left = 6 + Height = 137 + Top = 6 + Width = 465 + BorderSpacing.Around = 6 + Anchors = [akTop, akLeft, akRight, akBottom] + Font.Height = -13 + Font.Name = 'Courier New' + Font.Pitch = fpFixed + Font.Quality = fqNonAntialiased + ParentColor = False + ParentFont = False + TabOrder = 0 + TabStop = False + Gutter.Width = 57 + Gutter.MouseActions = <> + RightGutter.Width = 0 + RightGutter.MouseActions = <> + Keystrokes = < + item + Command = ecUp + ShortCut = 38 + end + item + Command = ecSelUp + ShortCut = 8230 + end + item + Command = ecScrollUp + ShortCut = 16422 + end + item + Command = ecDown + ShortCut = 40 + end + item + Command = ecSelDown + ShortCut = 8232 + end + item + Command = ecScrollDown + ShortCut = 16424 + end + item + Command = ecLeft + ShortCut = 37 + end + item + Command = ecSelLeft + ShortCut = 8229 + end + item + Command = ecWordLeft + ShortCut = 16421 + end + item + Command = ecSelWordLeft + ShortCut = 24613 + end + item + Command = ecRight + ShortCut = 39 + end + item + Command = ecSelRight + ShortCut = 8231 + end + item + Command = ecWordRight + ShortCut = 16423 + end + item + Command = ecSelWordRight + ShortCut = 24615 + end + item + Command = ecPageDown + ShortCut = 34 + end + item + Command = ecSelPageDown + ShortCut = 8226 + end + item + Command = ecPageBottom + ShortCut = 16418 + end + item + Command = ecSelPageBottom + ShortCut = 24610 + end + item + Command = ecPageUp + ShortCut = 33 + end + item + Command = ecSelPageUp + ShortCut = 8225 + end + item + Command = ecPageTop + ShortCut = 16417 + end + item + Command = ecSelPageTop + ShortCut = 24609 + end + item + Command = ecLineStart + ShortCut = 36 + end + item + Command = ecSelLineStart + ShortCut = 8228 + end + item + Command = ecEditorTop + ShortCut = 16420 + end + item + Command = ecSelEditorTop + ShortCut = 24612 + end + item + Command = ecLineEnd + ShortCut = 35 + end + item + Command = ecSelLineEnd + ShortCut = 8227 + end + item + Command = ecEditorBottom + ShortCut = 16419 + end + item + Command = ecSelEditorBottom + ShortCut = 24611 + end + item + Command = ecToggleMode + ShortCut = 45 + end + item + Command = ecCopy + ShortCut = 16429 + end + item + Command = ecPaste + ShortCut = 8237 + end + item + Command = ecDeleteChar + ShortCut = 46 + end + item + Command = ecCut + ShortCut = 8238 + end + item + Command = ecDeleteLastChar + ShortCut = 8 + end + item + Command = ecDeleteLastChar + ShortCut = 8200 + end + item + Command = ecDeleteLastWord + ShortCut = 16392 + end + item + Command = ecUndo + ShortCut = 32776 + end + item + Command = ecRedo + ShortCut = 40968 + end + item + Command = ecLineBreak + ShortCut = 13 + end + item + Command = ecSelectAll + ShortCut = 16449 + end + item + Command = ecCopy + ShortCut = 16451 + end + item + Command = ecBlockIndent + ShortCut = 24649 + end + item + Command = ecLineBreak + ShortCut = 16461 + end + item + Command = ecInsertLine + ShortCut = 16462 + end + item + Command = ecDeleteWord + ShortCut = 16468 + end + item + Command = ecBlockUnindent + ShortCut = 24661 + end + item + Command = ecPaste + ShortCut = 16470 + end + item + Command = ecCut + ShortCut = 16472 + end + item + Command = ecDeleteLine + ShortCut = 16473 + end + item + Command = ecDeleteEOL + ShortCut = 24665 + end + item + Command = ecUndo + ShortCut = 16474 + end + item + Command = ecRedo + ShortCut = 24666 + end + item + Command = ecGotoMarker0 + ShortCut = 16432 + end + item + Command = ecGotoMarker1 + ShortCut = 16433 + end + item + Command = ecGotoMarker2 + ShortCut = 16434 + end + item + Command = ecGotoMarker3 + ShortCut = 16435 + end + item + Command = ecGotoMarker4 + ShortCut = 16436 + end + item + Command = ecGotoMarker5 + ShortCut = 16437 + end + item + Command = ecGotoMarker6 + ShortCut = 16438 + end + item + Command = ecGotoMarker7 + ShortCut = 16439 + end + item + Command = ecGotoMarker8 + ShortCut = 16440 + end + item + Command = ecGotoMarker9 + ShortCut = 16441 + end + item + Command = ecSetMarker0 + ShortCut = 24624 + end + item + Command = ecSetMarker1 + ShortCut = 24625 + end + item + Command = ecSetMarker2 + ShortCut = 24626 + end + item + Command = ecSetMarker3 + ShortCut = 24627 + end + item + Command = ecSetMarker4 + ShortCut = 24628 + end + item + Command = ecSetMarker5 + ShortCut = 24629 + end + item + Command = ecSetMarker6 + ShortCut = 24630 + end + item + Command = ecSetMarker7 + ShortCut = 24631 + end + item + Command = ecSetMarker8 + ShortCut = 24632 + end + item + Command = ecSetMarker9 + ShortCut = 24633 + end + item + Command = EcFoldLevel1 + ShortCut = 41009 + end + item + Command = EcFoldLevel2 + ShortCut = 41010 + end + item + Command = EcFoldLevel1 + ShortCut = 41011 + end + item + Command = EcFoldLevel1 + ShortCut = 41012 + end + item + Command = EcFoldLevel1 + ShortCut = 41013 + end + item + Command = EcFoldLevel6 + ShortCut = 41014 + end + item + Command = EcFoldLevel7 + ShortCut = 41015 + end + item + Command = EcFoldLevel8 + ShortCut = 41016 + end + item + Command = EcFoldLevel9 + ShortCut = 41017 + end + item + Command = EcFoldLevel0 + ShortCut = 41008 + end + item + Command = EcFoldCurrent + ShortCut = 41005 + end + item + Command = EcUnFoldCurrent + ShortCut = 41003 + end + item + Command = EcToggleMarkupWord + ShortCut = 32845 + end + item + Command = ecNormalSelect + ShortCut = 24654 + end + item + Command = ecColumnSelect + ShortCut = 24643 + end + item + Command = ecLineSelect + ShortCut = 24652 + end + item + Command = ecTab + ShortCut = 9 + end + item + Command = ecShiftTab + ShortCut = 8201 + end + item + Command = ecMatchBracket + ShortCut = 24642 + end + item + Command = ecColSelUp + ShortCut = 40998 + end + item + Command = ecColSelDown + ShortCut = 41000 + end + item + Command = ecColSelLeft + ShortCut = 40997 + end + item + Command = ecColSelRight + ShortCut = 40999 + end + item + Command = ecColSelPageDown + ShortCut = 40994 + end + item + Command = ecColSelPageBottom + ShortCut = 57378 + end + item + Command = ecColSelPageUp + ShortCut = 40993 + end + item + Command = ecColSelPageTop + ShortCut = 57377 + end + item + Command = ecColSelLineStart + ShortCut = 40996 + end + item + Command = ecColSelLineEnd + ShortCut = 40995 + end + item + Command = ecColSelEditorTop + ShortCut = 57380 + end + item + Command = ecColSelEditorBottom + ShortCut = 57379 + end> + MouseActions = <> + MouseSelActions = <> + Lines.Strings = ( + '' + ) + VisibleSpecialChars = [vscSpace, vscTabAtLast] + ReadOnly = True + BracketHighlightStyle = sbhsBoth + BracketMatchColor.Background = clNone + BracketMatchColor.Foreground = clNone + BracketMatchColor.Style = [fsBold] + FoldedCodeColor.Background = clNone + FoldedCodeColor.Foreground = clGray + FoldedCodeColor.FrameColor = clGray + MouseLinkColor.Background = clNone + MouseLinkColor.Foreground = clBlue + LineHighlightColor.Background = clNone + LineHighlightColor.Foreground = clNone + inline SynLeftGutterPartList1: TSynGutterPartList + object SynGutterMarks1: TSynGutterMarks + Width = 24 + MouseActions = <> + end + object SynGutterLineNumber1: TSynGutterLineNumber + Width = 17 + MouseActions = <> + MarkupInfo.Background = clBtnFace + MarkupInfo.Foreground = clNone + DigitCount = 2 + ShowOnlyLineNumbersMultiplesOf = 1 + ZeroStart = False + LeadingZeros = False + end + object SynGutterChanges1: TSynGutterChanges + Width = 4 + MouseActions = <> + ModifiedColor = 59900 + SavedColor = clGreen + end + object SynGutterSeparator1: TSynGutterSeparator + Width = 2 + MouseActions = <> + end + object SynGutterCodeFolding1: TSynGutterCodeFolding + MouseActions = <> + MarkupInfo.Background = clNone + MarkupInfo.Foreground = clGray + MouseActionsExpanded = <> + MouseActionsCollapsed = <> + end + end + end + end + object DirectionRadioGroup: TRadioGroup + AnchorSideLeft.Control = Owner + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = DomainRadioGroup + Left = 6 + Height = 52 + Top = 179 + Width = 481 + Anchors = [akLeft, akRight, akBottom] + AutoFill = True + AutoSize = True + BorderSpacing.Around = 6 + Caption = 'DirectionRadioGroup' + ChildSizing.LeftRightSpacing = 6 + ChildSizing.TopBottomSpacing = 6 + ChildSizing.EnlargeHorizontal = crsHomogenousChildResize + ChildSizing.EnlargeVertical = crsHomogenousChildResize + ChildSizing.ShrinkHorizontal = crsScaleChilds + ChildSizing.ShrinkVertical = crsScaleChilds + ChildSizing.Layout = cclLeftToRightThenTopToBottom + ChildSizing.ControlsPerLine = 2 + Columns = 2 + OnClick = DirectionRadioGroupClick + TabOrder = 1 + end + object DomainRadioGroup: TRadioGroup + AnchorSideLeft.Control = Owner + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = OptionsCheckGroup + Left = 6 + Height = 45 + Top = 237 + Width = 481 + Anchors = [akLeft, akRight, akBottom] + AutoFill = True + AutoSize = True + BorderSpacing.Around = 6 + Caption = 'DomainRadioGroup' + ChildSizing.LeftRightSpacing = 6 + ChildSizing.TopBottomSpacing = 6 + ChildSizing.EnlargeHorizontal = crsHomogenousChildResize + ChildSizing.EnlargeVertical = crsHomogenousChildResize + ChildSizing.ShrinkHorizontal = crsScaleChilds + ChildSizing.ShrinkVertical = crsScaleChilds + ChildSizing.Layout = cclLeftToRightThenTopToBottom + ChildSizing.ControlsPerLine = 3 + Columns = 3 + OnClick = DomainRadioGroupClick + TabOrder = 2 + end + object OptionsCheckGroup: TCheckGroup + AnchorSideLeft.Control = Owner + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = ButtonPanel + Left = 6 + Height = 52 + Top = 288 + Width = 481 + Anchors = [akLeft, akRight, akBottom] + AutoFill = True + AutoSize = True + BorderSpacing.Around = 6 + Caption = 'OptionsCheckGroup' + ChildSizing.LeftRightSpacing = 6 + ChildSizing.TopBottomSpacing = 6 + ChildSizing.EnlargeHorizontal = crsHomogenousChildResize + ChildSizing.EnlargeVertical = crsHomogenousChildResize + ChildSizing.ShrinkHorizontal = crsScaleChilds + ChildSizing.ShrinkVertical = crsScaleChilds + ChildSizing.Layout = cclLeftToRightThenTopToBottom + ChildSizing.ControlsPerLine = 2 + Columns = 2 + OnItemClick = OptionsCheckGroupItemClick + TabOrder = 3 + end + object ButtonPanel: TButtonPanel + Left = 6 + Height = 26 + Top = 346 + Width = 481 + 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 = 0 + ShowButtons = [pbOK, pbCancel] + ShowBevel = False + end +end diff --git a/ide/sortselectiondlg.pas b/ide/sortselectiondlg.pas index 0f56b8e8f7..90292ac597 100644 --- a/ide/sortselectiondlg.pas +++ b/ide/sortselectiondlg.pas @@ -40,7 +40,7 @@ interface uses Classes, SysUtils, LCLProc, Forms, Controls, SynEdit, Buttons, StdCtrls, - ExtCtrls, IDEOptionDefs, Dialogs, BasicCodeTools, Graphics, + ExtCtrls, IDEOptionDefs, Dialogs, BasicCodeTools, Graphics, ButtonPanel, AVL_Tree, TextTools, IDEWindowIntf, LazarusIDEStrConsts, EditorOptions, MiscOptions, SynEditHighlighter; @@ -48,20 +48,20 @@ type TSortSelDlgState = (ssdPreviewNeedsUpdate, ssdSortedTextNeedsUpdate); TSortSelDlgStates = set of TSortSelDlgState; + { TSortSelectionDialog } + TSortSelectionDialog = class(TForm) + ButtonPanel: TButtonPanel; + OptionsCheckGroup: TCheckGroup; PreviewGroupBox: TGroupBox; PreviewSynEdit: TSynEdit; DirectionRadioGroup: TRadioGroup; DomainRadioGroup: TRadioGroup; - OptionsCheckGroup: TCheckGroup; - OkButton: TButton; - CancelButton: TButton; procedure DirectionRadioGroupClick(Sender: TObject); procedure DomainRadioGroupClick(Sender: TObject); + procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); + procedure FormCreate(Sender: TObject); procedure OptionsCheckGroupItemClick(Sender: TObject; Index: integer); - procedure SortSelectionDialogClose(Sender: TObject; - var CloseAction: TCloseAction); - procedure SortSelectionDialogResize(Sender: TObject); private FCaseSensitive: boolean; FDirection: TSortDirection; @@ -78,7 +78,6 @@ type procedure SetIgnoreSpace(const AValue: boolean); procedure SetTheText(const AValue: string); public - constructor Create(TheOwner: TComponent); override; procedure BeginUpdate; procedure EndUpdate; procedure UpdatePreview; @@ -99,6 +98,8 @@ function SortText(const TheText: string; Direction: TSortDirection; implementation +{$R *.lfm} + function ShowSortSelectionDialog(const TheText: string; Highlighter: TSynCustomHighlighter; var SortedText: string): TModalResult; @@ -322,36 +323,6 @@ end; { TSortSelectionDialog } -procedure TSortSelectionDialog.SortSelectionDialogResize(Sender: TObject); -begin - with PreviewGroupBox do - SetBounds(Left,Top,Self.ClientWidth-2*Left,Self.ClientHeight-Top-110); - - with DirectionRadioGroup do - SetBounds(Left,PreviewGroupBox.Top+PreviewGroupBox.Height+5, - ((Self.ClientWidth-5) div 2)-Left,Height); - - with DomainRadioGroup do - SetBounds(DirectionRadioGroup.Left+DirectionRadioGroup.Width+5, - DirectionRadioGroup.Top, - DirectionRadioGroup.Width,DirectionRadioGroup.Height); - - with OptionsCheckGroup do - SetBounds(DirectionRadioGroup.Left, - DirectionRadioGroup.Top+DirectionRadioGroup.Height+5, - DirectionRadioGroup.Width,DirectionRadioGroup.Height); - - with OkButton do begin - Left:=Self.ClientWidth-200; - Top:=Self.ClientHeight-35; - end; - - with CancelButton do begin - Left:=Self.ClientWidth-100; - Top:=OkButton.Top; - end; -end; - procedure TSortSelectionDialog.DirectionRadioGroupClick(Sender: TObject); begin if DirectionRadioGroup.ItemIndex=0 then @@ -371,6 +342,69 @@ begin end; end; +procedure TSortSelectionDialog.FormClose(Sender: TObject; var CloseAction: + TCloseAction); +begin + MiscellaneousOptions.SortSelDirection:=Direction; + MiscellaneousOptions.SortSelDomain:=Domain; + MiscellaneousOptions.Save; +end; + +procedure TSortSelectionDialog.FormCreate(Sender: TObject); +begin + FIgnoreSpace:=true; + FDirection:=MiscellaneousOptions.SortSelDirection; + FDomain:=MiscellaneousOptions.SortSelDomain; + FStates:=FStates+[ssdPreviewNeedsUpdate,ssdSortedTextNeedsUpdate]; + + IDEDialogLayoutList.ApplyLayout(Self,600,450); + Caption:=lisSortSelSortSelection; + + PreviewGroupBox.Caption:=lisSortSelPreview; + + with DirectionRadioGroup do begin + Caption:=dlgDirection; + with Items do begin + BeginUpdate; + Add(lisSortSelAscending); + Add(lisSortSelDescending); + case FDirection of + sdAscending: ItemIndex:=0; + else ItemIndex:=1; + end; + EndUpdate; + end; + end; + + with DomainRadioGroup do begin + Caption:=lisSortSelDomain; + with Items do begin + BeginUpdate; + Add(lisSortSelLines); + Add(lisSortSelWords); + Add(lisSortSelParagraphs); + case FDomain of + sdLines: ItemIndex:=0; + sdWords: ItemIndex:=1; + else ItemIndex:=2; + end; + EndUpdate; + end; + end; + + with OptionsCheckGroup do begin + Caption:=lisSortSelOptions; + with Items do begin + BeginUpdate; + Add(lisSortSelCaseSensitive); + Add(lisSortSelIgnoreSpace); + EndUpdate; + end; + end; + + ButtonPanel.OKButton.Caption:=lisSortSelSort; +end; + procedure TSortSelectionDialog.OptionsCheckGroupItemClick(Sender: TObject; Index: integer); begin @@ -380,14 +414,6 @@ begin end; end; -procedure TSortSelectionDialog.SortSelectionDialogClose(Sender: TObject; - var CloseAction: TCloseAction); -begin - MiscellaneousOptions.SortSelDirection:=Direction; - MiscellaneousOptions.SortSelDomain:=Domain; - MiscellaneousOptions.Save; -end; - procedure TSortSelectionDialog.SetDirection(const AValue: TSortDirection); begin if FDirection=AValue then exit; @@ -441,130 +467,6 @@ begin UpdatePreview; end; -constructor TSortSelectionDialog.Create(TheOwner: TComponent); -begin - inherited CreateNew(TheOwner, 1); - FIgnoreSpace:=true; - FDirection:=MiscellaneousOptions.SortSelDirection; - FDomain:=MiscellaneousOptions.SortSelDomain; - FStates:=FStates+[ssdPreviewNeedsUpdate,ssdSortedTextNeedsUpdate]; - - Position:=poScreenCenter; - IDEDialogLayoutList.ApplyLayout(Self,600,400); - Caption:=lisSortSelSortSelection; - - PreviewGroupBox:=TGroupBox.Create(Self); - with PreviewGroupBox do begin - Name:='PreviewGroupBox'; - Parent:=Self; - BorderSpacing.Around:=5; - Align:=alTop; - Height:=Self.ClientHeight-Top-140; - Caption:=lisSortSelPreview; - end; - - PreviewSynEdit:=TSynEdit.Create(Self); - with PreviewSynEdit do begin - Name:='PreviewSynEdit'; - Parent:=PreviewGroupBox; - Align:=alClient; - ReadOnly:=true; - end; - - DirectionRadioGroup:=TRadioGroup.Create(Self); - with DirectionRadioGroup do begin - Name:='DirectionRadioGroup'; - Parent:=Self; - Left:=5; - Top:=PreviewGroupBox.Top+PreviewGroupBox.Height+5; - Width:=((Self.ClientWidth-5) div 2)-Left; - Height:=45; - Caption:=dlgDirection; - with Items do begin - BeginUpdate; - Add(lisSortSelAscending); - Add(lisSortSelDescending); - Columns:=2; - case FDirection of - sdAscending: ItemIndex:=0; - else ItemIndex:=1; - end; - EndUpdate; - end; - OnClick:=@DirectionRadioGroupClick; - end; - - DomainRadioGroup:=TRadioGroup.Create(Self); - with DomainRadioGroup do begin - Name:='DomainRadioGroup'; - Parent:=Self; - Left:=DirectionRadioGroup.Left+DirectionRadioGroup.Width+5; - Top:=DirectionRadioGroup.Top; - Width:=DirectionRadioGroup.Width; - Height:=DirectionRadioGroup.Height; - Caption:=lisSortSelDomain; - with Items do begin - BeginUpdate; - Add(lisSortSelLines); - Add(lisSortSelWords); - Add(lisSortSelParagraphs); - case FDomain of - sdLines: ItemIndex:=0; - sdWords: ItemIndex:=1; - else ItemIndex:=2; - end; - Columns:=3; - EndUpdate; - end; - OnClick:=@DomainRadioGroupClick; - end; - - OptionsCheckGroup:=TCheckGroup.Create(Self); - with OptionsCheckGroup do begin - Name:='OptionsCheckGroup'; - Parent:=Self; - Left:=DirectionRadioGroup.Left; - Top:=DirectionRadioGroup.Top+DirectionRadioGroup.Height+5; - Width:=DirectionRadioGroup.Width; - Height:=DirectionRadioGroup.Height; - Columns:=2; - Caption:=lisSortSelOptions; - with Items do begin - BeginUpdate; - Add(lisSortSelCaseSensitive); - Add(lisSortSelIgnoreSpace); - EndUpdate; - end; - OnItemClick:=@OptionsCheckGroupItemClick; - end; - - OkButton:=TButton.Create(Self); - with OkButton do begin - Name:='OkButton'; - Parent:=Self; - Left:=Self.ClientWidth-200; - Top:=Self.ClientHeight-35; - Caption:=lisSortSelSort; - ModalResult:=mrOk; - Default:=true; - end; - - CancelButton:=TButton.Create(Self); - with CancelButton do begin - Name:='CancelButton'; - Parent:=Self; - Left:=Self.ClientWidth-100; - Top:=OkButton.Top; - Caption:=lisCancel; - ModalResult:=mrCancel; - Cancel:=true; - end; - - OnResize:=@SortSelectionDialogResize; - OnClose:=@SortSelectionDialogClose; - OnResize(Self); -end; - procedure TSortSelectionDialog.BeginUpdate; begin inc(FUpdateCount);