From d628c1c53e92f2e71f8331eb70bff0d206864c44 Mon Sep 17 00:00:00 2001 From: "Denis.Zhdanov" Date: Thu, 15 Mar 2012 20:00:21 +0400 Subject: [PATCH] IDEA-76142: Gradle support - cannot update IDEA projects once one of build.gradle files changes Disable filter actions for the gradle-unaware projects --- .../action/AbstractGradleSyncTreeFilterAction.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/action/AbstractGradleSyncTreeFilterAction.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/action/AbstractGradleSyncTreeFilterAction.java index b9a3afddefb3..274f68706c5a 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/action/AbstractGradleSyncTreeFilterAction.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/action/AbstractGradleSyncTreeFilterAction.java @@ -1,15 +1,19 @@ package org.jetbrains.plugins.gradle.action; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.actionSystem.ToggleAction; import com.intellij.openapi.editor.colors.EditorColorsListener; import com.intellij.openapi.editor.colors.EditorColorsManager; import com.intellij.openapi.editor.colors.EditorColorsScheme; import com.intellij.openapi.editor.colors.TextAttributesKey; import com.intellij.openapi.options.colors.AttributesDescriptor; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.ui.ColorIcon; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.plugins.gradle.config.GradleSettings; import org.jetbrains.plugins.gradle.sync.GradleProjectStructureTreeModel; import org.jetbrains.plugins.gradle.ui.GradleDataKeys; import org.jetbrains.plugins.gradle.ui.GradleProjectStructureNode; @@ -70,6 +74,16 @@ public abstract class AbstractGradleSyncTreeFilterAction extends ToggleAction { @Override public void update(AnActionEvent e) { super.update(e); + + final Project project = PlatformDataKeys.PROJECT.getData(e.getDataContext()); + if (project == null || StringUtil.isEmpty(GradleSettings.getInstance(project).getLinkedProjectPath())) { + e.getPresentation().setEnabled(false); + return; + } + else { + e.getPresentation().setEnabled(true); + } + if (myIconChanged) { e.getPresentation().setIcon(getTemplatePresentation().getIcon()); myIconChanged = false;