IDE: move identifier completion options from editor_codetools_options to codetools_identifiercompletion_options

git-svn-id: trunk@57116 -
This commit is contained in:
ondrej 2018-01-19 04:56:37 +00:00
parent fe9c29b689
commit 3e12ed3bdc
10 changed files with 107 additions and 82 deletions

View File

@ -112,6 +112,9 @@ type
FIdentComplAddAssignOperator: Boolean;
FIdentComplAutoStartAfterPoint: boolean;
FIdentComplAutoUseSingleIdent: boolean;
FIdentComplUseContainsFilter: Boolean;
FIdentComplHighlightPrefix: Boolean;
FIdentComplShowIcons: Boolean;
// auto indentation
FIndentOnLineBreak: boolean;
@ -240,6 +243,12 @@ type
write FIdentComplAutoStartAfterPoint;
property IdentComplAutoUseSingleIdent: boolean read FIdentComplAutoUseSingleIdent
write FIdentComplAutoUseSingleIdent;
property IdentComplUseContainsFilter: boolean read FIdentComplUseContainsFilter
write FIdentComplUseContainsFilter;
property IdentComplHighlightPrefix: boolean read FIdentComplHighlightPrefix
write FIdentComplHighlightPrefix;
property IdentComplShowIcons: boolean read FIdentComplShowIcons
write FIdentComplShowIcons;
property IdentComplAddParameterBrackets: boolean
read FIdentComplAddParameterBrackets write FIdentComplAddParameterBrackets;
property IdentComplReplaceIdentifier: boolean
@ -539,6 +548,12 @@ begin
'CodeToolsOptions/IdentifierCompletion/AutoStartAfterPoint',true);
FIdentComplAutoUseSingleIdent:=XMLConfig.GetValue(
'CodeToolsOptions/IdentifierCompletion/AutoUseSingleIdent',true);
FIdentComplUseContainsFilter:=XMLConfig.GetValue(
'CodeToolsOptions/IdentifierCompletion/UseContainsFilter',true);
FIdentComplHighlightPrefix:=XMLConfig.GetValue(
'CodeToolsOptions/IdentifierCompletion/HighlightPrefix',true);
FIdentComplShowIcons:=XMLConfig.GetValue(
'CodeToolsOptions/IdentifierCompletion/ShowIcons',true);
FIdentComplAddParameterBrackets:=XMLConfig.GetValue(
'CodeToolsOptions/IdentifierCompletion/AutoAddParameterBrackets',true);
FIdentComplReplaceIdentifier:=XMLConfig.GetValue(
@ -707,6 +722,12 @@ begin
FIdentComplAutoStartAfterPoint,true);
XMLConfig.SetDeleteValue('CodeToolsOptions/IdentifierCompletion/AutoUseSingleIdent',
FIdentComplAutoUseSingleIdent,true);
XMLConfig.SetDeleteValue('CodeToolsOptions/IdentifierCompletion/UseContainsFilter',
FIdentComplUseContainsFilter,true);
XMLConfig.SetDeleteValue('CodeToolsOptions/IdentifierCompletion/HighlightPrefix',
FIdentComplHighlightPrefix,true);
XMLConfig.SetDeleteValue('CodeToolsOptions/IdentifierCompletion/ShowIcons',
FIdentComplShowIcons,true);
XMLConfig.SetDeleteValue('CodeToolsOptions/IdentifierCompletion/AutoAddParameterBrackets',
FIdentComplAddParameterBrackets,true);
XMLConfig.SetDeleteValue('CodeToolsOptions/IdentifierCompletion/ReplaceIdentifier',
@ -855,6 +876,9 @@ begin
FIdentComplAddDo:=CodeToolsOpts.FIdentComplAddDo;
FIdentComplAutoStartAfterPoint:=CodeToolsOpts.FIdentComplAutoStartAfterPoint;
FIdentComplAutoUseSingleIdent:=CodeToolsOpts.FIdentComplAutoUseSingleIdent;
FIdentComplUseContainsFilter:=CodeToolsOpts.FIdentComplUseContainsFilter;
FIdentComplHighlightPrefix:=CodeToolsOpts.FIdentComplHighlightPrefix;
FIdentComplShowIcons:=CodeToolsOpts.FIdentComplShowIcons;
FIdentComplAddParameterBrackets:=CodeToolsOpts.FIdentComplAddParameterBrackets;
FIdentComplReplaceIdentifier:=CodeToolsOpts.FIdentComplReplaceIdentifier;
FIdentComplJumpToError:=CodeToolsOpts.FIdentComplJumpToError;
@ -920,6 +944,9 @@ begin
FIdentComplAddDo:=true;
FIdentComplAutoStartAfterPoint:=true;
FIdentComplAutoUseSingleIdent:=true;
FIdentComplUseContainsFilter:=true;
FIdentComplHighlightPrefix:=true;
FIdentComplShowIcons:=true;
FIdentComplAddParameterBrackets:=true;
FIdentComplReplaceIdentifier:=true;
FIdentComplJumpToError:=true;
@ -1004,6 +1031,9 @@ begin
and (FIdentComplAddDo=CodeToolsOpts.FIdentComplAddDo)
and (FIdentComplAutoStartAfterPoint=CodeToolsOpts.FIdentComplAutoStartAfterPoint)
and (FIdentComplAutoUseSingleIdent=CodeToolsOpts.FIdentComplAutoUseSingleIdent)
and (FIdentComplUseContainsFilter=CodeToolsOpts.FIdentComplUseContainsFilter)
and (FIdentComplHighlightPrefix=CodeToolsOpts.FIdentComplHighlightPrefix)
and (FIdentComplShowIcons=CodeToolsOpts.FIdentComplShowIcons)
and (FIdentComplAddParameterBrackets=CodeToolsOpts.FIdentComplAddParameterBrackets)
and (FIdentComplReplaceIdentifier=CodeToolsOpts.FIdentComplReplaceIdentifier)
and (FIdentComplJumpToError=CodeToolsOpts.FIdentComplJumpToError)

View File

@ -1388,9 +1388,6 @@ type
fCodeTemplateFileName: String;
fCTemplIndentToTokenStart: Boolean;
fAutoDisplayFuncPrototypes: Boolean;
fUseContainsFilter: Boolean;
fHighlightCodeCompletionPrefix: Boolean;
fUseImagesInCompletionBox: Boolean;
// Code Folding
FUseCodeFolding: Boolean;
@ -1582,12 +1579,6 @@ type
read fAutoToolTipSymbTools write fAutoToolTipSymbTools default True; // declaration hints
property AutoDisplayFunctionPrototypes: Boolean
read fAutoDisplayFuncPrototypes write fAutoDisplayFuncPrototypes default True;
property ContainsCompletionFilter: Boolean
read fUseContainsFilter write fUseContainsFilter default True;
property HighlightCodeCompletionPrefix: Boolean
read fHighlightCodeCompletionPrefix write fHighlightCodeCompletionPrefix default True;
property UseImagesInCompletionBox: Boolean
read fUseImagesInCompletionBox write fUseImagesInCompletionBox default True;
published
property DbgHintAutoTypeCastClass: Boolean
@ -4777,12 +4768,6 @@ begin
FCompletionLongLineHintType := DefaultCompletionLongLineHintType;
XMLConfig.ReadObject('EditorOptions/CodeTools/CompletionLongLineHintType',
Self, Self, 'CompletionLongLineHintType');
fUseContainsFilter :=
XMLConfig.GetValue('EditorOptions/CodeTools/ContainsCompletionFilter', True);
fHighlightCodeCompletionPrefix :=
XMLConfig.GetValue('EditorOptions/CodeTools/HighlightCodeCompletionPrefix', True);
fUseImagesInCompletionBox :=
XMLConfig.GetValue('EditorOptions/CodeTools/UseImagesInCompletionBox', True);
// Code Folding
FUseCodeFolding :=
@ -4976,12 +4961,6 @@ begin
FCompletionLongLineHintInMSec, 0);
XMLConfig.WriteObject('EditorOptions/CodeTools/CompletionLongLineHintType',
Self, nil, 'CompletionLongLineHintType');
XMLConfig.SetDeleteValue('EditorOptions/CodeTools/ContainsCompletionFilter'
, fUseContainsFilter, True);
XMLConfig.SetDeleteValue('EditorOptions/CodeTools/HighlightCodeCompletionPrefix'
, fHighlightCodeCompletionPrefix, True);
XMLConfig.SetDeleteValue('EditorOptions/CodeTools/UseImagesInCompletionBox'
, fUseImagesInCompletionBox, True);
// Code Folding
XMLConfig.SetDeleteValue('EditorOptions/CodeFolding/UseCodeFolding',

View File

@ -78,12 +78,12 @@ object CodetoolsIndentifierCompletionOptionsFrame: TCodetoolsIndentifierCompleti
AnchorSideRight.Side = asrBottom
Left = 0
Height = 19
Top = 247
Top = 321
Width = 124
Caption = 'ICReplaceCheckBox'
ParentShowHint = False
ShowHint = True
TabOrder = 9
TabOrder = 12
end
object ICAddDoCheckBox: TCheckBox
AnchorSideLeft.Control = Owner
@ -168,13 +168,13 @@ object CodetoolsIndentifierCompletionOptionsFrame: TCodetoolsIndentifierCompleti
end
object ICMiscDividerBevel: TDividerBevel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ICSortForScopeCheckBox
AnchorSideTop.Control = ICUseIconsInCompletionBoxCheckBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 0
Height = 15
Top = 232
Top = 306
Width = 537
Caption = 'ICMiscDividerBevel'
Anchors = [akTop, akLeft, akRight]
@ -189,12 +189,12 @@ object CodetoolsIndentifierCompletionOptionsFrame: TCodetoolsIndentifierCompleti
AnchorSideRight.Side = asrBottom
Left = 0
Height = 19
Top = 266
Top = 340
Width = 151
Caption = 'ICJumpToErrorCheckBox'
ParentShowHint = False
ShowHint = True
TabOrder = 10
TabOrder = 13
end
object ICAutoUseSingleIdent: TCheckBox
AnchorSideLeft.Control = Owner
@ -210,4 +210,53 @@ object CodetoolsIndentifierCompletionOptionsFrame: TCodetoolsIndentifierCompleti
ShowHint = True
TabOrder = 1
end
object ICContainsFilterCheckBox: TCheckBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ICSortForScopeCheckBox
AnchorSideTop.Side = asrBottom
Left = 0
Height = 19
Top = 230
Width = 156
Caption = 'ICContainsFilterCheckBox'
TabOrder = 9
end
object ICAppearanceDividerBevel: TDividerBevel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ICContainsFilterCheckBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 0
Height = 15
Top = 251
Width = 537
Caption = 'ICAppearanceDividerBevel'
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2
Font.Style = [fsBold]
ParentFont = False
end
object ICHighlightPrefixCheckBox: TCheckBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ICAppearanceDividerBevel
AnchorSideTop.Side = asrBottom
Left = 0
Height = 19
Top = 266
Width = 162
Caption = 'ICHighlightPrefixCheckBox'
TabOrder = 10
end
object ICUseIconsInCompletionBoxCheckBox: TCheckBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ICHighlightPrefixCheckBox
AnchorSideTop.Side = asrBottom
Left = 0
Height = 19
Top = 285
Width = 222
Caption = 'ICUseIconsInCompletionBoxCheckBox'
TabOrder = 11
end
end

View File

@ -33,6 +33,8 @@ type
{ TCodetoolsIndentifierCompletionOptionsFrame }
TCodetoolsIndentifierCompletionOptionsFrame = class(TAbstractIDEOptionsEditor)
ICContainsFilterCheckBox: TCheckBox;
ICHighlightPrefixCheckBox: TCheckBox;
ICAddDoCheckBox: TCheckBox;
ICAutoAddParameterBracketsCheckBox: TCheckBox;
ICMiscDividerBevel: TDividerBevel;
@ -46,8 +48,10 @@ type
ICShowHelpCheckBox: TCheckBox;
ICAutoUseSingleIdent: TCheckBox;
ICSortDividerBevel: TDividerBevel;
ICAppearanceDividerBevel: TDividerBevel;
ICSortForHistoryCheckBox: TCheckBox;
ICSortForScopeCheckBox: TCheckBox;
ICUseIconsInCompletionBoxCheckBox: TCheckBox;
private
public
function GetTitle: String; override;
@ -89,6 +93,11 @@ begin
ICSortForHistoryCheckBox.Caption:=lisShowRecentlyUsedIdentifiersAtTop;
ICSortForScopeCheckBox.Caption:=lisSortForScope;
ICSortForScopeCheckBox.Hint:=lisForExampleShowAtTopTheLocalVariablesThenTheMembers;
ICContainsFilterCheckBox.Caption := dlgIncludeIdentifiersContainingPrefix;
ICAppearanceDividerBevel.Caption:=lisAppearance;
ICHighlightPrefixCheckBox.Caption := dlgHighlightPrefix;
ICUseIconsInCompletionBoxCheckBox.Caption := dlgUseIconsInCompletionBox;
ICMiscDividerBevel.Caption:=dlgEnvMisc;
ICReplaceCheckBox.Caption:=lisReplaceWholeIdentifier;
@ -113,6 +122,9 @@ begin
ICShowHelpCheckBox.Checked:=IdentComplShowHelp;
ICSortForHistoryCheckBox.Checked:=IdentComplSortForHistory;
ICSortForScopeCheckBox.Checked:=IdentComplSortForScope;
ICContainsFilterCheckBox.Checked:=IdentComplUseContainsFilter;
ICHighlightPrefixCheckBox.Checked:=IdentComplHighlightPrefix;
ICUseIconsInCompletionBoxCheckBox.Checked:=IdentComplShowIcons;
end;
end;
@ -132,6 +144,9 @@ begin
IdentComplShowHelp:=ICShowHelpCheckBox.Checked;
IdentComplSortForHistory:=ICSortForHistoryCheckBox.Checked;
IdentComplSortForScope:=ICSortForScopeCheckBox.Checked;
IdentComplUseContainsFilter:=ICContainsFilterCheckBox.Checked;
IdentComplHighlightPrefix:=ICHighlightPrefixCheckBox.Checked;
IdentComplShowIcons:=ICUseIconsInCompletionBoxCheckBox.Checked;
end;
end;

View File

@ -223,43 +223,4 @@ object EditorCodetoolsOptionsFrame: TEditorCodetoolsOptionsFrame
Caption = 'AutoDisplayFuncProtoCheckBox'
TabOrder = 8
end
object ContainsFilterCheckBox: TCheckBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = CompletionDropDownHint
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 285
Width = 145
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'ContainsFilterCheckBox'
TabOrder = 9
end
object HighlightPrefixCheckBox: TCheckBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ContainsFilterCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 310
Width = 151
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'HighlightPrefixCheckBox'
TabOrder = 10
end
object UseImagesInCompletionBoxCheckBox: TCheckBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = HighlightPrefixCheckBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 335
Width = 221
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'UseImagesInCompletionBoxCheckBox'
TabOrder = 11
end
end

View File

@ -41,7 +41,6 @@ type
CompletionDropDownHintLabel: TLabel;
CompletionDropDownHint: TComboBox;
CompletionDropDownDelayLabel: TLabel;
UseImagesInCompletionBoxCheckBox: TCheckBox;
AutoDelayTrackBar: TTrackBar;
CompletionDropDownLabel: TLabel;
CompletionDropDownHintTrackBar: TTrackBar;
@ -50,8 +49,6 @@ type
ToolTipBevel: TBevel;
AutoToolTipSymbToolsCheckBox: TCheckBox;
AutoRemoveEmptyMethodsOnSave: TCheckBox;
ContainsFilterCheckBox: TCheckBox;
HighlightPrefixCheckBox: TCheckBox;
procedure AutoDelayTrackBarChange(Sender: TObject);
public
function GetTitle: String; override;
@ -88,9 +85,6 @@ begin
DbgToolTipAutoCastClass.Caption := lisDebugHintAutoTypeCastClass;
AutoCompleteBlockCheckBox.Caption := dlgEdCompleteBlocks;
AutoDisplayFuncProtoCheckBox.Caption := dlgAutoDisplayFuncProto;
ContainsFilterCheckBox.Caption := dlgIncludeIdentifiersContainingPrefix;
HighlightPrefixCheckBox.Caption := dlgHighlightPrefix;
UseImagesInCompletionBoxCheckBox.Caption := dlgUseImagesInCompletionBox;
AutoHintAndCompletionDelayLabel.Caption:=lisDelayForHintsAndCompletionBox;
CompletionDropDownLabel.Caption := lisDelayForCompletionLongLineHint;
@ -113,9 +107,6 @@ begin
AutoDelayTrackBar.Position := AutoDelayInMSec;
AutoRemoveEmptyMethodsOnSave.Checked := AutoRemoveEmptyMethods;
AutoDisplayFuncProtoCheckBox.Checked := AutoDisplayFunctionPrototypes;
ContainsFilterCheckBox.Checked := ContainsCompletionFilter;
HighlightPrefixCheckBox.Checked := HighlightCodeCompletionPrefix;
UseImagesInCompletionBoxCheckBox.Checked := UseImagesInCompletionBox;
CompletionDropDownHintTrackBar.Position := CompletionLongLineHintInMSec;
CompletionDropDownHint.ItemIndex := ord(CompletionLongLineHintType);
@ -135,9 +126,6 @@ begin
AutoDelayInMSec := AutoDelayTrackBar.Position;
AutoRemoveEmptyMethods := AutoRemoveEmptyMethodsOnSave.Checked;
AutoDisplayFunctionPrototypes := AutoDisplayFuncProtoCheckBox.Checked;
ContainsCompletionFilter := ContainsFilterCheckBox.Checked;
HighlightCodeCompletionPrefix := HighlightPrefixCheckBox.Checked;
UseImagesInCompletionBox := UseImagesInCompletionBoxCheckBox.Checked;
CompletionLongLineHintInMSec := CompletionDropDownHintTrackBar.Position;
CompletionLongLineHintType := TSynCompletionLongHintType(CompletionDropDownHint.ItemIndex);

View File

@ -975,6 +975,7 @@
<Unit156>
<Filename Value="codetoolsoptions.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="CodeToolsOptions"/>
</Unit156>
<Unit157>
<Filename Value="keymapshortcutdlg.pas"/>
@ -1207,6 +1208,7 @@
<Unit203>
<Filename Value="sourceeditprocs.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="SourceEditProcs"/>
</Unit203>
<Unit204>
<Filename Value="helpoptions.pas"/>

View File

@ -124,6 +124,7 @@ resourcestring
lisPause = 'Pause';
lisStop = 'Stop';
lisSorting = 'Sorting';
lisAppearance = 'Appearance';
lisBuilding = 'Building';
lisOptions = 'Options';
lisLess = 'Less';
@ -1971,7 +1972,7 @@ resourcestring
dlgHighlightPrefix = 'Highlight prefix';
lisAutomaticFeatures = 'Completion and Hints';
lisAutoMarkup = 'Markup and Matches';
dlgUseImagesInCompletionBox = 'Icons in code completion box';
dlgUseIconsInCompletionBox = 'Icons in code completion box';
dlgMarkupUserDefined = 'User defined markup';
dlgMarkupUserDefinedNoLists = 'No lists';

View File

@ -2448,7 +2448,7 @@ begin
// rebuild completion list
APosition:=0;
CurStr:=CurrentString;
CodeToolBoss.IdentifierList.ContainsFilter := EditorOpts.ContainsCompletionFilter;
CodeToolBoss.IdentifierList.ContainsFilter := CodeToolsOpts.IdentComplUseContainsFilter;
CodeToolBoss.IdentifierList.Prefix:=CurStr;
ItemCnt:=CodeToolBoss.IdentifierList.GetFilteredCount;
SL:=TStringList.Create;

View File

@ -309,7 +309,7 @@ begin
BGBlue:=BackgroundColor and $ff;
ImageIndex:=-1;
ImageIndexCC := -1;
UseImages := EditorOpts.UseImagesInCompletionBox;
UseImages := CodeToolsOpts.IdentComplShowIcons;
// first write the type
// var, procedure, property, function, type, const
@ -512,7 +512,7 @@ begin
//DebugLn(['PaintCompletionItem ',x,',',y,' ',s]);
ACanvas.TextOut(x+1,y,s);
// highlighting the prefix
if (EditorOpts.HighlightCodeCompletionPrefix)
if (CodeToolsOpts.IdentComplHighlightPrefix)
and (aCompletion.CurrentString<>'') then
begin
PrefixPosition := Pos(LowerCase(aCompletion.CurrentString), LowerCase(s));