Move: Disable "File name" field when switching to "Move to file" mode

This commit is contained in:
Alexey Sedunov
2015-06-18 17:50:17 +03:00
parent 77f2c5d5b9
commit 111a4a5cbc
@@ -71,6 +71,8 @@ import javax.swing.*;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File; import java.io.File;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@@ -206,6 +208,11 @@ public class MoveKotlinTopLevelDeclarationsDialog extends RefactoringDialog {
tfFileNameInPackage.setText(MovePackage.guessNewFileName(sourceFile, getSelectedElementsToMove())); tfFileNameInPackage.setText(MovePackage.guessNewFileName(sourceFile, getSelectedElementsToMove()));
} }
private void updateFileNameInPackageField() {
cbSpecifyFileNameInPackage.setEnabled(isMoveToPackage());
tfFileNameInPackage.setEnabled(isMoveToPackage() && cbSpecifyFileNameInPackage.isSelected());
}
private void initPackageChooser(String targetPackageName, PsiDirectory targetDirectory) { private void initPackageChooser(String targetPackageName, PsiDirectory targetDirectory) {
if (targetPackageName != null && targetPackageName.length() != 0) { if (targetPackageName != null && targetPackageName.length() != 0) {
classPackageChooser.prependItem(targetPackageName); classPackageChooser.prependItem(targetPackageName);
@@ -227,7 +234,7 @@ public class MoveKotlinTopLevelDeclarationsDialog extends RefactoringDialog {
new ActionListener() { new ActionListener() {
@Override @Override
public void actionPerformed(@NotNull ActionEvent e) { public void actionPerformed(@NotNull ActionEvent e) {
tfFileNameInPackage.setEnabled(cbSpecifyFileNameInPackage.isSelected()); updateFileNameInPackageField();
} }
} }
); );
@@ -307,6 +314,7 @@ public class MoveKotlinTopLevelDeclarationsDialog extends RefactoringDialog {
private void updateControls() { private void updateControls() {
boolean moveToPackage = isMoveToPackage(); boolean moveToPackage = isMoveToPackage();
classPackageChooser.setEnabled(moveToPackage); classPackageChooser.setEnabled(moveToPackage);
updateFileNameInPackageField();
fileChooser.setEnabled(!moveToPackage); fileChooser.setEnabled(!moveToPackage);
UIUtil.setEnabled(targetPanel, moveToPackage && hasAnySourceRoots(), true); UIUtil.setEnabled(targetPanel, moveToPackage && hasAnySourceRoots(), true);
updateSuggestedFileName(); updateSuggestedFileName();