mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
eclipse: chooser for .userlibraries file added
This commit is contained in:
+18
-21
@@ -38,8 +38,8 @@ import com.intellij.openapi.roots.libraries.LibraryTable;
|
||||
import com.intellij.openapi.roots.libraries.LibraryTablesRegistrar;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
|
||||
import com.intellij.openapi.ui.DialogWrapper;
|
||||
import com.intellij.openapi.ui.InputValidator;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
import com.intellij.openapi.util.JDOMUtil;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
@@ -319,31 +319,29 @@ public class EclipseImportBuilder extends ProjectImportBuilder<String> implement
|
||||
}
|
||||
}
|
||||
if (!unknownLibraries.isEmpty()) {
|
||||
if (message.length() > 0) message.append("\n");
|
||||
message.append(EclipseBundle.message("eclipse.import.warning.undefinded.libraries"));
|
||||
final StringBuffer buf = new StringBuffer();
|
||||
buf.append("<html><body>");
|
||||
buf.append(EclipseBundle.message("eclipse.import.warning.undefinded.libraries"));
|
||||
for (String name : unknownLibraries) {
|
||||
message.append("\n").append(name);
|
||||
buf.append("<br>").append(name);
|
||||
}
|
||||
if (model == null) {
|
||||
message.append("\nPlease export Eclipse user libraries and import them now from");
|
||||
final String pathToUserLibraries = Messages.showInputDialog(project, message.toString(), getTitle(), Messages.getErrorIcon(),
|
||||
project.getBaseDir().getPath() +
|
||||
"/" +
|
||||
project.getName() +
|
||||
".userlibraries", new InputValidator() {
|
||||
public boolean checkInput(String inputString) {
|
||||
return new File(inputString).exists();
|
||||
}
|
||||
|
||||
public boolean canClose(String inputString) {
|
||||
return checkInput(inputString);
|
||||
}
|
||||
});
|
||||
if (pathToUserLibraries != null) {
|
||||
buf.append("<br><b>Please export Eclipse user libraries and import them now from resulted .userlibraries file</b>");
|
||||
buf.append("</body></html>");
|
||||
final FileChooserDescriptor descriptor = new FileChooserDescriptor(true, false, false, false, false, false) {
|
||||
@Override
|
||||
public boolean isFileSelectable(VirtualFile file) {
|
||||
return super.isFileSelectable(file) && Comparing.strEqual(file.getExtension(), "userlibraries");
|
||||
}
|
||||
};
|
||||
descriptor.setDescription(buf.toString());
|
||||
descriptor.setTitle(getTitle());
|
||||
final VirtualFile[] selectedFiles = FileChooser.chooseFiles(project, descriptor, project.getBaseDir());
|
||||
if (selectedFiles.length == 1) {
|
||||
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
||||
public void run() {
|
||||
try {
|
||||
EclipseUserLibrariesHelper.readProjectLibrariesContent(new File(pathToUserLibraries), project, unknownLibraries);
|
||||
EclipseUserLibrariesHelper.readProjectLibrariesContent(new File(selectedFiles[0].getPath()), project, unknownLibraries);
|
||||
}
|
||||
catch (Exception e) {
|
||||
LOG.error(e);
|
||||
@@ -351,7 +349,6 @@ public class EclipseImportBuilder extends ProjectImportBuilder<String> implement
|
||||
}
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user