diff --git a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/BundledFileTemplate.java b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/BundledFileTemplate.java index 2edba756bb84..3422ecd7257f 100644 --- a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/BundledFileTemplate.java +++ b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/BundledFileTemplate.java @@ -24,10 +24,12 @@ import org.jetbrains.annotations.NotNull; public final class BundledFileTemplate extends FileTemplateBase { private final DefaultTemplate myDefaultTemplate; + private final boolean myInternal; private boolean myEnabled = true; // when user 'deletes' bundled plugin, it simply becomes disabled - public BundledFileTemplate(@NotNull DefaultTemplate defaultTemplate) { + public BundledFileTemplate(@NotNull DefaultTemplate defaultTemplate, boolean internal) { myDefaultTemplate = defaultTemplate; + myInternal = internal; } @NotNull @@ -72,7 +74,7 @@ public final class BundledFileTemplate extends FileTemplateBase { } public boolean isEnabled() { - return myEnabled; + return myInternal || myEnabled; } public void setEnabled(boolean enabled) { diff --git a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FTManager.java b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FTManager.java index 8cf851726d2c..16307c5bcedb 100644 --- a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FTManager.java +++ b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FTManager.java @@ -45,13 +45,19 @@ class FTManager { public static final String CONTENT_ENCODING = CharsetToolkit.UTF8; private final String myName; + private final boolean myInternal; private final String myTemplatesDir; private final Map myTemplates = new HashMap(); private volatile List mySortedTemplates; private final List myDefaultTemplates = new ArrayList(); FTManager(@NotNull @NonNls String name, @NotNull @NonNls String defaultTemplatesDirName) { + this(name, defaultTemplatesDirName, false); + } + + FTManager(@NotNull @NonNls String name, @NotNull @NonNls String defaultTemplatesDirName, boolean internal) { myName = name; + myInternal = internal; myTemplatesDir = TEMPLATES_DIR + (defaultTemplatesDirName.equals(".") ? "" : File.separator + defaultTemplatesDirName); } @@ -176,7 +182,7 @@ class FTManager { } private BundledFileTemplate createAndStoreBundledTemplate(DefaultTemplate template) { - final BundledFileTemplate bundled = new BundledFileTemplate(template); + final BundledFileTemplate bundled = new BundledFileTemplate(template, myInternal); final String qName = bundled.getQualifiedName(); final FileTemplateBase previous = myTemplates.put(qName, bundled); mySortedTemplates = null; diff --git a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplatesLoader.java b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplatesLoader.java index 3d514b287675..05ac6e7fe017 100644 --- a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplatesLoader.java +++ b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplatesLoader.java @@ -65,7 +65,7 @@ public class FileTemplatesLoader { public FileTemplatesLoader(@NotNull FileTypeManagerEx typeManager) { myTypeManager = typeManager; myDefaultTemplatesManager = new FTManager(FileTemplateManager.DEFAULT_TEMPLATES_CATEGORY, ROOT_DIR); - myInternalTemplatesManager = new FTManager(FileTemplateManager.INTERNAL_TEMPLATES_CATEGORY, INTERNAL_DIR); + myInternalTemplatesManager = new FTManager(FileTemplateManager.INTERNAL_TEMPLATES_CATEGORY, INTERNAL_DIR, true); myPatternsManager = new FTManager(FileTemplateManager.INCLUDES_TEMPLATES_CATEGORY, INCLUDES_DIR); myCodeTemplatesManager = new FTManager(FileTemplateManager.CODE_TEMPLATES_CATEGORY, CODETEMPLATES_DIR); myJ2eeTemplatesManager = new FTManager(FileTemplateManager.J2EE_TEMPLATES_CATEGORY, J2EE_TEMPLATES_DIR);