tmf: Update copyright headers in tmf.ui
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / internal / tmf / ui / project / handlers / DeleteTraceSupplementaryFilesHandler.java
index 2e3a567863051595d34fcf9c214daa44922f5328..f064bb20a62d8ea8566838da95481db51aec145d 100644 (file)
@@ -1,11 +1,11 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2010, 2011 Ericsson
- * 
+ * Copyright (c) 2009, 2013 Ericsson
+ *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
  * accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *   Francois Chouinard - Initial API and implementation
  *******************************************************************************/
@@ -17,12 +17,12 @@ import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionProvider;
 import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.TmfUiPlugin;
+import org.eclipse.jface.window.Window;
+import org.eclipse.linuxtools.internal.tmf.ui.Activator;
+import org.eclipse.linuxtools.internal.tmf.ui.project.dialogs.SelectSupplementaryResourcesDialog;
 import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchPart;
@@ -45,16 +45,21 @@ public class DeleteTraceSupplementaryFilesHandler extends AbstractHandler {
 
         // Check if we are closing down
         IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-        if (window == null)
+        if (window == null) {
             return null;
+        }
 
         // Get the selection
         IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
         IWorkbenchPart part = page.getActivePart();
+        if (part == null) {
+            return false;
+        }
         ISelectionProvider selectionProvider = part.getSite().getSelectionProvider();
         if (selectionProvider == null) {
             return false;
         }
+
         ISelection selection = selectionProvider.getSelection();
 
         // Make sure there is only selection and that it is an experiment
@@ -66,16 +71,25 @@ public class DeleteTraceSupplementaryFilesHandler extends AbstractHandler {
                 TmfTraceElement trace = (TmfTraceElement) element;
                 // If trace is under an experiment, use the original trace from the traces folder
                 trace = trace.getElementUnderTraceFolder();
-                trace.deleteSupplementaryFiles();
-                // Refresh folder
-                IResource resource = trace.getParent().getResource();
+
+                // Delete the selected resources
+                IResource[] resources = trace.getSupplementaryResources();
+
+                SelectSupplementaryResourcesDialog dialog = new SelectSupplementaryResourcesDialog(window.getShell(), resources);
+                if (dialog.open() != Window.OK) {
+                    return null;
+                }
+
+                trace.deleteSupplementaryResources(dialog.getResources());
+
+                // Refresh project
+                IResource resource = trace.getProject().getResource();
+
                 if (resource != null) {
                     try {
-                        if (resource != null) {
-                            resource.refreshLocal(IResource.DEPTH_INFINITE, null);
-                        }
+                        resource.refreshLocal(IResource.DEPTH_INFINITE, null);
                     } catch (CoreException e) {
-                        TmfUiPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, TmfUiPlugin.PLUGIN_ID, "Error refreshing resource " + resource, e)); //$NON-NLS-1$
+                        Activator.getDefault().logError("Error refreshing resource " + resource, e); //$NON-NLS-1$
                     }
                 }
             }
This page took 0.02577 seconds and 5 git commands to generate.