python: write action is unnecessary in some quick fixes
authorpeter <peter@jetbrains.com>
Wed, 16 Nov 2016 08:20:04 +0000 (09:20 +0100)
committerpeter <peter@jetbrains.com>
Wed, 16 Nov 2016 08:20:36 +0000 (09:20 +0100)
python/python-rest/src/com/jetbrains/rest/quickfixes/AddIgnoredRoleFix.java
python/src/com/jetbrains/python/inspections/PyInterpreterInspection.java
python/src/com/jetbrains/python/inspections/PyPackageRequirementsInspection.java
python/src/com/jetbrains/python/inspections/PyShadowingBuiltinsInspection.java
python/src/com/jetbrains/python/inspections/quickfix/AddIgnoredIdentifierQuickFix.java
python/src/com/jetbrains/python/inspections/quickfix/GenerateBinaryStubsFix.java

index c25ac297b7d66f73fde1054fbfb74ef4bba29ef9..6e503842cec69f90d10e882f2f8c7efec39a8ec3 100644 (file)
@@ -48,6 +48,11 @@ public class AddIgnoredRoleFix implements LocalQuickFix, LowPriorityAction {
     return "Ignore undefined role";
   }
 
     return "Ignore undefined role";
   }
 
+  @Override
+  public boolean startInWriteAction() {
+    return false;
+  }
+
   @Override
   public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
     if (!myInspection.ignoredRoles.contains(myRole)) {
   @Override
   public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
     if (!myInspection.ignoredRoles.contains(myRole)) {
index 0f29353a0f0a679f0d46a830689e4ed8704418c4..cc953558862271eb554c4b9cc59256e6a587173d 100644 (file)
@@ -19,7 +19,6 @@ import com.intellij.codeInspection.LocalInspectionToolSession;
 import com.intellij.codeInspection.LocalQuickFix;
 import com.intellij.codeInspection.ProblemDescriptor;
 import com.intellij.codeInspection.ProblemsHolder;
 import com.intellij.codeInspection.LocalQuickFix;
 import com.intellij.codeInspection.ProblemDescriptor;
 import com.intellij.codeInspection.ProblemsHolder;
-import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.module.ModuleUtilCore;
 import com.intellij.openapi.options.ShowSettingsUtil;
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.module.ModuleUtilCore;
 import com.intellij.openapi.options.ShowSettingsUtil;
@@ -87,12 +86,14 @@ public class PyInterpreterInspection extends PyInspection {
       return "Configure Python Interpreter";
     }
 
       return "Configure Python Interpreter";
     }
 
+    @Override
+    public boolean startInWriteAction() {
+      return false;
+    }
+
     @Override
     public void applyFix(@NotNull final Project project, @NotNull ProblemDescriptor descriptor) {
     @Override
     public void applyFix(@NotNull final Project project, @NotNull ProblemDescriptor descriptor) {
-      ApplicationManager.getApplication().invokeLater(() -> {
-        // outside of read action
-        ShowSettingsUtil.getInstance().showSettingsDialog(project, "Project Interpreter");
-      });
+      ShowSettingsUtil.getInstance().showSettingsDialog(project, "Project Interpreter");
     }
   }
 }
     }
   }
 }
index 2ffbdfea7873bb5136a6d60b865d88c674ddc35d..16a543172ce1a45c2d1e605fa099c6d17299a644 100644 (file)
@@ -272,6 +272,11 @@ public class PyPackageRequirementsInspection extends PyInspection {
       return myName;
     }
 
       return myName;
     }
 
+    @Override
+    public boolean startInWriteAction() {
+      return false;
+    }
+
     @Override
     public void applyFix(@NotNull final Project project, @NotNull ProblemDescriptor descriptor) {
       boolean installManagement = false;
     @Override
     public void applyFix(@NotNull final Project project, @NotNull ProblemDescriptor descriptor) {
       boolean installManagement = false;
@@ -356,6 +361,11 @@ public class PyPackageRequirementsInspection extends PyInspection {
       return "Install and import package " + myPackageName;
     }
 
       return "Install and import package " + myPackageName;
     }
 
+    @Override
+    public boolean startInWriteAction() {
+      return false;
+    }
+
     @Override
     public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) {
       final PyPackageManagerUI ui = new PyPackageManagerUI(project, mySdk, new UIListener(myModule) {
     @Override
     public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) {
       final PyPackageManagerUI ui = new PyPackageManagerUI(project, mySdk, new UIListener(myModule) {
@@ -411,6 +421,11 @@ public class PyPackageRequirementsInspection extends PyInspection {
       return String.format("Ignore requirement%s", plural ? "s" : "");
     }
 
       return String.format("Ignore requirement%s", plural ? "s" : "");
     }
 
+    @Override
+    public boolean startInWriteAction() {
+      return false;
+    }
+
     @Override
     public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
       final PsiElement element = descriptor.getPsiElement();
     @Override
     public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
       final PsiElement element = descriptor.getPsiElement();
@@ -444,6 +459,11 @@ public class PyPackageRequirementsInspection extends PyInspection {
       myLanguageLevel = languageLevel;
     }
 
       myLanguageLevel = languageLevel;
     }
 
+    @Override
+    public boolean startInWriteAction() {
+      return false;
+    }
+
     @NotNull
     @Override
     public String getFamilyName() {
     @NotNull
     @Override
     public String getFamilyName() {
index d09d1df4d64e6feb22624a66cba3985f600abacb..d44851a5b36d779cc72bb74a5019b9be764a9aa4 100644 (file)
@@ -128,6 +128,11 @@ public class PyShadowingBuiltinsInspection extends PyInspection {
         return getFamilyName() + " \"" + myName + "\"";
       }
 
         return getFamilyName() + " \"" + myName + "\"";
       }
 
+      @Override
+      public boolean startInWriteAction() {
+        return false;
+      }
+
       @NotNull
       @Override
       public String getFamilyName() {
       @NotNull
       @Override
       public String getFamilyName() {
index 65348b8bfcee24e209275f8cc8af8ec0d2bceaed..c9c08cfee2cccb4def036f8fa618675f4a59ffda 100644 (file)
@@ -56,6 +56,11 @@ public class AddIgnoredIdentifierQuickFix implements LocalQuickFix, LowPriorityA
     return "Ignore unresolved reference";
   }
 
     return "Ignore unresolved reference";
   }
 
+  @Override
+  public boolean startInWriteAction() {
+    return false;
+  }
+
   @Override
   public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
     final PsiElement context = descriptor.getPsiElement();
   @Override
   public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) {
     final PsiElement context = descriptor.getPsiElement();
index d891741aa0b2daa6bfabd446eeb551ac7268de2f..6505ccadd3b8899ffd6b5e7f3f7273e9f5e08809 100644 (file)
@@ -110,6 +110,11 @@ public class GenerateBinaryStubsFix implements LocalQuickFix {
     return "Generate binary stubs";
   }
 
     return "Generate binary stubs";
   }
 
+  @Override
+  public boolean startInWriteAction() {
+    return false;
+  }
+
   @Override
   public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) {
     final PsiFile file = descriptor.getPsiElement().getContainingFile();
   @Override
   public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) {
     final PsiFile file = descriptor.getPsiElement().getContainingFile();