diff --git a/platform/lang-impl/src/com/intellij/ide/fileTemplates/FileTemplatesScheme.java b/platform/lang-impl/src/com/intellij/ide/fileTemplates/FileTemplatesScheme.java index 37cad6ded0f2..37f6400c8e6d 100644 --- a/platform/lang-impl/src/com/intellij/ide/fileTemplates/FileTemplatesScheme.java +++ b/platform/lang-impl/src/com/intellij/ide/fileTemplates/FileTemplatesScheme.java @@ -17,6 +17,8 @@ package com.intellij.ide.fileTemplates; import com.intellij.openapi.application.PathManager; import com.intellij.openapi.options.Scheme; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.project.ProjectManager; import org.jetbrains.annotations.NotNull; import java.io.File; @@ -32,6 +34,12 @@ public abstract class FileTemplatesScheme implements Scheme { public String getTemplatesDir() { return new File(PathManager.getConfigPath(), TEMPLATES_DIR).getPath(); } + + @NotNull + @Override + public Project getProject() { + return ProjectManager.getInstance().getDefaultProject(); + } }; public static final String TEMPLATES_DIR = "fileTemplates"; @@ -49,4 +57,7 @@ public abstract class FileTemplatesScheme implements Scheme { @NotNull public abstract String getTemplatesDir(); + + @NotNull + public abstract Project getProject(); } diff --git a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/AllFileTemplatesConfigurable.java b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/AllFileTemplatesConfigurable.java index 248c261cfae0..4f940277f0a1 100644 --- a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/AllFileTemplatesConfigurable.java +++ b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/AllFileTemplatesConfigurable.java @@ -39,7 +39,6 @@ import com.intellij.ui.IdeBorderFactory; import com.intellij.ui.ScrollPaneFactory; import com.intellij.ui.TabbedPaneWrapper; import com.intellij.util.ArrayUtil; -import com.intellij.util.Function; import com.intellij.util.PlatformIcons; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.JBUI; diff --git a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplateManagerImpl.java b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplateManagerImpl.java index 6bbd1d9e0cb1..9d491685c85e 100644 --- a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplateManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplateManagerImpl.java @@ -114,6 +114,12 @@ public class FileTemplateManagerImpl extends FileTemplateManager implements Pers public String getTemplatesDir() { return new File(project.getBasePath(), Project.DIRECTORY_STORE_FOLDER + "/" + TEMPLATES_DIR).getPath(); } + + @NotNull + @Override + public Project getProject() { + return project; + } }; } @@ -451,9 +457,9 @@ public class FileTemplateManagerImpl extends FileTemplateManager implements Pers @Override public void loadState(State state) { - ExportableFileTemplateSettings.getInstance(myProject); XmlSerializerUtil.copyBean(state, myState); FileTemplatesScheme scheme = myProjectScheme != null && myProjectScheme.getName().equals(state.SCHEME) ? myProjectScheme : FileTemplatesScheme.DEFAULT; + ExportableFileTemplateSettings.getInstance(scheme.getProject()); setScheme(scheme); }