List of usage examples for com.intellij.openapi.fileChooser FileChooserDescriptorFactory createSingleFolderDescriptor
public static FileChooserDescriptor createSingleFolderDescriptor()
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); }