Ide ColorOptions: Improved "reset one" button (fix updating comboboxes / reset according to global/local)

git-svn-id: trunk@61099 -
This commit is contained in:
martin 2019-05-01 15:42:19 +00:00
parent ff9c822553
commit 90ecaf08c2

View File

@ -1213,14 +1213,21 @@ begin
DefaultSchemeGrp := ColorSchemeFactory.ColorSchemeGroup[ColorSchemeButton.Caption];
if DefaultSchemeGrp = nil then
exit;
if FIsEditingDefaults then
if FIsEditingDefaults or FCurHighlightElement.IsUsingSchemeGlobals then
DefaultColorScheme := DefaultSchemeGrp.DefaultColors
else
DefaultColorScheme := DefaultSchemeGrp.ColorScheme[FCurrentColorScheme.Language];
if OnlySelected then begin
DefAttri := DefaultColorScheme.Attribute[FCurHighlightElement.StoredName];
FCurHighlightElement.Assign(DefAttri);
if FCurHighlightElement.IsUsingSchemeGlobals then begin
// reset the globol settings for the element
FCurHighlightElement.GetSchemeGlobal.Assign(DefAttri);
end
else begin
FCurHighlightElement.Assign(DefAttri);
FCurHighlightElement.UseSchemeGlobals := False; // keep editing locals, for single elem reset, this should not change.
end;
end else begin
FCurrentColorScheme.Assign(DefaultColorScheme);
end;
@ -1240,6 +1247,7 @@ begin
FindCurHighlightElement;
UpdateCurrentScheme;
ShowCurAttribute;
SynColorAttrEditor1.UpdateAll; // force update
end;
function TEditorColorOptionsFrame.GetColorSchemeForLang(const LanguageName: String): String;