void (@Nullable String defaultUrl) { myRepositoryUrlComboboxModel = new CollectionComboBoxModel<>(); myRepositoryUrlField = TextFieldWithAutoCompletion.create(myProject, myRepositoryUrlComboboxModel.getItems(), false, ""); JLabel repositoryUrlFieldSpinner = new JLabel(new AnimatedIcon.Default()); repositoryUrlFieldSpinner.setVisible(false); mySpinnerProgressManager = new ComponentVisibilityProgressManager(repositoryUrlFieldSpinner); Disposer.register(getDisposable(), mySpinnerProgressManager); myRepositoryUrlCombobox = new ComboBox<>(); myRepositoryUrlCombobox.setEditable(true); myRepositoryUrlCombobox.setEditor(ComboBoxCompositeEditor.withComponents(myRepositoryUrlField, repositoryUrlFieldSpinner)); myRepositoryUrlCombobox.setModel(myRepositoryUrlComboboxModel); myRepositoryUrlField.addDocumentListener(new DocumentListener() { @Override public void documentChanged(@NotNull com.intellij.openapi.editor.event.DocumentEvent event) { myDirectoryField.trySetChildPath(defaultDirectoryPath(myRepositoryUrlField.getText().trim())); } }); myRepositoryUrlField.addDocumentListener(new DocumentListener() { @Override public void documentChanged(@NotNull com.intellij.openapi.editor.event.DocumentEvent event) { myRepositoryTestValidationInfo = null; } }); myTestButton = new JButton(DvcsBundle.message("clone.repository.url.test.label")); myTestButton.addActionListener(e -> test()); FileChooserDescriptor fcd = FileChooserDescriptorFactory.createSingleFolderDescriptor(); fcd.setShowFileSystemRoots(true); fcd.setHideIgnored(false); myDirectoryField = new MyTextFieldWithBrowseButton(ClonePathProvider.defaultParentDirectoryPath(myProject, getRememberedInputs())); myDirectoryField.addBrowseFolderListener(DvcsBundle.message("clone.destination.directory.browser.title"), DvcsBundle.message("clone.destination.directory.browser.description"), myProject, fcd); if (defaultUrl != null) { myRepositoryUrlField.setText(defaultUrl); myRepositoryUrlField.selectAll(); myTestButton.setEnabled(true); } }