private boolean myImlLocationChangedByUser = false;
private boolean myImlLocationDocListenerEnabled = true;
+ private boolean myUpdatePathsWhenNameIsChanged;
+
public ModuleNameLocationComponent(@NotNull WizardContext wizardContext) {
myWizardContext = wizardContext;
}
});
myModuleName.getDocument().addDocumentListener(new DocumentAdapter() {
protected void textChanged(final DocumentEvent e) {
+ if (!myUpdatePathsWhenNameIsChanged) {
+ return;
+ }
+
if (myModuleNameDocListenerEnabled) {
myModuleNameChangedByUser = true;
}
}
}
});
+ myUpdatePathsWhenNameIsChanged = true;
if (myWizardContext.isCreatingNewProject()) {
setModuleName(namePathComponent.getNameValue());
setModuleContentRoot(namePathComponent.getPath());
moduleName =
ProjectWizardUtil.findNonExistingFileName(myWizardContext.getProjectFileDirectory(), myWizardContext.getProjectName(), "");
contentRoot = myWizardContext.getProjectFileDirectory();
+ myUpdatePathsWhenNameIsChanged = !myWizardContext.isProjectFileDirectorySetExplicitly();
}
setModuleName(moduleName);
setModuleContentRoot(contentRoot);
return true;
}
- protected String getModuleContentRoot() {
+ private String getModuleContentRoot() {
return myModuleContentRoot.getText();
}
private static WizardContext initContext(@Nullable Project project, @Nullable String defaultPath, Disposable parentDisposable) {
WizardContext context = new WizardContext(project, parentDisposable);
if (defaultPath != null) {
- context.setProjectFileDirectory(defaultPath);
+ context.setProjectFileDirectory(defaultPath, true);
context.setProjectName(defaultPath.substring(FileUtil.toSystemIndependentName(defaultPath).lastIndexOf("/") + 1));
}
return context;
private StorageScheme myProjectStorageFormat = StorageScheme.DIRECTORY_BASED;
private boolean myNewWizard;
private ModulesProvider myModulesProvider;
+ private boolean myProjectFileDirectorySetExplicitly;
public void setProjectStorageFormat(StorageScheme format) {
myProjectStorageFormat = format;
return myProjectFileDirectory != null;
}
+ public boolean isProjectFileDirectorySetExplicitly() {
+ return myProjectFileDirectorySetExplicitly;
+ }
+
public void setProjectFileDirectory(String projectFileDirectory) {
+ setProjectFileDirectory(projectFileDirectory, false);
+ }
+
+ public void setProjectFileDirectory(String projectFileDirectory, boolean explicitly) {
+ myProjectFileDirectorySetExplicitly = explicitly;
myProjectFileDirectory = projectFileDirectory;
}