cdt/cdt_5_0_x/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/executables/ExecutablesView.java
changeset 14 c50c3d06898c
parent 0 0e6d23e2b466
child 17 09ccf47b690d
--- a/cdt/cdt_5_0_x/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/executables/ExecutablesView.java	Wed May 20 15:37:54 2009 -0500
+++ b/cdt/cdt_5_0_x/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/executables/ExecutablesView.java	Mon Jun 01 19:15:36 2009 -0500
@@ -271,6 +271,10 @@
 			public void selectionChanged(SelectionChangedEvent event) {
 				ISelection newSelection = event.getSelection();
 				if (newSelection instanceof IStructuredSelection) {
+					
+					// update the remove action
+					removeAction.setEnabled(!newSelection.isEmpty());
+					
 					final Object firstElement = ((IStructuredSelection) newSelection).getFirstElement();
 					
 					Job setectExeJob = new Job(Messages.ExecutablesView_Select_Executable) {
@@ -281,20 +285,19 @@
 								Executable executable = (Executable)firstElement;
 								this.setName(Messages.ExecutablesView_Finding_Sources_Job_Name + executable.getName());
 								executable.getSourceFiles(monitor);
-							}
-							UIJob selectExeUIJob = new UIJob(Messages.ExecutablesView_Select_Executable){
-								@Override
-								public IStatus runInUIThread(IProgressMonitor monitor) {
-									sourceFilesViewer.setInput(firstElement);
-									if (firstElement instanceof Executable) {
+
+								UIJob selectExeUIJob = new UIJob(Messages.ExecutablesView_Select_Executable){
+									@Override
+									public IStatus runInUIThread(IProgressMonitor monitor) {
+										sourceFilesViewer.setInput(firstElement);
 										sourceFilesViewer.packColumns();
-									}
-									return Status.OK_STATUS;
-								}};
+										return Status.OK_STATUS;
+									}};
 								selectExeUIJob.schedule();								
-								return Status.OK_STATUS;
+							}
+							return Status.OK_STATUS;
 						}};
-						setectExeJob.schedule();
+					setectExeJob.schedule();
 				}
 			}
 		});
@@ -360,6 +363,7 @@
 
 	private Action createRemoveAction() {
 		Action action = new Action("Remove") {
+			
 			public void run() {				
 				ISelection selection = getExecutablesViewer().getSelection();
 				if (selection instanceof IStructuredSelection)
@@ -404,7 +408,7 @@
 		action.setToolTipText("Remove the selected executables");
 		action.setImageDescriptor(ExecutablesView.DESC_REMOVE);
 		action.setDisabledImageDescriptor(ExecutablesView.DESC_REMOVE_DISABLED);
-		action.setEnabled(true);
+		action.setEnabled(false);
 		return action;
 	}
 
@@ -460,7 +464,7 @@
 	private Action createRefreshAction() {
 		Action action = new Action(Messages.ExecutablesView_Refresh) {
 			public void run() {
-				ExecutablesManager.getExecutablesManager().scheduleRefresh(null, 0);
+				ExecutablesManager.getExecutablesManager().refresh(null);
 			}
 		};
 		action.setToolTipText(Messages.ExecutablesView_RefreshList);