From 8012aa3f06ec737ee97dce7128ae2a0014c91097 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Thu, 19 Jul 2018 16:43:25 +0200 Subject: [PATCH] set proper editor color scheme when installing a theme --- .../src/SchemeManagerImpl.kt | 3 +++ .../ide/ui/laf/UIThemeBasedLookAndFeelInfo.java | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/platform/configuration-store-impl/src/SchemeManagerImpl.kt b/platform/configuration-store-impl/src/SchemeManagerImpl.kt index 5b7136e0ae9f..613d4ef85b36 100644 --- a/platform/configuration-store-impl/src/SchemeManagerImpl.kt +++ b/platform/configuration-store-impl/src/SchemeManagerImpl.kt @@ -142,6 +142,9 @@ class SchemeManagerImpl(val fileSpec: String, LOG.warn("Duplicated scheme ${schemeKey} - old: $oldScheme, new $scheme") } schemes.add(scheme) + if (requestor is UITheme) { + requestor.editorSchemeName = schemeKey + } } } catch (e: ProcessCanceledException) { diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/UIThemeBasedLookAndFeelInfo.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/UIThemeBasedLookAndFeelInfo.java index 77d8c0739218..02f96fb8c259 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/UIThemeBasedLookAndFeelInfo.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/UIThemeBasedLookAndFeelInfo.java @@ -4,6 +4,8 @@ package com.intellij.ide.ui.laf; import com.intellij.ide.ui.UITheme; import com.intellij.ide.ui.laf.darcula.DarculaLaf; import com.intellij.ide.util.PropertiesComponent; +import com.intellij.openapi.editor.colors.EditorColorsManager; +import com.intellij.openapi.editor.colors.EditorColorsScheme; import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.util.IconPathPatcher; import com.intellij.openapi.util.text.StringUtil; @@ -36,6 +38,17 @@ public class UIThemeBasedLookAndFeelInfo extends UIManager.LookAndFeelInfo { } installBackgroundImage(); + installEditorScheme(); + } + + private void installEditorScheme() { + String name = myTheme.getEditorSchemeName(); + if (name != null) { + EditorColorsScheme scheme = EditorColorsManager.getInstance().getScheme(name); + if (scheme != null) { + EditorColorsManager.getInstance().setGlobalScheme(scheme); + } + } } private void installBackgroundImage() {