From 1c014fae8d0da337d348dc639e53a2ea16497b9c Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Wed, 22 Oct 2014 22:36:43 +0200 Subject: [PATCH] update selection bg for new welcome screen --- .../impl/welcomeScreen/FlatWelcomeFrame.java | 18 +++++++++++++++--- .../welcomeScreen/NewRecentProjectPanel.java | 4 ++-- .../impl/welcomeScreen/RecentProjectPanel.java | 4 ++-- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/FlatWelcomeFrame.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/FlatWelcomeFrame.java index d5a9660c1b00..31259a6aad4b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/FlatWelcomeFrame.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/FlatWelcomeFrame.java @@ -91,6 +91,7 @@ public class FlatWelcomeFrame extends JFrame implements IdeFrame { } else { setSize(555, 460); } + setResizable(false); //int x = bounds.x + (bounds.width - getWidth()) / 2; //int y = bounds.y + (bounds.height - getHeight()) / 2; Point location = DimensionService.getInstance().getLocation(WelcomeFrame.DIMENSION_KEY, null); @@ -176,8 +177,8 @@ public class FlatWelcomeFrame extends JFrame implements IdeFrame { return new JBColor(Gray._0, Gray.xBB); } - public static Color getListSelectionColor() { - return new JBColor(0x3875d6, 0x4b6eaf); + public static Color getListSelectionColor(boolean hasFocus) { + return hasFocus ? new JBColor(0x3875d6, 0x4b6eaf) : new JBColor(Gray.xDD, Gray.x45); } public static Color getActionLinkSelectionColor() { @@ -185,7 +186,7 @@ public class FlatWelcomeFrame extends JFrame implements IdeFrame { } public static JBColor getSeparatorColor() { - return new JBColor(Gray.xEC, new Color(0x4e5154)); + return new JBColor(Gray.xEC, new Color(72, 75, 78)); } private class FlatWelcomeScreen extends JPanel implements WelcomeScreen { @@ -220,6 +221,17 @@ public class FlatWelcomeFrame extends JFrame implements IdeFrame { removeIfNeeded(); } }); + projectsList.addFocusListener(new FocusListener() { + @Override + public void focusGained(FocusEvent e) { + projectsList.repaint(); + } + + @Override + public void focusLost(FocusEvent e) { + projectsList.repaint(); + } + }); } } add(createBody(), BorderLayout.CENTER); diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/NewRecentProjectPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/NewRecentProjectPanel.java index 9f48ba5435b0..0d7fccb29982 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/NewRecentProjectPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/NewRecentProjectPanel.java @@ -87,12 +87,12 @@ public class NewRecentProjectPanel extends RecentProjectPanel { } @Override protected Color getListBackground(boolean isSelected, boolean hasFocus) { - return isSelected ? FlatWelcomeFrame.getListSelectionColor() : FlatWelcomeFrame.getProjectsBackground(); + return isSelected ? FlatWelcomeFrame.getListSelectionColor(hasFocus) : FlatWelcomeFrame.getProjectsBackground(); } @Override protected Color getListForeground(boolean isSelected, boolean hasFocus) { - return UIUtil.getListForeground(isSelected); + return UIUtil.getListForeground(isSelected && hasFocus); } }; } diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/RecentProjectPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/RecentProjectPanel.java index 2c2d68541bc6..f47c53330771 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/RecentProjectPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/RecentProjectPanel.java @@ -257,8 +257,8 @@ public class RecentProjectPanel extends JPanel { public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { ReopenProjectAction item = (ReopenProjectAction)value; - Color fore = getListForeground(isSelected, cellHasFocus); - Color back = getListBackground(isSelected, cellHasFocus); + Color fore = getListForeground(isSelected, list.hasFocus()); + Color back = getListBackground(isSelected, list.hasFocus()); myName.setForeground(fore); myPath.setForeground(isSelected ? fore : UIUtil.getInactiveTextColor());