Example usage for com.intellij.openapi.fileChooser FileChooserDescriptorFactory createSingleFolderDescriptor

List of usage examples for com.intellij.openapi.fileChooser FileChooserDescriptorFactory createSingleFolderDescriptor

Introduction

In this page you can find the example usage for com.intellij.openapi.fileChooser FileChooserDescriptorFactory createSingleFolderDescriptor.

Prototype

public static FileChooserDescriptor createSingleFolderDescriptor() 

Source Link

Usage

From source file:bazaar4idea.action.BzrInit.java

License:Apache License

@Override
public void actionPerformed(final AnActionEvent e) {
    Project project = e.getData(CommonDataKeys.PROJECT);
    if (project == null) {
        project = ProjectManager.getInstance().getDefaultProject();
    }//w w  w. j a v  a  2s  . c o  m
    FileChooserDescriptor fcd = FileChooserDescriptorFactory.createSingleFolderDescriptor();
    fcd.setShowFileSystemRoots(true);
    fcd.setTitle(BzrBundle.getString("init.destination.directory.title"));
    fcd.setDescription(BzrBundle.getString("init.destination.directory.description"));
    fcd.setHideIgnored(false);
    VirtualFile baseDir = e.getData(CommonDataKeys.VIRTUAL_FILE);
    if (baseDir == null) {
        baseDir = project.getBaseDir();
    }
    doInit(project, fcd, baseDir, baseDir);
}

From source file:com.android.tools.idea.gradle.eclipse.AdtImportLocationStep.java

License:Apache License

public AdtImportLocationStep(WizardContext context) {
    super(context);

    myDestinationLabel.setFont(UIUtil.getLabelFont().deriveFont(Font.BOLD));

    String prev = context.getProjectFileDirectory();
    mySourceProject = new File(FileUtil.toSystemDependentName(prev));

    String name = new File(prev).getName();
    //noinspection ConstantConditions
    context.setProjectFileDirectory(null);
    String defaultDir = context.getProjectFileDirectory();
    int index = 0;
    File file;/*from   www . j  a  v a  2s . c  om*/
    do {
        String suffix = index == 0 ? "" : Integer.toString(index);
        index++;
        file = new File(defaultDir, name + suffix);
    } while (file.exists());
    myDestDirText.setText(file.getPath());
    context.setProjectFileDirectory(prev);

    FileChooserDescriptor descriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor();
    descriptor.setTitle("Choose Destination Directory");
    descriptor.setDescription("Pick a directory to import the given Eclipse Android project into");
    myDestDirText.addBrowseFolderListener(new TextBrowseFolderListener(descriptor) {
        @Override
        protected void onFileChosen(@NotNull VirtualFile chosenFile) {
            super.onFileChosen(chosenFile);
            myIsPathChangedByUser = true;
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            super.actionPerformed(e);
            myIsPathChangedByUser = true;
        }
    });
}

From source file:com.android.tools.idea.gradle.eclipse.AdtWorkspaceForm.java

License:Apache License

AdtWorkspaceForm(WizardContext context) {
    super(context);

    myPathMapTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    myPathMapTable.setStriped(true);//from  w ww  .java 2  s  .  c o m
    myPathMapTable.setDefaultRenderer(File.class, new DefaultTableCellRenderer() {
        @Override
        public Component getTableCellRendererComponent(JTable var1, Object var2, boolean var3, boolean var4,
                int var5, int var6) {
            Component component = super.getTableCellRendererComponent(var1, var2, var3, var4, var5, var6);
            File file = (File) var2;
            if (file == null || file.getPath().trim().isEmpty()) {
                super.setValue("<click to edit>");
            }
            return component;
        }
    });

    JTextField textField = new JTextField();
    DefaultCellEditor cellEditor = new DefaultCellEditor(textField);
    cellEditor.setClickCountToStart(1);
    myPathMapTable.setDefaultEditor(String.class, cellEditor);

    // TODO: Listen for invoking the button
    myWorkspaceField.addBrowseFolderListener("Select Eclipse Workspace", null, null,
            FileChooserDescriptorFactory.createSingleFolderDescriptor());
    myWorkspaceField.getTextField().getDocument().addDocumentListener(new DocumentAdapter() {
        @Override
        protected void textChanged(DocumentEvent e) {
            File workspace = new File(myWorkspaceField.getText());
            boolean workspaceValid = GradleImport.isEclipseWorkspaceDir(workspace);
            //setBackground(myAndroidHomeLocation, workspaceValid);
            //myAndroidHomeError.setText(workspaceValid ? " " : "Please choose a valid Eclipse workspace directory.");
            if (workspaceValid) {
                AdtImportBuilder builder = AdtImportBuilder.getBuilder(getWizardContext());
                if (builder != null) {
                    GradleImport importer = builder.getImporter();
                    if (importer != null) {
                        importer.setEclipseWorkspace(workspace);
                        builder.readProjects();
                        updateStep();
                    }
                }
            }
        }
    });

}

From source file:com.android.tools.idea.npw.project.ConfigureAndroidProjectStep.java

License:Apache License

@Nullable
private static String browseForFile(@NotNull String initialPath) {
    FileChooserDescriptor fileSaverDescriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor();
    File currentPath = new File(initialPath);
    File parentPath = currentPath.getParentFile();
    if (parentPath == null) {
        String homePath = System.getProperty("user.home");
        parentPath = new File(homePath == null ? File.separator : homePath);
    }//  w w  w . j a  v a  2s . c o  m
    VirtualFile parent = LocalFileSystem.getInstance().findFileByIoFile(parentPath);

    OptionalProperty<String> finalPath = new OptionalValueProperty<>();
    FileChooser.chooseFiles(fileSaverDescriptor, null, parent, virtualFiles -> {
        if (virtualFiles.size() == 1) {
            String result = virtualFiles.iterator().next().getCanonicalPath();
            if (result != null) {
                finalPath.setValue(result);
            }
        }
    });

    return finalPath.getValueOrNull();
}

From source file:com.android.tools.idea.structure.AndroidHomeConfigurable.java

License:Apache License

private void createUIComponents() {
    JTextField textField = new JTextField();
    FileChooserDescriptor outputPathsChooserDescriptor = FileChooserDescriptorFactory
            .createSingleFolderDescriptor();
    InsertPathAction.addTo(textField, outputPathsChooserDescriptor);
    BrowseFilesListener listener = new BrowseFilesListener(textField, "",
            "Please choose an Android SDK location", outputPathsChooserDescriptor);
    //noinspection ConstantConditions
    myAndroidHomeLocation = new FieldPanel(textField, null, null, listener, EmptyRunnable.getInstance());
    FileChooserFactory fileChooserFactory = FileChooserFactory.getInstance();
    fileChooserFactory.installFileCompletion(myAndroidHomeLocation.getTextField(), outputPathsChooserDescriptor,
            true, null);/*from  w w  w.  jav  a  2 s . co  m*/

    textField = new JTextField();
    outputPathsChooserDescriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor();
    InsertPathAction.addTo(textField, outputPathsChooserDescriptor);
    listener = new BrowseFilesListener(textField, "", "Please choose a JDK location",
            outputPathsChooserDescriptor);
    //noinspection ConstantConditions
    myJavaHomeLocation = new FieldPanel(textField, null, null, listener, EmptyRunnable.getInstance());
    fileChooserFactory.installFileCompletion(myJavaHomeLocation.getTextField(), outputPathsChooserDescriptor,
            true, null);
}

From source file:com.android.tools.idea.welcome.JdkLocationStep.java

License:Apache License

public JdkLocationStep(ScopedStateStore.Key<String> pathKey) {
    super("Java Settings");
    myPathKey = pathKey;//from  ww  w .j  a va 2s . c  o m
    myDownloadPageLink.setText(getLinkText());
    WelcomeUIUtils.makeButtonAHyperlink(myDownloadPageLink, JDK_URL);
    myDownloadPageLink.getParent().invalidate();
    setComponent(myContents);
    myError.setForeground(JBColor.red);
    FileChooserDescriptor folderDescriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor();
    myJdkPath.addBrowseFolderListener("Select JDK Location", "Select compatible JDK location", null,
            folderDescriptor);
    myError.setText(null);
    // Does not seem like there's reliable default for JDK locations on Linux...
    // Hence, "Detect" is only available on Windows/Mac
    if (SystemInfo.isMac || SystemInfo.isWindows) {
        myDetectButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ProgressManager.getInstance().run(new DetectJdkTask());
            }
        });
    } else {
        myDetectButton.setVisible(false);
        myDetectLabel.setVisible(false);
    }
}

From source file:com.android.tools.idea.welcome.SdkComponentsStep.java

License:Apache License

public SdkComponentsStep(ScopedStateStore.Key<Boolean> keyShouldDownload,
        ScopedStateStore.Key<String> sdkDownloadPathKey) {
    super("SDK Settings");

    myPath.addBrowseFolderListener("Android SDK", "Select Android SDK install directory", null,
            FileChooserDescriptorFactory.createSingleFolderDescriptor());

    myKeyShouldDownload = keyShouldDownload;
    mySdkDownloadPathKey = sdkDownloadPathKey;
    myComponentDescription.setEditable(false);
    myComponentDescription.setContentType("text/html");
    myComponentDescription.setBorder(new EmptyBorder(WizardConstants.STUDIO_WIZARD_INSETS));
    mySplitPane.setBorder(null);//from w  w w .  j  a  va 2  s.co m
    Font labelFont = UIUtil.getLabelFont();
    Font smallLabelFont = labelFont.deriveFont(labelFont.getSize() - 1.0f);
    myNeededSpace.setFont(smallLabelFont);
    myAvailableSpace.setFont(smallLabelFont);
    myErrorMessage.setText(null);
    myErrorMessage.setForeground(JBColor.red);

    mySdkComponents = createModel();
    DefaultTableModel model = new DefaultTableModel(0, 1) {
        @Override
        public void setValueAt(Object aValue, int row, int column) {
            boolean isSelected = ((Boolean) aValue);
            SdkComponent sdkComponent = mySdkComponents[row];
            if (isSelected) {
                select(sdkComponent);
            } else {
                deselect(sdkComponent);
            }
            fireTableRowsUpdated(row, row);
        }
    };
    for (SdkComponent sdkComponent : mySdkComponents) {
        model.addRow(new Object[] { sdkComponent });
    }
    myComponentsTable.setModel(model);
    myComponentsTable.setTableHeader(null);
    myComponentsTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            int selected = myComponentsTable.getSelectedRow();
            String description = selected >= 0 ? mySdkComponents[selected].myDescription : null;
            myComponentDescription.setText(description);
        }
    });
    TableColumn column = myComponentsTable.getColumnModel().getColumn(0);
    column.setCellRenderer(new SdkComponentRenderer());
    column.setCellEditor(new SdkComponentRenderer());
    setComponent(myContents);
}

From source file:com.android.tools.idea.welcome.SdkLocationStep.java

License:Apache License

public SdkLocationStep(ScopedStateStore.Key<Boolean> shouldDownload,
        ScopedStateStore.Key<String> existingSdkLocation) {
    super("SDK Settings");
    myShouldDownload = shouldDownload;/*from  www.jav  a 2s.  c  om*/
    myExistingSdkLocation = existingSdkLocation;
    myError.setText("");
    myError.setForeground(JBColor.red);

    myExistingSdkPath.addBrowseFolderListener("Android SDK", "Provide Android SDK location", null,
            FileChooserDescriptorFactory.createSingleFolderDescriptor());
    setComponent(myContentsPane);
}

From source file:com.android.tools.idea.welcome.wizard.JdkLocationStep.java

License:Apache License

public JdkLocationStep(@NotNull ScopedStateStore.Key<String> pathKey, @NotNull FirstRunWizardMode mode) {
    super("Java Settings");
    myPathKey = pathKey;/*from w  ww.j  av  a 2  s .  c o m*/
    myMode = mode;
    myDownloadPageLink.setText(getLinkText());
    WelcomeUIUtils.makeButtonAHyperlink(myDownloadPageLink, Jdks.DOWNLOAD_JDK_7_URL);
    myDownloadPageLink.getParent().invalidate();
    setComponent(myContents);
    myError.setForeground(JBColor.red);
    FileChooserDescriptor folderDescriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor();
    myJdkPath.addBrowseFolderListener("Select JDK Location", "Select compatible JDK location", null,
            folderDescriptor);
    myError.setText(null);
    myDetectButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            myDetectButton.setEnabled(false);
            JdkDetection.startWithProgressIndicator(new JdkDetection.JdkDetectionResult() {
                @Override
                public void onSuccess(String newJdkPath) {
                    if (newJdkPath == null) {
                        String message = AndroidBundle
                                .message("android.wizard.jdk.autodetect.result.not.found");
                        ExternalSystemUiUtil.showBalloon(myJdkPath, MessageType.INFO, message);
                    } else {
                        myJdkPath.setText(newJdkPath);
                    }
                    myDetectButton.setEnabled(true);
                }

                @Override
                public void onCancel() {
                    myDetectButton.setEnabled(true);
                }
            });
        }
    });
}

From source file:com.android.tools.idea.welcome.wizard.SdkComponentsStep.java

License:Apache License

public SdkComponentsStep(@NotNull ComponentTreeNode rootNode,
        @NotNull ScopedStateStore.Key<Boolean> keyCustomInstall,
        @NotNull ScopedStateStore.Key<String> sdkDownloadPathKey, @NotNull FirstRunWizardMode mode) {
    super("SDK Components Setup");
    // Since we create and initialize a new AndroidSdkHandler/RepoManager for every (partial)
    // path that's entered, disallow direct editing of the path.
    myPath.setEditable(false);/*from   w  w w. ja  v a2  s . com*/
    myRootNode = rootNode;
    myMode = mode;
    myKeyCustomInstall = keyCustomInstall;

    // noinspection DialogTitleCapitalization
    myPath.addBrowseFolderListener("Android SDK", "Select Android SDK install directory", null,
            FileChooserDescriptorFactory.createSingleFolderDescriptor());

    mySdkDownloadPathKey = sdkDownloadPathKey;
    Font smallLabelFont = JBUI.Fonts.smallFont();
    myNeededSpace.setFont(smallLabelFont);
    myAvailableSpace.setFont(smallLabelFont);
    myErrorMessage.setText(null);

    myTableModel = new ComponentsTableModel(rootNode);
    myComponentsTable.setModel(myTableModel);
    myComponentsTable.setTableHeader(null);
    myComponentsTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            int row = myComponentsTable.getSelectedRow();
            myComponentDescription.setText(row < 0 ? "" : myTableModel.getComponentDescription(row));
        }
    });
    TableColumn column = myComponentsTable.getColumnModel().getColumn(0);
    column.setCellRenderer(new SdkComponentRenderer());
    column.setCellEditor(new SdkComponentRenderer());
    setComponent(myContents);
}