Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Rennie2009-11-30 20:31:56 +0000
committerMichael Rennie2009-11-30 20:31:56 +0000
commitcb9aca189d297be5daf45960bf9bc29527687b33 (patch)
tree8072a489171a36c7281c163a852a4b81737d67d3 /org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup
parent975bc2b41858c6399869a045674d3fb51cbb3991 (diff)
downloadeclipse.platform.debug-cb9aca189d297be5daf45960bf9bc29527687b33.tar.gz
eclipse.platform.debug-cb9aca189d297be5daf45960bf9bc29527687b33.tar.xz
eclipse.platform.debug-cb9aca189d297be5daf45960bf9bc29527687b33.zip
Bug 296462 - Java source lookup dialog eagerly dismisses itself
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java28
1 files changed, 19 insertions, 9 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
index f5e49f312..3075dbd16 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/sourcelookup/AddSourceContainerDialog.java
@@ -31,6 +31,7 @@ import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.swt.SWT;
@@ -90,8 +91,7 @@ public class AddSourceContainerDialog extends TitleAreaDialog {
fViewer.addDoubleClickListener(new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent event) {
- ISourceContainerType type = (ISourceContainerType) ((IStructuredSelection) event.getSelection()).getFirstElement();
- addEntries(type);
+ okPressed();
}
});
@@ -104,8 +104,10 @@ public class AddSourceContainerDialog extends TitleAreaDialog {
if (!selection.isEmpty()) {
ISourceContainerType type = (ISourceContainerType) ((IStructuredSelection)selection).getFirstElement();
setMessage(type.getDescription());
+ getButton(IDialogConstants.OK_ID).setEnabled(true);
}
else {
+ getButton(IDialogConstants.OK_ID).setEnabled(false);
setMessage(SourceLookupUIMessages.AddSourceContainerDialog_select_source_container);
}
}
@@ -117,29 +119,37 @@ public class AddSourceContainerDialog extends TitleAreaDialog {
PlatformUI.getWorkbench().getHelpSystem().setHelp(getShell(), IDebugHelpContextIds.ADD_SOURCE_CONTAINER_DIALOG);
return comp;
}
-
+
/* (non-Javadoc)
* @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
*/
protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
+ super.createButtonsForButtonBar(parent);
+ Table table = fViewer.getTable();
+ if(table.getItemCount() > 0) {
+ fViewer.setSelection(new StructuredSelection(table.getItem(0).getData()));
+ }
}
- /**
- * Delegate method to add created entries to the backing source container viewer
- * @param type
- * @since 3.6
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#okPressed()
*/
- void addEntries(ISourceContainerType type) {
+ protected void okPressed() {
+ ISourceContainerType type = (ISourceContainerType) ((IStructuredSelection) fViewer.getSelection()).getFirstElement();
if (type != null) {
ISourceContainerBrowser browser = DebugUITools.getSourceContainerBrowser(type.getId());
if (browser != null) {
ISourceContainer[] results = browser.addSourceContainers(getShell(), fDirector);
if (results != null && results.length > 0) {
fSourceContainerViewer.addEntries(results);
+ super.okPressed();
+ }
+ else {
+ return;
}
}
}
+ super.okPressed();
}
/**

Back to the top