[IDEA-314227] Package Search: Add Dependency is shown in irrelevant places

Added check that action is called inside a build file of a recognised module.

GitOrigin-RevId: 3a986906aa08c5842a8c2b1acc21a3d827de7809
This commit is contained in:
Nikita Vlaev
2023-03-06 23:41:12 +01:00
committed by intellij-monorepo-bot
parent 693a579d1a
commit 634757ce23
2 changed files with 14 additions and 8 deletions

View File

@@ -25,8 +25,8 @@ import com.intellij.openapi.vfs.LocalFileSystem
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.PsiManager
import com.jetbrains.packagesearch.intellij.plugin.extensibility.BuildSystemType
import com.jetbrains.packagesearch.intellij.plugin.extensibility.ModuleTransformer
import com.jetbrains.packagesearch.intellij.plugin.extensibility.DependencyDeclarationIndexes
import com.jetbrains.packagesearch.intellij.plugin.extensibility.ModuleTransformer
import com.jetbrains.packagesearch.intellij.plugin.extensibility.PackageSearchModule
import com.jetbrains.packagesearch.intellij.plugin.extensibility.dependencyDeclarationCallback
import com.jetbrains.packagesearch.intellij.plugin.ui.toolwindow.models.PackageScope
@@ -122,7 +122,7 @@ internal class GradleModuleTransformer : ModuleTransformer {
isKotlinDsl(project, buildVirtualFile) -> BuildSystemType.GRADLE_KOTLIN
else -> BuildSystemType.GRADLE_GROOVY
}
val scopes= GradleExtensionsSettings.getInstance(project)
val scopes = GradleExtensionsSettings.getInstance(project)
.getExtensionsFor(nativeModule)
?.configurations
?.keys

View File

@@ -43,12 +43,7 @@ class AddDependencyAction : AnAction(
override fun getActionUpdateThread() = ActionUpdateThread.BGT
override fun update(e: AnActionEvent) {
val project = e.project
val editor = e.getData(CommonDataKeys.EDITOR)
e.presentation.isEnabledAndVisible =
project != null && editor != null
&& findSelectedModule(e, project.packageSearchProjectService.packageSearchModulesStateFlow.value) != null
e.presentation.isEnabledAndVisible = isEnabled(e)
}
override fun actionPerformed(e: AnActionEvent) {
@@ -85,4 +80,15 @@ class AddDependencyAction : AnAction(
return selectedDirectories.first()
}
private fun isEnabled(e: AnActionEvent): Boolean {
val project = e.project
val editor = e.getData(CommonDataKeys.EDITOR)
project ?: return false
editor ?: return false
val module = findSelectedModule(e, project.packageSearchProjectService.packageSearchModulesStateFlow.value)
return module?.buildFile?.path.equals(editor.virtualFile.path)
}
}