From 2a853b3ba0fe0700c482d55c5c2895e54d6ae7de Mon Sep 17 00:00:00 2001 From: Artem Orlov Date: Thu, 19 Mar 2026 15:13:27 +0300 Subject: [PATCH] OpenIde settings migration --- .../src/com/intellij/util/PlatformUtils.java | 9 ++- .../resources/ideIcons/OI_20.svg | 64 +++++++++++++++++++ .../resources/ideIcons/OI_24.svg | 64 +++++++++++++++++++ .../resources/ideIcons/OI_48.svg | 64 +++++++++++++++++++ .../importSettings/StartupImportIcons.java | 3 + .../importSettings/jb/JbImportServiceImpl.kt | 7 +- .../startup/importSettings/jb/NameMappings.kt | 7 +- 7 files changed, 213 insertions(+), 5 deletions(-) create mode 100644 plugins/ide-startup/importSettings/resources/ideIcons/OI_20.svg create mode 100644 plugins/ide-startup/importSettings/resources/ideIcons/OI_24.svg create mode 100644 plugins/ide-startup/importSettings/resources/ideIcons/OI_48.svg diff --git a/platform/core-api/src/com/intellij/util/PlatformUtils.java b/platform/core-api/src/com/intellij/util/PlatformUtils.java index 5750b292d52a..15969a6be1e3 100644 --- a/platform/core-api/src/com/intellij/util/PlatformUtils.java +++ b/platform/core-api/src/com/intellij/util/PlatformUtils.java @@ -1,10 +1,9 @@ -// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. // -// Modified by Nikita Iarychenko at 2025 as part of the OpenIDE project (https://openide.ru). +// Modified by Artyom Orlov at 2026 as part of the OpenIDE project(https://openide.ru). // Any modifications are available on the same license terms as the original source code. package com.intellij.util; -import com.intellij.openapi.application.ApplicationInfo; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -47,6 +46,7 @@ public final class PlatformUtils { public static final String RUBY_PREFIX = "Ruby"; public static final String PHP_PREFIX = "PhpStorm"; public static final String WEB_PREFIX = "WebStorm"; + public static final String OPEN_IDE_PREFIX = "OpenIDE"; public static final String DBE_PREFIX = "DataGrip"; public static final String RIDER_PREFIX = "Rider"; public static final String GOIDE_PREFIX = "GoLand"; @@ -172,6 +172,9 @@ public final class PlatformUtils { public static boolean isWebStorm() { return is(WEB_PREFIX); } + public static boolean isOpenIde() { + return is(OPEN_IDE_PREFIX); + } public static boolean isWriterSide() { return is(WRITERSIDE_PREFIX); diff --git a/plugins/ide-startup/importSettings/resources/ideIcons/OI_20.svg b/plugins/ide-startup/importSettings/resources/ideIcons/OI_20.svg new file mode 100644 index 000000000000..c4135ab66d28 --- /dev/null +++ b/plugins/ide-startup/importSettings/resources/ideIcons/OI_20.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/ide-startup/importSettings/resources/ideIcons/OI_24.svg b/plugins/ide-startup/importSettings/resources/ideIcons/OI_24.svg new file mode 100644 index 000000000000..2b2b468a3258 --- /dev/null +++ b/plugins/ide-startup/importSettings/resources/ideIcons/OI_24.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/ide-startup/importSettings/resources/ideIcons/OI_48.svg b/plugins/ide-startup/importSettings/resources/ideIcons/OI_48.svg new file mode 100644 index 000000000000..a96e3c106401 --- /dev/null +++ b/plugins/ide-startup/importSettings/resources/ideIcons/OI_48.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/StartupImportIcons.java b/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/StartupImportIcons.java index b8438ee40749..86b9efea1659 100644 --- a/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/StartupImportIcons.java +++ b/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/StartupImportIcons.java @@ -63,6 +63,9 @@ public final class StartupImportIcons { /** 20x20 */ public static final @NotNull Icon MPS_20 = load("ideIcons/MPS_20.svg", -200340544, 0); /** 24x24 */ public static final @NotNull Icon MPS_24 = load("ideIcons/MPS_24.svg", -1783947303, 0); /** 48x48 */ public static final @NotNull Icon MPS_48 = load("ideIcons/MPS_48.svg", -22869970, 0); + /** 20x20 */ public static final @NotNull Icon OI_20 = load("ideIcons/OI_20.svg", -1008583371, 0); + /** 24x24 */ public static final @NotNull Icon OI_24 = load("ideIcons/OI_24.svg", -1788473506, 0); + /** 48x48 */ public static final @NotNull Icon OI_48 = load("ideIcons/OI_48.svg", 645904250, 0); /** 20x20 */ public static final @NotNull Icon PC_20 = load("ideIcons/PC_20.svg", 714023888, 0); /** 24x24 */ public static final @NotNull Icon PC_24 = load("ideIcons/PC_24.svg", 1993229179, 0); /** 48x48 */ public static final @NotNull Icon PC_48 = load("ideIcons/PC_48.svg", -1502182440, 0); diff --git a/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/jb/JbImportServiceImpl.kt b/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/jb/JbImportServiceImpl.kt index 8dff16da903c..dab4d4a1aa95 100644 --- a/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/jb/JbImportServiceImpl.kt +++ b/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/jb/JbImportServiceImpl.kt @@ -335,7 +335,12 @@ class JbImportServiceImpl(private val coroutineScope: CoroutineScope) : JbServic return null } val fullNameWithVersion = "$fullName $ideVersion" - val pluginsDir = Path.of(PathManager.getDefaultPluginPathFor(confDir.name).replace("OpenIDE", "JetBrains")) + val pluginsDir = if (confDir.name.startsWith("OpenIDE")) { + Path.of(PathManager.getDefaultPluginPathFor(confDir.name)) + } else { + Path.of(PathManager.getDefaultPluginPathFor(confDir.name).replace("OpenIDE", "JetBrains")) + } + val jbProductInfo = JbProductInfo(ideVersion, lastModified, confDir.name, fullNameWithVersion, ideName, confDir, pluginsDir) return jbProductInfo diff --git a/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/jb/NameMappings.kt b/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/jb/NameMappings.kt index 98b952e103ee..6c341c53385e 100644 --- a/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/jb/NameMappings.kt +++ b/plugins/ide-startup/importSettings/src/com/intellij/ide/startup/importSettings/jb/NameMappings.kt @@ -1,4 +1,7 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// +// Modified by Artyom Orlov at 2026 as part of the OpenIDE project(https://openide.ru). +// Any modifications are available on the same license terms as the original source code. package com.intellij.ide.startup.importSettings.jb import com.intellij.ide.startup.importSettings.StartupImportIcons.IdeIcons.* @@ -68,6 +71,7 @@ enum class IDEData(val code: String, RUBYMINE("RM", "ruby", "RubyMine", "RubyMine", RM_20, RM_24, RM_48), RUSTROVER("RR", "rust", "RustRover", "RustRover", RR_20, RR_24, RR_48), WEBSTORM("WS", "webstorm", "WebStorm", "WebStorm", WS_20, WS_24, WS_48), + OPEN_IDE("OI", "", "OpenIDE", "OpenIDE", OI_20, OI_24, OI_48), WRITERSIDE("Writerside", "", "Writerside", "Writerside", Writerside_20, Writerside_24, Writerside_48) ; @@ -91,6 +95,7 @@ enum class IDEData(val code: String, PlatformUtils.isRubyMine() -> RUBYMINE PlatformUtils.isRustRover() -> RUSTROVER PlatformUtils.isWebStorm() -> WEBSTORM + PlatformUtils.isOpenIde() -> IDEData.OPEN_IDE else -> { null }