Merge branch 'master' into no-reformat-dialog-on-reformat-code-action
[idea/community.git] / platform / lang-impl / src / com / intellij / codeInsight / actions / ReformatCodeAction.java
index dd9174c76f411d7c030451df6ccd67d915ff2b07..f983511275aed2828d663bed7340ea119cd2de80 100644 (file)
@@ -67,7 +67,7 @@ public class ReformatCodeAction extends AnAction implements DumbAware {
     final VirtualFile[] files = CommonDataKeys.VIRTUAL_FILE_ARRAY.getData(dataContext);
 
     PsiFile file = null;
-    final PsiDirectory dir;
+    PsiDirectory dir = null;
     boolean hasSelection = false;
 
     if (editor != null){
@@ -98,18 +98,18 @@ public class ReformatCodeAction extends AnAction implements DumbAware {
       }
       return;
     }
-    else {
-      Project projectContext = PlatformDataKeys.PROJECT_CONTEXT.getData(dataContext);
+    else if (PlatformDataKeys.PROJECT_CONTEXT.getData(dataContext) != null || LangDataKeys.MODULE_CONTEXT.getData(dataContext) != null) {
       Module moduleContext = LangDataKeys.MODULE_CONTEXT.getData(dataContext);
-
-      if (projectContext != null || moduleContext != null) {
-        ReformatFilesOptions selectedFlags = getLayoutProjectOptions(project, moduleContext); // module menu - only 2 options available
-        if (selectedFlags != null) {
-          reformatModule(project, moduleContext, selectedFlags);
-        }
-        return;
+      ReformatFilesOptions selectedFlags = getLayoutProjectOptions(project, moduleContext);
+      if (selectedFlags != null) {
+        reformatModule(project, moduleContext, selectedFlags);
       }
-
+      return;
+    }
+    else if (files != null && files.length == 1) {
+      file = PsiManager.getInstance(project).findFile(files[0]);
+    }
+    else {
       PsiElement element = CommonDataKeys.PSI_ELEMENT.getData(dataContext);
       if (element == null) return;
       if (element instanceof PsiDirectoryContainer) {
@@ -405,13 +405,6 @@ public class ReformatCodeAction extends AnAction implements DumbAware {
     }
     return true;
   }
-
-  //public LayoutCodeOptions getLastRunReformatCodeOptions() {
-  //  if (ApplicationManager.getApplication().isUnitTestMode()) {
-  //    return myTestOptions;
-  //  }
-  //  return new LastRunReformatCodeOptionsProvider(PropertiesComponent.getInstance());
-  //}
 }