fix senseless action visibility checks

This commit is contained in:
Dmitry Jemerov
2015-10-26 19:23:54 +01:00
parent 55006872a1
commit 31bff24c55
2 changed files with 26 additions and 22 deletions
@@ -154,8 +154,10 @@ public class CheckPartialBodyResolveAction : AnAction() {
e.getPresentation().setVisible(false) e.getPresentation().setVisible(false)
e.getPresentation().setEnabled(false) e.getPresentation().setEnabled(false)
} }
e.getPresentation().setVisible(true) else {
e.getPresentation().setEnabled(selectedKotlinFiles(e).any()) e.getPresentation().setVisible(true)
e.getPresentation().setEnabled(selectedKotlinFiles(e).any())
}
} }
private fun selectedKotlinFiles(e: AnActionEvent): Sequence<KtFile> { private fun selectedKotlinFiles(e: AnActionEvent): Sequence<KtFile> {
@@ -19,30 +19,30 @@ package org.jetbrains.kotlin.idea.actions.internal
import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnAction
import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.CommonDataKeys import com.intellij.openapi.actionSystem.CommonDataKeys
import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.project.Project import com.intellij.openapi.progress.ProcessCanceledException
import com.intellij.psi.PsiManager
import java.util.ArrayList
import com.intellij.openapi.vfs.VfsUtilCore
import com.intellij.openapi.vfs.VirtualFileVisitor
import com.intellij.openapi.progress.ProgressManager import com.intellij.openapi.progress.ProgressManager
import com.intellij.openapi.project.Project
import com.intellij.openapi.ui.Messages import com.intellij.openapi.ui.Messages
import javax.swing.SwingUtilities import com.intellij.openapi.vfs.VfsUtilCore
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.openapi.vfs.VirtualFileVisitor
import com.intellij.psi.PsiManager
import com.intellij.usageView.UsageInfo
import com.intellij.usages.UsageInfo2UsageAdapter
import com.intellij.usages.UsageTarget
import com.intellij.usages.UsageViewManager
import com.intellij.usages.UsageViewPresentation
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.types.KotlinType
import org.jetbrains.kotlin.resolve.calls.callUtil.getCalleeExpressionIfAny
import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils
import com.intellij.usages.UsageViewManager import org.jetbrains.kotlin.resolve.calls.callUtil.getCalleeExpressionIfAny
import com.intellij.usages.UsageInfo2UsageAdapter import org.jetbrains.kotlin.types.KotlinType
import com.intellij.usageView.UsageInfo import java.util.*
import com.intellij.usages.UsageTarget import javax.swing.SwingUtilities
import com.intellij.usages.UsageViewPresentation
import com.intellij.openapi.progress.ProcessCanceledException
import com.intellij.openapi.diagnostic.Logger
public class FindImplicitNothingAction : AnAction() { public class FindImplicitNothingAction : AnAction() {
private val LOG = Logger.getInstance("#org.jetbrains.kotlin.idea.actions.internal.FindImplicitNothingAction") private val LOG = Logger.getInstance("#org.jetbrains.kotlin.idea.actions.internal.FindImplicitNothingAction")
@@ -140,8 +140,10 @@ public class FindImplicitNothingAction : AnAction() {
e.getPresentation().setVisible(false) e.getPresentation().setVisible(false)
e.getPresentation().setEnabled(false) e.getPresentation().setEnabled(false)
} }
e.getPresentation().setVisible(true) else {
e.getPresentation().setEnabled(selectedKotlinFiles(e).any()) e.getPresentation().setVisible(true)
e.getPresentation().setEnabled(selectedKotlinFiles(e).any())
}
} }
private fun selectedKotlinFiles(e: AnActionEvent): Sequence<KtFile> { private fun selectedKotlinFiles(e: AnActionEvent): Sequence<KtFile> {