Example usage for com.intellij.openapi.fileChooser FileChooserDescriptor withFileFilter

List of usage examples for com.intellij.openapi.fileChooser FileChooserDescriptor withFileFilter

Introduction

In this page you can find the example usage for com.intellij.openapi.fileChooser FileChooserDescriptor withFileFilter.

Prototype

public FileChooserDescriptor withFileFilter(@Nullable Condition<? super VirtualFile> filter) 

Source Link

Document

Sets simple boolean condition for use in #isFileVisible(VirtualFile,boolean) and #isFileSelectable(VirtualFile) .

Usage

From source file:com.android.tools.idea.apk.viewer.ApkEditor.java

License:Apache License

@Override
public void selectApkAndCompare() {
    FileChooserDescriptor desc = new FileChooserDescriptor(true, false, false, false, false, false);
    desc.withFileFilter(file -> ApkFileSystem.EXTENSIONS.contains(file.getExtension()));
    VirtualFile file = FileChooser.chooseFile(desc, myProject, null);
    if (file == null) {
        // user canceled
        return;/*from w  ww .  java2 s. c o  m*/
    }
    VirtualFile newApk = ApkFileSystem.getInstance().getRootByLocal(file);
    assert newApk != null;

    DialogBuilder builder = new DialogBuilder(myProject);
    builder.setTitle(myRoot.getName() + " vs " + newApk.getName());
    ApkDiffParser parser = new ApkDiffParser(myRoot, newApk);
    ApkDiffPanel panel = new ApkDiffPanel(parser);
    builder.setCenterPanel(panel.getContainer());
    builder.setPreferredFocusComponent(panel.getPreferredFocusedComponent());
    builder.show();
}

From source file:com.goide.runconfig.GoRunUtil.java

License:Apache License

public static void installFileChooser(@Nonnull Project project, @Nonnull ComponentWithBrowseButton field,
        boolean directory, boolean showFileSystemRoots, @Nullable Condition<VirtualFile> fileFilter) {
    FileChooserDescriptor chooseDirectoryDescriptor = directory
            ? FileChooserDescriptorFactory.createSingleFolderDescriptor()
            : FileChooserDescriptorFactory.createSingleLocalFileDescriptor();
    chooseDirectoryDescriptor.setRoots(project.getBaseDir());
    chooseDirectoryDescriptor.setShowFileSystemRoots(showFileSystemRoots);
    chooseDirectoryDescriptor.withFileFilter(fileFilter);
    if (field instanceof TextFieldWithBrowseButton) {
        ((TextFieldWithBrowseButton) field)
                .addBrowseFolderListener(new TextBrowseFolderListener(chooseDirectoryDescriptor, project));
    } else {/*w  ww . jav  a2s.  c o m*/
        //noinspection unchecked
        field.addBrowseFolderListener(project,
                new ComponentWithBrowseButton.BrowseFolderActionListener(null, null, field, project,
                        chooseDirectoryDescriptor, TextComponentAccessor.TEXT_FIELD_WITH_HISTORY_WHOLE_TEXT));
    }
}

From source file:io.ballerina.plugins.idea.runconfig.BallerinaRunUtil.java

License:Open Source License

private static void installFileChooser(@NotNull Project project, @NotNull ComponentWithBrowseButton field,
        @Nullable Condition<VirtualFile> fileFilter) {
    FileChooserDescriptor chooseDirectoryDescriptor = FileChooserDescriptorFactory
            .createSingleFileDescriptor(BallerinaFileType.INSTANCE);
    chooseDirectoryDescriptor.setRoots(project.getBaseDir());
    chooseDirectoryDescriptor.setShowFileSystemRoots(false);
    chooseDirectoryDescriptor.withShowHiddenFiles(false);
    chooseDirectoryDescriptor.withFileFilter(fileFilter);
    if (field instanceof TextFieldWithBrowseButton) {
        ((TextFieldWithBrowseButton) field)
                .addBrowseFolderListener(new TextBrowseFolderListener(chooseDirectoryDescriptor, project));
    } else {/* w w w.ja va  2 s.  c o m*/
        //noinspection unchecked
        field.addBrowseFolderListener(project,
                new ComponentWithBrowseButton.BrowseFolderActionListener(null, null, field, project,
                        chooseDirectoryDescriptor, TextComponentAccessor.TEXT_FIELD_WITH_HISTORY_WHOLE_TEXT));
    }
}

From source file:org.twodividedbyzero.idea.findbugs.gui.settings.FilterPane.java

License:Open Source License

private void doAdd(@Nullable final Project project) {
    final FileChooserDescriptor descriptor = FileChooserDescriptorFactory.createMultipleFilesNoJarsDescriptor();
    descriptor.setTitle(StringUtil.capitalizeWords(title, true));
    descriptor.setDescription(description);
    descriptor.withFileFilter(new Condition<VirtualFile>() {
        @Override/*from  w ww  . jav a  2s . c  om*/
        public boolean value(final VirtualFile virtualFile) {
            return XmlFileType.DEFAULT_EXTENSION.equalsIgnoreCase(virtualFile.getExtension());
        }
    });

    final VirtualFile[] files = FileChooser.chooseFiles(descriptor, this, project, null);
    if (files.length > 0) {
        for (final VirtualFile virtualFile : files) {
            final File file = VfsUtilCore.virtualToIoFile(virtualFile);
            addFileImpl(file);
        }
        getModel().fireTableDataChanged();
    }
}

From source file:org.twodividedbyzero.idea.findbugs.gui.settings.PluginTablePane.java

License:Open Source License

private void doAddWithFileChooser(@Nullable final Project project) {
    final FileChooserDescriptor descriptor = new FileChooserDescriptor(true, false, true, true, false, true);
    descriptor.setTitle(ResourcesLoader.getString("plugins.choose.title"));
    descriptor.setDescription(ResourcesLoader.getString("plugins.choose.description"));
    descriptor.withFileFilter(new Condition<VirtualFile>() {
        @Override//  w ww .j a va2s . c  o  m
        public boolean value(final VirtualFile virtualFile) {
            return "jar".equalsIgnoreCase(virtualFile.getExtension());
        }
    });

    final VirtualFile[] files = FileChooser.chooseFiles(descriptor, this, project, null);
    if (files.length > 0) {

        // collect current plugin settings
        final Set<PluginSettings> settings = New.set();
        for (final PluginInfo plugin : getModel().rows) {
            settings.add(plugin.settings);
        }

        // unload all plugin
        for (final Plugin plugin : Plugin.getAllPlugins()) {
            if (!plugin.isCorePlugin()) {
                FindBugsCustomPluginUtil.unload(plugin);
            }
        }

        // load choosed plugins
        StringBuilder errors = new StringBuilder();
        for (final VirtualFile virtualFile : files) {
            final File file = VfsUtilCore.virtualToIoFile(virtualFile);
            Plugin plugin = null;
            try {
                plugin = FindBugsCustomPluginUtil.loadTemporary(file);
                final PluginSettings pluginSettings = new PluginSettings();
                pluginSettings.id = plugin.getPluginId();
                pluginSettings.bundled = false;
                pluginSettings.enabled = true; // enable ; do not use plugin.isEnabledByDefault();
                pluginSettings.url = FindBugsCustomPluginUtil.getAsString(plugin);
                for (final PluginSettings other : settings) {
                    if (other.id.equals(pluginSettings.id)) {
                        pluginSettings.enabled = false;
                    }
                }
                settings.add(pluginSettings);
            } catch (final Exception e) {
                LOGGER.warn(String.valueOf(file), e);
                errors.append("\n    - ").append(e.getMessage());
            } finally {
                if (plugin != null) {
                    FindBugsCustomPluginUtil.unload(plugin);
                }
            }
        }

        // reload all plugins
        load(settings);
        if (errors.length() > 0) {
            Messages.showErrorDialog(this,
                    ResourcesLoader.getString("plugins.load.error.text") + errors.toString(),
                    StringUtil.capitalizeWords(ResourcesLoader.getString("plugins.load.error.title"), true));
        }
    }
}