IDEA-76142: Gradle support - cannot update IDEA projects once one of build.gradle files changes

Added 'navigate to the linked gradle script' action
This commit is contained in:
Denis.Zhdanov
2012-01-31 20:06:43 +04:00
parent 55ee5dcb50
commit c2dcc5229d
@@ -3,8 +3,13 @@ package org.jetbrains.plugins.gradle.action;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.Presentation;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.fileEditor.OpenFileDescriptor;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.gradle.config.GradleSettings;
import org.jetbrains.plugins.gradle.util.GradleBundle;
@@ -19,6 +24,8 @@ import org.jetbrains.plugins.gradle.util.GradleBundle;
*/
public class GradleOpenScriptAction extends AbstractGradleLinkedProjectAction implements DumbAware {
private static final Logger LOG = Logger.getInstance("#" + GradleOpenScriptAction.class.getName());
public GradleOpenScriptAction() {
getTemplatePresentation().setText(GradleBundle.message("gradle.action.open.script.text"));
getTemplatePresentation().setDescription(GradleBundle.message("gradle.action.open.script.description"));
@@ -30,6 +37,12 @@ public class GradleOpenScriptAction extends AbstractGradleLinkedProjectAction im
@Override
protected void doActionPerformed(@NotNull Project project, @NotNull String linkedProjectPath) {
// TODO den implement
final VirtualFile virtualFile = LocalFileSystem.getInstance().findFileByPath(linkedProjectPath);
if (virtualFile == null) {
LOG.warn(String.format("Can't obtain virtual file for the target file path: '%s'", linkedProjectPath));
return;
}
OpenFileDescriptor descriptor = new OpenFileDescriptor(project, virtualFile);
FileEditorManager.getInstance(project).openTextEditor(descriptor, true);
}
}