mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IJPL-222428 Islands are gone when Sync with OS enabled and Light with Light header theme was set as preferred in 2025.2
GitOrigin-RevId: ac23f463a973423beadac24322587ac10bee96ee
This commit is contained in:
committed by
intellij-monorepo-bot
parent
63f82e4ac9
commit
5e462459ae
+13
-12
@@ -61,14 +61,18 @@ suspend fun applyIslandsTheme(afterImportSettings: Boolean) {
|
||||
|
||||
private suspend fun enableTheme(properties: PropertiesComponent) {
|
||||
val lafManager = serviceAsync<LafManager>()
|
||||
|
||||
val currentTheme = lafManager.currentUIThemeLookAndFeel?.id ?: return
|
||||
|
||||
if (currentTheme != "ExperimentalDark" && currentTheme != "ExperimentalLight" && currentTheme != "ExperimentalLightWithLightHeader") {
|
||||
if (currentTheme == "Islands Light" || currentTheme == "Islands Dark") {
|
||||
resetLafSettingsToDefault(lafManager, serviceAsync<UiThemeProviderListManager>())
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
val colorsManager = EditorColorsManager.getInstance()
|
||||
val colorsManager = serviceAsync<EditorColorsManager>()
|
||||
val currentEditorTheme = colorsManager.globalScheme.displayName
|
||||
|
||||
if (currentEditorTheme != "Light" && currentEditorTheme != "Dark" && currentEditorTheme != "Rider Light" && currentEditorTheme != "Rider Dark") {
|
||||
return
|
||||
}
|
||||
@@ -80,7 +84,8 @@ private suspend fun enableTheme(properties: PropertiesComponent) {
|
||||
|
||||
val isLight = JBColor.isBright()
|
||||
|
||||
val newTheme = UiThemeProviderListManager.getInstance().findThemeById(if (isLight) "Islands Light" else "Islands Dark") ?: return
|
||||
val themeManager = serviceAsync<UiThemeProviderListManager>()
|
||||
val newTheme = themeManager.findThemeById(if (isLight) "Islands Light" else "Islands Dark") ?: return
|
||||
|
||||
properties.setValue("ide.islands.show.feedback3", "done")
|
||||
|
||||
@@ -95,16 +100,16 @@ private suspend fun enableTheme(properties: PropertiesComponent) {
|
||||
|
||||
newTheme.installEditorScheme(colorsManager.getScheme(editorScheme) ?: colorsManager.defaultScheme)
|
||||
|
||||
resetLafSettingsToDefault(lafManager, properties)
|
||||
resetLafSettingsToDefault(lafManager, themeManager)
|
||||
|
||||
lafManager.updateUI()
|
||||
}
|
||||
|
||||
private suspend fun changeColorSchemeForRiderIslandsDarkTheme(afterImportSettings: Boolean): Boolean {
|
||||
val colorsManager = EditorColorsManager.getInstance()
|
||||
val lafManager = serviceAsync<LafManager>()
|
||||
val currentLaf = lafManager.currentUIThemeLookAndFeel ?: return false
|
||||
|
||||
val colorsManager = serviceAsync<EditorColorsManager>()
|
||||
val colorScheme = if (afterImportSettings) "Islands Dark" else "Rider Dark"
|
||||
|
||||
if (currentLaf.id != "Islands Dark" || colorsManager.globalScheme.displayName != colorScheme) {
|
||||
@@ -118,15 +123,11 @@ private suspend fun changeColorSchemeForRiderIslandsDarkTheme(afterImportSetting
|
||||
return true
|
||||
}
|
||||
|
||||
private fun resetLafSettingsToDefault(lafManager: LafManager, properties: PropertiesComponent) {
|
||||
properties.setValue("ide.islands.debug.resetValue", "start")
|
||||
|
||||
val defaultLightLaf = lafManager.defaultLightLaf ?: return
|
||||
val defaultDarkLaf = lafManager.defaultDarkLaf ?: return
|
||||
private fun resetLafSettingsToDefault(lafManager: LafManager, themeManager: UiThemeProviderListManager) {
|
||||
val defaultLightLaf = themeManager.findThemeById("Islands Light") ?: return
|
||||
val defaultDarkLaf = themeManager.findThemeById("Islands Dark") ?: return
|
||||
|
||||
lafManager.setPreferredLightLaf(defaultLightLaf)
|
||||
lafManager.setPreferredDarkLaf(defaultDarkLaf)
|
||||
lafManager.resetPreferredEditorColorScheme()
|
||||
|
||||
properties.setValue("ide.islands.debug.resetValue", "finish: ${defaultLightLaf.id} | ${defaultDarkLaf.id}")
|
||||
}
|
||||
Reference in New Issue
Block a user