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) {
}
}