Skip to content

Commit b2a6a2b

Browse files
authored
Add updated new UI icons and mappings (#7574)
This is following guidance from https://plugins.jetbrains.com/docs/intellij/icons.html#new-ui-icons and removes the need for us to toggle icon changes on light/dark mode or compact vs. normal mode. Light: <img width="163" alt="Screenshot 2024-07-30 at 12 42 51 PM" src="https://github.com/user-attachments/assets/446c4d45-e271-4c3a-b5ad-d80eb2d61b80"> Dark: <img width="150" alt="Screenshot 2024-07-30 at 12 43 00 PM" src="https://github.com/user-attachments/assets/4c099ed3-2d61-49d0-bd1b-eed7b68c566d"> Compact light: <img width="125" alt="Screenshot 2024-07-30 at 12 43 22 PM" src="https://github.com/user-attachments/assets/990fc4bd-66cc-43a7-979e-fd1d2d489ce8"> Compact dark: <img width="116" alt="Screenshot 2024-07-30 at 12 43 12 PM" src="https://github.com/user-attachments/assets/c4f3fa63-eafb-47ba-b400-99834a2ab293">
1 parent 56a0e26 commit b2a6a2b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+279
-1221
lines changed

flutter-idea/src/icons/FlutterIcons.java

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,12 @@ private static Icon load(String path) {
99
return IconLoader.getIcon(path, FlutterIcons.class);
1010
}
1111

12-
public static final Icon FlutterDefault = load("/icons/Flutter_DarkMode_C.2.svg");
13-
public static final Icon DevToolsDeepLinks = load("/icons/DeepLinks_DarkMode_C.2.svg");
14-
public static final Icon DevTools = load("/icons/DevTools_DarkMode_C.2.svg");
15-
public static final Icon DevToolsExtensions = load("/icons/DevToolsExtensions_DarkMode_C.2.svg");
16-
public static final Icon DevToolsInspector = load("/icons/Inspector_DarkMode_C.2.svg");
17-
18-
public static final Icon FlutterDefaultLight = load("/icons/Flutter_LtMode_C.2.svg");
19-
public static final Icon DevToolsDeepLinksLight = load("/icons/DeepLinks_LtMode_C.2.svg");
20-
public static final Icon DevToolsLight = load("/icons/DevTools_LtMode_C.2.svg");
21-
public static final Icon DevToolsExtensionsLight = load("/icons/DevToolsExtensions_LtMode_C.2.svg");
22-
public static final Icon DevToolsInspectorLight = load("/icons/Inspector_LtMode_C.2.svg");
12+
public static final Icon FlutterDefault = load("/icons/expui/flutter.svg");
13+
public static final Icon DevToolsDeepLinks = load("/icons/expui/deepLinks.svg");
14+
public static final Icon DevTools = load("/icons/expui/devTools.svg");
15+
public static final Icon DevToolsExtensions = load("/icons/expui/extensions.svg");
16+
public static final Icon DevToolsInspector = load("icons/expui/inspector.svg");
17+
2318
public static final Icon Flutter_13_2x = load("/icons/[email protected]");
2419
public static final Icon Flutter_64 = load("/icons/flutter_64.png");
2520
public static final Icon Flutter_64_2x = load("/icons/[email protected]");

flutter-idea/src/io/flutter/FlutterInitializer.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,6 @@ private void initializeToolWindows(@NotNull Project project) {
267267
PreviewViewFactory.init(project);
268268
RemainingDevToolsViewFactory.init(project);
269269
DevToolsExtensionsViewFactory.init(project);
270-
DeepLinksViewFactory.init(project);
271270
toolWindowsInitialized = true;
272271
}
273272

flutter-idea/src/io/flutter/deeplinks/DeepLinksViewFactory.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,6 @@ public Object isApplicableAsync(@NotNull Project project, @NotNull Continuation<
3939
return sdkVersion != null && sdkVersion.canUseDeepLinksTool();
4040
}
4141

42-
public static void init(@NotNull Project project) {
43-
final ToolWindow window = ToolWindowManager.getInstance(project).getToolWindow(TOOL_WINDOW_ID);
44-
if (window != null) {
45-
UIUtils.registerLightDarkIconsForWindow(window, FlutterIcons.DevToolsDeepLinksLight, FlutterIcons.DevToolsDeepLinks);
46-
}
47-
}
48-
4942
@Override
5043
public void createToolWindowContent(@NotNull Project project, @NotNull ToolWindow toolWindow) {
5144
final ContentManager contentManager = toolWindow.getContentManager();

flutter-idea/src/io/flutter/devtools/DevToolsExtensionsViewFactory.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,10 @@
2727
import java.util.Optional;
2828

2929
public class DevToolsExtensionsViewFactory implements ToolWindowFactory {
30-
private static String TOOL_WINDOW_ID = "Flutter DevTools Extensions";
3130
public static void init(Project project) {
3231
project.getMessageBus().connect().subscribe(
3332
FlutterViewMessages.FLUTTER_DEBUG_TOPIC, (FlutterViewMessages.FlutterDebugNotifier)event -> initView(project, event)
3433
);
35-
36-
final ToolWindow window = ToolWindowManager.getInstance(project).getToolWindow(TOOL_WINDOW_ID);
37-
if (window != null) {
38-
UIUtils.registerLightDarkIconsForWindow(window, FlutterIcons.DevToolsExtensionsLight, FlutterIcons.DevToolsExtensions);
39-
}
4034
}
4135

4236
private static void initView(Project project, FlutterViewMessages.FlutterDebugEvent event) {

flutter-idea/src/io/flutter/devtools/RemainingDevToolsViewFactory.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,6 @@ public static void init(Project project) {
3232
project.getMessageBus().connect().subscribe(
3333
FlutterViewMessages.FLUTTER_DEBUG_TOPIC, (FlutterViewMessages.FlutterDebugNotifier)event -> initView(project, event)
3434
);
35-
36-
final ToolWindow window = ToolWindowManager.getInstance(project).getToolWindow(TOOL_WINDOW_ID);
37-
if (window != null) {
38-
UIUtils.registerLightDarkIconsForWindow(window, FlutterIcons.DevToolsLight, FlutterIcons.DevTools);
39-
}
4035
}
4136

4237
private static void initView(Project project, FlutterViewMessages.FlutterDebugEvent event) {

flutter-idea/src/io/flutter/performance/FlutterPerformanceViewFactory.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ public static void init(@NotNull Project project) {
2929
final ToolWindow window = ToolWindowManager.getInstance(project).getToolWindow(FlutterPerformanceView.TOOL_WINDOW_ID);
3030
if (window != null) {
3131
window.setAvailable(true);
32-
UIUtils.registerLightDarkIconsForWindow(window, FlutterIcons.FlutterDefaultLight, FlutterIcons.FlutterDefault);
3332

3433
if (PropertiesComponent.getInstance(project).getBoolean(TOOL_WINDOW_VISIBLE_PROPERTY, false)) {
3534
window.activate(null, false);

flutter-idea/src/io/flutter/preview/PreviewViewFactory.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ public static void init(@NotNull Project project) {
2424
final ToolWindow window = ToolWindowManager.getInstance(project).getToolWindow(PreviewView.TOOL_WINDOW_ID);
2525
if (window != null) {
2626
window.setAvailable(true);
27-
UIUtils.registerLightDarkIconsForWindow(window, FlutterIcons.FlutterDefaultLight, FlutterIcons.FlutterDefault);
2827

2928
if (PropertiesComponent.getInstance(project).getBoolean(TOOL_WINDOW_VISIBLE_PROPERTY, false)) {
3029
window.activate(null, false);

flutter-idea/src/io/flutter/utils/UIUtils.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -62,19 +62,4 @@ public static Project findVisibleProject() {
6262
}
6363
return null;
6464
}
65-
66-
public static void registerLightDarkIconsForWindow(@NotNull ToolWindow window, @NotNull Icon lightIcon, @NotNull Icon darkIcon) {
67-
window.setIcon(Boolean.TRUE.equals(new DevToolsUtils().getIsBackgroundBright())
68-
? lightIcon
69-
: darkIcon);
70-
71-
final Application application = ApplicationManager.getApplication();
72-
if (application == null) return;
73-
application.getMessageBus().connect()
74-
.subscribe(EditorColorsManager.TOPIC, (EditorColorsListener)scheme -> {
75-
window.setIcon(Boolean.TRUE.equals(new DevToolsUtils().getIsBackgroundBright())
76-
? lightIcon
77-
: darkIcon);
78-
});
79-
}
8065
}

flutter-idea/src/io/flutter/view/FlutterViewFactory.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ public static void init(@NotNull Project project) {
2929
final ToolWindow window = ToolWindowManager.getInstance(project).getToolWindow(FlutterView.TOOL_WINDOW_ID);
3030
if (window != null) {
3131
window.setAvailable(true);
32-
UIUtils.registerLightDarkIconsForWindow(window, FlutterIcons.DevToolsInspectorLight, FlutterIcons.DevToolsInspector);
3332

3433
if (PropertiesComponent.getInstance(project).getBoolean(TOOL_WINDOW_VISIBLE_PROPERTY, false)) {
3534
window.activate(null, false);

resources/FlutterIconMappings.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"icons": {
3+
"expui": {
4+
"deepLinks.svg": "icons/deepLinks.svg",
5+
"devTools.svg": "icons/devTools.svg",
6+
"extensions.svg": "icons/extensions.svg",
7+
"flutter.svg": "icons/flutter.svg",
8+
"inspector.svg": "icons/inspector.svg"
9+
}
10+
}
11+
}

resources/META-INF/plugin.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,7 @@
575575
</extensions>
576576

577577
<extensions defaultExtensionNs="com.intellij">
578+
<iconMapper mappingFile="FlutterIconMappings.json"/>
578579
<postStartupActivity implementation="io.flutter.ProjectOpenActivity"/>
579580
<postStartupActivity implementation="io.flutter.FlutterInitializer"/>
580581
<projectService serviceInterface="io.flutter.run.daemon.DeviceService"

resources/META-INF/plugin_template.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@
279279
</extensions>
280280

281281
<extensions defaultExtensionNs="com.intellij">
282+
<iconMapper mappingFile="FlutterIconMappings.json"/>
282283
<postStartupActivity implementation="io.flutter.ProjectOpenActivity"/>
283284
<postStartupActivity implementation="io.flutter.FlutterInitializer"/>
284285
<projectService serviceInterface="io.flutter.run.daemon.DeviceService"

resources/icons/DeepLinks_DarkMode_C.2.svg

Lines changed: 0 additions & 89 deletions
This file was deleted.

0 commit comments

Comments
 (0)