mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-07 20:36:38 +02:00
IDE: added multi paste dialog like Delphi, patch #30671, from Silvio Clécio
git-svn-id: trunk@53064 -
This commit is contained in:
parent
c303c71d2d
commit
641d73f10a
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -6119,6 +6119,8 @@ ide/mouseactiondialog.lfm svneol=native#text/plain
|
|||||||
ide/mouseactiondialog.pas svneol=native#text/pascal
|
ide/mouseactiondialog.pas svneol=native#text/pascal
|
||||||
ide/msgvieweditor.lfm svneol=native#text/plain
|
ide/msgvieweditor.lfm svneol=native#text/plain
|
||||||
ide/msgvieweditor.pas svneol=native#text/pascal
|
ide/msgvieweditor.pas svneol=native#text/pascal
|
||||||
|
ide/multipastedlg.lfm svneol=native#text/plain
|
||||||
|
ide/multipastedlg.pas svneol=native#text/plain
|
||||||
ide/multireplacedlg.lfm svneol=native#text/plain
|
ide/multireplacedlg.lfm svneol=native#text/plain
|
||||||
ide/multireplacedlg.pas svneol=native#text/pascal
|
ide/multireplacedlg.pas svneol=native#text/pascal
|
||||||
ide/newdialog.lfm svneol=native#text/plain
|
ide/newdialog.lfm svneol=native#text/plain
|
||||||
|
657
ide/multipastedlg.lfm
Normal file
657
ide/multipastedlg.lfm
Normal file
@ -0,0 +1,657 @@
|
|||||||
|
object MultiPasteDialog: TMultiPasteDialog
|
||||||
|
Left = 245
|
||||||
|
Height = 500
|
||||||
|
Top = 137
|
||||||
|
Width = 460
|
||||||
|
BorderStyle = bsDialog
|
||||||
|
Caption = 'MultiPaste'
|
||||||
|
ClientHeight = 500
|
||||||
|
ClientWidth = 460
|
||||||
|
Position = poScreenCenter
|
||||||
|
LCLVersion = '1.7'
|
||||||
|
object PasteOptsGroupBox: TGroupBox
|
||||||
|
Left = 6
|
||||||
|
Height = 216
|
||||||
|
Top = 6
|
||||||
|
Width = 448
|
||||||
|
Align = alTop
|
||||||
|
AutoSize = True
|
||||||
|
BorderSpacing.Left = 6
|
||||||
|
BorderSpacing.Top = 6
|
||||||
|
BorderSpacing.Right = 6
|
||||||
|
Caption = 'Paste &options'
|
||||||
|
ClientHeight = 197
|
||||||
|
ClientWidth = 444
|
||||||
|
TabOrder = 0
|
||||||
|
object TxtBeforeLinesLabel: TLabel
|
||||||
|
Left = 6
|
||||||
|
Height = 17
|
||||||
|
Top = 6
|
||||||
|
Width = 432
|
||||||
|
Align = alTop
|
||||||
|
BorderSpacing.Left = 6
|
||||||
|
BorderSpacing.Top = 6
|
||||||
|
BorderSpacing.Right = 6
|
||||||
|
Caption = 'Text &before each line'
|
||||||
|
FocusControl = TxtBeforeLinesEdit
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object TxtBeforeLinesEdit: TEdit
|
||||||
|
Left = 6
|
||||||
|
Height = 27
|
||||||
|
Top = 26
|
||||||
|
Width = 432
|
||||||
|
Align = alTop
|
||||||
|
BorderSpacing.Left = 6
|
||||||
|
BorderSpacing.Top = 3
|
||||||
|
BorderSpacing.Right = 6
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object TxtAfterLinesLabel: TLabel
|
||||||
|
Left = 6
|
||||||
|
Height = 17
|
||||||
|
Top = 59
|
||||||
|
Width = 432
|
||||||
|
Align = alTop
|
||||||
|
BorderSpacing.Left = 6
|
||||||
|
BorderSpacing.Top = 6
|
||||||
|
BorderSpacing.Right = 6
|
||||||
|
Caption = 'Text &after each line'
|
||||||
|
FocusControl = TxtAfterLinesEdit
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object TxtAfterLinesEdit: TEdit
|
||||||
|
Left = 6
|
||||||
|
Height = 27
|
||||||
|
Top = 79
|
||||||
|
Width = 432
|
||||||
|
Align = alTop
|
||||||
|
BorderSpacing.Left = 6
|
||||||
|
BorderSpacing.Top = 3
|
||||||
|
BorderSpacing.Right = 6
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
object EscQuotesCheckBox: TCheckBox
|
||||||
|
AnchorSideLeft.Control = TxtAfterLinesEdit
|
||||||
|
AnchorSideTop.Control = TxtAfterLinesEdit
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 6
|
||||||
|
Height = 21
|
||||||
|
Top = 112
|
||||||
|
Width = 104
|
||||||
|
BorderSpacing.Top = 6
|
||||||
|
BorderSpacing.Right = 6
|
||||||
|
Caption = 'Escape "es'
|
||||||
|
Checked = True
|
||||||
|
State = cbChecked
|
||||||
|
TabOrder = 2
|
||||||
|
end
|
||||||
|
object EscQuotesStyleComboBox: TComboBox
|
||||||
|
AnchorSideLeft.Control = EscQuotesCheckBox
|
||||||
|
AnchorSideTop.Control = EscQuotesCheckBox
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 26
|
||||||
|
Height = 25
|
||||||
|
Top = 139
|
||||||
|
Width = 180
|
||||||
|
BorderSpacing.Left = 20
|
||||||
|
BorderSpacing.Top = 6
|
||||||
|
ItemHeight = 0
|
||||||
|
ItemIndex = 0
|
||||||
|
Items.Strings = (
|
||||||
|
'Pascal style: '' => '''''
|
||||||
|
'C style: " => \"'
|
||||||
|
)
|
||||||
|
Style = csDropDownList
|
||||||
|
TabOrder = 3
|
||||||
|
Text = 'Pascal style: '' => '''''
|
||||||
|
end
|
||||||
|
object TrimClipbrdContentsCheckBox: TCheckBox
|
||||||
|
AnchorSideLeft.Control = EscQuotesCheckBox
|
||||||
|
AnchorSideTop.Control = EscQuotesStyleComboBox
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 6
|
||||||
|
Height = 21
|
||||||
|
Top = 170
|
||||||
|
Width = 155
|
||||||
|
BorderSpacing.Top = 6
|
||||||
|
BorderSpacing.Bottom = 6
|
||||||
|
Caption = '&Trim clipboard contents'
|
||||||
|
Checked = True
|
||||||
|
State = cbChecked
|
||||||
|
TabOrder = 4
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object PreviewGroupBox: TGroupBox
|
||||||
|
Left = 6
|
||||||
|
Height = 225
|
||||||
|
Top = 228
|
||||||
|
Width = 448
|
||||||
|
Align = alClient
|
||||||
|
BorderSpacing.Around = 6
|
||||||
|
Caption = '&Preview'
|
||||||
|
ClientHeight = 206
|
||||||
|
ClientWidth = 444
|
||||||
|
TabOrder = 1
|
||||||
|
inline PreviewSynEdit: TSynEdit
|
||||||
|
Left = 6
|
||||||
|
Height = 194
|
||||||
|
Top = 6
|
||||||
|
Width = 432
|
||||||
|
Align = alClient
|
||||||
|
BorderSpacing.Around = 6
|
||||||
|
Font.Height = 13
|
||||||
|
Font.Name = 'DejaVu Sans Mono'
|
||||||
|
Font.Pitch = fpFixed
|
||||||
|
Font.Quality = fqNonAntialiased
|
||||||
|
ParentColor = False
|
||||||
|
ParentFont = False
|
||||||
|
TabOrder = 0
|
||||||
|
Gutter.Width = 57
|
||||||
|
Gutter.MouseActions = <>
|
||||||
|
RightGutter.Width = 0
|
||||||
|
RightGutter.MouseActions = <>
|
||||||
|
InsertMode = False
|
||||||
|
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 = EcFoldLevel3
|
||||||
|
ShortCut = 41011
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Command = EcFoldLevel4
|
||||||
|
ShortCut = 41012
|
||||||
|
end
|
||||||
|
item
|
||||||
|
Command = EcFoldLevel5
|
||||||
|
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 = <>
|
||||||
|
MouseTextActions = <>
|
||||||
|
MouseSelActions = <>
|
||||||
|
Options = [eoAutoIndent, eoBracketHighlight, eoGroupUndo, eoNoCaret, eoScrollPastEol, eoSmartTabs, eoTabsToSpaces, eoTrimTrailingSpaces]
|
||||||
|
VisibleSpecialChars = [vscSpace, vscTabAtLast]
|
||||||
|
ReadOnly = True
|
||||||
|
SelectedColor.BackPriority = 50
|
||||||
|
SelectedColor.ForePriority = 50
|
||||||
|
SelectedColor.FramePriority = 50
|
||||||
|
SelectedColor.BoldPriority = 50
|
||||||
|
SelectedColor.ItalicPriority = 50
|
||||||
|
SelectedColor.UnderlinePriority = 50
|
||||||
|
SelectedColor.StrikeOutPriority = 50
|
||||||
|
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 = <>
|
||||||
|
MarkupInfo.Background = clWhite
|
||||||
|
MarkupInfo.Foreground = clGray
|
||||||
|
end
|
||||||
|
object SynGutterCodeFolding1: TSynGutterCodeFolding
|
||||||
|
MouseActions = <>
|
||||||
|
MarkupInfo.Background = clNone
|
||||||
|
MarkupInfo.Foreground = clGray
|
||||||
|
MouseActionsExpanded = <>
|
||||||
|
MouseActionsCollapsed = <>
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object BottomButtonPanel: TButtonPanel
|
||||||
|
Left = 6
|
||||||
|
Height = 35
|
||||||
|
Top = 459
|
||||||
|
Width = 448
|
||||||
|
BorderSpacing.Left = 6
|
||||||
|
BorderSpacing.Right = 6
|
||||||
|
BorderSpacing.Bottom = 6
|
||||||
|
BorderSpacing.Around = 0
|
||||||
|
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 = 2
|
||||||
|
ShowButtons = [pbOK, pbCancel, pbHelp]
|
||||||
|
end
|
||||||
|
end
|
142
ide/multipastedlg.pas
Normal file
142
ide/multipastedlg.pas
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
{
|
||||||
|
***************************************************************************
|
||||||
|
* *
|
||||||
|
* This source is free software; you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
|
* (at your option) any later version. *
|
||||||
|
* *
|
||||||
|
* This code is distributed in the hope that it will be useful, but *
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
|
||||||
|
* General Public License for more details. *
|
||||||
|
* *
|
||||||
|
* A copy of the GNU General Public License is available on the World *
|
||||||
|
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
|
||||||
|
* obtain it by writing to the Free Software Foundation, *
|
||||||
|
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||||
|
* *
|
||||||
|
***************************************************************************
|
||||||
|
|
||||||
|
MultiPaste text - Lazarus addon
|
||||||
|
|
||||||
|
Author: Silvio Clecio (https://github.com/silvioprog)
|
||||||
|
Inspired by: Delphi Multi Paste
|
||||||
|
Last Modified: Fri Sep 30 15:22:18 EDT 2016
|
||||||
|
|
||||||
|
Abstract:
|
||||||
|
|
||||||
|
The MultiPaste dialog enables you to modify and paste into the
|
||||||
|
Source Editor the text you copied to the clipboard. The MultiPaste feature
|
||||||
|
helps you to work with SQL, HTML, JSON, formatted text, and any other text.
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
unit MultiPasteDlg;
|
||||||
|
|
||||||
|
{$mode objfpc}{$H+}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
SysUtils, Classes, StdCtrls, ButtonPanel, Forms, Clipbrd, IDEHelpIntf, SynEdit;
|
||||||
|
|
||||||
|
type
|
||||||
|
TMultiPasteDialog = class(TForm)
|
||||||
|
BottomButtonPanel: TButtonPanel;
|
||||||
|
PreviewSynEdit: TSynEdit;
|
||||||
|
TrimClipbrdContentsCheckBox: TCheckBox;
|
||||||
|
EscQuotesCheckBox: TCheckBox;
|
||||||
|
EscQuotesStyleComboBox: TComboBox;
|
||||||
|
TxtBeforeLinesEdit: TEdit;
|
||||||
|
TxtAfterLinesEdit: TEdit;
|
||||||
|
TxtBeforeLinesLabel: TLabel;
|
||||||
|
TxtAfterLinesLabel: TLabel;
|
||||||
|
PasteOptsGroupBox: TGroupBox;
|
||||||
|
PreviewGroupBox: TGroupBox;
|
||||||
|
private
|
||||||
|
FContent: TStringList;
|
||||||
|
protected
|
||||||
|
procedure DoWatch(Sender: TObject); virtual;
|
||||||
|
procedure DoUpdatePreview; virtual;
|
||||||
|
function DoFormatContent(const AContent: string): string; virtual;
|
||||||
|
procedure DoEscQuotesCheckBoxChange(Sender: TObject); virtual;
|
||||||
|
procedure DoHelpButtonClick(Sender: TObject); virtual;
|
||||||
|
public
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
destructor Destroy; override;
|
||||||
|
property Content: TStringList read FContent;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.lfm}
|
||||||
|
|
||||||
|
constructor TMultiPasteDialog.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited Create(AOwner);
|
||||||
|
FContent := TStringList.Create;
|
||||||
|
FContent.SkipLastLineBreak := True;
|
||||||
|
OnShow := @DoWatch;
|
||||||
|
OnActivate := @DoWatch;
|
||||||
|
TxtBeforeLinesEdit.OnChange := @DoWatch;
|
||||||
|
TxtAfterLinesEdit.OnChange := @DoWatch;
|
||||||
|
EscQuotesCheckBox.OnChange := @DoEscQuotesCheckBoxChange;
|
||||||
|
EscQuotesStyleComboBox.OnChange := @DoWatch;
|
||||||
|
TrimClipbrdContentsCheckBox.OnChange := @DoWatch;
|
||||||
|
BottomButtonPanel.HelpButton.OnClick := @DoHelpButtonClick;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TMultiPasteDialog.Destroy;
|
||||||
|
begin
|
||||||
|
FContent.Free;
|
||||||
|
inherited Destroy;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMultiPasteDialog.DoWatch(Sender: TObject);
|
||||||
|
begin
|
||||||
|
DoUpdatePreview;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMultiPasteDialog.DoUpdatePreview;
|
||||||
|
begin
|
||||||
|
if Clipboard.HasFormat(CF_TEXT) then
|
||||||
|
PreviewSynEdit.Lines.Text := DoFormatContent(Clipboard.AsText)
|
||||||
|
else
|
||||||
|
PreviewSynEdit.Clear;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TMultiPasteDialog.DoFormatContent(const AContent: string): string;
|
||||||
|
var
|
||||||
|
I: Integer;
|
||||||
|
S: string;
|
||||||
|
begin
|
||||||
|
FContent.Text := AContent;
|
||||||
|
for I := 0 to Pred(FContent.Count) do
|
||||||
|
begin
|
||||||
|
S := FContent[I];
|
||||||
|
if TrimClipbrdContentsCheckBox.Checked then
|
||||||
|
S := Trim(S);
|
||||||
|
if EscQuotesCheckBox.Checked then
|
||||||
|
case EscQuotesStyleComboBox.ItemIndex of
|
||||||
|
0: S := StringReplace(S, '''', '''''', [rfReplaceAll]);
|
||||||
|
1: S := StringReplace(S, '"', '\"', [rfReplaceAll]);
|
||||||
|
end;
|
||||||
|
FContent[I] := Concat(TxtBeforeLinesEdit.Text, S, TxtAfterLinesEdit.Text);
|
||||||
|
end;
|
||||||
|
Result := FContent.Text;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMultiPasteDialog.DoEscQuotesCheckBoxChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
DoWatch(Sender);
|
||||||
|
EscQuotesStyleComboBox.Enabled := EscQuotesCheckBox.Checked;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMultiPasteDialog.DoHelpButtonClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
LazarusHelp.ShowHelpForIDEControl(Self);
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user