package zielu.gittoolbox.ui; import com.intellij.ide.DataManager; import com.intellij.openapi.actionSystem.ActionManager; import com.intellij.openapi.actionSystem.ActionPlaces; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.Project; import com.intellij.openapi.wm.WindowManager; import zielu.gittoolbox.ui.util.AppUtil; public class UpdateProject { private final Project myProject; private UpdateProject(Project project) { myProject = project; } public static UpdateProject create(Project project) { return new UpdateProject(project); } private void invokeAction() { AnAction action = ActionManager.getInstance().getAction("Vcs.UpdateProject"); DataManager dataManager = DataManager.getInstance(); WindowManager windowManager = WindowManager.getInstance(); AnActionEvent evt = new AnActionEvent(null, dataManager.getDataContext(windowManager.getFrame(myProject)), ActionPlaces.UNKNOWN, action.getTemplatePresentation(), ActionManager.getInstance(), 5); action.actionPerformed(evt); } public void execute() { AppUtil.invokeLaterIfNeeded(this::invokeAction); } }