// Copyright 2015 Pants project contributors (see CONTRIBUTORS.md). // Licensed under the Apache License, Version 2.0 (see LICENSE). package com.twitter.intellij.pants.quickfix; import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.options.ShowSettingsUtil; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiFile; import com.intellij.util.IncorrectOperationException; import com.intellij.util.ui.UIUtil; import com.twitter.intellij.pants.PantsBundle; import org.jetbrains.annotations.NotNull; public class AddPythonPluginQuickFix extends PantsQuickFix { @NotNull @Override public String getName() { return PantsBundle.message("quick.fix.add.python.plugin"); } @Override public boolean startInWriteAction() { return false; } @NotNull @Override public String getText() { return PantsBundle.message("quick.fix.add.python.plugin"); } @Override public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) { return true; } @Override public void applyFix(@NotNull Project project, @NotNull ProblemDescriptor descriptor) { invoke(null, null, null); } @Override public void invoke(@NotNull final Project project, Editor editor, PsiFile psiFile) throws IncorrectOperationException { UIUtil.invokeLaterIfNeeded( new Runnable() { public void run() { ShowSettingsUtil.getInstance().showSettingsDialog(project, "Plugins"); } } ); } }