package com.intellij.lang.javascript.flex.flashbuilder; import com.intellij.ide.util.projectWizard.WizardContext; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.projectImport.SelectImportedProjectsStep; public class SelectFlashBuilderImportedProjectsStep extends SelectImportedProjectsStep<String> { public SelectFlashBuilderImportedProjectsStep(final WizardContext context) { super(context); } protected String getElementText(final String dotProjectFilePath) { final StringBuilder builder = new StringBuilder(); builder.append(FlashBuilderProjectLoadUtil.readProjectName(dotProjectFilePath)); builder.append(" ["); builder.append(FileUtil.toSystemDependentName(dotProjectFilePath).substring(0, dotProjectFilePath.length() - (1 + FlashBuilderImporter.DOT_PROJECT).length())); builder.append("]"); return builder.toString(); } public boolean isStepVisible() { final FlashBuilderImporter builder = (FlashBuilderImporter)getBuilder(); if (builder == null) return false; // no need in this step if one archive file or one FB project was explicitly selected final VirtualFile file = LocalFileSystem.getInstance().findFileByPath(builder.getInitiallySelectedPath()); if (file != null) { if (file.isDirectory()) { if (FlashBuilderProjectFinder.isFlashBuilderProject(file.findChild(FlashBuilderImporter.DOT_PROJECT))) { return false; } } else if (FlashBuilderProjectFinder.isFlashBuilderProject(file) || FlashBuilderProjectFinder.hasArchiveExtension(file.getPath())) { return false; } } return super.isStepVisible(); } public String getHelpId() { return "reference.dialogs.new.project.import.flex.page2"; } }