From bc7c60cf5750fbd74ff754386428c6c1c4ae5084 Mon Sep 17 00:00:00 2001 From: Vassiliy Kudryashov Date: Tue, 15 Jan 2013 18:59:24 +0400 Subject: [PATCH] IDEA-91110 Open/Select File/Directory dialog should support paste-enter pattern --- .../openapi/fileChooser/ex/FileChooserDialogImpl.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileChooserDialogImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileChooserDialogImpl.java index aa14eb2ae1e7..2b313d131512 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileChooserDialogImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileChooser/ex/FileChooserDialogImpl.java @@ -208,6 +208,7 @@ public class FileChooserDialogImpl extends DialogWrapper implements FileChooserD FileChooserFactoryImpl.getMacroMap(), getDisposable(), new LocalFsFinder.FileChooserFilter(myChooserDescriptor, myFileSystemTree)) { protected void onTextChanged(final String newValue) { + myUiUpdater.cancelAllUpdates(); updateTreeFromPath(newValue); } }; @@ -357,6 +358,12 @@ public class FileChooserDialogImpl extends DialogWrapper implements FileChooserD } private VirtualFile[] getSelectedFilesInt() { + if (myTreeIsUpdating || !myUiUpdater.isEmpty()) { + if (!isTextFieldActive() || StringUtil.isEmpty(myPathTextField.getTextFieldText())) + return VirtualFile.EMPTY_ARRAY; + final LocalFsFinder.VfsFile toFind = (LocalFsFinder.VfsFile)myPathTextField.getFile(); + return toFind == null || !toFind.exists() ? VirtualFile.EMPTY_ARRAY : new VirtualFile[]{toFind.getFile()}; + } final List selectedFiles = Arrays.asList(myFileSystemTree.getSelectedFiles()); return VfsUtilCore.toVirtualFileArray(FileChooserUtil.getChosenFiles(myChooserDescriptor, selectedFiles)); }