From cf8f59e6fdd4f4c334f6baa4dab81d979f748feb Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Fri, 17 Oct 2014 20:25:31 +0400 Subject: [PATCH 1/8] Rename Editor/Editor to Editor/General --- .../src/messages/ApplicationBundle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/platform-resources-en/src/messages/ApplicationBundle.properties b/platform/platform-resources-en/src/messages/ApplicationBundle.properties index 66f2daad0b43..6162300942a0 100644 --- a/platform/platform-resources-en/src/messages/ApplicationBundle.properties +++ b/platform/platform-resources-en/src/messages/ApplicationBundle.properties @@ -312,7 +312,7 @@ checkbox.spaces.after.semicolon=After semicolon checkbox.spaces.before.semicolon=Before semicolon checkbox.spaces.after.type.cast=After type cast title.warning=Warning -title.editor=Editor +title.editor=General combobox.strip.modified.lines=Modified Lines combobox.strip.all=All combobox.strip.none=None From edd8ac03a62733a19c23b97998f7d09d6479749c Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Fri, 17 Oct 2014 17:28:02 +0200 Subject: [PATCH 2/8] cleanup --- .../template/impl/TemplateSettings.java | 31 +++++++------------ 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateSettings.java b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateSettings.java index 02fe604990f0..c06f720aef02 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateSettings.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateSettings.java @@ -88,7 +88,7 @@ public class TemplateSettings implements PersistentStateComponent { @NonNls private static final String KEY = "key"; @NonNls private static final String ID = "id"; - private final MultiMap myTemplates = MultiMap.createLinked(); + private final MultiMap myTemplates = MultiMap.createLinked(); private final Map myTemplatesById = new LinkedHashMap(); private final Map myDefaultTemplates = new LinkedHashMap(); @@ -158,7 +158,6 @@ public class TemplateSettings implements PersistentStateComponent { private TemplateKey myLastSelectedTemplate; public TemplateSettings(SchemesManagerFactory schemesManagerFactory) { - SchemeProcessor processor = new BaseSchemeProcessor() { @Override @Nullable @@ -221,6 +220,10 @@ public class TemplateSettings implements PersistentStateComponent { loadTemplates(); } + public static TemplateSettings getInstance() { + return ServiceManager.getService(TemplateSettings.class); + } + private boolean differsFromDefault(TemplateImpl t) { TemplateImpl def = getDefaultTemplate(t); if (def == null) return true; @@ -232,10 +235,6 @@ public class TemplateSettings implements PersistentStateComponent { return myDefaultTemplates.get(TemplateKey.keyOf(t)); } - public static TemplateSettings getInstance() { - return ServiceManager.getService(TemplateSettings.class); - } - @Override public void loadState(Element parentNode) { Element element = parentNode.getChild(DEFAULT_SHORTCUT); @@ -256,9 +255,7 @@ public class TemplateSettings implements PersistentStateComponent { else { Element deleted = parentNode.getChild(DELETED_TEMPLATES); if (deleted != null) { - List children = deleted.getChildren(); - for (final Object aChildren : children) { - Element child = (Element)aChildren; + for (Element child : deleted.getChildren()) { myDeletedTemplates.add(new TemplateKey(child.getAttributeValue(GROUP), child.getAttributeValue(NAME))); } } @@ -266,20 +263,17 @@ public class TemplateSettings implements PersistentStateComponent { for (TemplateKey templateKey : myDeletedTemplates) { if (templateKey.groupName == null) { - final Collection templates = new ArrayList(myTemplates.get(templateKey.key)); - for (TemplateImpl template : templates) { + for (TemplateImpl template : new ArrayList(myTemplates.get(templateKey.key))) { removeTemplate(template); } } else { - final TemplateImpl toDelete = getTemplate(templateKey.key, templateKey.groupName); + TemplateImpl toDelete = getTemplate(templateKey.key, templateKey.groupName); if (toDelete != null) { removeTemplate(toDelete); } } } - - //TODO lesya reload schemes } @Override @@ -309,6 +303,7 @@ public class TemplateSettings implements PersistentStateComponent { myLastSelectedTemplate = group == null ? null : new TemplateKey(group, key); } + @SuppressWarnings("unused") public Collection getTemplatesAsList() { return myTemplates.values(); } @@ -398,19 +393,15 @@ public class TemplateSettings implements PersistentStateComponent { } } - public void removeTemplate(Template template) { + public void removeTemplate(@NotNull Template template) { myTemplates.remove(template.getKey(), (TemplateImpl)template); - TemplateImpl templateImpl = (TemplateImpl)template; - String groupName = templateImpl.getGroupName(); - TemplateGroup group = mySchemesManager.findSchemeByName(groupName); - + TemplateGroup group = mySchemesManager.findSchemeByName(((TemplateImpl)template).getGroupName()); if (group != null) { group.removeElement((TemplateImpl)template); if (group.isEmpty()) { mySchemesManager.removeScheme(group); } - } } From c1b343a4c602b0db352bd1a01adc7394df978664 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Fri, 17 Oct 2014 18:06:12 +0200 Subject: [PATCH 3/8] =?UTF-8?q?TemplateSettings=20=E2=80=94=20don't=20save?= =?UTF-8?q?=20defaults?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ExportableTemplateSettings.java | 6 -- .../template/impl/TemplateSettings.java | 83 ++++++++++--------- .../intellij/util/xmlb/OptionTagBinding.java | 17 ++-- .../intellij/util/xmlb/XmlSerializerImpl.java | 37 ++++++--- 4 files changed, 81 insertions(+), 62 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/ExportableTemplateSettings.java b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/ExportableTemplateSettings.java index 4f9a846d5763..3520c6c77453 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/ExportableTemplateSettings.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/ExportableTemplateSettings.java @@ -35,7 +35,6 @@ import java.util.Collection; ) public class ExportableTemplateSettings implements PersistentStateComponent { private Collection deletedKeys = new SmartList(); - private boolean isLoaded = false; private TemplateSettings parentSettings; @Nullable @@ -51,11 +50,6 @@ public class ExportableTemplateSettings implements PersistentStateComponent { +public class TemplateSettings implements PersistentStateComponent { private static final Logger LOG = Logger.getInstance(TemplateSettings.class); + private static final String FILE_SPEC = StoragePathMacros.ROOT_CONFIG + "/templates"; + @NonNls public static final String USER_GROUP_NAME = "user"; @NonNls private static final String TEMPLATE_SET = "templateSet"; @NonNls private static final String GROUP = "group"; @NonNls private static final String TEMPLATE = "template"; - @NonNls private static final String DELETED_TEMPLATES = "deleted_templates"; private final List myDeletedTemplates = new ArrayList(); public static final char SPACE_CHAR = ' '; @@ -81,7 +84,6 @@ public class TemplateSettings implements PersistentStateComponent { @NonNls private static final String TO_SHORTEN_FQ_NAMES = "toShortenFQNames"; @NonNls private static final String USE_STATIC_IMPORT = "useStaticImport"; - @NonNls private static final String DEFAULT_SHORTCUT = "defaultShortcut"; @NonNls private static final String DEACTIVATED = "deactivated"; @NonNls private static final String RESOURCE_BUNDLE = "resource-bundle"; @@ -94,9 +96,34 @@ public class TemplateSettings implements PersistentStateComponent { private final Map myDefaultTemplates = new LinkedHashMap(); private int myMaxKeyLength = 0; - private char myDefaultShortcutChar = TAB_CHAR; private final SchemesManager mySchemesManager; - private static final String FILE_SPEC = StoragePathMacros.ROOT_CONFIG + "/templates"; + + private State myState = new State(); + + static final class ShortcutConverter extends Converter { + @Nullable + @Override + public Character fromString(@NotNull String shortcut) { + return TAB.equals(shortcut) ? TAB_CHAR : + ENTER.equals(shortcut) ? ENTER_CHAR : + CUSTOM.equals(shortcut) ? CUSTOM_CHAR : + SPACE_CHAR; + } + + @NotNull + @Override + public String toString(@NotNull Character shortcut) { + return shortcut == TAB_CHAR ? TAB : + shortcut == ENTER_CHAR ? ENTER : + shortcut == CUSTOM_CHAR ? CUSTOM : + SPACE; + } + } + + final static class State { + @OptionTag(nameAttribute = "", valueAttribute = "shortcut", converter = ShortcutConverter.class) + public char defaultShortcut = TAB_CHAR; + } public static class TemplateKey { private String groupName; @@ -236,30 +263,19 @@ public class TemplateSettings implements PersistentStateComponent { } @Override - public void loadState(Element parentNode) { - Element element = parentNode.getChild(DEFAULT_SHORTCUT); - if (element != null) { - String shortcut = element.getAttributeValue(SHORTCUT); - myDefaultShortcutChar = TAB.equals(shortcut) ? TAB_CHAR : - ENTER.equals(shortcut) ? ENTER_CHAR : - CUSTOM.equals(shortcut) ? CUSTOM_CHAR : - SPACE_CHAR; - } + public State getState() { + return myState; + } + + @Override + public void loadState(State state) { + myState = state; ExportableTemplateSettings exportableSettings = ServiceManager.getService(ExportableTemplateSettings.class); assert exportableSettings != null : "Can't find required ExportableTemplateSettings service."; exportableSettings.setParentSettings(this); - if (exportableSettings.isLoaded()) { - myDeletedTemplates.addAll(exportableSettings.getDeletedKeys()); - } - else { - Element deleted = parentNode.getChild(DELETED_TEMPLATES); - if (deleted != null) { - for (Element child : deleted.getChildren()) { - myDeletedTemplates.add(new TemplateKey(child.getAttributeValue(GROUP), child.getAttributeValue(NAME))); - } - } - } + myDeletedTemplates.clear(); + myDeletedTemplates.addAll(exportableSettings.getDeletedKeys()); for (TemplateKey templateKey : myDeletedTemplates) { if (templateKey.groupName == null) { @@ -276,19 +292,6 @@ public class TemplateSettings implements PersistentStateComponent { } } - @Override - public Element getState() { - Element parentNode = new Element("TemplateSettings"); - Element element = new Element(DEFAULT_SHORTCUT); - element.setAttribute(SHORTCUT, myDefaultShortcutChar == TAB_CHAR ? TAB : - myDefaultShortcutChar == ENTER_CHAR ? ENTER : - myDefaultShortcutChar == CUSTOM_CHAR ? CUSTOM : - SPACE); - parentNode.addContent(element); - - return parentNode; - } - @Nullable public String getLastSelectedTemplateKey() { return myLastSelectedTemplate != null ? myLastSelectedTemplate.key : null; @@ -314,11 +317,11 @@ public class TemplateSettings implements PersistentStateComponent { } public char getDefaultShortcutChar() { - return myDefaultShortcutChar; + return myState.defaultShortcut; } public void setDefaultShortcutChar(char defaultShortcutChar) { - myDefaultShortcutChar = defaultShortcutChar; + myState.defaultShortcut = defaultShortcutChar; } public Collection getTemplates(@NonNls String key) { diff --git a/platform/util/src/com/intellij/util/xmlb/OptionTagBinding.java b/platform/util/src/com/intellij/util/xmlb/OptionTagBinding.java index d7a14bb32dae..8dec40c854a0 100644 --- a/platform/util/src/com/intellij/util/xmlb/OptionTagBinding.java +++ b/platform/util/src/com/intellij/util/xmlb/OptionTagBinding.java @@ -42,16 +42,21 @@ class OptionTagBinding extends BasePrimitiveBinding { public OptionTagBinding(@NotNull Accessor accessor, @Nullable OptionTag optionTag) { super(accessor, optionTag == null ? null : optionTag.value(), optionTag == null ? null : optionTag.converter()); - if (optionTag != null) { - myTagName = optionTag.tag(); - myNameAttribute = optionTag.nameAttribute(); - myValueAttribute = optionTag.valueAttribute(); - } - else { + if (optionTag == null) { myTagName = Constants.OPTION; myNameAttribute = Constants.NAME; myValueAttribute = Constants.VALUE; } + else { + myNameAttribute = optionTag.nameAttribute(); + myValueAttribute = optionTag.valueAttribute(); + + String tagName = optionTag.tag(); + if (StringUtil.isEmpty(myNameAttribute) && Constants.OPTION.equals(tagName)) { + tagName = myAccessor.getName(); + } + myTagName = tagName; + } } @Override diff --git a/platform/util/src/com/intellij/util/xmlb/XmlSerializerImpl.java b/platform/util/src/com/intellij/util/xmlb/XmlSerializerImpl.java index f001872a1a43..b2f354e1e3a9 100644 --- a/platform/util/src/com/intellij/util/xmlb/XmlSerializerImpl.java +++ b/platform/util/src/com/intellij/util/xmlb/XmlSerializerImpl.java @@ -144,21 +144,38 @@ class XmlSerializerImpl { @Nullable @SuppressWarnings({"unchecked"}) static T convert(Object value, Class type) { - if (value == null) return null; - if (type.isInstance(value)) return (T)value; - if (String.class.isAssignableFrom(type)) return (T)String.valueOf(value); - if (int.class.isAssignableFrom(type) || Integer.class.isAssignableFrom(type)) return (T)Integer.valueOf(String.valueOf(value)); - if (double.class.isAssignableFrom(type) || Double.class.isAssignableFrom(type)) return (T)Double.valueOf(String.valueOf(value)); - if (float.class.isAssignableFrom(type) || Float.class.isAssignableFrom(type)) return (T)Float.valueOf(String.valueOf(value)); - if (long.class.isAssignableFrom(type) || Long.class.isAssignableFrom(type)) return (T)Long.valueOf(String.valueOf(value)); - if (boolean.class.isAssignableFrom(type) || Boolean.class.isAssignableFrom(type)) return (T)Boolean.valueOf(String.valueOf(value)); - + if (value == null) { + return null; + } + if (type.isInstance(value)) { + return (T)value; + } + if (String.class.isAssignableFrom(type)) { + return (T)String.valueOf(value); + } + if (int.class.isAssignableFrom(type) || Integer.class.isAssignableFrom(type)) { + return (T)Integer.valueOf(String.valueOf(value)); + } + if (double.class.isAssignableFrom(type) || Double.class.isAssignableFrom(type)) { + return (T)Double.valueOf(String.valueOf(value)); + } + if (float.class.isAssignableFrom(type) || Float.class.isAssignableFrom(type)) { + return (T)Float.valueOf(String.valueOf(value)); + } + if (long.class.isAssignableFrom(type) || Long.class.isAssignableFrom(type)) { + return (T)Long.valueOf(String.valueOf(value)); + } + if (boolean.class.isAssignableFrom(type) || Boolean.class.isAssignableFrom(type)) { + return (T)Boolean.valueOf(String.valueOf(value)); + } + if (char.class.isAssignableFrom(type) || Character.class.isAssignableFrom(type)) { + return (T)value; + } if (type.isEnum()) { final T[] enumConstants = type.getEnumConstants(); for (T enumConstant : enumConstants) { if (enumConstant.toString().equals(value.toString())) return enumConstant; } - return null; } From 1a0d51c339306f9ad00a9ed86d0c49c5c9412a49 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Fri, 17 Oct 2014 18:35:06 +0200 Subject: [PATCH 4/8] get rid of ExportableTemplateSettings hack --- .../impl/ExportableTemplateSettings.java | 37 ++------ .../template/impl/TemplateSettings.java | 93 +++++++++---------- 2 files changed, 52 insertions(+), 78 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/ExportableTemplateSettings.java b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/ExportableTemplateSettings.java index 3520c6c77453..9d4520a6386b 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/ExportableTemplateSettings.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/ExportableTemplateSettings.java @@ -20,49 +20,32 @@ import com.intellij.openapi.components.State; import com.intellij.openapi.components.Storage; import com.intellij.openapi.components.StoragePathMacros; import com.intellij.util.SmartList; -import com.intellij.util.xmlb.XmlSerializerUtil; import org.jetbrains.annotations.Nullable; import java.util.Collection; +import java.util.List; -/** - * Contains exportable part of TemplateSettings (can be shared via export/import settings). - * @author Rustam Vishnyakov - */ +@SuppressWarnings("deprecation") +@Deprecated @State( name = "ExportableTemplateSettings", storages = @Storage(file = StoragePathMacros.APP_CONFIG + "/template.settings.xml") ) -public class ExportableTemplateSettings implements PersistentStateComponent { - private Collection deletedKeys = new SmartList(); - private TemplateSettings parentSettings; +final class ExportableTemplateSettings implements PersistentStateComponent { + public Collection deletedKeys = new SmartList(); @Nullable @Override public ExportableTemplateSettings getState() { - if (parentSettings != null) { - deletedKeys.clear(); - deletedKeys.addAll(parentSettings.getDeletedTemplates()); - } return this; } @Override public void loadState(ExportableTemplateSettings state) { - XmlSerializerUtil.copyBean(state, this); - } - - @SuppressWarnings("UnusedDeclaration") // Property via reflection - public Collection getDeletedKeys() { - return deletedKeys; - } - - @SuppressWarnings("UnusedDeclaration") // Property via reflection - public void setDeletedKeys(Collection deletedKeys) { - this.deletedKeys = deletedKeys; - } - - void setParentSettings(TemplateSettings settings) { - parentSettings = settings; + TemplateSettings templateSettings = TemplateSettings.getInstance(); + List deletedTemplates = templateSettings.getDeletedTemplates(); + deletedTemplates.clear(); + deletedTemplates.addAll(state.deletedKeys); + templateSettings.applyNewDeletedTemplates(); } } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateSettings.java b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateSettings.java index 93901591cf4c..8ca15e778e68 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateSettings.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateSettings.java @@ -20,14 +20,15 @@ import com.intellij.codeInsight.template.Template; import com.intellij.openapi.application.ex.DecodeDefaultsUtil; import com.intellij.openapi.components.*; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.options.BaseSchemeProcessor; import com.intellij.openapi.options.SchemeProcessor; import com.intellij.openapi.options.SchemesManager; import com.intellij.openapi.options.SchemesManagerFactory; +import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.JDOMUtil; import com.intellij.openapi.util.WriteExternalException; +import com.intellij.util.SmartList; import com.intellij.util.containers.MultiMap; import com.intellij.util.xmlb.Converter; import com.intellij.util.xmlb.annotations.OptionTag; @@ -44,7 +45,11 @@ import java.util.*; @State( name = "TemplateSettings", - storages = @Storage(file = StoragePathMacros.APP_CONFIG + "/other.xml") + storages = { + @Storage(file = StoragePathMacros.APP_CONFIG + "/other.xml"), + @Storage(file = StoragePathMacros.APP_CONFIG + "/template.settings.xml") + }, + storageChooser = LastStorageChooserForWrite.class ) public class TemplateSettings implements PersistentStateComponent { private static final Logger LOG = Logger.getInstance(TemplateSettings.class); @@ -56,8 +61,6 @@ public class TemplateSettings implements PersistentStateComponent myDeletedTemplates = new ArrayList(); - public static final char SPACE_CHAR = ' '; public static final char TAB_CHAR = '\t'; public static final char ENTER_CHAR = '\n'; @@ -91,9 +94,9 @@ public class TemplateSettings implements PersistentStateComponent myTemplates = MultiMap.createLinked(); - - private final Map myTemplatesById = new LinkedHashMap(); - private final Map myDefaultTemplates = new LinkedHashMap(); + + private final Map myTemplatesById = new LinkedHashMap(); + private final Map myDefaultTemplates = new LinkedHashMap(); private int myMaxKeyLength = 0; private final SchemesManager mySchemesManager; @@ -123,6 +126,8 @@ public class TemplateSettings implements PersistentStateComponent deletedKeys = new SmartList(); } public static class TemplateKey { @@ -146,11 +151,7 @@ public class TemplateSettings implements PersistentStateComponent(myTemplates.get(templateKey.key))) { removeTemplate(template); @@ -383,8 +381,7 @@ public class TemplateSettings implements PersistentStateComponent loaded = mySchemesManager.loadSchemes(); - for (TemplateGroup group : loaded) { - Collection templates = group.getElements(); - - for (TemplateImpl template : templates) { + for (TemplateGroup group : mySchemesManager.loadSchemes()) { + for (TemplateImpl template : group.getElements()) { addTemplateImpl(template); } } @@ -443,7 +440,7 @@ public class TemplateSettings implements PersistentStateComponent templates = myTemplates.get(group.getReplace()); - for (TemplateImpl template : templates) { + for (TemplateImpl template : myTemplates.get(group.getReplace())) { removeTemplate(template); } } @@ -480,7 +476,7 @@ public class TemplateSettings implements PersistentStateComponent newGroups) { + public void setTemplates(@NotNull List newGroups) { myTemplates.clear(); - myDeletedTemplates.clear(); + myState.deletedKeys.clear(); for (TemplateImpl template : myDefaultTemplates.values()) { - myDeletedTemplates.add(TemplateKey.keyOf(template)); + myState.deletedKeys.add(TemplateKey.keyOf(template)); } mySchemesManager.clearAllSchemes(); myMaxKeyLength = 0; @@ -689,20 +685,15 @@ public class TemplateSettings implements PersistentStateComponent getDeletedTemplates() { - return myDeletedTemplates; + return myState.deletedKeys; } public void reset() { - myDeletedTemplates.clear(); + myState.deletedKeys.clear(); loadDefaultLiveTemplates(); } } From aab33fe11b152badd307226178e8b73d18ed18f3 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Fri, 17 Oct 2014 18:42:12 +0200 Subject: [PATCH 5/8] cleanup --- .../intellij/codeInsight/template/impl/TemplateSettings.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateSettings.java b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateSettings.java index 8ca15e778e68..e6f1e5dfa1cc 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateSettings.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateSettings.java @@ -374,8 +374,8 @@ public class TemplateSettings implements PersistentStateComponent Date: Fri, 17 Oct 2014 18:50:07 +0200 Subject: [PATCH 6/8] SelectProjectTemplateSettings must use own storage, disable roaming --- .../util/newProjectWizard/SelectTemplateSettings.java | 10 ++++++---- .../codeInsight/template/impl/TemplateSettings.java | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/SelectTemplateSettings.java b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/SelectTemplateSettings.java index 73cf726a0b1e..414fca47790b 100644 --- a/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/SelectTemplateSettings.java +++ b/java/idea-ui/src/com/intellij/ide/util/newProjectWizard/SelectTemplateSettings.java @@ -23,8 +23,13 @@ import org.jetbrains.annotations.Nullable; * @author Dmitry Avdeev * Date: 10/9/12 */ -@State(name = "SelectProjectTemplateSettings", storages = {@Storage(file = StoragePathMacros.APP_CONFIG + "/other.xml")}) +@State( + name = "SelectProjectTemplateSettings", + storages = @Storage(file = StoragePathMacros.APP_CONFIG + "/projectSelectTemplate.xml", roamingType = RoamingType.DISABLED) +) public class SelectTemplateSettings implements PersistentStateComponent { + public boolean EXPERT_MODE = false; + public String LAST_TEMPLATE = null; public static SelectTemplateSettings getInstance() { return ServiceManager.getService(SelectTemplateSettings.class); @@ -61,7 +66,4 @@ public class SelectTemplateSettings implements PersistentStateComponent Date: Fri, 17 Oct 2014 19:33:34 +0200 Subject: [PATCH 7/8] test for non-compile-time constant access change --- .../fieldModifiers/setPrivateToConstantField.log | 12 ++++++++++++ .../setPrivateToConstantField/src/A.java | 7 +++++++ .../setPrivateToConstantField/src/A.java.new | 7 +++++++ .../setPrivateToConstantField/src/B.java | 5 +++++ .../org/jetbrains/ether/FieldModifierTest.java | 4 ++++ 5 files changed, 35 insertions(+) create mode 100644 java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField.log create mode 100644 java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField/src/A.java create mode 100644 java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField/src/A.java.new create mode 100644 java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField/src/B.java diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField.log b/java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField.log new file mode 100644 index 000000000000..edcb40523223 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField.log @@ -0,0 +1,12 @@ +Cleaning output files: +out/production/SetPrivateToConstantField/A.class +End of files +Compiling files: +src/A.java +End of files +Cleaning output files: +out/production/SetPrivateToConstantField/B.class +End of files +Compiling files: +src/B.java +End of files diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField/src/A.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField/src/A.java new file mode 100644 index 000000000000..047971192cf9 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField/src/A.java @@ -0,0 +1,7 @@ +public class A { + public static final int x = init(); + + private static int init() { + return 10; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField/src/A.java.new b/java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField/src/A.java.new new file mode 100644 index 000000000000..0b9ad0d28e30 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField/src/A.java.new @@ -0,0 +1,7 @@ +public class A { + private static final int x = init(); + + private static int init() { + return 10; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField/src/B.java b/java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField/src/B.java new file mode 100644 index 000000000000..499893af26be --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/fieldModifiers/setPrivateToConstantField/src/B.java @@ -0,0 +1,5 @@ +public class B { + void f (A a) { + int y = a.x; + } +} \ No newline at end of file diff --git a/jps/jps-builders/testSrc/org/jetbrains/ether/FieldModifierTest.java b/jps/jps-builders/testSrc/org/jetbrains/ether/FieldModifierTest.java index bfbf3f491d7f..ba288a648f55 100644 --- a/jps/jps-builders/testSrc/org/jetbrains/ether/FieldModifierTest.java +++ b/jps/jps-builders/testSrc/org/jetbrains/ether/FieldModifierTest.java @@ -32,6 +32,10 @@ public class FieldModifierTest extends IncrementalTestCase { doTest(); } + public void testSetPrivateToConstantField() throws Exception { + doTest(); + } + public void testSetProtected() throws Exception { doTest(); } From 441f80453699256b41958c5fa66b50ef59408ee5 Mon Sep 17 00:00:00 2001 From: Julia Beliaeva Date: Fri, 17 Oct 2014 21:53:27 +0400 Subject: [PATCH 8/8] [vcs-log] white background in details panel IDEA-131292 --- .../com/intellij/vcs/log/ui/frame/DetailsPanel.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/DetailsPanel.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/DetailsPanel.java index ab5ad808feb9..b65b6cdef9a2 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/DetailsPanel.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/DetailsPanel.java @@ -23,6 +23,7 @@ import com.intellij.openapi.vcs.changes.issueLinks.IssueLinkHtmlRenderer; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.ui.BrowserHyperlinkListener; import com.intellij.ui.ScrollPaneFactory; +import com.intellij.ui.components.JBLabel; import com.intellij.ui.components.JBLoadingPanel; import com.intellij.ui.components.panels.NonOpaquePanel; import com.intellij.util.containers.ContainerUtil; @@ -98,11 +99,15 @@ class DetailsPanel extends JPanel implements ListSelectionListener { content.add(myRefsPanel, ""); content.add(myCommitDetailsPanel, ""); - myLoadingPanel = new JBLoadingPanel(new BorderLayout(), logDataHolder, ProgressWindow.DEFAULT_PROGRESS_DIALOG_POSTPONE_TIME_MILLIS); + myLoadingPanel = new JBLoadingPanel(new BorderLayout(), logDataHolder, ProgressWindow.DEFAULT_PROGRESS_DIALOG_POSTPONE_TIME_MILLIS) { + @Override + public Color getBackground() { + return getDetailsBackground(); + } + }; myLoadingPanel.add(scrollPane); myMessagePanel = new MessagePanel(); - setBackground(UIUtil.getTableBackground()); setLayout(new CardLayout()); add(myLoadingPanel, STANDARD_LAYER); @@ -117,7 +122,7 @@ class DetailsPanel extends JPanel implements ListSelectionListener { } private static Color getDetailsBackground() { - return UIUtil.isUnderGTKLookAndFeel() ? UIManager.getColor("EditorPane.background") : UIUtil.getPanelBackground(); + return UIUtil.getTableBackground(); } void updateDataPack(@NotNull VisiblePack dataPack) {