From be29e51590a4c76e77fb60cbc9a5fc29c0c72c81 Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 27 Jan 2010 21:53:28 +0300 Subject: [PATCH] NPE --- .../copy/CopyFilesOrDirectoriesDialog.java | 19 ++++++++----------- .../MoveFilesOrDirectoriesDialog.java | 15 +++++++-------- .../src/com/intellij/ui/EditorComboBox.java | 10 ++++++++++ 3 files changed, 25 insertions(+), 19 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 de118d9d21..7efcab47e4 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesDialog.java +++ b/platform/lang-impl/src/com/intellij/refactoring/copy/CopyFilesOrDirectoriesDialog.java @@ -22,16 +22,14 @@ import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.*; +import com.intellij.openapi.ui.DialogWrapper; +import com.intellij.openapi.ui.Messages; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; import com.intellij.refactoring.RefactoringBundle; -import com.intellij.ui.DocumentAdapter; -import com.intellij.ui.EditorComboWithBrowseButton; -import com.intellij.ui.IdeBorderFactory; -import com.intellij.ui.RecentsManager; +import com.intellij.ui.*; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NonNls; @@ -147,13 +145,12 @@ class CopyFilesOrDirectoriesDialog extends DialogWrapper{ if (myShowDirectoryField) { panel.add(new JLabel(RefactoringBundle.message("copy.files.to.directory.label")), new GridBagConstraints(0,1,1,1,0,0,GridBagConstraints.WEST,GridBagConstraints.HORIZONTAL,new Insets(4,8,4,8),0,0)); - final ComponentWithBrowseButton.BrowseFolderActionListener browseActionListener = - new ComponentWithBrowseButton.BrowseFolderActionListener(RefactoringBundle.message("select.target.directory"), - RefactoringBundle.message("the.file.will.be.copied.to.this.directory"), - null, myProject, FileChooserDescriptorFactory.createSingleFolderDescriptor(), - TextComponentAccessor.STRING_COMBOBOX_WHOLE_TEXT); - myTargetDirectoryField = new EditorComboWithBrowseButton(browseActionListener, "", myProject, + myTargetDirectoryField = new EditorComboWithBrowseButton(null, "", myProject, RECENT_KEYS); + myTargetDirectoryField.addBrowseFolderListener(RefactoringBundle.message("select.target.directory"), + RefactoringBundle.message("the.file.will.be.copied.to.this.directory"), + myProject, FileChooserDescriptorFactory.createSingleFolderDescriptor(), + EditorComboBox.COMPONENT_ACCESSOR); myTargetDirectoryField.setTextFieldPreferredWidth(60); panel.add(myTargetDirectoryField, new GridBagConstraints(1,1,1,1,1,0,GridBagConstraints.WEST,GridBagConstraints.HORIZONTAL,new Insets(4,0,4,8),0,0)); diff --git a/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesDialog.java b/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesDialog.java index 3fe59552f9..4906d0a854 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesDialog.java +++ b/platform/lang-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/MoveFilesOrDirectoriesDialog.java @@ -24,9 +24,7 @@ import com.intellij.openapi.editor.event.DocumentEvent; import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory; import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.ComponentWithBrowseButton; import com.intellij.openapi.ui.DialogWrapper; -import com.intellij.openapi.ui.TextComponentAccessor; import com.intellij.openapi.util.Disposer; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; @@ -34,6 +32,7 @@ import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.util.CommonRefactoringUtil; +import com.intellij.ui.EditorComboBox; import com.intellij.ui.EditorComboWithBrowseButton; import com.intellij.ui.IdeBorderFactory; import com.intellij.ui.RecentsManager; @@ -90,12 +89,12 @@ public class MoveFilesOrDirectoriesDialog extends DialogWrapper{ panel.add(new JLabel(RefactoringBundle.message("move.files.to.directory.label")), new GridBagConstraints(0,1,1,1,0,0,GridBagConstraints.WEST,GridBagConstraints.HORIZONTAL,new Insets(4,8,4,8),0,0)); - final ComponentWithBrowseButton.BrowseFolderActionListener browseActionListener = - new ComponentWithBrowseButton.BrowseFolderActionListener(RefactoringBundle.message("select.target.directory"), - RefactoringBundle.message("the.file.will.be.moved.to.this.directory"), null, - myProject, FileChooserDescriptorFactory.createSingleFolderDescriptor(), - TextComponentAccessor.STRING_COMBOBOX_WHOLE_TEXT); - myTargetDirectoryField = new EditorComboWithBrowseButton(browseActionListener, "", myProject, RECENT_KEYS); + myTargetDirectoryField = new EditorComboWithBrowseButton(null, "", myProject, RECENT_KEYS); + myTargetDirectoryField.addBrowseFolderListener(RefactoringBundle.message("select.target.directory"), + RefactoringBundle.message("the.file.will.be.moved.to.this.directory"), + myProject, + FileChooserDescriptorFactory.createSingleFolderDescriptor(), + EditorComboBox.COMPONENT_ACCESSOR); myTargetDirectoryField.setTextFieldPreferredWidth(60); panel.add(myTargetDirectoryField, new GridBagConstraints(1,1,1,1,1,0,GridBagConstraints.WEST,GridBagConstraints.HORIZONTAL,new Insets(4,0,4,8),0,0)); diff --git a/platform/platform-impl/src/com/intellij/ui/EditorComboBox.java b/platform/platform-impl/src/com/intellij/ui/EditorComboBox.java index 93c933a961..1d701013e7 100644 --- a/platform/platform-impl/src/com/intellij/ui/EditorComboBox.java +++ b/platform/platform-impl/src/com/intellij/ui/EditorComboBox.java @@ -28,6 +28,7 @@ import com.intellij.openapi.editor.ex.EditorEx; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.FileTypes; import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.TextComponentAccessor; import javax.swing.*; import java.awt.*; @@ -38,6 +39,15 @@ import java.util.ArrayList; * @author max */ public class EditorComboBox extends JComboBox implements DocumentListener { + public static TextComponentAccessor COMPONENT_ACCESSOR = new TextComponentAccessor() { + public String getText(EditorComboBox component) { + return component.getText(); + } + + public void setText(EditorComboBox component, String text) { + component.setText(text); + } + }; private static final Logger LOG = Logger.getInstance("#com.intellij.ui.EditorTextField"); private Document myDocument; -- 2.11.4.GIT