Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspingel2009-06-02 21:32:53 +0000
committerspingel2009-06-02 21:32:53 +0000
commit2cb7213a576610f0de96c2bdf322937e8268e6cd (patch)
tree3213c7861ac431295037d2ad8b2df7336b68e2ca /org.eclipse.mylyn.tasks.bugs
parentc9f032c37cfeb8dd6a946e574733c806b10609b4 (diff)
downloadorg.eclipse.mylyn.tasks-2cb7213a576610f0de96c2bdf322937e8268e6cd.tar.gz
org.eclipse.mylyn.tasks-2cb7213a576610f0de96c2bdf322937e8268e6cd.tar.xz
org.eclipse.mylyn.tasks-2cb7213a576610f0de96c2bdf322937e8268e6cd.zip
NEW - bug 278856: selecting a support repository in the report bug from error dialog doesnt always use the selected one
https://bugs.eclipse.org/bugs/show_bug.cgi?id=278856
Diffstat (limited to 'org.eclipse.mylyn.tasks.bugs')
-rw-r--r--org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/SupportCategory.java4
-rw-r--r--org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/Messages.java2
-rw-r--r--org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportBugOrEnhancementWizard.java14
-rw-r--r--org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportErrorPage.java16
-rw-r--r--org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/messages.properties1
5 files changed, 33 insertions, 4 deletions
diff --git a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/SupportCategory.java b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/SupportCategory.java
index 2028ff550..5f8f63491 100644
--- a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/SupportCategory.java
+++ b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/SupportCategory.java
@@ -12,6 +12,7 @@
package org.eclipse.mylyn.internal.tasks.bugs;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import org.eclipse.mylyn.internal.provisional.tasks.bugs.IProvider;
@@ -42,6 +43,9 @@ public class SupportCategory extends AbstractSupportElement {
}
public List<IProvider> getProviders() {
+ if (providers == null) {
+ return Collections.emptyList();
+ }
return new ArrayList<IProvider>(providers);
}
diff --git a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/Messages.java b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/Messages.java
index 874fdf446..b35e71cfd 100644
--- a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/Messages.java
+++ b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/Messages.java
@@ -33,6 +33,8 @@ public class Messages extends NLS {
public static String ReportErrorPage_Report_to;
+ public static String ReportErrorPage_Report_to_Label;
+
public static String ReportErrorPage_Select_repository;
public static String ReportErrorPage_AN_UNEXPETED_ERROR_HAS_OCCURED_IN_PLUGIN;
diff --git a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportBugOrEnhancementWizard.java b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportBugOrEnhancementWizard.java
index 46f8fc2d2..04bb8e74a 100644
--- a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportBugOrEnhancementWizard.java
+++ b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportBugOrEnhancementWizard.java
@@ -21,7 +21,9 @@ import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.mylyn.internal.provisional.tasks.bugs.IProduct;
+import org.eclipse.mylyn.internal.provisional.tasks.bugs.IProvider;
import org.eclipse.mylyn.internal.tasks.bugs.AbstractSupportElement;
+import org.eclipse.mylyn.internal.tasks.bugs.SupportCategory;
import org.eclipse.mylyn.internal.tasks.bugs.SupportProduct;
import org.eclipse.mylyn.internal.tasks.bugs.SupportProvider;
import org.eclipse.mylyn.internal.tasks.bugs.SupportProviderManager;
@@ -47,8 +49,16 @@ public class ReportBugOrEnhancementWizard extends Wizard {
return providerProducts.toArray();
} else if (input == inputElement) {
List<AbstractSupportElement> elements = new ArrayList<AbstractSupportElement>();
- elements.addAll(providerManager.getProviders());
- elements.addAll(providerManager.getCategories());
+ Collection<SupportCategory> categories = providerManager.getCategories();
+ for (SupportCategory category : categories) {
+ List<IProvider> providers = category.getProviders();
+ if (!providers.isEmpty()) {
+ elements.add(category);
+ for (IProvider provider : providers) {
+ elements.add((AbstractSupportElement) provider);
+ }
+ }
+ }
return elements.toArray();
} else {
return new Object[0];
diff --git a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportErrorPage.java b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportErrorPage.java
index 41bbd7632..85fa76d91 100644
--- a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportErrorPage.java
+++ b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/ReportErrorPage.java
@@ -94,14 +94,25 @@ public class ReportErrorPage extends WizardPage {
defaultRepositoryButton.setSelection(true);
selectedContribution = contributions.get(0);
if (contributions.size() == 1) {
- defaultRepositoryButton.setText(NLS.bind(Messages.ReportErrorPage_Report_to, getLabel(selectedContribution)));
+ defaultRepositoryButton.setText(NLS.bind(Messages.ReportErrorPage_Report_to,
+ getLabel(selectedContribution)));
GridDataFactory.fillDefaults().span(2, 1).applyTo(defaultRepositoryButton);
} else {
+ defaultRepositoryButton.setText(Messages.ReportErrorPage_Report_to_Label);
contributionCombo = new Combo(composite, SWT.READ_ONLY);
for (AttributeTaskMapper contribution : contributions) {
contributionCombo.add(getLabel(contribution));
}
contributionCombo.select(0);
+ contributionCombo.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ int selectionIndex = contributionCombo.getSelectionIndex();
+ if (selectionIndex != -1) {
+ selectedContribution = contributions.get(selectionIndex);
+ }
+ }
+ });
}
final Button selectRepositoryButton = new Button(composite, SWT.RADIO);
@@ -145,7 +156,8 @@ public class ReportErrorPage extends WizardPage {
private String getLabel(AttributeTaskMapper contribution) {
IProduct product = contribution.getProduct();
if (product.getName() != null) {
- return NLS.bind(Messages.ReportErrorPage_Xprovider_Xproduct, product.getProvider().getName(), product.getName());
+ return NLS.bind(Messages.ReportErrorPage_Xprovider_Xproduct, product.getProvider().getName(),
+ product.getName());
} else {
return product.getProvider().getName();
}
diff --git a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/messages.properties b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/messages.properties
index a9310a4f3..17e4df45c 100644
--- a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/messages.properties
+++ b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/messages.properties
@@ -3,6 +3,7 @@ ReportBugOrEnhancementWizard_Report_Bug_or_Enhancement=Report Bug or Enhancement
ReportErrorPage_Details=Details:
ReportErrorPage_Report_as_Bug=Report as Bug
ReportErrorPage_Report_to=Report to: {0}
+ReportErrorPage_Report_to_Label=Report to:
ReportErrorPage_Select_repository=Select repository
ReportErrorPage_AN_UNEXPETED_ERROR_HAS_OCCURED_IN_PLUGIN=An unexpected error has occured in plug-in {0}
ReportErrorPage_Xprovider_Xproduct={0} - {1}

Back to the top