diff --git a/src/main/java/fr/adrienbrault/idea/symfony2plugin/SettingsForm.java b/src/main/java/fr/adrienbrault/idea/symfony2plugin/SettingsForm.java index f76a14a91..7eb5c1925 100644 --- a/src/main/java/fr/adrienbrault/idea/symfony2plugin/SettingsForm.java +++ b/src/main/java/fr/adrienbrault/idea/symfony2plugin/SettingsForm.java @@ -7,6 +7,7 @@ import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.TextBrowseFolderListener; import com.intellij.openapi.ui.TextFieldWithBrowseButton; import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; @@ -18,6 +19,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; +import java.awt.event.ActionEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; @@ -78,13 +80,13 @@ public String getHelpTopic() { } public JComponent createComponent() { - pathToTranslationRootTextField.getButton().addMouseListener(createPathButtonMouseListener(pathToTranslationRootTextField.getTextField(), FileChooserDescriptorFactory.createSingleFolderDescriptor())); + pathToTranslationRootTextField.addBrowseFolderListener(createBrowseFolderListener(pathToTranslationRootTextField.getTextField(), FileChooserDescriptorFactory.createSingleFolderDescriptor())); pathToTranslationRootTextFieldReset.addMouseListener(createResetPathButtonMouseListener(pathToTranslationRootTextField.getTextField(), Settings.DEFAULT_TRANSLATION_PATH)); - directoryToApp.getButton().addMouseListener(createPathButtonMouseListener(directoryToApp.getTextField(), FileChooserDescriptorFactory.createSingleFolderDescriptor())); + directoryToApp.addBrowseFolderListener(createBrowseFolderListener(directoryToApp.getTextField(), FileChooserDescriptorFactory.createSingleFolderDescriptor())); directoryToAppReset.addMouseListener(createResetPathButtonMouseListener(directoryToApp.getTextField(), Settings.DEFAULT_APP_DIRECTORY)); - directoryToWeb.getButton().addMouseListener(createPathButtonMouseListener(directoryToWeb.getTextField(), FileChooserDescriptorFactory.createSingleFolderDescriptor())); + directoryToWeb.addBrowseFolderListener(createBrowseFolderListener(directoryToWeb.getTextField(), FileChooserDescriptorFactory.createSingleFolderDescriptor())); directoryToWebReset.addMouseListener(createResetPathButtonMouseListener(directoryToWeb.getTextField(), Settings.DEFAULT_WEB_DIRECTORY)); enableSchedulerCheckBox.setEnabled(WebDeploymentUtil.isEnabled(project)); @@ -169,14 +171,10 @@ private void updateUIFromSettings() { directoryToWeb.setText(getSettings().directoryToWeb); } - private MouseListener createPathButtonMouseListener(final JTextField textField, final FileChooserDescriptor fileChooserDescriptor) { - return new MouseListener() { - @Override - public void mouseClicked(MouseEvent mouseEvent) { - } - + private TextBrowseFolderListener createBrowseFolderListener(final JTextField textField, final FileChooserDescriptor fileChooserDescriptor) { + return new TextBrowseFolderListener(fileChooserDescriptor) { @Override - public void mousePressed(MouseEvent mouseEvent) { + public void actionPerformed(ActionEvent e) { VirtualFile projectDirectory = project.getBaseDir(); VirtualFile selectedFile = FileChooser.chooseFile( fileChooserDescriptor, @@ -195,18 +193,6 @@ public void mousePressed(MouseEvent mouseEvent) { textField.setText(path); } - - @Override - public void mouseReleased(MouseEvent mouseEvent) { - } - - @Override - public void mouseEntered(MouseEvent mouseEvent) { - } - - @Override - public void mouseExited(MouseEvent mouseEvent) { - } }; } diff --git a/src/main/java/fr/adrienbrault/idea/symfony2plugin/profiler/ui/ProfilerSettingsDialog.java b/src/main/java/fr/adrienbrault/idea/symfony2plugin/profiler/ui/ProfilerSettingsDialog.java index da5d4d911..d093d467c 100644 --- a/src/main/java/fr/adrienbrault/idea/symfony2plugin/profiler/ui/ProfilerSettingsDialog.java +++ b/src/main/java/fr/adrienbrault/idea/symfony2plugin/profiler/ui/ProfilerSettingsDialog.java @@ -1,10 +1,12 @@ package fr.adrienbrault.idea.symfony2plugin.profiler.ui; import com.intellij.openapi.fileChooser.FileChooser; +import com.intellij.openapi.fileChooser.FileChooserDescriptor; import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.TextBrowseFolderListener; import com.intellij.openapi.ui.TextFieldWithBrowseButton; import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; @@ -14,6 +16,7 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; +import java.awt.event.ActionEvent; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; @@ -50,7 +53,8 @@ public String getHelpTopic() { @Nullable @Override public JComponent createComponent() { - textLocalProfilerCsvPath.getButton().addMouseListener(new MyMouseListener()); + textLocalProfilerCsvPath.addBrowseFolderListener(createBrowseFolderListener(textLocalProfilerCsvPath.getTextField(), FileChooserDescriptorFactory.createSingleFolderDescriptor())); + return mainPanel; } @@ -106,49 +110,35 @@ public void disposeUIResources() { } - private class MyMouseListener implements MouseListener { - @Override - public void mouseClicked(MouseEvent mouseEvent) { - } - - @Override - public void mousePressed(MouseEvent mouseEvent) { - VirtualFile projectDirectory = project.getBaseDir(); - - String text = textLocalProfilerCsvPath.getText(); - VirtualFile toSelect = VfsUtil.findRelativeFile(text, projectDirectory); - if(toSelect == null) { - toSelect = projectDirectory; - } - - VirtualFile selectedFile = FileChooser.chooseFile( - FileChooserDescriptorFactory.createSingleFileDescriptor("csv"), - project, - toSelect - ); - - if (null == selectedFile) { - return; - } - - String path = VfsUtil.getRelativePath(selectedFile, projectDirectory, '/'); - if (null == path) { - path = selectedFile.getPath(); + private TextBrowseFolderListener createBrowseFolderListener(final JTextField textField, final FileChooserDescriptor fileChooserDescriptor) { + return new TextBrowseFolderListener(fileChooserDescriptor) { + @Override + public void actionPerformed(ActionEvent e) { + VirtualFile projectDirectory = project.getBaseDir(); + + String text = textField.getText(); + VirtualFile toSelect = VfsUtil.findRelativeFile(text, projectDirectory); + if(toSelect == null) { + toSelect = projectDirectory; + } + + VirtualFile selectedFile = FileChooser.chooseFile( + FileChooserDescriptorFactory.createSingleFileDescriptor("csv"), + project, + toSelect + ); + + if (null == selectedFile) { + return; + } + + String path = VfsUtil.getRelativePath(selectedFile, projectDirectory, '/'); + if (null == path) { + path = selectedFile.getPath(); + } + + textField.setText(path); } - - textLocalProfilerCsvPath.setText(path); - } - - @Override - public void mouseReleased(MouseEvent mouseEvent) { - } - - @Override - public void mouseEntered(MouseEvent mouseEvent) { - } - - @Override - public void mouseExited(MouseEvent mouseEvent) { - } + }; } } diff --git a/src/main/java/fr/adrienbrault/idea/symfony2plugin/ui/TwigNamespaceDialog.java b/src/main/java/fr/adrienbrault/idea/symfony2plugin/ui/TwigNamespaceDialog.java index f049fb424..d7a4e6f13 100644 --- a/src/main/java/fr/adrienbrault/idea/symfony2plugin/ui/TwigNamespaceDialog.java +++ b/src/main/java/fr/adrienbrault/idea/symfony2plugin/ui/TwigNamespaceDialog.java @@ -4,6 +4,7 @@ import com.intellij.openapi.fileChooser.FileChooserDescriptor; import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory; import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.TextBrowseFolderListener; import com.intellij.openapi.ui.TextFieldWithBrowseButton; import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; @@ -58,7 +59,7 @@ public TwigNamespaceDialog(Project project, TableView tableView) { buttonCancel.addActionListener(e -> onCancel()); - namespacePath.getButton().addMouseListener(createPathButtonMouseListener(namespacePath.getTextField(), FileChooserDescriptorFactory.createSingleFolderDescriptor())); + namespacePath.addBrowseFolderListener(createBrowseFolderListener(namespacePath.getTextField(), FileChooserDescriptorFactory.createSingleFolderDescriptor())); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter() { @@ -112,19 +113,15 @@ private void onCancel() { dispose(); } - private MouseListener createPathButtonMouseListener(final JTextField textField, final FileChooserDescriptor fileChooserDescriptor) { - return new MouseListener() { + private TextBrowseFolderListener createBrowseFolderListener(final JTextField textField, final FileChooserDescriptor fileChooserDescriptor) { + return new TextBrowseFolderListener(fileChooserDescriptor) { @Override - public void mouseClicked(MouseEvent mouseEvent) { - } - - @Override - public void mousePressed(MouseEvent mouseEvent) { + public void actionPerformed(ActionEvent e) { VirtualFile projectDirectory = project.getBaseDir(); VirtualFile selectedFile = FileChooser.chooseFile( - fileChooserDescriptor, - project, - VfsUtil.findRelativeFile(textField.getText(), projectDirectory) + fileChooserDescriptor, + project, + VfsUtil.findRelativeFile(textField.getText(), projectDirectory) ); if (null == selectedFile) { @@ -138,22 +135,9 @@ public void mousePressed(MouseEvent mouseEvent) { textField.setText(path); } - - @Override - public void mouseReleased(MouseEvent mouseEvent) { - } - - @Override - public void mouseEntered(MouseEvent mouseEvent) { - } - - @Override - public void mouseExited(MouseEvent mouseEvent) { - } }; } - private class ChangeDocumentListener implements DocumentListener { @Override public void insertUpdate(DocumentEvent e) {