From 525600f2bdb0cbe2902bbdc6398ab5574b18356d Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Mon, 31 Aug 2015 15:45:35 +0300 Subject: [PATCH] show more favorites in default project settings|file encodings|project encoding --- .../openapi/vfs/encoding/EncodingManagerImpl.java | 1 + .../vfs/encoding/EncodingProjectManagerImpl.java | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/encoding/EncodingManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/vfs/encoding/EncodingManagerImpl.java index 7c702ec93313..78b297d68e57 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/encoding/EncodingManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/encoding/EncodingManagerImpl.java @@ -205,6 +205,7 @@ public class EncodingManagerImpl extends EncodingManager implements PersistentSt for (Project project : projects) { result.addAll(EncodingProjectManager.getInstance(project).getFavorites()); } + result.addAll(EncodingProjectManagerImpl.widelyKnownCharsets()); return result; } diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/encoding/EncodingProjectManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/vfs/encoding/EncodingProjectManagerImpl.java index 6135881f6d29..116069d219d7 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/encoding/EncodingProjectManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/encoding/EncodingProjectManagerImpl.java @@ -85,7 +85,6 @@ public class EncodingProjectManagerImpl extends EncodingProjectManager implement }); } - //null key means project private final Map myMapping = ContainerUtil.newConcurrentMap(); private volatile Charset myProjectCharset; @@ -96,7 +95,7 @@ public class EncodingProjectManagerImpl extends EncodingProjectManager implement List files = new ArrayList(myMapping.keySet()); ContainerUtil.quickSort(files, new Comparator() { @Override - public int compare(final VirtualFile o1, final VirtualFile o2) { + public int compare(@NotNull final VirtualFile o1, @NotNull final VirtualFile o2) { return o1.getPath().compareTo(o2.getPath()); } }); @@ -235,9 +234,15 @@ public class EncodingProjectManagerImpl extends EncodingProjectManager implement @Override @NotNull public Collection getFavorites() { - Set result = new HashSet(); + Set result = widelyKnownCharsets(); result.addAll(myMapping.values()); result.add(getDefaultCharset()); + return result; + } + + @NotNull + static Set widelyKnownCharsets() { + Set result = new HashSet(); result.add(CharsetToolkit.UTF8_CHARSET); result.add(CharsetToolkit.getDefaultSystemCharset()); result.add(CharsetToolkit.UTF_16_CHARSET); @@ -245,7 +250,6 @@ public class EncodingProjectManagerImpl extends EncodingProjectManager implement result.add(CharsetToolkit.forName("US-ASCII")); result.add(EncodingManager.getInstance().getDefaultCharset()); result.add(EncodingManager.getInstance().getDefaultCharsetForPropertiesFiles(null)); - result.remove(null); return result; }