mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-11 20:36:09 +02:00
IDE: improved Sort Selection dialog layout, bug #21536
git-svn-id: trunk@36291 -
This commit is contained in:
parent
1707017a5f
commit
7e6f03810d
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -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
|
||||
|
624
ide/sortselectiondlg.lfm
Normal file
624
ide/sortselectiondlg.lfm
Normal file
@ -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
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user