From 46041acb6460c2b588644b01961abae9c885aed7 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Mon, 26 Jun 2017 07:54:15 +0200 Subject: [PATCH] editor, add option to set the gutter transparent --- src/ce_editoroptions.pas | 4 ++++ src/ce_synmemo.pas | 26 ++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/ce_editoroptions.pas b/src/ce_editoroptions.pas index 2c3db89f..3b801795 100644 --- a/src/ce_editoroptions.pas +++ b/src/ce_editoroptions.pas @@ -68,6 +68,7 @@ type fAutoCallCompletion: boolean; fCloseCompletionCharsWithSpace: AnsiString; fCloseCompletionChars: AnsiString; + fTransparentGutter: boolean; // procedure setPhobosDocRoot(value: TCEPathname); procedure setFont(value: TFont); @@ -124,6 +125,7 @@ type property shortcuts: TCollection read fShortCuts write setShortcuts; property smartDdocNewline: boolean read fSmartDdocNewline write fSmartDdocNewline; property tabulationWidth: Integer read fTabWidth write fTabWidth default 4; + property transparentGutter: boolean read fTransparentGutter write fTransparentGutter default false; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -295,6 +297,7 @@ begin begin srcopt := TCEEditorOptionsBase(source); // + fTransparentGutter:=srcopt.fTransparentGutter; fAlwaysAdvancedFeatures:=srcopt.fAlwaysAdvancedFeatures; fResetFontSize:=srcopt.fResetFontSize; fAutoCloseCurlyBrace := srcopt.fAutoCloseCurlyBrace; @@ -697,6 +700,7 @@ begin anEditor.insertPlusDdoc:= fInsertPlusDdoc; anEditor.autoCallCompletion:= fAutoCallCompletion; anEditor.completionMenuAutoClose:=fCompletionMenuAutoClose; + anEditor.transparentGutter:=fTransparentGutter; cs := []; for c in fCloseCompletionCharsWithSpace do diff --git a/src/ce_synmemo.pas b/src/ce_synmemo.pas index 1649f72f..9fb36941 100644 --- a/src/ce_synmemo.pas +++ b/src/ce_synmemo.pas @@ -186,6 +186,8 @@ type fCloseCompletionCharsWithSpace: TSysCharSet; fCloseCompletionChars: TSysCharSet; fCompletionMenuAutoClose: boolean; + fTransparentGutter: boolean; + procedure setGutterTransparent(value: boolean); procedure decCallTipsLvl; procedure setMatchOpts(value: TIdentifierMatchOptions); function getMouseBytePosition: Integer; @@ -298,6 +300,7 @@ type property isTemporary: boolean read getIfTemp; property TextView; // + property transparentGutter: boolean read fTransparentGutter write setGutterTransparent; property isProjectDescription: boolean read fIsProjectDescription write fIsProjectDescription; property alwaysAdvancedFeatures: boolean read fAlwaysAdvancedFeatures write fAlwaysAdvancedFeatures; property phobosDocRoot: string read fPhobosDocRoot write fPhobosDocRoot; @@ -834,6 +837,29 @@ begin inherited; end; +procedure TCESynMemo.setGutterTransparent(value: boolean); +begin + fTransparentGutter:=value; + if fTransparentGutter then + begin + Gutter.LineNumberPart.MarkupInfo.Background:= Color; + Gutter.SeparatorPart.MarkupInfo.Background:= Color; + Gutter.MarksPart.MarkupInfo.Background:= Color; + Gutter.ChangesPart.MarkupInfo.Background:= Color; + Gutter.CodeFoldPart.MarkupInfo.Background:= Color; + Gutter.Color:=Color; + end + else + begin + Gutter.LineNumberPart.MarkupInfo.Background:= clBtnFace; + Gutter.SeparatorPart.MarkupInfo.Background:= clBtnFace; + Gutter.MarksPart.MarkupInfo.Background:= clBtnFace; + Gutter.ChangesPart.MarkupInfo.Background:= clBtnFace; + Gutter.CodeFoldPart.MarkupInfo.Background:= clBtnFace; + Gutter.Color:=clBtnFace; + end; +end; + procedure TCESynMemo.setDefaultFontSize(value: Integer); var old: Integer;