Example usage for com.intellij.openapi.fileChooser PathChooserDialog choose

List of usage examples for com.intellij.openapi.fileChooser PathChooserDialog choose

Introduction

In this page you can find the example usage for com.intellij.openapi.fileChooser PathChooserDialog choose.

Prototype

void choose(@Nullable VirtualFile toSelect, @NotNull final Consumer<? super List<VirtualFile>> callback);

Source Link

Usage

From source file:com.intellij.tools.ToolEditorDialog.java

License:Apache License

protected void addWorkingDirectoryBrowseAction(final JPanel pane, FixedSizeButton browseDirectoryButton,
        JTextField tfCommandWorkingDirectory) {
    browseDirectoryButton.addActionListener(new ActionListener() {
        @Override/*from  w w w.  j  ava  2 s.c  o m*/
        public void actionPerformed(ActionEvent e) {
            FileChooserDescriptor descriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor();
            PathChooserDialog chooser = FileChooserFactory.getInstance().createPathChooser(descriptor,
                    myProject, pane);

            chooser.choose(null, new Consumer<List<VirtualFile>>() {
                @Override
                public void consume(List<VirtualFile> files) {
                    VirtualFile file = files.size() > 0 ? files.get(0) : null;
                    if (file != null) {
                        myTfCommandWorkingDirectory.setText(file.getPresentableUrl());
                    }
                }
            });
        }
    });
}

From source file:com.intellij.tools.ToolEditorDialog.java

License:Apache License

protected void addCommandBrowseAction(final JPanel pane, FixedSizeButton browseCommandButton,
        JTextField tfCommand) {//from  www .  j a v a 2 s .  co m
    browseCommandButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            FileChooserDescriptor descriptor = FileChooserDescriptorFactory
                    .createSingleFileOrExecutableAppDescriptor();
            PathChooserDialog chooser = FileChooserFactory.getInstance().createPathChooser(descriptor,
                    myProject, pane);
            chooser.choose(null, new Consumer<List<VirtualFile>>() {
                @Override
                public void consume(List<VirtualFile> files) {
                    VirtualFile file = files.size() > 0 ? files.get(0) : null;
                    if (file != null) {
                        myTfCommand.setText(file.getPresentableUrl());
                        String workingDirectory = myTfCommandWorkingDirectory.getText();
                        if (workingDirectory == null || workingDirectory.length() == 0) {
                            VirtualFile parent = file.getParent();
                            if (parent != null && parent.isDirectory()) {
                                myTfCommandWorkingDirectory.setText(parent.getPresentableUrl());
                            }
                        }
                    }
                }
            });
        }
    });
}

From source file:org.mustbe.consulo.dotnet.ide.actions.ExportDotNetSdkToZipAction.java

License:Apache License

@Override
public void actionPerformed(AnActionEvent anActionEvent) {
    List<Sdk> sdks = ContainerUtil.filter(SdkTable.getInstance().getAllSdks(), Conditions.alwaysTrue());

    if (sdks.isEmpty()) {
        Messages.showErrorDialog("No .NET sdks", "Error");
        return;/*from  w ww  .java  2s. c o  m*/
    }

    final Project project = anActionEvent.getRequiredData(CommonDataKeys.PROJECT);
    ChooseElementsDialog<Sdk> sdk = new ChooseElementsDialog<Sdk>(project, sdks, "Select",
            "Select sdk for export") {
        @Override
        protected String getItemText(Sdk item) {
            return item.getName();
        }

        @Nullable
        @Override
        protected Icon getItemIcon(Sdk item) {
            return SdkUtil.getIcon(item);
        }
    };

    List<Sdk> selectedSdks = sdk.showAndGetResult();
    if (selectedSdks.isEmpty()) {
        return;
    }

    final Sdk selected = selectedSdks.get(0);

    PathChooserDialog pathChooser = FileChooserFactory.getInstance()
            .createPathChooser(FileChooserDescriptorFactory.createSingleFolderDescriptor(), project, null);

    pathChooser.choose(project.getBaseDir(), new Consumer<List<VirtualFile>>() {
        @Override
        public void consume(List<VirtualFile> virtualFiles) {
            val dir = virtualFiles.get(0);

            new Task.ConditionalModal(project, "Exporting: " + selected.getName(), false,
                    PerformInBackgroundOption.DEAF) {
                @Override
                public void run(@NotNull final ProgressIndicator progressIndicator) {
                    progressIndicator.setIndeterminate(true);
                    export(selected, dir, progressIndicator);
                }
            }.queue();
        }
    });

}