diff options
author | Igor Fedorenko | 2013-10-02 03:17:28 +0000 |
---|---|---|
committer | Igor Fedorenko | 2013-10-02 03:17:28 +0000 |
commit | 51cad437f6dcaf9330cfe215038bcd6edc0ff368 (patch) | |
tree | 1a85593ed3b90982b0ea0260826a2be30f917850 | |
parent | a173ad1ef4bd36a421e5e6f1baa4122c53e427d4 (diff) | |
download | m2e-core-51cad437f6dcaf9330cfe215038bcd6edc0ff368.tar.gz m2e-core-51cad437f6dcaf9330cfe215038bcd6edc0ff368.tar.xz m2e-core-51cad437f6dcaf9330cfe215038bcd6edc0ff368.zip |
408042 editable working set name, other fixesmilestones/1.5/1.5.0.20131002-0330
Import working set name is now Text control and can be changed
by the user.
Create working set is automatically enabled when importing
single multi-module project and disabled in other cases.
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
3 files changed, 42 insertions, 29 deletions
diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/messages.properties b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/messages.properties index 746947e0..dca7ef29 100644 --- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/messages.properties +++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/messages.properties @@ -1,5 +1,5 @@ #Eclipse modern messages class -#Wed Sep 18 00:49:07 EDT 2013 +#Tue Oct 01 21:35:50 EDT 2013 AddDependencyAction_error_msg=Can't add dependency to {0} AddDependencyAction_error_title=Add Dependency AddDependencyAction_searchDialog_title=Add Dependency @@ -117,9 +117,9 @@ MavenGoalSelectionDialog_btnQualified=Use &Qualified Name MavenGoalSelectionDialog_error=Should select at least one goal MavenGoalSelectionDialog_lblSelect=&Select Goal\: MavenGoalSelectionDialog_message=Select goal\: -MavenImportWizardPage_createWorkingSet=Create working set based on root project name ({0}) MavenImportWizardPage_btnDeselectTree_text=Deselect Tree MavenImportWizardPage_btnSelectTree_text=Select Tree +MavenImportWizardPage_createWorkingSet=Add project(s) to working set MavenImportWizardPage_desc=Select Maven projects MavenImportWizardPage_inherited=[inherited] MavenImportWizardPage_mntmDeselectTree_text=Deselect Tree diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java index e3d9399b..8b2429b4 100644 --- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java +++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizard.java @@ -87,7 +87,7 @@ public class MavenImportWizard extends AbstractMavenProjectWizard implements IIm if(!initialized) { init(null, null); } - page = new MavenImportWizardPage(importConfiguration, workingSets); + page = new MavenImportWizardPage(importConfiguration); page.setLocations(locations); page.setShowLocation(showLocation); page.setBasedirRemameRequired(basedirRemameRequired); @@ -95,21 +95,15 @@ public class MavenImportWizard extends AbstractMavenProjectWizard implements IIm } - private String getRootProjectName() { - MavenProjectInfo rootProject = page.getRootProject(); - return rootProject != null ? importConfiguration.getProjectName(rootProject.getModel()) : null; - } - public boolean performFinish() { //mkleint: this sounds wrong. if(!page.isPageComplete()) { return false; } - String workingSetName = getRootProjectName(); - Collection<MavenProjectInfo> projects = getProjects(); - if(page.shouldCreateWorkingSetForRoot() && !projects.isEmpty() && workingSetName != null) { + if(page.shouldCreateWorkingSet() && !projects.isEmpty()) { + String workingSetName = page.getWorkingSetName(); IWorkingSetManager wsm = PlatformUI.getWorkbench().getWorkingSetManager(); IWorkingSet workingSet = wsm.getWorkingSet(workingSetName); if(workingSet == null) { diff --git a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizardPage.java b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizardPage.java index 2c6c46d3..e13ea245 100644 --- a/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizardPage.java +++ b/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/wizards/MavenImportWizardPage.java @@ -63,8 +63,8 @@ import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; +import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.Tree; -import org.eclipse.ui.IWorkingSet; import org.apache.maven.model.Model; import org.apache.maven.model.Parent; @@ -100,8 +100,6 @@ public class MavenImportWizardPage extends AbstractMavenWizardPage { private boolean basedirRemameRequired = false; - private final List<IWorkingSet> workingSets; - private String rootDirectory; private String loadingErrorMessage; @@ -110,13 +108,12 @@ public class MavenImportWizardPage extends AbstractMavenWizardPage { private Button btnDeselectTree; - protected boolean createDefaultWorkingSet = true; - private Button createWorkingSet; - protected MavenImportWizardPage(ProjectImportConfiguration importConfiguration, List<IWorkingSet> workingSets) { + private Text workingSetName; + + public MavenImportWizardPage(ProjectImportConfiguration importConfiguration) { super("MavenProjectImportWizardPage", importConfiguration); //$NON-NLS-1$ - this.workingSets = workingSets; setTitle(org.eclipse.m2e.core.ui.internal.Messages.MavenImportWizardPage_title); setDescription(org.eclipse.m2e.core.ui.internal.Messages.MavenImportWizardPage_desc); setPageComplete(false); @@ -375,15 +372,24 @@ public class MavenImportWizardPage extends AbstractMavenWizardPage { }); createWorkingSet = new Button(composite, SWT.CHECK); - createWorkingSet.setText(NLS.bind(Messages.MavenImportWizardPage_createWorkingSet, "")); //$NON-NLS-2$ + createWorkingSet.setText(Messages.MavenImportWizardPage_createWorkingSet); createWorkingSet.setSelection(true); createWorkingSet.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 3, 1)); createWorkingSet.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { - createDefaultWorkingSet = ((Button) e.widget).getSelection(); + boolean enabled = createWorkingSet.getSelection(); + workingSetName.setEnabled(enabled); + if(enabled) { + workingSetName.setFocus(); + } } }); + workingSetName = new Text(composite, SWT.BORDER); + GridData gd_workingSet = new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1); + gd_workingSet.horizontalIndent = 20; + workingSetName.setLayoutData(gd_workingSet); + createAdvancedSettings(composite, new GridData(SWT.FILL, SWT.TOP, false, false, 3, 1)); resolverConfigurationComponent.template.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent arg0) { @@ -411,7 +417,7 @@ public class MavenImportWizardPage extends AbstractMavenWizardPage { super.dispose(); } - protected void scanProjects() { + public void scanProjects() { final AbstractProjectScanner<MavenProjectInfo> projectScanner = getProjectScanner(); try { getWizard().getContainer().run(true, true, new IRunnableWithProgress() { @@ -431,7 +437,8 @@ public class MavenImportWizardPage extends AbstractMavenWizardPage { }); - projectTreeViewer.setInput(projectScanner.getProjects()); + List<MavenProjectInfo> projects = projectScanner.getProjects(); + projectTreeViewer.setInput(projects); projectTreeViewer.expandAll(); // projectTreeViewer.setAllChecked(true); setAllChecked(true); @@ -441,13 +448,21 @@ public class MavenImportWizardPage extends AbstractMavenWizardPage { loadingErrorMessage = null; // update name of working set - MavenProjectInfo rootProject = getRootProject(); + MavenProjectInfo rootProject = null; + if(projects != null && projects.size() == 1) { + rootProject = projects.get(0); + } if(rootProject != null) { - createWorkingSet.setText(NLS.bind(Messages.MavenImportWizardPage_createWorkingSet, getImportConfiguration() - .getProjectName(rootProject.getModel()))); - createWorkingSet.pack(); + workingSetName.setText(getImportConfiguration().getProjectName(rootProject.getModel())); + } else { + workingSetName.setText(""); //$NON-NLS-1$ + } + if(rootProject != null && !rootProject.getProjects().isEmpty()) { + createWorkingSet.setSelection(true); + workingSetName.setEnabled(true); } else { - createWorkingSet.setText(NLS.bind(Messages.MavenImportWizardPage_createWorkingSet, "")); + createWorkingSet.setSelection(false); + workingSetName.setEnabled(false); } //mkleint: XXX this sort of error handling is rather unfortunate @@ -571,8 +586,12 @@ public class MavenImportWizardPage extends AbstractMavenWizardPage { return false; } - boolean shouldCreateWorkingSetForRoot() { - return createDefaultWorkingSet; + public boolean shouldCreateWorkingSet() { + return createWorkingSet.getSelection(); + } + + public String getWorkingSetName() { + return workingSetName.getText(); } protected AbstractProjectScanner<MavenProjectInfo> getProjectScanner() { |