Add pluginModule, legacyPluginModule and pluginV2 icons for UX-3565

(cherry picked from commit 19a3d5a5a3f167781fbc6e760b39df23e4b91ef1)

IJ-CR-171953

GitOrigin-RevId: 1aecf9c32a7c56add53830e5d8b5486b977654aa
This commit is contained in:
Dima Golovkov
2025-08-07 16:51:40 +03:00
committed by intellij-monorepo-bot
parent 68917e86d6
commit 382e4d0783
8 changed files with 59 additions and 19 deletions

View File

@@ -27,7 +27,9 @@ public final class DevKitIcons {
}
/** 8x8 */ public static final @NotNull Icon LegacyPlugin = load("icons/expui/legacyPlugin.svg", -1032566629, 2);
/** 16x16 */ public static final @NotNull Icon PluginV2 = load("icons/expui/pluginV2.svg", 1719825147, 2);
/** 16x16 */ public static final @NotNull Icon LegacyPluginModule = load("icons/expui/legacyPluginModule.svg", 1708808352, 2);
/** 16x16 */ public static final @NotNull Icon PluginModule = load("icons/expui/pluginModule.svg", 1662209782, 2);
/** 16x16 */ public static final @NotNull Icon PluginV2 = load("icons/expui/pluginV2.svg", -654258637, 2);
/** 16x16 */ public static final @NotNull Icon ProjectService = load("icons/expui/projectService.svg", -1874664689, 2);
/** 16x16 */ public static final @NotNull Icon ProjectState = load("icons/expui/projectState.svg", 329241222, 2);
/** 16x16 */ public static final @NotNull Icon RemoteMapping = load("icons/expui/remoteMapping.svg", "icons/remoteMapping.svg", 1371307852, 2);

View File

@@ -0,0 +1,15 @@
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 3C11.5523 3 12 3.44772 12 4V5H15.5C15.7761 5 16 5.22386 16 5.5C16 5.77614 15.7761 6 15.5 6H12V8H11V4H7C5.34315 4 4 5.34315 4 7V9C4 10.6569 5.34315 12 7 12H8V13H7C5.13616 13 3.57002 11.7252 3.12598 10H1C0.447715 10 0 9.55228 0 9V7C0 6.44772 0.447715 6 1 6H3.12598C3.57002 4.27477 5.13616 3 7 3H11ZM1 9H3V7H1V9Z" fill="#6C707E"/>
<path d="M11 8C9.34315 8 8 9.34315 8 11V12H7C5.34315 12 4 10.6569 4 9V7C4 5.34315 5.34315 4 7 4H11V8Z" fill="#EBECF0"/>
<path d="M3 9H1V7H3V9Z" fill="#EBECF0"/>
<g clip-path="url(#clip0_22004_11216)">
<rect x="10" y="10" width="5" height="5" rx="1" fill="#EDF3FF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14 9C15.1046 9 16 9.89543 16 11V14C16 15.1046 15.1046 16 14 16H11C9.89543 16 9 15.1046 9 14V11C9 9.89543 9.89543 9 11 9H14ZM13 12H13.5C13.7761 12 14 12.2239 14 12.5V12.5C14 12.7761 13.7761 13 13.5 13H13V15H14C14.5523 15 15 14.5523 15 14V11C15 10.4477 14.5523 10 14 10H13V12ZM11 10C10.4477 10 10 10.4477 10 11V14C10 14.5523 10.4477 15 11 15H12V14H11.5C11.2239 14 11 13.7761 11 13.5V13.5C11 13.2239 11.2239 13 11.5 13H12V12H11.5C11.2239 12 11 11.7761 11 11.5V11.5C11 11.2239 11.2239 11 11.5 11H12V10H11Z" fill="#3574F0"/>
</g>
<defs>
<clipPath id="clip0_22004_11216">
<rect width="7" height="7" fill="white" transform="translate(9 9)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,15 @@
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 3C11.5523 3 12 3.44772 12 4V5H15.5C15.7761 5 16 5.22386 16 5.5C16 5.77614 15.7761 6 15.5 6H12V8H11V4H7C5.34315 4 4 5.34315 4 7V9C4 10.6569 5.34315 12 7 12H8V13H7C5.13616 13 3.57002 11.7252 3.12598 10H1C0.447715 10 0 9.55228 0 9V7C0 6.44772 0.447715 6 1 6H3.12598C3.57002 4.27477 5.13616 3 7 3H11ZM1 9H3V7H1V9Z" fill="#CED0D6"/>
<path d="M11 8C9.34315 8 8 9.34315 8 11V12H7C5.34315 12 4 10.6569 4 9V7C4 5.34315 5.34315 4 7 4H11V8Z" fill="#43454A"/>
<path d="M3 9H1V7H3V9Z" fill="#43454A"/>
<g clip-path="url(#clip0_22004_11225)">
<rect x="10" y="10" width="5" height="5" rx="1" fill="#25324D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14 9C15.1046 9 16 9.89543 16 11V14C16 15.1046 15.1046 16 14 16H11C9.89543 16 9 15.1046 9 14V11C9 9.89543 9.89543 9 11 9H14ZM13 12H13.5C13.7761 12 14 12.2239 14 12.5V12.5C14 12.7761 13.7761 13 13.5 13H13V15H14C14.5523 15 15 14.5523 15 14V11C15 10.4477 14.5523 10 14 10H13V12ZM11 10C10.4477 10 10 10.4477 10 11V14C10 14.5523 10.4477 15 11 15H12V14H11.5C11.2239 14 11 13.7761 11 13.5V13.5C11 13.2239 11.2239 13 11.5 13H12V12H11.5C11.2239 12 11 11.7761 11 11.5V11.5C11 11.2239 11.2239 11 11.5 11H12V10H11Z" fill="#548AF7"/>
</g>
<defs>
<clipPath id="clip0_22004_11225">
<rect width="7" height="7" fill="white" transform="translate(9 9)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,7 @@
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 3C11.5523 3 12 3.44772 12 4V5H15.5C15.7761 5 16 5.22386 16 5.5C16 5.77614 15.7761 6 15.5 6H12V8H11V4H7C5.34315 4 4 5.34315 4 7V9C4 10.6569 5.34315 12 7 12H8V13H7C5.13616 13 3.57002 11.7252 3.12598 10H1C0.447715 10 0 9.55228 0 9V7C0 6.44772 0.447715 6 1 6H3.12598C3.57002 4.27477 5.13616 3 7 3H11ZM1 9H3V7H1V9Z" fill="#6C707E"/>
<rect x="9.5" y="9.5" width="6" height="6" rx="1.5" fill="#EDF3FF" stroke="#3574F0"/>
<path d="M11 8C9.34315 8 8 9.34315 8 11V12H7C5.34315 12 4 10.6569 4 9V7C4 5.34315 5.34315 4 7 4H11V8Z" fill="#EBECF0"/>
<path d="M3 9H1V7H3V9Z" fill="#EBECF0"/>
</svg>

After

Width:  |  Height:  |  Size: 858 B

View File

@@ -0,0 +1,7 @@
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 3C11.5523 3 12 3.44772 12 4V5H15.5C15.7761 5 16 5.22386 16 5.5C16 5.77614 15.7761 6 15.5 6H12V8H11V4H7C5.34315 4 4 5.34315 4 7V9C4 10.6569 5.34315 12 7 12H8V13H7C5.13616 13 3.57002 11.7252 3.12598 10H1C0.447715 10 0 9.55228 0 9V7C0 6.44772 0.447715 6 1 6H3.12598C3.57002 4.27477 5.13616 3 7 3H11ZM1 9H3V7H1V9Z" fill="#CED0D6"/>
<rect x="9.5" y="9.5" width="6" height="6" rx="1.5" fill="#25324D" stroke="#548AF7"/>
<path d="M11 8C9.34315 8 8 9.34315 8 11V12H7C5.34315 12 4 10.6569 4 9V7C4 5.34315 5.34315 4 7 4H11V8Z" fill="#43454A"/>
<path d="M3 9H1V7H3V9Z" fill="#43454A"/>
</svg>

After

Width:  |  Height:  |  Size: 858 B

View File

@@ -1,5 +1,7 @@
<!-- Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.32 15.9996V15.1428L13.7017 12.7678C13.9379 12.5271 14.1335 12.3134 14.2887 12.1268C14.4439 11.9401 14.5608 11.7613 14.6396 11.5904C14.7183 11.4172 14.7576 11.2339 14.7576 11.0405C14.7576 10.8178 14.7059 10.6267 14.6025 10.467C14.5012 10.3073 14.3618 10.1836 14.1841 10.0959C14.0065 10.0082 13.8063 9.96431 13.5836 9.96431C13.3497 9.96431 13.1451 10.0127 12.9696 10.1094C12.7942 10.2038 12.6581 10.3388 12.5614 10.5142C12.467 10.6896 12.4197 10.8977 12.4197 11.1383H11.293C11.293 10.7065 11.3919 10.3298 11.5898 10.0082C11.7878 9.68655 12.0599 9.43803 12.4063 9.26261C12.7549 9.08493 13.1529 8.99609 13.6005 8.99609C14.0548 8.99609 14.454 9.08268 14.7981 9.25586C15.1422 9.42904 15.4099 9.66519 15.601 9.96431C15.7944 10.2634 15.8912 10.6042 15.8912 10.9865C15.8912 11.2429 15.8428 11.4959 15.7461 11.7456C15.6494 11.993 15.4785 12.2685 15.2333 12.5721C14.9882 12.8757 14.6463 13.2423 14.2077 13.6719L12.9595 14.9538V15.0044H15.9991V15.9996H11.32Z" fill="#3574F0"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 4H11V9.12125C11.2618 8.81018 11.5824 8.5591 11.9533 8.37108C11.9688 8.36317 11.9844 8.3554 12 8.34776V6H15.5C15.7761 6 16 5.77614 16 5.5C16 5.22386 15.7761 5 15.5 5H12V4C12 3.44772 11.5523 3 11 3H7C5.13616 3 3.57006 4.27477 3.12602 6H1C0.447715 6 0 6.44772 0 7V9C0 9.55228 0.447715 10 1 10H3.12602C3.57006 11.7252 5.13616 13 7 13H10V12H7C5.34315 12 4 10.6569 4 9V7C4 5.34315 5.34315 4 7 4ZM3 9V7H1V9H3Z" fill="#6C707E"/>
<path d="M11 8.25684C9.40312 8.82136 8.22059 10.2611 8.02832 12H7C5.34315 12 4 10.6569 4 9V7C4 5.34315 5.34315 4 7 4H11V8.25684Z" fill="#EBECF0"/>
<path d="M3 9H1V7H3V9Z" fill="#EBECF0"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 3C11.5523 3 12 3.44772 12 4V5H15.5C15.7761 5 16 5.22386 16 5.5C16 5.77614 15.7761 6 15.5 6H12V8.02832C11.6532 8.06666 11.3185 8.14426 11 8.25684V4H7C5.34315 4 4 5.34315 4 7V9C4 10.6569 5.34315 12 7 12H8.02832C8.01017 12.1642 8 12.331 8 12.5C8 12.669 8.01017 12.8358 8.02832 13H7C5.13616 13 3.57002 11.7252 3.12598 10H1C0.447715 10 0 9.55228 0 9V7C0 6.44772 0.447715 6 1 6H3.12598C3.57002 4.27477 5.13616 3 7 3H11ZM1 9H3V7H1V9Z" fill="#6C707E"/>
<path d="M12.5005 15.5V9.5M9.90242 14L15.0986 11M15.0986 14L9.9024 11" stroke="#3574F0" stroke-linecap="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -1,5 +1,7 @@
<!-- Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.32 15.9996V15.1428L13.7017 12.7678C13.9379 12.5271 14.1335 12.3134 14.2887 12.1268C14.4439 11.9401 14.5608 11.7613 14.6396 11.5904C14.7183 11.4172 14.7576 11.2339 14.7576 11.0405C14.7576 10.8178 14.7059 10.6267 14.6025 10.467C14.5012 10.3073 14.3618 10.1836 14.1841 10.0959C14.0065 10.0082 13.8063 9.96431 13.5836 9.96431C13.3497 9.96431 13.1451 10.0127 12.9696 10.1094C12.7942 10.2038 12.6581 10.3388 12.5614 10.5142C12.467 10.6896 12.4197 10.8977 12.4197 11.1383H11.293C11.293 10.7065 11.3919 10.3298 11.5898 10.0082C11.7878 9.68655 12.0599 9.43803 12.4063 9.26261C12.7549 9.08493 13.1529 8.99609 13.6005 8.99609C14.0548 8.99609 14.454 9.08268 14.7981 9.25586C15.1422 9.42904 15.4099 9.66519 15.601 9.96431C15.7944 10.2634 15.8912 10.6042 15.8912 10.9865C15.8912 11.2429 15.8428 11.4959 15.7461 11.7456C15.6494 11.993 15.4785 12.2685 15.2333 12.5721C14.9882 12.8757 14.6463 13.2423 14.2077 13.6719L12.9595 14.9538V15.0044H15.9991V15.9996H11.32Z" fill="#548AF7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 4H11V9.12125C11.2618 8.81018 11.5824 8.5591 11.9533 8.37108C11.9688 8.36317 11.9844 8.3554 12 8.34776V6H15.5C15.7761 6 16 5.77614 16 5.5C16 5.22386 15.7761 5 15.5 5H12V4C12 3.44772 11.5523 3 11 3H7C5.13616 3 3.57006 4.27477 3.12602 6H1C0.447715 6 0 6.44772 0 7V9C0 9.55228 0.447715 10 1 10H3.12602C3.57006 11.7252 5.13616 13 7 13H10V12H7C5.34315 12 4 10.6569 4 9V7C4 5.34315 5.34315 4 7 4ZM3 9V7H1V9H3Z" fill="#CED0D6"/>
<path d="M11 8.25684C9.40312 8.82136 8.22059 10.2611 8.02832 12H7C5.34315 12 4 10.6569 4 9V7C4 5.34315 5.34315 4 7 4H11V8.25684Z" fill="#43454A"/>
<path d="M3 9H1V7H3V9Z" fill="#43454A"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 3C11.5523 3 12 3.44772 12 4V5H15.5C15.7761 5 16 5.22386 16 5.5C16 5.77614 15.7761 6 15.5 6H12V8.02832C11.6532 8.06666 11.3185 8.14426 11 8.25684V4H7C5.34315 4 4 5.34315 4 7V9C4 10.6569 5.34315 12 7 12H8.02832C8.01017 12.1642 8 12.331 8 12.5C8 12.669 8.01017 12.8358 8.02832 13H7C5.13616 13 3.57002 11.7252 3.12598 10H1C0.447715 10 0 9.55228 0 9V7C0 6.44772 0.447715 6 1 6H3.12598C3.57002 4.27477 5.13616 3 7 3H11ZM1 9H3V7H1V9Z" fill="#CED0D6"/>
<path d="M12.5005 15.5V9.5M9.90242 14L15.0986 11M15.0986 14L9.9024 11" stroke="#548AF7" stroke-linecap="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -7,12 +7,10 @@ import com.intellij.openapi.project.IntelliJProjectUtil
import com.intellij.openapi.util.registry.Registry
import com.intellij.psi.PsiDirectory
import com.intellij.psi.PsiElement
import com.intellij.ui.LayeredIcon
import com.intellij.ui.icons.IconWrapperWithToolTip
import org.jetbrains.idea.devkit.DevKitIcons
import java.util.function.Supplier
import javax.swing.Icon
import javax.swing.SwingConstants
internal class ScaffoldingDirectoryIconProvider : IconProvider() {
@@ -39,18 +37,10 @@ internal class ScaffoldingDirectoryIconProvider : IconProvider() {
private val pluginDirectoryIcon = AllIcons.Nodes.Plugin
.withTooltip(messagePointer("plugin.directory.tooltip"))
private val moduleDirectoryIcon = LayeredIcon(2)
.apply {
setIcon(AllIcons.Nodes.Plugin, 0)
setIcon(AllIcons.Nodes.Module8x8, 1, SwingConstants.SOUTH_EAST)
}
private val moduleDirectoryIcon = DevKitIcons.PluginModule
.withTooltip(messagePointer("module.directory.tooltip"))
private val legacyPluginWithModuleIcon = LayeredIcon(2)
.apply {
setIcon(AllIcons.Nodes.Plugin, 0)
setIcon(DevKitIcons.LegacyPlugin, 1, SwingConstants.SOUTH_EAST)
}
private val legacyPluginWithModuleIcon = DevKitIcons.LegacyPluginModule
.withTooltip(messagePointer("plugin.and.module.directory.tooltip"))
private fun Icon.withTooltip(message: Supplier<String>): Icon {