From 5d877a889befe4e244646dc30d80d89897eafb0b Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 25 May 2016 13:17:25 +0200 Subject: [PATCH] copy: allow to reject file type association and do not open editor afterwards (IDEA-156511) --- .../copy/CopyFilesOrDirectoriesDialog.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesDialog.java b/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesDialog.java index 5ae5a67a0590..324398d16e85 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesDialog.java +++ b/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesDialog.java @@ -81,6 +81,8 @@ public class CopyFilesOrDirectoriesDialog extends DialogWrapper { private JLabel myInformationLabel; private TextFieldWithHistoryWithBrowseButton myTargetDirectoryField; private JCheckBox myOpenFilesInEditor = createOpenInEditorCB(); + private boolean myUnknownFileType = false; + private JTextField myNewNameField; private final PsiElement[] myElements; private final Project myProject; @@ -248,7 +250,9 @@ public class CopyFilesOrDirectoriesDialog extends DialogWrapper { } public boolean openInEditor() { - return myOpenFilesInEditor.isSelected(); + return myOpenFilesInEditor.isVisible() && + myOpenFilesInEditor.isSelected() && + !myUnknownFileType; } @Override @@ -266,12 +270,16 @@ public class CopyFilesOrDirectoriesDialog extends DialogWrapper { return; } - if (myFileCopy && FileTypeChooser.getKnownFileTypeOrAssociate(myTargetDirectory.getVirtualFile(), newName, myProject) == null) { - return; + if (myFileCopy) { + if (FileTypeChooser.getKnownFileTypeOrAssociate(myTargetDirectory.getVirtualFile(), newName, myProject) == null) { + myUnknownFileType = true; + } } } - saveOpenInEditorState(myOpenFilesInEditor.isSelected()); + if (myOpenFilesInEditor.isVisible()) { + saveOpenInEditorState(myOpenFilesInEditor.isSelected()); + } if (myShowDirectoryField) { final String targetDirectoryName = myTargetDirectoryField.getChildComponent().getText();