private String browseFolder(String title, File currentPath) { File workDir = null; if (currentPath != null) { workDir = currentPath.getParentFile(); } if (workDir == null || !workDir.exists()) { workDir = FileUtil.toFile(project.getProjectDirectory()); } File folder = new FileChooserBuilder(SourcesPanel.class) .setTitle(title) .setDirectoriesOnly(true) .setDefaultWorkingDirectory(workDir) .forceUseOfDefaultWorkingDirectory(true) .setFileHiding(true) .showOpenDialog(); if (folder == null) { return null; } String filePath = PropertyUtils.relativizeFile(FileUtil.toFile(project.getProjectDirectory()), folder); if (filePath == null) { // path cannot be relativized filePath = folder.getAbsolutePath(); } else if (".".equals(filePath)) { // NOI18N // project directory return null; } return beautifyPath(filePath); }
FileChooserBuilder builder = new FileChooserBuilder(ImportAction.class); builder.setTitle(Bundle.ImportAction_chooser_title()); builder.setFileHiding(FILE_HIDING);
FileChooserBuilder builder = new FileChooserBuilder(ImportAction.class); builder.setTitle(Bundle.ImportAction_chooser_title()); builder.setFileHiding(FILE_HIDING);
@NbBundle.Messages("DirectoryProblemResolver.dialog.choose=Choose") @Override public Future<ProjectProblemsProvider.Result> resolve() { File projectDir = FileUtil.toFile(project.getProjectDirectory()); File selectedDir = new FileChooserBuilder(ProjectPropertiesProblemProvider.class) .setTitle(dialogTitle) .setDefaultWorkingDirectory(projectDir) .forceUseOfDefaultWorkingDirectory(true) .setDirectoriesOnly(true) .setFileHiding(true) .setApproveText(Bundle.DirectoryProblemResolver_dialog_choose()) .showOpenDialog(); if (selectedDir == null) { // no file selected return new Done(ProjectProblemsProvider.Result.create(ProjectProblemsProvider.Status.UNRESOLVED)); } // save metadata String relPath = ProjectPropertiesSupport.relativizeFile(projectDir, selectedDir); PhpProjectProperties.save(project, Collections.singletonMap(propertyName, relPath), Collections.<String, String>emptyMap()); // return unresolved state; it will change automatically once the metadata are really saved (property change will be fired) return new Done(ProjectProblemsProvider.Result.create(ProjectProblemsProvider.Status.UNRESOLVED)); }