diff --git a/plugins/properties/src/META-INF/plugin.xml b/plugins/properties/src/META-INF/plugin.xml index 6d9161c51233..31fc5e25735c 100644 --- a/plugins/properties/src/META-INF/plugin.xml +++ b/plugins/properties/src/META-INF/plugin.xml @@ -30,6 +30,7 @@ + diff --git a/plugins/properties/src/com/intellij/lang/properties/ResourceBundleRenameHandler.java b/plugins/properties/src/com/intellij/lang/properties/ResourceBundleRenameHandler.java index bc527dda0280..bec11f9b39fe 100644 --- a/plugins/properties/src/com/intellij/lang/properties/ResourceBundleRenameHandler.java +++ b/plugins/properties/src/com/intellij/lang/properties/ResourceBundleRenameHandler.java @@ -20,6 +20,7 @@ package com.intellij.lang.properties; import com.intellij.codeInsight.CodeInsightUtilBase; +import com.intellij.lang.properties.editor.ResourceBundleAsVirtualFile; import com.intellij.lang.properties.editor.ResourceBundleEditor; import com.intellij.lang.properties.psi.PropertiesFile; import com.intellij.openapi.actionSystem.DataContext; @@ -53,9 +54,11 @@ public class ResourceBundleRenameHandler implements RenameHandler { return false; } + final VirtualFile virtualFile = PlatformDataKeys.VIRTUAL_FILE.getData(dataContext); + ResourceBundleEditor editor = ResourceBundleUtil.getEditor(dataContext); return (editor == null || editor.getState(FileEditorStateLevel.NAVIGATION).getPropertyName() == null /* user selected non-bundle key element */) - && bundle.getPropertiesFiles(project).size() > 1; + && bundle.getPropertiesFiles(project).size() > 1 && (virtualFile instanceof ResourceBundleAsVirtualFile || virtualFile == null); } public boolean isRenaming(DataContext dataContext) { diff --git a/plugins/properties/src/com/intellij/lang/properties/ResourceBundleUtil.java b/plugins/properties/src/com/intellij/lang/properties/ResourceBundleUtil.java index b52887cdb850..f13fc908265e 100644 --- a/plugins/properties/src/com/intellij/lang/properties/ResourceBundleUtil.java +++ b/plugins/properties/src/com/intellij/lang/properties/ResourceBundleUtil.java @@ -54,6 +54,8 @@ public class ResourceBundleUtil { public static ResourceBundle getResourceBundleFromDataContext(@NotNull DataContext dataContext) { PsiElement element = LangDataKeys.PSI_ELEMENT.getData(dataContext); if (element instanceof IProperty) return null; //rename property + final ResourceBundle[] bundles = ResourceBundle.ARRAY_DATA_KEY.getData(dataContext); + if (bundles != null && bundles.length == 1) return bundles[0]; VirtualFile virtualFile = PlatformDataKeys.VIRTUAL_FILE.getData(dataContext); if (virtualFile == null) { return null;