Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspingel2009-08-10 23:42:07 +0000
committerspingel2009-08-10 23:42:07 +0000
commit52f1bd6d79fd6821984647a72e748943a882c89b (patch)
tree9eaf406726d767d5c8ac6953f4e5154fb6320661 /org.eclipse.mylyn.tasks.bugs
parent9de1c251be2fd67b911bf96c06439f09a7a5088e (diff)
downloadorg.eclipse.mylyn.tasks-52f1bd6d79fd6821984647a72e748943a882c89b.tar.gz
org.eclipse.mylyn.tasks-52f1bd6d79fd6821984647a72e748943a882c89b.tar.xz
org.eclipse.mylyn.tasks-52f1bd6d79fd6821984647a72e748943a882c89b.zip
NEW - bug 278913: support double click on "support provider" and "supported product"
https://bugs.eclipse.org/bugs/show_bug.cgi?id=278913
Diffstat (limited to 'org.eclipse.mylyn.tasks.bugs')
-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/SelectSupportElementPage.java24
2 files changed, 31 insertions, 7 deletions
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 d484f1275..df216b7d3 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
@@ -88,6 +88,8 @@ public class ReportBugOrEnhancementWizard extends Wizard {
}
+ private SupportContentProvider contentProvider;
+
public ReportBugOrEnhancementWizard() {
setForcePreviousAndNextButtons(true);
setNeedsProgressMonitor(true);
@@ -97,7 +99,8 @@ public class ReportBugOrEnhancementWizard extends Wizard {
@Override
public void addPages() {
- SelectSupportElementPage page = new SelectSupportElementPage("selectProvider", new SupportContentProvider()); //$NON-NLS-1$
+ contentProvider = new SupportContentProvider();
+ SelectSupportElementPage page = new SelectSupportElementPage("selectProvider", contentProvider); //$NON-NLS-1$
page.setInput(new Object());
addPage(page);
}
@@ -110,7 +113,14 @@ public class ReportBugOrEnhancementWizard extends Wizard {
public AbstractSupportElement getSelectedElement() {
IWizardPage page = getContainer().getCurrentPage();
if (page != null) {
- return ((SelectSupportElementPage) page).getSelectedElement();
+ AbstractSupportElement element = ((SelectSupportElementPage) page).getSelectedElement();
+ if (!(element instanceof SupportProduct)) {
+ Object[] elements = contentProvider.getElements(element);
+ if (elements.length == 1) {
+ return (AbstractSupportElement) elements[0];
+ }
+ }
+ return element;
}
return null;
}
diff --git a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/SelectSupportElementPage.java b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/SelectSupportElementPage.java
index 3836760a7..3a160fb82 100644
--- a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/SelectSupportElementPage.java
+++ b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/wizards/SelectSupportElementPage.java
@@ -23,6 +23,7 @@ import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.OpenEvent;
import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerSorter;
import org.eclipse.jface.wizard.IWizardPage;
@@ -195,7 +196,7 @@ public class SelectSupportElementPage extends WizardPage {
}
iconLabel.setImage(image);
titleLabel.setText(data.getName());
- descriptionLabel.setText(data.getDescription());
+ descriptionLabel.setText((data.getDescription() != null) ? data.getDescription(): "");
toolBarManager.removeAll();
final String url = data.getUrl();
@@ -321,8 +322,15 @@ public class SelectSupportElementPage extends WizardPage {
});
viewer.addOpenListener(new IOpenListener() {
public void open(OpenEvent event) {
- if (getWizard().performFinish()) {
- ((WizardDialog) getContainer()).close();
+ if (getWizard().canFinish()) {
+ if (getWizard().performFinish()) {
+ ((WizardDialog) getContainer()).close();
+ }
+ } else {
+ IWizardPage nextPage = getNextPage();
+ if (nextPage != null) {
+ ((WizardDialog) getContainer()).showPage(nextPage);
+ }
}
}
});
@@ -356,7 +364,13 @@ public class SelectSupportElementPage extends WizardPage {
});
viewer.setInput(input);
- setPageComplete(false);
+ Object[] elements = contentProvider.getElements(input);
+ if (elements.length == 1) {
+ viewer.setSelection(new StructuredSelection(elements[0]));
+ } else {
+ setPageComplete(false);
+ }
+
setControl(container);
Dialog.applyDialogFont(container);
}
@@ -399,6 +413,6 @@ public class SelectSupportElementPage extends WizardPage {
page.setWizard(getWizard());
return page;
}
- return null;
+ return super.getNextPage();
}
} \ No newline at end of file

Back to the top