package jetbrains.mps.vcs.integration; /*Generated by MPS */ import com.intellij.openapi.vcs.checkout.CheckoutListener; import com.intellij.openapi.project.Project; import java.io.File; import java.io.FilenameFilter; import jetbrains.mps.project.MPSExtentions; import com.intellij.openapi.ui.Messages; import com.intellij.ide.impl.ProjectUtil; import com.intellij.platform.ProjectBaseDirectory; public class ProjectCheckoutListener implements CheckoutListener { public ProjectCheckoutListener() { } @Override public boolean processCheckedOutDirectory(Project project, File directory) { File[] files = directory.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.endsWith(MPSExtentions.DOT_MPS_PROJECT); } }); if (files != null && files.length > 0) { int rc = Messages.showYesNoDialog(project, "You have checked out an MPS project file:\n" + files[0].getAbsolutePath() + "\nWould you like to open it?", "Checkout from Version Control", Messages.getQuestionIcon()); if (rc == 0) { Project openedProject = ProjectUtil.openProject(files[0].getAbsolutePath(), project, false); if (openedProject != null) { ProjectBaseDirectory.getInstance(openedProject).setBaseDir(openedProject.getBaseDir()); } } return true; } return false; } @Override public void processOpenedProject(Project lastOpenedProject) { } }