From 33e1074c639d49e4e83554b0e9ed9d7fdeae41ec Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 6 Dec 2011 20:24:32 +0100 Subject: [PATCH] rename properties files when bundle exist; rename property key from resource bundle editor (IDEA-11842 ) --- plugins/properties/src/META-INF/plugin.xml | 1 + .../lang/properties/ResourceBundleRenameHandler.java | 5 ++++- .../src/com/intellij/lang/properties/ResourceBundleUtil.java | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) 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;