Skip to content

Commit f0b7e9d

Browse files
committed
🐛 Make sure background & foreground follows
1 parent d23d12a commit f0b7e9d

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/io/flutter/actions/DeviceSelectorAction.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.intellij.openapi.util.Condition;
1919
import com.intellij.openapi.util.Key;
2020
import com.intellij.openapi.util.SystemInfo;
21+
import com.intellij.ui.JBColor;
2122
import com.intellij.util.ModalityUiUtil;
2223
import icons.FlutterIcons;
2324
import io.flutter.FlutterBundle;
@@ -29,6 +30,7 @@
2930
import org.jetbrains.annotations.Nullable;
3031

3132
import javax.swing.*;
33+
import java.awt.Component;
3234
import java.util.*;
3335

3436
public class DeviceSelectorAction extends ComboBoxAction implements DumbAware {
@@ -50,9 +52,32 @@ public class DeviceSelectorAction extends ComboBoxAction implements DumbAware {
5052
final JComponent component = super.createCustomComponent(presentation, place);
5153
// Set component to be transparent to match other toolbar actions
5254
component.setOpaque(false);
55+
// Update child components.
56+
updateComponentChildrenStyles(component);
5357
return component;
5458
}
5559

60+
private void updateComponentChildrenStyles(@NotNull JComponent parent) {
61+
final @Nullable Component[] children = parent.getComponents();
62+
if (children == null) {
63+
return;
64+
}
65+
66+
for (Component child : children) {
67+
if (child instanceof JComponent jComponent) {
68+
jComponent.setOpaque(false);
69+
70+
if (child instanceof JButton jButton) {
71+
// Make sure the button uses correct background & foreground.
72+
jButton.setBackground(JBColor.background());
73+
jButton.setForeground(JBColor.foreground());
74+
}
75+
76+
updateComponentChildrenStyles(jComponent);
77+
}
78+
}
79+
}
80+
5681
@Override
5782
protected @NotNull DefaultActionGroup createPopupActionGroup(@NotNull JComponent button, @NotNull DataContext dataContext) {
5883
final DefaultActionGroup group = new DefaultActionGroup();

0 commit comments

Comments
 (0)