IDE, synedit: implemented ExtraCharSpacing

git-svn-id: trunk@15559 -
This commit is contained in:
mattias 2008-06-24 08:43:22 +00:00
parent b420930fb2
commit 94a0e34fb6
5 changed files with 1075 additions and 972 deletions

View File

@ -384,6 +384,7 @@ type
fHighlighterNeedsUpdateStartLine: integer; // 1 based, 0 means invalid fHighlighterNeedsUpdateStartLine: integer; // 1 based, 0 means invalid
fHighlighterNeedsUpdateEndLine: integer; // 1 based, 0 means invalid fHighlighterNeedsUpdateEndLine: integer; // 1 based, 0 means invalid
fBeautifier: TSynCustomBeautifier; fBeautifier: TSynCustomBeautifier;
fExtraCharSpacing: integer;
{$ENDIF} {$ENDIF}
fLines: TStrings; fLines: TStrings;
fLinesInWindow: Integer;// MG: fully visible lines in window fLinesInWindow: Integer;// MG: fully visible lines in window
@ -542,6 +543,7 @@ type
procedure SetInsertMode(const Value: boolean); procedure SetInsertMode(const Value: boolean);
procedure SetKeystrokes(const Value: TSynEditKeyStrokes); procedure SetKeystrokes(const Value: TSynEditKeyStrokes);
{$ifdef SYN_LAZARUS} {$ifdef SYN_LAZARUS}
procedure SetExtraCharSpacing(const Value: integer);
procedure SetLastMouseCaret(const AValue: TPoint); procedure SetLastMouseCaret(const AValue: TPoint);
{$ENDIF} {$ENDIF}
procedure SetLeftChar(Value: Integer); procedure SetLeftChar(Value: Integer);
@ -861,6 +863,8 @@ type
default bsSingle; default bsSingle;
{$IFDEF SYN_LAZARUS} {$IFDEF SYN_LAZARUS}
property BlockIndent: integer read fBlockIndent write SetBlockIndent default 2; property BlockIndent: integer read fBlockIndent write SetBlockIndent default 2;
property ExtraCharSpacing: integer
read fExtraCharSpacing write SetExtraCharSpacing default 0;
{$ENDIF} {$ENDIF}
property ExtraLineSpacing: integer property ExtraLineSpacing: integer
read fExtraLineSpacing write SetExtraLineSpacing default 0; read fExtraLineSpacing write SetExtraLineSpacing default 0;
@ -987,6 +991,9 @@ type
// TCustomSynEdit properties // TCustomSynEdit properties
property BookMarkOptions; property BookMarkOptions;
property BorderStyle; property BorderStyle;
{$IFDEF SYN_LAZARUS}
property ExtraCharSpacing;
{$ENDIF}
property ExtraLineSpacing; property ExtraLineSpacing;
property Gutter; property Gutter;
property HideSelection; property HideSelection;
@ -7643,6 +7650,13 @@ begin
end; end;
{$IFDEF SYN_LAZARUS} {$IFDEF SYN_LAZARUS}
procedure TCustomSynEdit.SetExtraCharSpacing(const Value: integer);
begin
if fExtraCharSpacing=Value then exit;
fExtraCharSpacing := Value;
FontChanged(self);
end;
procedure TCustomSynEdit.SetLastMouseCaret(const AValue: TPoint); procedure TCustomSynEdit.SetLastMouseCaret(const AValue: TPoint);
begin begin
if (FLastMouseCaret.X=AValue.X) and (FLastMouseCaret.Y=AValue.Y) then exit; if (FLastMouseCaret.X=AValue.X) and (FLastMouseCaret.Y=AValue.Y) then exit;
@ -9091,6 +9105,9 @@ end;
procedure TCustomSynEdit.SetExtraLineSpacing(const Value: integer); procedure TCustomSynEdit.SetExtraLineSpacing(const Value: integer);
begin begin
{$IFDEF SYN_LAZARUS}
if fExtraLineSpacing=Value then exit;
{$ENDIF}
fExtraLineSpacing := Value; fExtraLineSpacing := Value;
FontChanged(self); FontChanged(self);
end; end;
@ -9934,7 +9951,7 @@ begin
//debugln('TCustomSynEdit.RecalcCharExtent B CharHeight=',dbgs(CharHeight)); //debugln('TCustomSynEdit.RecalcCharExtent B CharHeight=',dbgs(CharHeight));
fTextHeight := CharHeight + fExtraLineSpacing; fTextHeight := CharHeight + fExtraLineSpacing;
BaseStyle := BoldStyles[UsesFontStyle(fsBold)]; BaseStyle := BoldStyles[UsesFontStyle(fsBold)];
fCharWidth := CharWidth; fCharWidth := CharWidth {$IFDEF SYN_LAZARUS}+fExtraCharSpacing{$ENDIF};
end; end;
{$IFDEF SYN_LAZARUS} {$IFDEF SYN_LAZARUS}
FUseUTF8:=fTextDrawer.UseUTF8; FUseUTF8:=fTextDrawer.UseUTF8;

View File

@ -3,8 +3,6 @@ object EditorOptionsForm: TEditorOptionsForm
Height = 541 Height = 541
Top = 167 Top = 167
Width = 554 Width = 554
HorzScrollBar.Page = 553
VertScrollBar.Page = 540
ActiveControl = MainNotebook ActiveControl = MainNotebook
Caption = 'EditorOptionsForm' Caption = 'EditorOptionsForm'
ClientHeight = 541 ClientHeight = 541
@ -20,12 +18,12 @@ object EditorOptionsForm: TEditorOptionsForm
Align = alTop Align = alTop
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
PageIndex = 2 PageIndex = 1
TabOrder = 0 TabOrder = 0
object GeneralPage: TPage object GeneralPage: TPage
Caption = 'GeneralPage' Caption = 'GeneralPage'
ClientWidth = 477 ClientWidth = 550
ClientHeight = 453 ClientHeight = 463
object BlockIndentLabel: TLabel object BlockIndentLabel: TLabel
AnchorSideLeft.Control = BlockIndentComboBox AnchorSideLeft.Control = BlockIndentComboBox
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
@ -33,7 +31,7 @@ object EditorOptionsForm: TEditorOptionsForm
AnchorSideBottom.Side = asrCenter AnchorSideBottom.Side = asrCenter
Left = 112 Left = 112
Height = 20 Height = 20
Top = 362 Top = 372
Width = 109 Width = 109
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -47,7 +45,7 @@ object EditorOptionsForm: TEditorOptionsForm
AnchorSideBottom.Side = asrCenter AnchorSideBottom.Side = asrCenter
Left = 112 Left = 112
Height = 20 Height = 20
Top = 393 Top = 403
Width = 100 Width = 100
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -61,7 +59,7 @@ object EditorOptionsForm: TEditorOptionsForm
AnchorSideBottom.Side = asrCenter AnchorSideBottom.Side = asrCenter
Left = 112 Left = 112
Height = 20 Height = 20
Top = 424 Top = 434
Width = 98 Width = 98
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -72,9 +70,9 @@ object EditorOptionsForm: TEditorOptionsForm
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = BlockIndentLabel AnchorSideBottom.Control = BlockIndentLabel
Left = 6 Left = 6
Height = 344 Height = 354
Top = 6 Top = 6
Width = 465 Width = 538
Align = alTop Align = alTop
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
AutoFill = True AutoFill = True
@ -98,7 +96,7 @@ object EditorOptionsForm: TEditorOptionsForm
AnchorSideBottom.Control = UndoLimitComboBox AnchorSideBottom.Control = UndoLimitComboBox
Left = 6 Left = 6
Height = 25 Height = 25
Top = 360 Top = 370
Width = 100 Width = 100
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending] AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
@ -119,7 +117,7 @@ object EditorOptionsForm: TEditorOptionsForm
AnchorSideBottom.Control = TabWidthsComboBox AnchorSideBottom.Control = TabWidthsComboBox
Left = 6 Left = 6
Height = 25 Height = 25
Top = 391 Top = 401
Width = 100 Width = 100
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending] AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
@ -140,7 +138,7 @@ object EditorOptionsForm: TEditorOptionsForm
AnchorSideBottom.Side = asrBottom AnchorSideBottom.Side = asrBottom
Left = 6 Left = 6
Height = 25 Height = 25
Top = 422 Top = 432
Width = 100 Width = 100
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending] AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
@ -160,18 +158,18 @@ object EditorOptionsForm: TEditorOptionsForm
end end
object DisplayPage: TPage object DisplayPage: TPage
Caption = 'DisplayPage' Caption = 'DisplayPage'
ClientWidth = 477 ClientWidth = 550
ClientHeight = 453 ClientHeight = 463
object MarginAndGutterGroupBox: TGroupBox object MarginAndGutterGroupBox: TGroupBox
Left = 6 Left = 6
Height = 128 Height = 128
Top = 6 Top = 6
Width = 465 Width = 538
Align = alTop Align = alTop
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'MarginAndGutterGroupBox' Caption = 'MarginAndGutterGroupBox'
ClientHeight = 109 ClientHeight = 109
ClientWidth = 461 ClientWidth = 534
TabOrder = 0 TabOrder = 0
object RightMarginLabel: TLabel object RightMarginLabel: TLabel
Left = 358 Left = 358
@ -264,20 +262,21 @@ object EditorOptionsForm: TEditorOptionsForm
end end
object EditorFontGroupBox: TGroupBox object EditorFontGroupBox: TGroupBox
Left = 6 Left = 6
Height = 136 Height = 148
Top = 140 Top = 140
Width = 465 Width = 538
Align = alTop Align = alTop
AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'EditorFontGroupBox' Caption = 'EditorFontGroupBox'
ClientHeight = 117 ClientHeight = 129
ClientWidth = 461 ClientWidth = 534
TabOrder = 1 TabOrder = 1
object EditorFontLabel: TLabel object EditorFontLabel: TLabel
Left = 6 Left = 6
Height = 20 Height = 20
Top = 6 Top = 6
Width = 449 Width = 522
Align = alTop Align = alTop
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -286,31 +285,47 @@ object EditorOptionsForm: TEditorOptionsForm
ParentColor = False ParentColor = False
end end
object EditorFontHeightLabel: TLabel object EditorFontHeightLabel: TLabel
AnchorSideTop.Control = EditorFontHeightComboBox
AnchorSideTop.Side = asrCenter
Left = 116 Left = 116
Height = 20 Height = 20
Top = 60 Top = 45
Width = 322 Width = 395
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'EditorFontHeightLabel' Caption = 'EditorFontHeightLabel'
ParentColor = False ParentColor = False
end end
object ExtraLineSpacingLabel: TLabel object ExtraLineSpacingLabel: TLabel
AnchorSideTop.Control = ExtraLineSpacingComboBox
AnchorSideTop.Side = asrCenter
Left = 116 Left = 116
Height = 20 Height = 20
Top = 90 Top = 74
Width = 322 Width = 395
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'ExtraLineSpacingLabel' Caption = 'ExtraLineSpacingLabel'
ParentColor = False ParentColor = False
end end
object ExtraCharSpacingLabel: TLabel
AnchorSideTop.Control = ExtraCharSpacingComboBox
AnchorSideTop.Side = asrCenter
Left = 116
Height = 20
Top = 103
Width = 395
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
Caption = 'ExtraCharSpacingLabel'
ParentColor = False
end
object EditorFontComboBox: TComboBox object EditorFontComboBox: TComboBox
AnchorSideRight.Control = EditorFontButton AnchorSideRight.Control = EditorFontButton
Left = 6 Left = 6
Height = 29 Height = 29
Top = 29 Top = 6
Width = 404 Width = 477
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending] AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -320,9 +335,9 @@ object EditorOptionsForm: TEditorOptionsForm
Text = 'EditorFontComboBox' Text = 'EditorFontComboBox'
end end
object EditorFontButton: TButton object EditorFontButton: TButton
Left = 416 Left = 489
Height = 25 Height = 25
Top = 29 Top = 6
Width = 25 Width = 25
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
Caption = '...' Caption = '...'
@ -330,9 +345,11 @@ object EditorOptionsForm: TEditorOptionsForm
TabOrder = 1 TabOrder = 1
end end
object EditorFontHeightComboBox: TComboBox object EditorFontHeightComboBox: TComboBox
AnchorSideTop.Control = EditorFontComboBox
AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 29 Height = 29
Top = 58 Top = 41
Width = 100 Width = 100
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending] AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
Items.Strings = ( Items.Strings = (
@ -353,9 +370,30 @@ object EditorOptionsForm: TEditorOptionsForm
TabOrder = 2 TabOrder = 2
end end
object ExtraLineSpacingComboBox: TComboBox object ExtraLineSpacingComboBox: TComboBox
AnchorSideTop.Control = EditorFontHeightComboBox
AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 29 Height = 29
Top = 88 Top = 70
Width = 100
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
Items.Strings = (
'0'
'1'
'2'
)
MaxLength = 0
OnChange = ComboBoxOnChange
OnExit = ComboBoxOnExit
OnKeyDown = ComboBoxOnKeyDown
TabOrder = 4
end
object ExtraCharSpacingComboBox: TComboBox
AnchorSideTop.Control = ExtraLineSpacingComboBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 29
Top = 99
Width = 100 Width = 100
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending] AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
Items.Strings = ( Items.Strings = (
@ -372,12 +410,11 @@ object EditorOptionsForm: TEditorOptionsForm
end end
object DisplayPreview: TSynEdit object DisplayPreview: TSynEdit
Left = 6 Left = 6
Height = 165 Height = 163
Top = 282 Top = 294
Width = 465 Width = 538
Align = alBottom Align = alClient
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Anchors = [akTop, akLeft, akRight, akBottom]
Font.Height = -16 Font.Height = -16
Font.Name = 'courier' Font.Name = 'courier'
ParentColor = False ParentColor = False
@ -747,10 +784,10 @@ object EditorOptionsForm: TEditorOptionsForm
AnchorSideTop.Control = KeymappingPage AnchorSideTop.Control = KeymappingPage
AnchorSideRight.Control = KeymappingPage AnchorSideRight.Control = KeymappingPage
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 273 Left = 297
Height = 29 Height = 29
Top = 6 Top = 6
Width = 271 Width = 247
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Left = 6 BorderSpacing.Left = 6
@ -771,7 +808,7 @@ object EditorOptionsForm: TEditorOptionsForm
Align = alBottom Align = alBottom
Anchors = [akTop, akLeft, akBottom] Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
DefaultItemHeight = 21 DefaultItemHeight = 23
Images = ImageList Images = ImageList
ReadOnly = True ReadOnly = True
RowSelect = True RowSelect = True
@ -1358,24 +1395,24 @@ object EditorOptionsForm: TEditorOptionsForm
end end
object CodetoolsPage: TPage object CodetoolsPage: TPage
Caption = 'CodetoolsPage' Caption = 'CodetoolsPage'
ClientWidth = 477 ClientWidth = 550
ClientHeight = 453 ClientHeight = 463
object AutomaticFeaturesGroupBox: TGroupBox object AutomaticFeaturesGroupBox: TGroupBox
Left = 6 Left = 6
Height = 441 Height = 451
Top = 6 Top = 6
Width = 465 Width = 538
Align = alClient Align = alClient
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'AutomaticFeaturesGroupBox' Caption = 'AutomaticFeaturesGroupBox'
ClientHeight = 422 ClientHeight = 432
ClientWidth = 461 ClientWidth = 534
TabOrder = 0 TabOrder = 0
object AutoDelayLabel: TLabel object AutoDelayLabel: TLabel
Left = 6 Left = 6
Height = 20 Height = 20
Top = 188 Top = 188
Width = 449 Width = 522
Align = alTop Align = alTop
BorderSpacing.Top = 24 BorderSpacing.Top = 24
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -1396,7 +1433,7 @@ object EditorOptionsForm: TEditorOptionsForm
object AutoDelayMaxLabel: TLabel object AutoDelayMaxLabel: TLabel
AnchorSideTop.Control = AutoDelayTrackBar AnchorSideTop.Control = AutoDelayTrackBar
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 316 Left = 389
Height = 20 Height = 20
Top = 160 Top = 160
Width = 127 Width = 127
@ -1410,7 +1447,7 @@ object EditorOptionsForm: TEditorOptionsForm
Left = 6 Left = 6
Height = 22 Height = 22
Top = 6 Top = 6
Width = 449 Width = 522
Align = alTop Align = alTop
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'AutoIdentifierCompletionCheckBox' Caption = 'AutoIdentifierCompletionCheckBox'
@ -1420,7 +1457,7 @@ object EditorOptionsForm: TEditorOptionsForm
Left = 6 Left = 6
Height = 22 Height = 22
Top = 62 Top = 62
Width = 449 Width = 522
Align = alTop Align = alTop
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'AutoCodeParametersCheckBox' Caption = 'AutoCodeParametersCheckBox'
@ -1431,7 +1468,7 @@ object EditorOptionsForm: TEditorOptionsForm
Left = 6 Left = 6
Height = 22 Height = 22
Top = 90 Top = 90
Width = 449 Width = 522
Align = alTop Align = alTop
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'AutoToolTipExprEvalCheckBox' Caption = 'AutoToolTipExprEvalCheckBox'
@ -1441,7 +1478,7 @@ object EditorOptionsForm: TEditorOptionsForm
Left = 6 Left = 6
Height = 22 Height = 22
Top = 34 Top = 34
Width = 449 Width = 522
Align = alTop Align = alTop
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'AutoToolTipSymbToolsCheckBox' Caption = 'AutoToolTipSymbToolsCheckBox'
@ -1451,7 +1488,7 @@ object EditorOptionsForm: TEditorOptionsForm
Left = 6 Left = 6
Height = 40 Height = 40
Top = 118 Top = 118
Width = 449 Width = 522
Frequency = 250 Frequency = 250
Max = 4000 Max = 4000
Min = 500 Min = 500
@ -1467,8 +1504,8 @@ object EditorOptionsForm: TEditorOptionsForm
end end
object CodeFolding: TPage object CodeFolding: TPage
Caption = 'CodeFolding' Caption = 'CodeFolding'
ClientWidth = 477 ClientWidth = 550
ClientHeight = 453 ClientHeight = 463
object lblDividerDrawLevel: TLabel object lblDividerDrawLevel: TLabel
Left = 6 Left = 6
Height = 20 Height = 20
@ -1481,7 +1518,7 @@ object EditorOptionsForm: TEditorOptionsForm
Left = 6 Left = 6
Height = 2 Height = 2
Top = 49 Top = 49
Width = 464 Width = 537
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
end end
object chkCodeFoldingEnabled: TCheckBox object chkCodeFoldingEnabled: TCheckBox

File diff suppressed because it is too large Load Diff

View File

@ -362,6 +362,7 @@ type
fRightMarginColor: TColor; fRightMarginColor: TColor;
fEditorFont: String; fEditorFont: String;
fEditorFontHeight: Integer; fEditorFontHeight: Integer;
fExtraCharSpacing: Integer;
fExtraLineSpacing: Integer; fExtraLineSpacing: Integer;
FDoNotWarnForFont: string; FDoNotWarnForFont: string;
@ -460,8 +461,10 @@ type
property EditorFont: String read fEditorFont write fEditorFont; property EditorFont: String read fEditorFont write fEditorFont;
property EditorFontHeight: Integer property EditorFontHeight: Integer
read fEditorFontHeight write FEditorFontHeight; read fEditorFontHeight write FEditorFontHeight;
property ExtraCharSpacing: Integer
read fExtraCharSpacing write fExtraCharSpacing default 0;
property ExtraLineSpacing: Integer property ExtraLineSpacing: Integer
read fExtraLineSpacing write fExtraLineSpacing default 0; read fExtraLineSpacing write fExtraLineSpacing default 1;
property DoNotWarnForFont: string read FDoNotWarnForFont write FDoNotWarnForFont; property DoNotWarnForFont: string read FDoNotWarnForFont write FDoNotWarnForFont;
// Key Mappings // Key Mappings
@ -540,6 +543,8 @@ type
EditorFontHeightComboBox: TComboBox; EditorFontHeightComboBox: TComboBox;
ExtraLineSpacingLabel: TLabel; ExtraLineSpacingLabel: TLabel;
ExtraLineSpacingComboBox: TComboBox; ExtraLineSpacingComboBox: TComboBox;
ExtraCharSpacingLabel: TLabel;
ExtraCharSpacingComboBox: TComboBox;
DisplayPreview: TPreviewEditor; DisplayPreview: TPreviewEditor;
// Key Mappings // Key Mappings
@ -1559,6 +1564,8 @@ begin
XMLConfig.GetValue('EditorOptions/Display/EditorFont', 'courier'); XMLConfig.GetValue('EditorOptions/Display/EditorFont', 'courier');
fEditorFontHeight := fEditorFontHeight :=
XMLConfig.GetValue('EditorOptions/Display/EditorFontHeight', 12); XMLConfig.GetValue('EditorOptions/Display/EditorFontHeight', 12);
fExtraCharSpacing :=
XMLConfig.GetValue('EditorOptions/Display/ExtraCharSpacing', 0);
fExtraLineSpacing := fExtraLineSpacing :=
XMLConfig.GetValue('EditorOptions/Display/ExtraLineSpacing', 1); XMLConfig.GetValue('EditorOptions/Display/ExtraLineSpacing', 1);
FDoNotWarnForFont := FDoNotWarnForFont :=
@ -1688,6 +1695,8 @@ begin
fEditorFont, 'courier'); fEditorFont, 'courier');
XMLConfig.SetDeleteValue('EditorOptions/Display/EditorFontHeight' XMLConfig.SetDeleteValue('EditorOptions/Display/EditorFontHeight'
,fEditorFontHeight, 12); ,fEditorFontHeight, 12);
XMLConfig.SetDeleteValue('EditorOptions/Display/ExtraCharSpacing'
,fExtraCharSpacing, 1);
XMLConfig.SetDeleteValue('EditorOptions/Display/ExtraLineSpacing' XMLConfig.SetDeleteValue('EditorOptions/Display/ExtraLineSpacing'
,fExtraLineSpacing, 1); ,fExtraLineSpacing, 1);
XMLConfig.SetDeleteValue('EditorOptions/Display/DoNotWarnForFont' XMLConfig.SetDeleteValue('EditorOptions/Display/DoNotWarnForFont'
@ -2184,6 +2193,7 @@ begin
ASynEdit.RightEdgeColor := fRightMarginColor; ASynEdit.RightEdgeColor := fRightMarginColor;
ASynEdit.Font.Height := fEditorFontHeight;// set height before name for XLFD ! ASynEdit.Font.Height := fEditorFontHeight;// set height before name for XLFD !
ASynEdit.Font.Name := fEditorFont; ASynEdit.Font.Name := fEditorFont;
ASynEdit.ExtraCharSpacing := fExtraCharSpacing;
ASynEdit.ExtraLineSpacing := fExtraLineSpacing; ASynEdit.ExtraLineSpacing := fExtraLineSpacing;
ASynEdit.MaxUndo := fUndoLimit; ASynEdit.MaxUndo := fUndoLimit;
GetLineColors(ASynEdit.Highlighter, ahaTextBlock, FG, BG); GetLineColors(ASynEdit.Highlighter, ahaTextBlock, FG, BG);
@ -2217,6 +2227,7 @@ begin
fRightMarginColor := ASynEdit.RightEdgeColor; fRightMarginColor := ASynEdit.RightEdgeColor;
fEditorFont := ASynEdit.Font.Name; fEditorFont := ASynEdit.Font.Name;
fEditorFontHeight := ASynEdit.Font.Height; fEditorFontHeight := ASynEdit.Font.Height;
fExtraCharSpacing := ASynEdit.ExtraCharSpacing;
fExtraLineSpacing := ASynEdit.ExtraLineSpacing; fExtraLineSpacing := ASynEdit.ExtraLineSpacing;
fUndoLimit := ASynEdit.MaxUndo; fUndoLimit := ASynEdit.MaxUndo;
end; end;
@ -2273,6 +2284,7 @@ begin
ASynEdit.RightEdgeColor := fRightMarginColor; ASynEdit.RightEdgeColor := fRightMarginColor;
ASynEdit.Font.Height := fEditorFontHeight; // set height before Name for XLFD ! ASynEdit.Font.Height := fEditorFontHeight; // set height before Name for XLFD !
ASynEdit.Font.Name := fEditorFont; ASynEdit.Font.Name := fEditorFont;
ASynEdit.ExtraCharSpacing := fExtraCharSpacing;
ASynEdit.ExtraLineSpacing := fExtraLineSpacing; ASynEdit.ExtraLineSpacing := fExtraLineSpacing;
ASynEdit.ReadOnly := True; ASynEdit.ReadOnly := True;
@ -2719,6 +2731,16 @@ begin
PreviewEdits[a].Font.Height := NewVal; PreviewEdits[a].Font.Height := NewVal;
end end
else else
if Sender = ExtraCharSpacingComboBox then
begin
NewVal := StrToIntDef(ExtraCharSpacingComboBox.Text,
PreviewEdits[1].ExtraCharSpacing);
SetComboBoxText(ExtraCharSpacingComboBox, IntToStr(NewVal));
for a := Low(PreviewEdits) to High(PreviewEdits) do
if PreviewEdits[a] <> Nil then
PreviewEdits[a].ExtraCharSpacing := NewVal;
end
else
if Sender = ExtraLineSpacingComboBox then if Sender = ExtraLineSpacingComboBox then
begin begin
NewVal := StrToIntDef(ExtraLineSpacingComboBox.Text, NewVal := StrToIntDef(ExtraLineSpacingComboBox.Text,
@ -3547,10 +3569,9 @@ begin
EditorFontHeightLabel.Caption := dlgEditorFontHeight; EditorFontHeightLabel.Caption := dlgEditorFontHeight;
with ExtraLineSpacingComboBox do SetComboBoxText(ExtraCharSpacingComboBox,IntToStr(EditorOpts.ExtraCharSpacing));
SetComboBoxText(ExtraLineSpacingComboBox ExtraCharSpacingLabel.Caption := dlgExtraCharSpacing;
, IntToStr(EditorOpts.ExtraLineSpacing)); SetComboBoxText(ExtraLineSpacingComboBox,IntToStr(EditorOpts.ExtraLineSpacing));
ExtraLineSpacingLabel.Caption := dlgExtraLineSpacing; ExtraLineSpacingLabel.Caption := dlgExtraLineSpacing;
end; end;

View File

@ -1107,6 +1107,7 @@ resourcestring
dlgEditorFont = 'Editor font'; dlgEditorFont = 'Editor font';
dlgDefaultEditorFont='Default editor font'; dlgDefaultEditorFont='Default editor font';
dlgEditorFontHeight = 'Editor font height'; dlgEditorFontHeight = 'Editor font height';
dlgExtraCharSpacing = 'Extra char spacing';
dlgExtraLineSpacing = 'Extra line spacing'; dlgExtraLineSpacing = 'Extra line spacing';
dlgKeyMappingScheme = 'Key Mapping Scheme'; dlgKeyMappingScheme = 'Key Mapping Scheme';
dlgCheckConsistency = 'Check consistency'; dlgCheckConsistency = 'Check consistency';