suppress daemon & copy/move java actions for out-of-src java

This commit is contained in:
greg
2009-09-01 19:15:31 +04:00
parent 340f8fac18
commit e37bf13e25
6 changed files with 31 additions and 18 deletions
@@ -1,6 +1,7 @@
package com.intellij.refactoring.copy;
import com.intellij.codeInsight.actions.OptimizeImportsProcessor;
import com.intellij.codeInsight.daemon.impl.CollectHighlightsUtil;
import com.intellij.featureStatistics.FeatureUsageTracker;
import com.intellij.ide.util.EditorHelper;
import com.intellij.openapi.application.ApplicationManager;
@@ -26,7 +27,7 @@ public class CopyClassesHandler implements CopyHandlerDelegate {
@Nullable
private static PsiClass convertToTopLevelClass(final PsiElement[] elements) {
if (elements.length == 1) {
if (elements.length == 1 && !CollectHighlightsUtil.isOutOfSourceRootJavaFile(elements[0].getContainingFile())) {
return getTopLevelClass(elements [0]);
}
return null;
@@ -6,6 +6,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.ex.DataConstantsEx;
import com.intellij.openapi.editor.Editor;
import com.intellij.codeInsight.daemon.impl.CollectHighlightsUtil;
import org.jetbrains.annotations.Nullable;
public class MoveClassesHandler extends MoveClassesOrPackagesHandlerBase {
@@ -14,6 +15,7 @@ public class MoveClassesHandler extends MoveClassesOrPackagesHandlerBase {
if (element instanceof JspClass) return false;
if (!(element instanceof PsiClass)) return false;
if (!(element.getParent() instanceof PsiFile)) return false;
if (CollectHighlightsUtil.isOutOfSourceRootJavaFile((PsiFile)element.getParent())) return false;
}
return super.canMove(elements, targetContainer);
}
@@ -25,6 +27,7 @@ public class MoveClassesHandler extends MoveClassesOrPackagesHandlerBase {
public boolean tryToMove(final PsiElement element, final Project project, final DataContext dataContext, final PsiReference reference,
final Editor editor) {
if (CollectHighlightsUtil.isOutOfSourceRootJavaFile(element.getContainingFile())) return false;
if (isReferenceInAnonymousClass(reference)) return false;
if (element instanceof PsiClass && !(element instanceof PsiAnonymousClass) && element.getParent() instanceof PsiFile) {