mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-09 01:48:03 +02:00
moved code templates settings to a dialog of its own - it needs more space for the coming makros
git-svn-id: trunk@7601 -
This commit is contained in:
parent
cf73b83525
commit
4f10f5506b
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -793,9 +793,9 @@ ide/codeexplopts.pas svneol=native#text/pascal
|
||||
ide/codeexplorer.lfm svneol=native#text/plain
|
||||
ide/codeexplorer.lrs svneol=native#text/pascal
|
||||
ide/codeexplorer.pas svneol=native#text/pascal
|
||||
ide/codetemplatedialog.pp svneol=native#text/pascal
|
||||
ide/codetemplatesdlg.lfm svneol=native#text/plain
|
||||
ide/codetemplatesdlg.lrs svneol=native#text/plain
|
||||
ide/codetemplatesdlg.pas svneol=native#text/pascal
|
||||
ide/codetoolsdefines.lrs svneol=native#text/pascal
|
||||
ide/codetoolsdefines.pas svneol=native#text/pascal
|
||||
ide/codetoolsdefpreview.lfm svneol=native#text/plain
|
||||
|
@ -12,7 +12,6 @@ object CodeTemplateDialog: TCodeTemplateDialog
|
||||
Width = 596
|
||||
object FilenameGroupBox: TGroupBox
|
||||
Align = alTop
|
||||
BorderSpacing.OnChange = nil
|
||||
BorderSpacing.Around = 5
|
||||
Caption = 'FilenameGroupBox'
|
||||
ClientHeight = 42
|
||||
@ -25,7 +24,6 @@ object CodeTemplateDialog: TCodeTemplateDialog
|
||||
Width = 586
|
||||
object FilenameEdit: TEdit
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.OnChange = nil
|
||||
BorderSpacing.Right = 5
|
||||
TabOrder = 0
|
||||
Text = 'FilenameEdit'
|
||||
@ -37,8 +35,8 @@ object CodeTemplateDialog: TCodeTemplateDialog
|
||||
end
|
||||
object FilenameButton: TButton
|
||||
Anchors = [akTop, akLeft, akBottom]
|
||||
BorderSpacing.OnChange = nil
|
||||
Caption = '...'
|
||||
OnClick = FilenameButtonClick
|
||||
TabOrder = 1
|
||||
AnchorSideBottom.Control = FilenameEdit
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
@ -51,9 +49,9 @@ object CodeTemplateDialog: TCodeTemplateDialog
|
||||
object OkButton: TButton
|
||||
Anchors = [akRight, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.OnChange = nil
|
||||
BorderSpacing.Right = 14
|
||||
Caption = 'OkButton'
|
||||
OnClick = OkButtonClick
|
||||
TabOrder = 1
|
||||
AnchorSideRight.Control = CancelButton
|
||||
AnchorSideBottom.Control = CancelButton
|
||||
@ -66,7 +64,6 @@ object CodeTemplateDialog: TCodeTemplateDialog
|
||||
object CancelButton: TButton
|
||||
Anchors = [akRight, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.OnChange = nil
|
||||
Caption = 'CancelButton'
|
||||
ModalResult = 2
|
||||
TabOrder = 2
|
||||
@ -78,7 +75,6 @@ object CodeTemplateDialog: TCodeTemplateDialog
|
||||
object TemplateGroupBox: TGroupBox
|
||||
Align = alTop
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.OnChange = nil
|
||||
BorderSpacing.Around = 5
|
||||
Caption = 'TemplateGroupBox'
|
||||
ClientHeight = 306
|
||||
@ -93,7 +89,6 @@ object CodeTemplateDialog: TCodeTemplateDialog
|
||||
object TemplateListBox: TListBox
|
||||
Align = alLeft
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.OnChange = nil
|
||||
OnSelectionChange = TemplateListBoxSelectionChange
|
||||
TabOrder = 0
|
||||
TopIndex = -1
|
||||
@ -102,15 +97,12 @@ object CodeTemplateDialog: TCodeTemplateDialog
|
||||
end
|
||||
object TemplateSynEdit: TSynEdit
|
||||
Align = alBottom
|
||||
BorderSpacing.OnChange = nil
|
||||
Font.Height = -18
|
||||
Font.Name = 'courier'
|
||||
Height = 150
|
||||
Name = 'TemplateSynEdit'
|
||||
TabOrder = 1
|
||||
Width = 582
|
||||
BookMarkOptions.OnChange = nil
|
||||
Gutter.OnChange = nil
|
||||
Gutter.CodeFoldingWidth = 14
|
||||
Highlighter = ASynPasSyn
|
||||
Keystrokes = <
|
||||
@ -437,7 +429,6 @@ object CodeTemplateDialog: TCodeTemplateDialog
|
||||
Lines.Strings = (
|
||||
'TemplateSynEdit'
|
||||
)
|
||||
SelectedColor.OnChange = nil
|
||||
Cursor = crIBeam
|
||||
Height = 150
|
||||
Top = 156
|
||||
@ -455,7 +446,6 @@ object CodeTemplateDialog: TCodeTemplateDialog
|
||||
Width = 582
|
||||
end
|
||||
object AddButton: TButton
|
||||
BorderSpacing.OnChange = nil
|
||||
Caption = 'AddButton'
|
||||
OnClick = AddButtonClick
|
||||
TabOrder = 2
|
||||
@ -464,7 +454,6 @@ object CodeTemplateDialog: TCodeTemplateDialog
|
||||
Width = 115
|
||||
end
|
||||
object DeleteButton: TButton
|
||||
BorderSpacing.OnChange = nil
|
||||
Caption = 'DeleteButton'
|
||||
OnClick = DeleteButtonClick
|
||||
TabOrder = 3
|
||||
@ -474,7 +463,6 @@ object CodeTemplateDialog: TCodeTemplateDialog
|
||||
Width = 115
|
||||
end
|
||||
object EditButton: TButton
|
||||
BorderSpacing.OnChange = nil
|
||||
Caption = 'EditButton'
|
||||
OnClick = EditButtonClick
|
||||
TabOrder = 4
|
||||
|
@ -5,93 +5,88 @@ LazarusResources.Add('TCodeTemplateDialog','FORMDATA',[
|
||||
+'plateDialog'#12'ClientHeight'#3#176#1#11'ClientWidth'#3'T'#2#8'OnCreate'#7
|
||||
+#10'FormCreate'#13'PixelsPerInch'#2'p'#18'HorzScrollBar.Page'#3'S'#2#18'Vert'
|
||||
+'ScrollBar.Page'#3#175#1#4'Left'#3'"'#1#6'Height'#3#176#1#3'Top'#3#163#0#5'W'
|
||||
+'idth'#3'T'#2#0#9'TGroupBox'#16'FilenameGroupBox'#5'Align'#7#5'alTop'#22'Bor'
|
||||
+'derSpacing.OnChange'#13#20'BorderSpacing.Around'#2#5#7'Caption'#6#16'Filena'
|
||||
+'meGroupBox'#12'ClientHeight'#2'*'#11'ClientWidth'#3'F'#2#11'ParentColor'#9#8
|
||||
+'TabOrder'#2#0#4'Left'#2#5#6'Height'#2';'#3'Top'#2#5#5'Width'#3'J'#2#0#5'TEd'
|
||||
+'it'#12'FilenameEdit'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#22'Borde'
|
||||
+'rSpacing.OnChange'#13#19'BorderSpacing.Right'#2#5#8'TabOrder'#2#0#4'Text'#6
|
||||
+#12'FilenameEdit'#23'AnchorSideRight.Control'#7#14'FilenameButton'#4'Left'#2
|
||||
+#9#6'Height'#2#23#3'Top'#2#4#5'Width'#3#19#2#0#0#7'TButton'#14'FilenameButto'
|
||||
+'n'#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0#22'BorderSpacing.OnChange'
|
||||
+#13#7'Caption'#6#3'...'#8'TabOrder'#2#1#24'AnchorSideBottom.Control'#7#12'Fi'
|
||||
+'lenameEdit'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3'!'#2#6'Heigh'
|
||||
+'t'#2#23#3'Top'#2#4#5'Width'#2#30#0#0#0#7'TButton'#8'OkButton'#7'Anchors'#11
|
||||
+#7'akRight'#8'akBottom'#0#8'AutoSize'#9#22'BorderSpacing.OnChange'#13#19'Bor'
|
||||
+'derSpacing.Right'#2#14#7'Caption'#6#8'OkButton'#8'TabOrder'#2#1#23'AnchorSi'
|
||||
+'deRight.Control'#7#12'CancelButton'#24'AnchorSideBottom.Control'#7#12'Cance'
|
||||
+'lButton'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#147#1#6'Height'
|
||||
+#2#25#3'Top'#3#141#1#5'Width'#2'['#0#0#7'TButton'#12'CancelButton'#7'Anchors'
|
||||
+#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#22'BorderSpacing.OnChange'#13#7'C'
|
||||
+'aption'#6#12'CancelButton'#11'ModalResult'#2#2#8'TabOrder'#2#2#4'Left'#3#252
|
||||
+#1#6'Height'#2#25#3'Top'#3#141#1#5'Width'#2'K'#0#0#9'TGroupBox'#16'TemplateG'
|
||||
+'roupBox'#5'Align'#7#5'alTop'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8
|
||||
+'akBottom'#0#22'BorderSpacing.OnChange'#13#20'BorderSpacing.Around'#2#5#7'Ca'
|
||||
+'ption'#6#16'TemplateGroupBox'#12'ClientHeight'#3'2'#1#11'ClientWidth'#3'F'#2
|
||||
+#11'ParentColor'#9#8'TabOrder'#2#3#24'AnchorSideBottom.Control'#7#12'CancelB'
|
||||
+'utton'#4'Left'#2#5#6'Height'#3'C'#1#3'Top'#2'E'#5'Width'#3'J'#2#0#8'TListBo'
|
||||
+'x'#15'TemplateListBox'#5'Align'#7#6'alLeft'#7'Anchors'#11#5'akTop'#6'akLeft'
|
||||
+#7'akRight'#8'akBottom'#0#22'BorderSpacing.OnChange'#13#17'OnSelectionChange'
|
||||
+#7#30'TemplateListBoxSelectionChange'#8'TabOrder'#2#0#8'TopIndex'#2#255#6'He'
|
||||
+'ight'#3#151#0#5'Width'#3#191#1#0#0#8'TSynEdit'#15'TemplateSynEdit'#5'Align'
|
||||
+#7#8'alBottom'#22'BorderSpacing.OnChange'#13#11'Font.Height'#2#238#9'Font.Na'
|
||||
+'me'#6#7'courier'#6'Height'#3#150#0#4'Name'#6#15'TemplateSynEdit'#8'TabOrder'
|
||||
+#2#1#5'Width'#3'F'#2#24'BookMarkOptions.OnChange'#13#15'Gutter.OnChange'#13
|
||||
+#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'ASynPasSyn'#10'Keystr'
|
||||
+'okes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3
|
||||
+'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'
|
||||
+#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCu'
|
||||
+'t'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'
|
||||
+#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3
|
||||
+'%`'#0#1#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3
|
||||
+''' '#0#1#7'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3
|
||||
+'''`'#0#1#7'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3
|
||||
+'" '#0#1#7'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3
|
||||
+'"`'#0#1#7'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'!'
|
||||
+' '#0#1#7'Command'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3
|
||||
+'!`'#0#1#7'Command'#2#7#8'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$'
|
||||
+' '#0#1#7'Command'#2#15#8'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3
|
||||
+'$`'#0#1#7'Command'#2#8#8'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'#'
|
||||
+' '#0#1#7'Command'#2#16#8'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3
|
||||
+'#`'#0#1#7'Command'#3#223#0#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortC'
|
||||
+'ut'#3'-@'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8
|
||||
+'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245
|
||||
+#1#8'ShortCut'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3
|
||||
+#248#1#8'ShortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7
|
||||
+'Command'#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2
|
||||
+#13#0#1#7'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortC'
|
||||
+'ut'#3'C@'#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8
|
||||
+'ShortCut'#3'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3
|
||||
+#247#1#8'ShortCut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Comma'
|
||||
+'nd'#3'\'#2#8'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7
|
||||
+'Command'#3#251#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'
|
||||
,#0#1#7'Command'#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3
|
||||
+'Z`'#0#1#7'Command'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCu'
|
||||
+'t'#3'1@'#0#1#7'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'Sh'
|
||||
+'ortCut'#3'3@'#0#1#7'Command'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1
|
||||
+#8'ShortCut'#3'5@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3
|
||||
+'4'#1#8'ShortCut'#3'7@'#0#1#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Comman'
|
||||
+'d'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'C'
|
||||
+'ommand'#3'`'#1#8'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1
|
||||
+#7'Command'#3'b'#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'
|
||||
+#0#1#7'Command'#3'd'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3
|
||||
+'6`'#0#1#7'Command'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCu'
|
||||
+'t'#3'8`'#0#1#7'Command'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'S'
|
||||
+'hortCut'#3'N`'#0#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233
|
||||
+#0#8'ShortCut'#3'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3
|
||||
+'e'#2#8'ShortCut'#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#13'Lin'
|
||||
+'es.Strings'#1#6#15'TemplateSynEdit'#0#22'SelectedColor.OnChange'#13#6'Curso'
|
||||
+'r'#7#7'crIBeam'#6'Height'#3#150#0#3'Top'#3#156#0#5'Width'#3'F'#2#0#0#9'TSpl'
|
||||
+'itter'#16'TemplateSplitter'#5'Align'#7#8'alBottom'#6'Cursor'#7#8'crVSplit'#6
|
||||
+'Height'#2#5#11'ParentColor'#9#5'Width'#3'F'#2#6'Cursor'#7#8'crVSplit'#6'Hei'
|
||||
+'ght'#2#5#3'Top'#3#151#0#5'Width'#3'F'#2#0#0#7'TButton'#9'AddButton'#22'Bord'
|
||||
+'erSpacing.OnChange'#13#7'Caption'#6#9'AddButton'#7'OnClick'#7#14'AddButtonC'
|
||||
+'lick'#8'TabOrder'#2#2#4'Left'#3#201#1#6'Height'#2' '#5'Width'#2's'#0#0#7'TB'
|
||||
+'utton'#12'DeleteButton'#22'BorderSpacing.OnChange'#13#7'Caption'#6#12'Delet'
|
||||
+'eButton'#7'OnClick'#7#17'DeleteButtonClick'#8'TabOrder'#2#3#4'Left'#3#201#1
|
||||
+#6'Height'#2' '#3'Top'#2','#5'Width'#2's'#0#0#7'TButton'#10'EditButton'#22'B'
|
||||
+'orderSpacing.OnChange'#13#7'Caption'#6#10'EditButton'#7'OnClick'#7#15'EditB'
|
||||
+'uttonClick'#8'TabOrder'#2#4#4'Left'#3#201#1#6'Height'#2' '#3'Top'#2'\'#5'Wi'
|
||||
+'dth'#2's'#0#0#0#10'TSynPasSyn'#10'ASynPasSyn'#7'Enabled'#8#4'left'#3#21#1#3
|
||||
+'top'#3#216#0#0#0#0
|
||||
+'idth'#3'T'#2#0#9'TGroupBox'#16'FilenameGroupBox'#5'Align'#7#5'alTop'#20'Bor'
|
||||
+'derSpacing.Around'#2#5#7'Caption'#6#16'FilenameGroupBox'#12'ClientHeight'#2
|
||||
+'*'#11'ClientWidth'#3'F'#2#11'ParentColor'#9#8'TabOrder'#2#0#4'Left'#2#5#6'H'
|
||||
+'eight'#2';'#3'Top'#2#5#5'Width'#3'J'#2#0#5'TEdit'#12'FilenameEdit'#7'Anchor'
|
||||
+'s'#11#5'akTop'#6'akLeft'#7'akRight'#0#19'BorderSpacing.Right'#2#5#8'TabOrde'
|
||||
+'r'#2#0#4'Text'#6#12'FilenameEdit'#23'AnchorSideRight.Control'#7#14'Filename'
|
||||
+'Button'#4'Left'#2#9#6'Height'#2#23#3'Top'#2#4#5'Width'#3#19#2#0#0#7'TButton'
|
||||
+#14'FilenameButton'#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0#7'Caption'
|
||||
+#6#3'...'#7'OnClick'#7#19'FilenameButtonClick'#8'TabOrder'#2#1#24'AnchorSide'
|
||||
+'Bottom.Control'#7#12'FilenameEdit'#21'AnchorSideBottom.Side'#7#9'asrBottom'
|
||||
+#4'Left'#3'!'#2#6'Height'#2#23#3'Top'#2#4#5'Width'#2#30#0#0#0#7'TButton'#8'O'
|
||||
+'kButton'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#19'BorderSpac'
|
||||
+'ing.Right'#2#14#7'Caption'#6#8'OkButton'#7'OnClick'#7#13'OkButtonClick'#8'T'
|
||||
+'abOrder'#2#1#23'AnchorSideRight.Control'#7#12'CancelButton'#24'AnchorSideBo'
|
||||
+'ttom.Control'#7#12'CancelButton'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4
|
||||
+'Left'#3#147#1#6'Height'#2#25#3'Top'#3#141#1#5'Width'#2'['#0#0#7'TButton'#12
|
||||
+'CancelButton'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#7'Captio'
|
||||
+'n'#6#12'CancelButton'#11'ModalResult'#2#2#8'TabOrder'#2#2#4'Left'#3#252#1#6
|
||||
+'Height'#2#25#3'Top'#3#141#1#5'Width'#2'K'#0#0#9'TGroupBox'#16'TemplateGroup'
|
||||
+'Box'#5'Align'#7#5'alTop'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBo'
|
||||
+'ttom'#0#20'BorderSpacing.Around'#2#5#7'Caption'#6#16'TemplateGroupBox'#12'C'
|
||||
+'lientHeight'#3'2'#1#11'ClientWidth'#3'F'#2#11'ParentColor'#9#8'TabOrder'#2#3
|
||||
+#24'AnchorSideBottom.Control'#7#12'CancelButton'#4'Left'#2#5#6'Height'#3'C'#1
|
||||
+#3'Top'#2'E'#5'Width'#3'J'#2#0#8'TListBox'#15'TemplateListBox'#5'Align'#7#6
|
||||
+'alLeft'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#17'OnSele'
|
||||
+'ctionChange'#7#30'TemplateListBoxSelectionChange'#8'TabOrder'#2#0#8'TopInde'
|
||||
+'x'#2#255#6'Height'#3#151#0#5'Width'#3#191#1#0#0#8'TSynEdit'#15'TemplateSynE'
|
||||
+'dit'#5'Align'#7#8'alBottom'#11'Font.Height'#2#238#9'Font.Name'#6#7'courier'
|
||||
+#6'Height'#3#150#0#4'Name'#6#15'TemplateSynEdit'#8'TabOrder'#2#1#5'Width'#3
|
||||
+'F'#2#23'Gutter.CodeFoldingWidth'#2#14#11'Highlighter'#7#10'ASynPasSyn'#10'K'
|
||||
+'eystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'Short'
|
||||
+'Cut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'Sh'
|
||||
+'ortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8
|
||||
+'ShortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'S'
|
||||
+'hortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'S'
|
||||
+'hortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'S'
|
||||
+'hortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8
|
||||
+'ShortCut'#3'''`'#0#1#7'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8
|
||||
+'ShortCut'#3'" '#0#1#7'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8
|
||||
+'ShortCut'#3'"`'#0#1#7'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'S'
|
||||
+'hortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8
|
||||
+'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'S'
|
||||
+'hortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3'$@'#0#1#7'Command'#2's'#8
|
||||
+'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'S'
|
||||
+'hortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3'#@'#0#1#7'Command'#2't'#8
|
||||
+'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'#2'-'#0#1#7'Command'#3#201
|
||||
+#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3
|
||||
+#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Comman'
|
||||
+'d'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7
|
||||
+'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8
|
||||
+#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1
|
||||
+#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3
|
||||
+#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Comma'
|
||||
+'nd'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7
|
||||
+'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0
|
||||
+#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X'
|
||||
+'@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortC'
|
||||
+'ut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'S'
|
||||
+'hortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1
|
||||
+#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3
|
||||
,'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Comman'
|
||||
+'d'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'C'
|
||||
+'ommand'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1
|
||||
+#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'
|
||||
+#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3
|
||||
+'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCu'
|
||||
+'t'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'Sh'
|
||||
+'ortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1
|
||||
+#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3
|
||||
+#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Comm'
|
||||
+'and'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7
|
||||
+'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'
|
||||
+#0#0#13'Lines.Strings'#1#6#15'TemplateSynEdit'#0#6'Cursor'#7#7'crIBeam'#6'He'
|
||||
+'ight'#3#150#0#3'Top'#3#156#0#5'Width'#3'F'#2#0#0#9'TSplitter'#16'TemplateSp'
|
||||
+'litter'#5'Align'#7#8'alBottom'#6'Cursor'#7#8'crVSplit'#6'Height'#2#5#11'Par'
|
||||
+'entColor'#9#5'Width'#3'F'#2#6'Cursor'#7#8'crVSplit'#6'Height'#2#5#3'Top'#3
|
||||
+#151#0#5'Width'#3'F'#2#0#0#7'TButton'#9'AddButton'#7'Caption'#6#9'AddButton'
|
||||
+#7'OnClick'#7#14'AddButtonClick'#8'TabOrder'#2#2#4'Left'#3#201#1#6'Height'#2
|
||||
+' '#5'Width'#2's'#0#0#7'TButton'#12'DeleteButton'#7'Caption'#6#12'DeleteButt'
|
||||
+'on'#7'OnClick'#7#17'DeleteButtonClick'#8'TabOrder'#2#3#4'Left'#3#201#1#6'He'
|
||||
+'ight'#2' '#3'Top'#2','#5'Width'#2's'#0#0#7'TButton'#10'EditButton'#7'Captio'
|
||||
+'n'#6#10'EditButton'#7'OnClick'#7#15'EditButtonClick'#8'TabOrder'#2#4#4'Left'
|
||||
+#3#201#1#6'Height'#2' '#3'Top'#2'\'#5'Width'#2's'#0#0#0#10'TSynPasSyn'#10'AS'
|
||||
+'ynPasSyn'#7'Enabled'#8#4'left'#3#21#1#3'top'#3#216#0#0#0#0
|
||||
]);
|
||||
|
@ -24,16 +24,17 @@
|
||||
A dialog for adding and editing code templates
|
||||
|
||||
}
|
||||
unit CodeTemplateDialog;
|
||||
unit CodeTemplatesDlg;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
LazarusIDEStrConsts, StdCtrls, Buttons, SynEdit, SynHighlighterPas, ExtCtrls,
|
||||
EditorOptions, SynCompletion;
|
||||
Classes, SysUtils, LCLProc, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
StdCtrls, Buttons, SynEdit, SynHighlighterPas, ExtCtrls,
|
||||
SynEditAutoComplete, InputHistory,
|
||||
LazarusIDEStrConsts, EditorOptions;
|
||||
|
||||
type
|
||||
|
||||
@ -56,7 +57,9 @@ type
|
||||
procedure AddButtonClick(Sender: TObject);
|
||||
procedure DeleteButtonClick(Sender: TObject);
|
||||
procedure EditButtonClick(Sender: TObject);
|
||||
procedure FilenameButtonClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure OkButtonClick(Sender: TObject);
|
||||
procedure TemplateListBoxSelectionChange(Sender: TObject; User: boolean);
|
||||
private
|
||||
SynAutoComplete: TSynEditAutoComplete;
|
||||
@ -292,6 +295,8 @@ end;
|
||||
{ TCodeTemplateDialog }
|
||||
|
||||
procedure TCodeTemplateDialog.FormCreate(Sender: TObject);
|
||||
var
|
||||
s: String;
|
||||
begin
|
||||
SynAutoComplete:=TSynEditAutoComplete.Create(Self);
|
||||
|
||||
@ -316,17 +321,48 @@ begin
|
||||
end;
|
||||
end;
|
||||
FillCodeTemplateListBox;
|
||||
with CodeTemplateListBox do
|
||||
with TemplateListBox do
|
||||
if Items.Count>0 then begin
|
||||
Selected[0]:=true;
|
||||
ItemIndex:=0;
|
||||
ShowCurCodeTemplate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCodeTemplateDialog.OkButtonClick(Sender: TObject);
|
||||
var
|
||||
Res: TModalResult;
|
||||
begin
|
||||
SaveCurCodeTemplate;
|
||||
|
||||
EditorOpts.CodeTemplateFileName:=FilenameEdit.Text;
|
||||
//EditorOpts.CodeTemplateIndentToTokenStart:=
|
||||
// (CodeTemplateIndentTypeRadioGroup.ItemIndex=0);
|
||||
|
||||
EditorOpts.Save;
|
||||
|
||||
if BuildBorlandDCIFile(SynAutoComplete) then begin
|
||||
Res:=mrOk;
|
||||
repeat
|
||||
try
|
||||
SynAutoComplete.AutoCompleteList.SaveToFile(
|
||||
EditorOpts.CodeTemplateFileName);
|
||||
except
|
||||
res:=MessageDlg(' Unable to write code templates to file '''
|
||||
+EditorOpts.CodeTemplateFileName+'''! ',mtError
|
||||
,[mbAbort, mbIgnore, mbRetry],0);
|
||||
if res=mrAbort then exit;
|
||||
end;
|
||||
until Res<>mrRetry;
|
||||
end;
|
||||
|
||||
ModalResult:=mrOk;
|
||||
end;
|
||||
|
||||
procedure TCodeTemplateDialog.AddButtonClick(Sender: TObject);
|
||||
var
|
||||
Token: String;
|
||||
Comment: String;
|
||||
Index: LongInt;
|
||||
begin
|
||||
SaveCurCodeTemplate;
|
||||
Token:='new';
|
||||
@ -354,25 +390,45 @@ begin
|
||||
+'?',mtConfirmation,[mbOk,mbCancel],0)=mrOK then begin
|
||||
SynAutoComplete.DeleteCompletion(i);
|
||||
FillCodeTemplateListBox;
|
||||
if (i>=0) and (i<CodeTemplateListBox.Items.Count) then begin
|
||||
CodeTemplateListBox.ItemIndex:=i;
|
||||
if (i>=0) and (i<TemplateListBox.Items.Count) then begin
|
||||
TemplateListBox.ItemIndex:=i;
|
||||
end;
|
||||
ShowCurCodeTemplate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCodeTemplateDialog.EditButtonClick(Sender: TObject);
|
||||
var
|
||||
i: LongInt;
|
||||
begin
|
||||
i:=TemplateListBox.ItemIndex;
|
||||
if i<0 then exit;
|
||||
if EditCodeTemplate(SynAutoComplete,i)=mrOk then begin
|
||||
CodeTemplateListBox.Items[i]:=
|
||||
TemplateListBox.Items[i]:=
|
||||
SynAutoComplete.Completions[i]
|
||||
+' - "'+SynAutoComplete.CompletionComments[i]+'"';
|
||||
ShowCurCodeTemplate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCodeTemplateDialog.FilenameButtonClick(Sender: TObject);
|
||||
var OpenDialog:TOpenDialog;
|
||||
begin
|
||||
OpenDialog:=TOpenDialog.Create(nil);
|
||||
try
|
||||
InputHistories.ApplyFileDialogSettings(OpenDialog);
|
||||
with OpenDialog do begin
|
||||
Title:=dlgChsCodeTempl;
|
||||
Filter:='DCI file (*.dci)|*.dci|'+dlgAllFiles+'|*.*';
|
||||
if Execute then
|
||||
FilenameEdit.Text:=FileName;
|
||||
end;
|
||||
InputHistories.StoreFileDialogSettings(OpenDialog);
|
||||
finally
|
||||
OpenDialog.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCodeTemplateDialog.TemplateListBoxSelectionChange(Sender: TObject;
|
||||
User: boolean);
|
||||
begin
|
||||
@ -403,7 +459,6 @@ begin
|
||||
TemplateSynEdit.Lines.Clear;
|
||||
i:=TemplateListBox.ItemIndex;
|
||||
if i>=0 then begin
|
||||
CurCodeTemplate:=i;
|
||||
s:=SynAutoComplete.CompletionValues[i];
|
||||
sp:=1;
|
||||
ep:=1;
|
||||
@ -431,7 +486,7 @@ var
|
||||
begin
|
||||
i:=TemplateListBox.ItemIndex;
|
||||
if i<0 then exit;
|
||||
NewValue:=CodeTemplateCodePreview.Lines.Text;
|
||||
NewValue:=TemplateSynEdit.Lines.Text;
|
||||
// remove last EOL
|
||||
if NewValue<>'' then begin
|
||||
l:=length(NewValue);
|
@ -42,7 +42,7 @@ uses
|
||||
SynHighlighterLFM, SynHighlighterPerl, SynHighlighterJava,
|
||||
SynHighlighterPython, SynHighlighterUNIXShellScript, SynHighlighterPHP,
|
||||
Laz_XMLCfg, IDEWindowIntf,
|
||||
IDECommands, CodeTemplateDialog, KeyMapping, InputHistory, IDEOptionDefs,
|
||||
IDECommands, KeyMapping, InputHistory, IDEOptionDefs,
|
||||
LazarusIDEStrConsts, KeymapSchemeDlg;
|
||||
|
||||
type
|
||||
@ -386,19 +386,6 @@ type
|
||||
AutoDelayTrackBar:TTrackBar;
|
||||
AutoDelayMinLabel:TLabel;
|
||||
AutoDelayMaxLabel:TLabel;
|
||||
CodeTemplatesGroupBox:TGroupBox;
|
||||
CodeTemplateFileNameLabel:TLabel;
|
||||
CodeTemplateFileNameComboBox:TComboBox;
|
||||
CodeTemplateFileNameButton:TButton;
|
||||
CodeTemplatesLabel:TLabel;
|
||||
CodeTemplateListBox:TListBox;
|
||||
CodeTemplateAddButton:TButton;
|
||||
CodeTemplateEditButton:TButton;
|
||||
CodeTemplateDeleteButton:TButton;
|
||||
CodeTemplateCodeLabel:TLabel;
|
||||
CodeTemplateCodePreview:TPreviewEditor;
|
||||
CodeTemplateIndentTypeRadioGroup: TRadioGroup;
|
||||
SynAutoComplete:TSynEditAutoComplete;
|
||||
|
||||
// buttons at bottom
|
||||
OkButton:TButton;
|
||||
@ -436,11 +423,6 @@ type
|
||||
procedure SetAllAttributesToDefaultButtonClick(Sender: TObject);
|
||||
|
||||
// code tools
|
||||
procedure CodeTemplateListBoxMouseUp(Sender:TObject;
|
||||
Button:TMouseButton; Shift:TShiftState; X,Y:integer);
|
||||
procedure CodeTemplateFileNameButtonClick(Sender:TObject);
|
||||
procedure CodeTemplateButtonClick(Sender:TObject);
|
||||
procedure CodeTemplatesGroupBoxResize(Sender: TObject);
|
||||
|
||||
// buttons at bottom
|
||||
procedure OkButtonClick(Sender:TObject);
|
||||
@ -448,10 +430,9 @@ type
|
||||
private
|
||||
FormCreating: boolean;
|
||||
PreviewSyn: TCustomSyn;
|
||||
PreviewEdits:array[1..3] of TPreviewEditor;
|
||||
PreviewEdits:array[1..2] of TPreviewEditor;
|
||||
CurLanguageID: integer; // current index in EditorOpts.EditOptHighlighterList
|
||||
CurHighlightElement: TSynHighlightElement;
|
||||
CurCodeTemplate: integer;
|
||||
UpdatingColor: boolean;
|
||||
fHighlighterList: TStringList; // list of "ColorScheme" Data=TCustomSyn
|
||||
fColorSchemes: TStringList; // list of LanguageName=ColorScheme
|
||||
@ -501,9 +482,6 @@ type
|
||||
// code tools
|
||||
procedure SetupCodeToolsPage;
|
||||
procedure ResizeCodeToolsPage;
|
||||
procedure FillCodeTemplateListBox;
|
||||
procedure ShowCurCodeTemplate;
|
||||
procedure SaveCurCodeTemplate;
|
||||
public
|
||||
constructor Create(TheOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
@ -534,6 +512,8 @@ function ShowEditorOptionsDialog:TModalResult;
|
||||
function StrToLazSyntaxHighlighter(const s: string): TLazSyntaxHighlighter;
|
||||
function ExtensionToLazSyntaxHighlighter(Ext:string): TLazSyntaxHighlighter;
|
||||
|
||||
function BuildBorlandDCIFile(
|
||||
ACustomSynAutoComplete: TCustomSynAutoComplete):boolean;
|
||||
|
||||
implementation
|
||||
|
||||
@ -639,7 +619,7 @@ begin
|
||||
if Value[ep] in [#10,#13] then begin
|
||||
sl.Add(copy(Value,sp,ep-sp));
|
||||
inc(ep);
|
||||
if (ep<=length(Value)) and (Value[ep] in [#10,#13])
|
||||
if (ep<=length(Value)) and (Value[ep] in [#10,#13])
|
||||
and (Value[ep]<>Value[ep-1]) then inc(ep);
|
||||
sp:=ep;
|
||||
end else inc(ep);
|
||||
@ -2191,8 +2171,6 @@ begin
|
||||
IDEDialogLayoutList.ApplyLayout(Self,480,480);
|
||||
OnResize:=@EditorOptionsFormResize;
|
||||
|
||||
SynAutoComplete:=TSynEditAutoComplete.Create(Self);
|
||||
|
||||
MainNoteBook:=TNoteBook.Create(Self);
|
||||
with MainNoteBook do
|
||||
begin
|
||||
@ -2248,7 +2226,6 @@ begin
|
||||
|
||||
PreviewEdits[1]:=DisplayPreview;
|
||||
PreviewEdits[2]:=ColorPreview;
|
||||
PreviewEdits[3]:=CodeTemplateCodePreview;
|
||||
for a:=Low(PreviewEdits) to High(PreviewEdits) do
|
||||
begin
|
||||
if PreviewEdits[a]<>nil then
|
||||
@ -2267,7 +2244,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
CodeTemplateCodePreview.Gutter.Visible:=false;
|
||||
|
||||
// general options
|
||||
|
||||
@ -2286,26 +2262,7 @@ begin
|
||||
ShowCurAttribute;
|
||||
|
||||
// code Tools options
|
||||
with SynAutoComplete do begin
|
||||
s:=EditorOpts.CodeTemplateFileName;
|
||||
if FileExists(s) then
|
||||
try
|
||||
AutoCompleteList.LoadFromFile(s);
|
||||
except
|
||||
DebugLn('NOTE: unable to read code template file ''',s,'''');
|
||||
end;
|
||||
end;
|
||||
FillCodeTemplateListBox;
|
||||
with CodeTemplateListBox do
|
||||
if Items.Count>0 then begin
|
||||
Selected[0]:=true;
|
||||
ShowCurCodeTemplate;
|
||||
end;
|
||||
if EditorOpts.CodeTemplateIndentToTokenStart then
|
||||
CodeTemplateIndentTypeRadioGroup.ItemIndex:=0
|
||||
else
|
||||
CodeTemplateIndentTypeRadioGroup.ItemIndex:=1;
|
||||
|
||||
|
||||
MainNoteBook.PageIndex:=0;
|
||||
FormCreating:=false;
|
||||
|
||||
@ -2324,83 +2281,6 @@ end;
|
||||
|
||||
// general
|
||||
|
||||
procedure TEditorOptionsForm.CodeTemplatesGroupBoxResize(Sender: TObject);
|
||||
begin
|
||||
with CodeTemplateFileNameLabel do begin
|
||||
Top:=5;
|
||||
Left:=7;
|
||||
Width:=110;
|
||||
end;
|
||||
|
||||
with CodeTemplateFileNameComboBox do begin
|
||||
Top:=3;
|
||||
Left:=CodeTemplateFileNameLabel.Left+CodeTemplateFileNameLabel.Width+2;
|
||||
Width:=CodeTemplatesGroupBox.Width-12-Left-Height;
|
||||
end;
|
||||
|
||||
with CodeTemplateFileNameButton do begin
|
||||
Top:=CodeTemplateFileNameComboBox.Top+2;
|
||||
Width:=CodeTemplateFileNameComboBox.Height-5;
|
||||
Left:=CodeTemplatesGroupBox.Width-9-Width;
|
||||
Height:=Width;
|
||||
end;
|
||||
|
||||
with CodeTemplateAddButton do begin
|
||||
Top:=CodeTemplateFileNameComboBox.Top+CodeTemplateFileNameComboBox.Height+10;
|
||||
Width:=50;
|
||||
Left:=CodeTemplateFileNameLabel.Left;
|
||||
Height:=23;
|
||||
end;
|
||||
|
||||
with CodeTemplateEditButton do begin
|
||||
Top:=CodeTemplateAddButton.Top+CodeTemplateAddButton.Height+5;
|
||||
Left:=CodeTemplateAddButton.Left;
|
||||
Width:=CodeTemplateAddButton.Width;
|
||||
Height:=CodeTemplateAddButton.Height;
|
||||
end;
|
||||
|
||||
with CodeTemplateDeleteButton do begin
|
||||
Top:=CodeTemplateEditButton.Top+CodeTemplateEditButton.Height+5;
|
||||
Left:=CodeTemplateAddButton.Left;
|
||||
Width:=CodeTemplateAddButton.Width;
|
||||
Height:=CodeTemplateAddButton.Height;
|
||||
end;
|
||||
|
||||
with CodeTemplatesLabel do begin
|
||||
Top:=CodeTemplateFileNameLabel.Top+CodeTemplateFileNameLabel.Height+12;
|
||||
Left:=CodeTemplateAddButton.Left+CodeTemplateAddButton.Width+5;
|
||||
Width:=60;
|
||||
end;
|
||||
|
||||
with CodeTemplateListBox do begin
|
||||
Top:=CodeTemplatesLabel.Top;
|
||||
Left:=CodeTemplatesLabel.Left+CodeTemplatesLabel.Width+5;
|
||||
Width:=Parent.ClientWidth-8-Left;
|
||||
Height:=80;
|
||||
end;
|
||||
|
||||
with CodeTemplateCodeLabel do begin
|
||||
Top:=CodeTemplateListBox.Top+CodeTemplateListBox.Height+5;
|
||||
Left:=CodeTemplatesLabel.Left;
|
||||
Width:=CodeTemplatesLabel.Width;
|
||||
Height:=CodeTemplatesLabel.Height;
|
||||
end;
|
||||
|
||||
with CodeTemplateCodePreview do begin
|
||||
Top:=CodeTemplateCodeLabel.Top;
|
||||
Left:=CodeTemplateCodeLabel.Left+CodeTemplateCodeLabel.Width+5;
|
||||
Width:=CodeTemplateListBox.Width;
|
||||
Height:=CodeTemplatesGroupBox.ClientHeight-Top;
|
||||
end;
|
||||
|
||||
with CodeTemplateIndentTypeRadioGroup do begin
|
||||
Left:=CodeTemplateAddButton.Left;
|
||||
Top:=CodeTemplateCodeLabel.Top+CodeTemplateCodeLabel.Height+15;
|
||||
Width:=CodeTemplateCodePreview.Left-Left-8;
|
||||
Height:=70;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TEditorOptionsForm.EditorOptionsFormResize(Sender: TObject);
|
||||
begin
|
||||
with MainNoteBook do begin
|
||||
@ -3254,147 +3134,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TEditorOptionsForm.ShowCurCodeTemplate;
|
||||
var i,sp,ep:integer;
|
||||
s:ansistring;
|
||||
begin
|
||||
CodeTemplateCodePreview.Lines.BeginUpdate;
|
||||
CodeTemplateCodePreview.Lines.Clear;
|
||||
i:=0;
|
||||
while i<CodeTemplateListBox.Items.Count do begin
|
||||
if CodeTemplateListBox.Selected[i] then begin
|
||||
CurCodeTemplate:=i;
|
||||
s:=SynAutoComplete.CompletionValues[i];
|
||||
sp:=1;
|
||||
ep:=1;
|
||||
while ep<=length(s) do begin
|
||||
if s[ep] in [#10,#13] then begin
|
||||
CodeTemplateCodePreview.Lines.Add(copy(s,sp,ep-sp));
|
||||
inc(ep);
|
||||
if (ep<=length(s)) and (s[ep] in [#10,#13]) and (s[ep-1]<>s[ep]) then
|
||||
inc(ep);
|
||||
sp:=ep;
|
||||
end else inc(ep);
|
||||
end;
|
||||
if (ep>sp) or ((s<>'') and (s[length(s)] in [#10,#13])) then
|
||||
CodeTemplateCodePreview.Lines.Add(copy(s,sp,ep-sp));
|
||||
break;
|
||||
end;
|
||||
inc(i);
|
||||
end;
|
||||
CodeTemplateCodePreview.Lines.EndUpdate;
|
||||
CodeTemplateCodePreview.Invalidate;
|
||||
end;
|
||||
|
||||
procedure TEditorOptionsForm.SaveCurCodeTemplate;
|
||||
var
|
||||
NewValue: string;
|
||||
l: integer;
|
||||
begin
|
||||
if CurCodeTemplate<0 then exit;
|
||||
NewValue:=CodeTemplateCodePreview.Lines.Text;
|
||||
// remove last end EOL
|
||||
if NewValue<>'' then begin
|
||||
l:=length(NewValue);
|
||||
if NewValue[l] in [#10,#13] then begin
|
||||
dec(l);
|
||||
if (l>0) and (NewValue[l] in [#10,#13])
|
||||
and (NewValue[l]<>NewValue[l+1]) then
|
||||
dec(l);
|
||||
SetLength(NewValue,l);
|
||||
end;
|
||||
end;
|
||||
SynAutoComplete.CompletionValues[CurCodeTemplate]:=NewValue;
|
||||
end;
|
||||
|
||||
procedure TEditorOptionsForm.FillCodeTemplateListBox;
|
||||
var a:integer;
|
||||
begin
|
||||
with CodeTemplateListBox do begin
|
||||
Items.BeginUpdate;
|
||||
Items.Clear;
|
||||
for a:=0 to SynAutoComplete.Completions.Count-1 do begin
|
||||
Items.Add(SynAutoComplete.Completions[a]
|
||||
+' - "'+SynAutoComplete.CompletionComments[a]+'"');
|
||||
end;
|
||||
Items.EndUpdate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TEditorOptionsForm.CodeTemplateListBoxMouseUp(Sender:TObject;
|
||||
Button:TMouseButton; Shift:TShiftState; X,Y:integer);
|
||||
begin
|
||||
SaveCurCodeTemplate;
|
||||
ShowCurCodeTemplate;
|
||||
end;
|
||||
|
||||
procedure TEditorOptionsForm.CodeTemplateButtonClick(Sender:TObject);
|
||||
var Token,Comment:ansistring;
|
||||
Index:integer;
|
||||
begin
|
||||
SaveCurCodeTemplate;
|
||||
if Sender=CodeTemplateAddButton then begin
|
||||
Token:='new';
|
||||
Comment:='(custom)';
|
||||
CurCodeTemplate:=-1;
|
||||
if AddCodeTemplate(SynAutoComplete,Token,Comment)=mrOk then begin
|
||||
SynAutoComplete.AddCompletion(Token, '', Comment);
|
||||
FillCodeTemplateListBox;
|
||||
Index:=SynAutoComplete.Completions.IndexOf(Token);
|
||||
if (Index>=0) and (Index<CodeTemplateListBox.Items.Count) then begin
|
||||
CodeTemplateListBox.Selected[Index]:=true;
|
||||
CodeTemplateListBox.ItemIndex:=Index;
|
||||
end;
|
||||
ShowCurCodeTemplate;
|
||||
end;
|
||||
end else if Sender=CodeTemplateEditButton then begin
|
||||
Index:=CurCodeTemplate;
|
||||
if Index<CodeTemplateListBox.Items.Count then begin
|
||||
if EditCodeTemplate(SynAutoComplete,Index)=mrOk then begin
|
||||
CodeTemplateListBox.Items[Index]:=
|
||||
SynAutoComplete.Completions[Index]
|
||||
+' - "'+SynAutoComplete.CompletionComments[Index]+'"';
|
||||
ShowCurCodeTemplate;
|
||||
end;
|
||||
end;
|
||||
end else if Sender=CodeTemplateDeleteButton then begin
|
||||
if CurCodeTemplate>=0 then begin
|
||||
if MessageDlg(dlgDelTemplate
|
||||
+'"'+SynAutoComplete.Completions[CurCodeTemplate]+' - '
|
||||
+SynAutoComplete.CompletionComments[CurCodeTemplate]+'"'
|
||||
+'?',mtConfirmation,[mbOk,mbCancel],0)=mrOK then begin
|
||||
SynAutoComplete.DeleteCompletion(CurCodeTemplate);
|
||||
dec(CurCodeTemplate);
|
||||
FillCodeTemplateListBox;
|
||||
if (CurCodeTemplate>=0)
|
||||
and (CurCodeTemplate<CodeTemplateListBox.Items.Count) then begin
|
||||
CodeTemplateListBox.Selected[CurCodeTemplate]:=true;
|
||||
CodeTemplateListBox.ItemIndex:=CurCodeTemplate;
|
||||
end;
|
||||
ShowCurCodeTemplate;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TEditorOptionsForm.CodeTemplateFileNameButtonClick(Sender:TObject);
|
||||
var OpenDialog:TOpenDialog;
|
||||
begin
|
||||
OpenDialog:=TOpenDialog.Create(nil);
|
||||
try
|
||||
InputHistories.ApplyFileDialogSettings(OpenDialog);
|
||||
with OpenDialog do begin
|
||||
Title:=dlgChsCodeTempl;
|
||||
Filter:='DCI file (*.dci)|*.dci|'+dlgAllFiles+'|*.*';
|
||||
if Execute then
|
||||
CodeTemplateFileNameComboBox.Text:=FileName;
|
||||
end;
|
||||
InputHistories.StoreFileDialogSettings(OpenDialog);
|
||||
finally
|
||||
OpenDialog.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
// useful functions
|
||||
|
||||
procedure TEditorOptionsForm.SetComboBoxText(AComboBox:TComboBox;
|
||||
@ -4787,159 +4526,12 @@ begin
|
||||
Width:=70;
|
||||
Caption:='1.5 '+ dlgTimeSecondUnit;
|
||||
end;
|
||||
|
||||
CodeTemplatesGroupBox:=TGroupBox.Create(Self);
|
||||
with CodeTemplatesGroupBox do begin
|
||||
Name:='CodeTemplatesGroupBox';
|
||||
Parent:=MainNoteBook.Page[4];
|
||||
Top:=AutomaticFeaturesGroupBox.Top+AutomaticFeaturesGroupBox.Height+5;
|
||||
Left:=AutomaticFeaturesGroupBox.Left;
|
||||
Width:=AutomaticFeaturesGroupBox.Width;
|
||||
Height:=250;
|
||||
Caption:=dlgEdCodeTempl;
|
||||
OnResize:=@CodeTemplatesGroupBoxResize;
|
||||
end;
|
||||
|
||||
CodeTemplateFileNameLabel:=TLabel.Create(Self);
|
||||
with CodeTemplateFileNameLabel do begin
|
||||
Name:='CodeTemplateFileNameLabel';
|
||||
Parent:=CodeTemplatesGroupBox;
|
||||
Top:=5;
|
||||
Left:=7;
|
||||
Width:=110;
|
||||
Caption:=dlgTplFName;
|
||||
end;
|
||||
|
||||
CodeTemplateFileNameComboBox:=TComboBox.Create(Self);
|
||||
with CodeTemplateFileNameComboBox do begin
|
||||
Name:='CodeTemplateFileNameComboBox';
|
||||
Parent:=CodeTemplatesGroupBox;
|
||||
Top:=3;
|
||||
Left:=CodeTemplateFileNameLabel.Left+CodeTemplateFileNameLabel.Width+2;
|
||||
Width:=CodeTemplatesGroupBox.Width-12-Left-Height;
|
||||
Text:=EditorOpts.CodeTemplateFileName;
|
||||
OnChange:=@ComboBoxOnChange;
|
||||
OnKeyDown:=@ComboBoxOnKeyDown;
|
||||
OnExit:=@ComboBoxOnExit;
|
||||
end;
|
||||
|
||||
CodeTemplateFileNameButton:=TButton.Create(Self);
|
||||
with CodeTemplateFileNameButton do begin
|
||||
Name:='CodeTemplateFileNameButton';
|
||||
Parent:=CodeTemplatesGroupBox;
|
||||
Top:=CodeTemplateFileNameComboBox.Top+2;
|
||||
Width:=CodeTemplateFileNameComboBox.Height-5;
|
||||
Left:=CodeTemplatesGroupBox.Width-9-Width;
|
||||
Height:=Width;
|
||||
Caption:='...';
|
||||
OnClick:=@CodeTemplateFileNameButtonClick;
|
||||
end;
|
||||
|
||||
CodeTemplateAddButton:=TButton.Create(Self);
|
||||
with CodeTemplateAddButton do begin
|
||||
Name:='CodeTemplateAddButton';
|
||||
Parent:=CodeTemplatesGroupBox;
|
||||
Top:=CodeTemplateFileNameComboBox.Top+CodeTemplateFileNameComboBox.Height+10;
|
||||
Width:=50;
|
||||
Left:=CodeTemplateFileNameLabel.Left;
|
||||
Height:=23;
|
||||
Caption:=dlgEdAdd;
|
||||
OnClick:=@CodeTemplateButtonClick;
|
||||
end;
|
||||
|
||||
CodeTemplateEditButton:=TButton.Create(Self);
|
||||
with CodeTemplateEditButton do begin
|
||||
Name:='CodeTemplateEditButton';
|
||||
Parent:=CodeTemplatesGroupBox;
|
||||
Top:=CodeTemplateAddButton.Top+CodeTemplateAddButton.Height+5;
|
||||
Left:=CodeTemplateAddButton.Left;
|
||||
Width:=CodeTemplateAddButton.Width;
|
||||
Height:=CodeTemplateAddButton.Height;
|
||||
Caption:=dlgEdEdit;
|
||||
OnClick:=@CodeTemplateButtonClick;
|
||||
end;
|
||||
|
||||
CodeTemplateDeleteButton:=TButton.Create(Self);
|
||||
with CodeTemplateDeleteButton do begin
|
||||
Name:='CodeTemplateDeleteButton';
|
||||
Parent:=CodeTemplatesGroupBox;
|
||||
Top:=CodeTemplateEditButton.Top+CodeTemplateEditButton.Height+5;
|
||||
Left:=CodeTemplateAddButton.Left;
|
||||
Width:=CodeTemplateAddButton.Width;
|
||||
Height:=CodeTemplateAddButton.Height;
|
||||
Caption:=dlgEdDelete;
|
||||
OnClick:=@CodeTemplateButtonClick;
|
||||
end;
|
||||
|
||||
CodeTemplatesLabel:=TLabel.Create(Self);
|
||||
with CodeTemplatesLabel do begin
|
||||
Name:='CodeTemplatesLabel';
|
||||
Parent:=CodeTemplatesGroupBox;
|
||||
Top:=CodeTemplateFileNameLabel.Top+CodeTemplateFileNameLabel.Height+12;
|
||||
Left:=CodeTemplateAddButton.Left+CodeTemplateAddButton.Width+5;
|
||||
Width:=60;
|
||||
Caption:='Templates';
|
||||
end;
|
||||
|
||||
CodeTemplateListBox:=TListBox.Create(Self);
|
||||
with CodeTemplateListBox do begin
|
||||
Name:='CodeTemplateListBox';
|
||||
Parent:=CodeTemplatesGroupBox;
|
||||
Top:=CodeTemplatesLabel.Top;
|
||||
Left:=CodeTemplatesLabel.Left+CodeTemplatesLabel.Width+5;
|
||||
Width:=Parent.ClientWidth-8-Left;
|
||||
Height:=80;
|
||||
OnMouseUp:=@CodeTemplateListBoxMouseUp;
|
||||
end;
|
||||
|
||||
CodeTemplateCodeLabel:=TLabel.Create(Self);
|
||||
with CodeTemplateCodeLabel do begin
|
||||
Name:='CodeTemplateCodeLabel';
|
||||
Parent:=CodeTemplatesGroupBox;
|
||||
Top:=CodeTemplateListBox.Top+CodeTemplateListBox.Height+5;
|
||||
Left:=CodeTemplatesLabel.Left;
|
||||
Width:=CodeTemplatesLabel.Width;
|
||||
Height:=CodeTemplatesLabel.Height;
|
||||
Caption:='Code';
|
||||
end;
|
||||
|
||||
CodeTemplateCodePreview:=TPreviewEditor.Create(Self);
|
||||
with CodeTemplateCodePreview do begin
|
||||
Name:='CodeTemplateCodePreview';
|
||||
Parent:=CodeTemplatesGroupBox;
|
||||
Top:=CodeTemplateCodeLabel.Top;
|
||||
Left:=CodeTemplateCodeLabel.Left+CodeTemplateCodeLabel.Width+5;
|
||||
Width:=CodeTemplateListBox.Width;
|
||||
Height:=CodeTemplatesGroupBox.ClientHeight-20-Top;
|
||||
Lines.Clear;
|
||||
Gutter.Visible:=false;
|
||||
end;
|
||||
|
||||
CodeTemplateIndentTypeRadioGroup:=TRadioGroup.Create(Self);
|
||||
with CodeTemplateIndentTypeRadioGroup do begin
|
||||
Name:='CodeTemplateIndentTypeRadioGroup';
|
||||
Parent:=CodeTemplatesGroupBox;
|
||||
Left:=CodeTemplateAddButton.Left;
|
||||
Top:=CodeTemplateCodeLabel.Top+CodeTemplateCodeLabel.Height+15;
|
||||
Width:=CodeTemplateCodePreview.Left-Left-8;
|
||||
Height:=70;
|
||||
Caption:=dlgIndentCodeTo;
|
||||
with Items do begin
|
||||
BeginUpdate;
|
||||
Add('Token start');
|
||||
Add('Line start');
|
||||
EndUpdate;
|
||||
end;
|
||||
end;
|
||||
|
||||
CurCodeTemplate:=-1;
|
||||
end;
|
||||
|
||||
procedure TEditorOptionsForm.ResizeCodeToolsPage;
|
||||
var MaxX, MaxY:integer;
|
||||
var MaxX:integer;
|
||||
begin
|
||||
MaxX:=Width-5;
|
||||
MaxY:=ClientHeight-76;
|
||||
|
||||
with AutomaticFeaturesGroupBox do begin
|
||||
Top:=5;
|
||||
@ -5004,13 +4596,6 @@ begin
|
||||
Left:=AutoDelayTrackBar.Left+AutoDelayTrackBar.Width-30;
|
||||
Width:=70;
|
||||
end;
|
||||
|
||||
with CodeTemplatesGroupBox do begin
|
||||
Top:=AutomaticFeaturesGroupBox.Top+AutomaticFeaturesGroupBox.Height+5;
|
||||
Left:=AutomaticFeaturesGroupBox.Left;
|
||||
Width:=AutomaticFeaturesGroupBox.Width;
|
||||
Height:=MaxY-Top-10;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TEditorOptionsForm.SetupButtonBar;
|
||||
@ -5059,13 +4644,12 @@ begin
|
||||
end;
|
||||
|
||||
procedure TEditorOptionsForm.OkButtonClick(Sender:TObject);
|
||||
var res: TModalResult;
|
||||
var
|
||||
SynOptions: TSynEditorOptions;
|
||||
i: integer;
|
||||
begin
|
||||
IDEDialogLayoutList.SaveLayout(Self);
|
||||
SaveCurCodeTemplate;
|
||||
|
||||
|
||||
// save all values
|
||||
EditorOpts.KeyMap.Assign(EditingKeyMap);
|
||||
SynOptions:=PreviewEdits[1].Options-[eoNoSelection,eoNoCaret];
|
||||
@ -5112,27 +4696,9 @@ begin
|
||||
EditorOpts.AutoToolTipExprEval:=AutoToolTipExprEvalCheckBox.Checked;
|
||||
EditorOpts.AutoToolTipSymbTools:=AutoToolTipSymbToolsCheckBox.Checked;
|
||||
EditorOpts.AutoDelayInMSec:=AutoDelayTrackBar.Position*250;
|
||||
EditorOpts.CodeTemplateFileName:=CodeTemplateFileNameComboBox.Text;
|
||||
EditorOpts.CodeTemplateIndentToTokenStart:=
|
||||
(CodeTemplateIndentTypeRadioGroup.ItemIndex=0);
|
||||
|
||||
EditorOpts.Save;
|
||||
|
||||
if BuildBorlandDCIFile(SynAutoComplete) then begin
|
||||
Res:=mrOk;
|
||||
repeat
|
||||
try
|
||||
SynAutoComplete.AutoCompleteList.SaveToFile(
|
||||
EditorOpts.CodeTemplateFileName);
|
||||
except
|
||||
res:=MessageDlg(' Unable to write code templates to file '''
|
||||
+EditorOpts.CodeTemplateFileName+'''! ',mtError
|
||||
,[mbAbort, mbIgnore, mbRetry],0);
|
||||
if res=mrAbort then exit;
|
||||
end;
|
||||
until Res<>mrRetry;
|
||||
end;
|
||||
|
||||
ModalResult:=mrOk;
|
||||
end;
|
||||
|
||||
|
@ -240,9 +240,10 @@ const
|
||||
ecConfigBuildLazarus = ecUserFirst + 803;
|
||||
ecEnvironmentOptions = ecUserFirst + 804;
|
||||
ecEditorOptions = ecUserFirst + 805;
|
||||
ecCodeToolsOptions = ecUserFirst + 806;
|
||||
ecCodeToolsDefinesEd = ecUserFirst + 807;
|
||||
ecRescanFPCSrcDir = ecUserFirst + 808;
|
||||
ecEditCodeTemplates = ecUserFirst + 806;
|
||||
ecCodeToolsOptions = ecUserFirst + 807;
|
||||
ecCodeToolsDefinesEd = ecUserFirst + 808;
|
||||
ecRescanFPCSrcDir = ecUserFirst + 809;
|
||||
|
||||
// help menu
|
||||
ecAboutLazarus = ecUserFirst + 900;
|
||||
@ -708,6 +709,7 @@ begin
|
||||
// environment menu
|
||||
ecEnvironmentOptions: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecEditorOptions: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecEditCodeTemplates: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCodeToolsOptions: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCodeToolsDefinesEd: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRescanFPCSrcDir: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
@ -1014,6 +1016,7 @@ begin
|
||||
// environment menu
|
||||
ecEnvironmentOptions: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecEditorOptions: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecEditCodeTemplates: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCodeToolsOptions: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecCodeToolsDefinesEd: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecRescanFPCSrcDir: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
@ -1579,7 +1582,8 @@ begin
|
||||
|
||||
// environment menu
|
||||
ecEnvironmentOptions : Result:= srkmecEnvironmentOptions;
|
||||
ecEditorOptions : Result:= lismenueditoroptions;
|
||||
ecEditorOptions : Result:= lisMenuEditorOptions;
|
||||
ecEditCodeTemplates : Result:= lisMenuEditCodeTemplates;
|
||||
ecCodeToolsOptions : Result:= srkmecCodeToolsOptions;
|
||||
ecCodeToolsDefinesEd : Result:= srkmecCodeToolsDefinesEd;
|
||||
ecRescanFPCSrcDir : Result:= lisMenuRescanFPCSourceDirectory;
|
||||
@ -2488,6 +2492,7 @@ begin
|
||||
C:=Categories[AddCategory('EnvironmentMenu',srkmCatEnvMenu,caAll)];
|
||||
AddDefault(C,'General environment options',ecEnvironmentOptions);
|
||||
AddDefault(C,'Editor options',ecEditorOptions);
|
||||
AddDefault(C,'Edit Code Templates',ecEditCodeTemplates);
|
||||
AddDefault(C,'CodeTools options',ecCodeToolsOptions);
|
||||
AddDefault(C,'CodeTools defines editor',ecCodeToolsDefinesEd);
|
||||
AddDefault(C,'Rescan FPC source directory',ecRescanFPCSrcDir);
|
||||
|
@ -271,6 +271,7 @@ resourcestring
|
||||
|
||||
lisMenuGeneralOptions = 'Environment options';
|
||||
lisMenuEditorOptions = 'Editor options';
|
||||
lisMenuEditCodeTemplates = 'Code Templates';
|
||||
lisMenDebuggerOptions = 'Debugger Options';
|
||||
lisMenuCodeToolsOptions = 'CodeTools options';
|
||||
lisMenuCodeToolsDefinesEditor = 'CodeTools defines editor';
|
||||
|
@ -107,6 +107,7 @@ uses
|
||||
ViewUnit_dlg,
|
||||
// rest of the ide
|
||||
Splash, IDEDefs, LazarusIDEStrConsts, LazConf, MsgView, SearchResultView,
|
||||
CodeTemplatesDlg,
|
||||
PublishModule, EnvironmentOpts, TransferMacros, KeyMapping, Translations,
|
||||
IDEProcs, ExtToolDialog, ExtToolEditDlg, MacroPromptDlg, OutputFilter,
|
||||
BuildLazDialog, MiscOptions, InputHistory, UnitDependencies, ClipBoardHistory,
|
||||
@ -269,6 +270,7 @@ type
|
||||
// environment menu
|
||||
procedure mnuEnvGeneralOptionsClicked(Sender: TObject);
|
||||
procedure mnuEnvEditorOptionsClicked(Sender: TObject);
|
||||
procedure mnuEnvCodeTemplatesClicked(Sender: TObject);
|
||||
procedure mnuEnvCodeToolsOptionsClicked(Sender: TObject);
|
||||
procedure mnuEnvCodeToolsDefinesEditorClicked(Sender: TObject);
|
||||
procedure mnuEnvRescanFPCSrcDirClicked(Sender: TObject);
|
||||
@ -1922,6 +1924,7 @@ begin
|
||||
with MainIDEBar do begin
|
||||
itmEnvGeneralOptions.OnClick := @mnuEnvGeneralOptionsClicked;
|
||||
itmEnvEditorOptions.OnClick := @mnuEnvEditorOptionsClicked;
|
||||
itmEnvCodeTemplates.OnClick := @mnuEnvCodeTemplatesClicked;
|
||||
itmEnvCodeToolsOptions.OnClick := @mnuEnvCodeToolsOptionsClicked;
|
||||
itmEnvCodeToolsDefinesEditor.OnClick := @mnuEnvCodeToolsDefinesEditorClicked;
|
||||
itmEnvRescanFPCSrcDir.OnClick := @mnuEnvRescanFPCSrcDirClicked;
|
||||
@ -3282,6 +3285,12 @@ Begin
|
||||
end;
|
||||
End;
|
||||
|
||||
procedure TMainIDE.mnuEnvCodeTemplatesClicked(Sender: TObject);
|
||||
begin
|
||||
if ShowCodeTemplateDialog=mrOk then
|
||||
SourceNotebook.ReloadEditorOptions;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.mnuEnvCodeToolsOptionsClicked(Sender: TObject);
|
||||
begin
|
||||
ShowCodeToolsOptions(CodeToolsOpts,@SourceNoteBook.GetSynEditPreviewSettings);
|
||||
|
@ -255,6 +255,7 @@ type
|
||||
// environment menu
|
||||
itmEnvGeneralOptions: TMenuItem;
|
||||
itmEnvEditorOptions: TMenuItem;
|
||||
itmEnvCodeTemplates: TMenuItem;
|
||||
itmEnvDebuggerOptions: TMenuItem;
|
||||
itmEnvCodeToolsOptions: TMenuItem;
|
||||
itmEnvCodeToolsDefinesEditor: TMenuItem;
|
||||
|
@ -677,6 +677,8 @@ begin
|
||||
lisMenuGeneralOptions,'menu_environmentoptions');
|
||||
CreateMenuItem(ParentMI,itmEnvEditorOptions,'itmEnvEditorOptions',
|
||||
lisMenuEditorOptions,'menu_editoroptions');
|
||||
CreateMenuItem(ParentMI,itmEnvCodeTemplates,'itmEnvCodeTemplates',
|
||||
lisMenuEditCodeTemplates,'');
|
||||
CreateMenuItem(ParentMI,itmEnvDebuggerOptions,'itmEnvDebuggerOptions',
|
||||
lisMenDebuggerOptions,'');
|
||||
CreateMenuItem(ParentMI,itmEnvCodeToolsOptions,'itmEnvCodeToolsOptions',
|
||||
@ -862,6 +864,7 @@ begin
|
||||
// environment menu
|
||||
itmEnvGeneralOptions.ShortCut:=CommandToShortCut(ecEnvironmentOptions);
|
||||
itmEnvEditorOptions.ShortCut:=CommandToShortCut(ecEditorOptions);
|
||||
itmEnvCodeTemplates.ShortCut:=CommandToShortCut(ecEditCodeTemplates);
|
||||
itmEnvCodeToolsOptions.ShortCut:=CommandToShortCut(ecCodeToolsOptions);
|
||||
itmEnvCodeToolsDefinesEditor.ShortCut:=CommandToShortCut(ecCodeToolsDefinesEd);
|
||||
itmEnvRescanFPCSrcDir.ShortCut:=CommandToShortCut(ecRescanFPCSrcDir);
|
||||
|
Loading…
Reference in New Issue
Block a user