From d5cde67b7aaa437e7d6eec771907c4e75f0a442f Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Thu, 31 Jul 2014 18:55:55 +0400 Subject: [PATCH] added PY-13384 Create New Project: update depending on location fields on changing location --- .../actions/AbstractProjectSettingsStep.java | 17 ++++++++++++++++- .../newProject/PythonProjectGenerator.java | 2 ++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/python/ide/src/com/jetbrains/python/newProject/actions/AbstractProjectSettingsStep.java b/python/ide/src/com/jetbrains/python/newProject/actions/AbstractProjectSettingsStep.java index 1df20ac37024..9e841a4369f3 100644 --- a/python/ide/src/com/jetbrains/python/newProject/actions/AbstractProjectSettingsStep.java +++ b/python/ide/src/com/jetbrains/python/newProject/actions/AbstractProjectSettingsStep.java @@ -155,7 +155,22 @@ abstract public class AbstractProjectSettingsStep extends AbstractActionWithPane final FileChooserDescriptor descriptor = FileChooserDescriptorFactory.createSingleFolderDescriptor(); myLocationField.addBrowseFolderListener("Select base directory", "Select base directory for the Project", null, descriptor); - + myLocationField.getTextField().getDocument().addDocumentListener(new DocumentAdapter() { + @Override + protected void textChanged(DocumentEvent e) { + if (myProjectGenerator instanceof PythonProjectGenerator) { + String path = myLocationField.getText().trim(); + if (path.endsWith(File.separator)) { + path = path.substring(0, path.length() - File.separator.length()); + } + int ind = path.lastIndexOf(File.separator); + if (ind != -1) { + String projectName = path.substring(ind + 1, path.length()); + ((PythonProjectGenerator)myProjectGenerator).locationChanged(projectName); + } + } + } + }); final JLabel locationLabel = new JLabel("Location:"); c.gridx = 0; c.gridy = 0; diff --git a/python/openapi/src/com/jetbrains/python/newProject/PythonProjectGenerator.java b/python/openapi/src/com/jetbrains/python/newProject/PythonProjectGenerator.java index 5577959178ce..1432e468f3e8 100644 --- a/python/openapi/src/com/jetbrains/python/newProject/PythonProjectGenerator.java +++ b/python/openapi/src/com/jetbrains/python/newProject/PythonProjectGenerator.java @@ -31,6 +31,8 @@ public abstract class PythonProjectGenerator { myListeners.add(listener); } + public void locationChanged(@NotNull final String newLocation) {} + public interface SettingsListener { void stateChanged(); }