From 87af41aa280c3baa4f14577687704235b9552cd8 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Wed, 22 Aug 2012 17:06:42 +0400 Subject: [PATCH] IDEA-90011 Color Picker doesn't show current custom color, RGB fields not wide enough for 3-digit values --- .../ui/tabs/FileColorConfigurationEditDialog.java | 9 +++++++-- .../src/com/intellij/ui/tabs/FileColorSettingsTable.java | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ui/tabs/FileColorConfigurationEditDialog.java b/platform/lang-impl/src/com/intellij/ui/tabs/FileColorConfigurationEditDialog.java index 16aef7a300c4..7ae9ba58302d 100644 --- a/platform/lang-impl/src/com/intellij/ui/tabs/FileColorConfigurationEditDialog.java +++ b/platform/lang-impl/src/com/intellij/ui/tabs/FileColorConfigurationEditDialog.java @@ -136,12 +136,17 @@ public class FileColorConfigurationEditDialog extends DialogWrapper { private void updateCustomButton() { final Object item = myScopeComboBox.getSelectedItem(); if (item instanceof String) { - @SuppressWarnings({"SuspiciousMethodCalls"}) - final Color color = ColorUtil.getColor(myScopeNames.get(item).getClass()); + Color color = myConfiguration == null ? null : ColorUtil.fromHex(myConfiguration.getColorName(), null); final CustomColorButton button = (CustomColorButton)myColorToButtonMap.get(CUSTOM_COLOR_NAME); + + if (color == null) { + color = ColorUtil.getColor(myScopeNames.get(item).getClass()); + } + if (color != null) { button.setColor(color); button.setSelected(true); + button.repaint(); } } } diff --git a/platform/lang-impl/src/com/intellij/ui/tabs/FileColorSettingsTable.java b/platform/lang-impl/src/com/intellij/ui/tabs/FileColorSettingsTable.java index c4c067655110..dbacc1fcd0e7 100644 --- a/platform/lang-impl/src/com/intellij/ui/tabs/FileColorSettingsTable.java +++ b/platform/lang-impl/src/com/intellij/ui/tabs/FileColorSettingsTable.java @@ -84,7 +84,7 @@ public abstract class FileColorSettingsTable extends JBTable { @Override public boolean editCellAt(int row, int column, EventObject e) { - if (e instanceof MouseEvent && ((MouseEvent)e).getClickCount() == 1) return false; + if (e == null || (e instanceof MouseEvent && ((MouseEvent)e).getClickCount() == 1)) return false; final Object at = getModel().getValueAt(row, column); final FileColorConfigurationEditDialog dialog = new FileColorConfigurationEditDialog(myManager, ((FileColorConfiguration)at)); dialog.getScopeComboBox().setEnabled(false);