From 5d665a2a05ee4d3ac810a7e9fae25e87421df83c Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Fri, 20 Dec 2019 21:35:28 +0300 Subject: [PATCH] IDEA-225545 vcs: prefer active Editor color scheme for commit message editor Only fallback to UI-theme based scheme if they have high Light/Dark contrast. GitOrigin-RevId: e2668dc0fc07ee4343298a317566e9bd00a229d2 --- .../com/intellij/openapi/vcs/ui/CommitMessage.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/ui/CommitMessage.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/ui/CommitMessage.java index 4b6c20481e5d..c2e5d5246aa4 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/ui/CommitMessage.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/ui/CommitMessage.java @@ -18,6 +18,7 @@ import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.SpellCheckingEditorCustomizationProvider; import com.intellij.openapi.editor.colors.EditorColorsManager; +import com.intellij.openapi.editor.colors.EditorColorsScheme; import com.intellij.openapi.editor.ex.EditorEx; import com.intellij.openapi.editor.impl.EditorMarkupModelImpl; import com.intellij.openapi.fileTypes.FileTypes; @@ -32,6 +33,7 @@ import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.ui.*; +import com.intellij.util.ui.UIUtil; import com.intellij.util.ui.components.BorderLayoutPanel; import com.intellij.vcs.commit.CommitMessageUi; import com.intellij.vcs.commit.message.BodyLimitSettings; @@ -60,9 +62,18 @@ public class CommitMessage extends JPanel implements Disposable, DataProvider, C private static final EditorCustomization COLOR_SCHEME_FOR_CURRENT_UI_THEME_CUSTOMIZATION = editor -> { editor.setBackgroundColor(null); // to use background from set color scheme - editor.setColorsScheme(EditorColorsManager.getInstance().getSchemeForCurrentUITheme()); + editor.setColorsScheme(getCommitMessageColorScheme()); }; + @NotNull + private static EditorColorsScheme getCommitMessageColorScheme() { + boolean isLaFDark = ColorUtil.isDark(UIUtil.getPanelBackground()); + boolean isEditorDark = EditorColorsManager.getInstance().isDarkEditor(); + return isLaFDark == isEditorDark + ? EditorColorsManager.getInstance().getGlobalScheme() + : EditorColorsManager.getInstance().getSchemeForCurrentUITheme(); + } + @NotNull private final EditorTextField myEditorField; @Nullable private final TitledSeparator mySeparator;