Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.ui.editors')
-rw-r--r--org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationAction.java30
-rw-r--r--org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationHandler.java30
-rw-r--r--org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileDocumentProvider.java15
3 files changed, 44 insertions, 31 deletions
diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationAction.java b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationAction.java
index 47d1a874403..0efd803137f 100644
--- a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationAction.java
+++ b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationAction.java
@@ -24,7 +24,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.core.resources.IFile;
@@ -172,19 +172,23 @@ public class FileBufferOperationAction extends Action implements IWorkbenchWindo
try {
int ticks= 100;
- SubMonitor subMonitor= SubMonitor.convert(monitor, fFileBufferOperation.getOperationName(), ticks);
- IPath[] locations;
- if (files != null) {
- ticks-= 30;
- locations= generateLocations(files, subMonitor.newChild(30));
- } else
- locations= new IPath[] { location };
-
- if (locations != null && locations.length > 0) {
- FileBufferOperationRunner runner= new FileBufferOperationRunner(FileBuffers.getTextFileBufferManager(), getShell());
- runner.execute(locations, fileBufferOperation, subMonitor.newChild(ticks));
+ monitor.beginTask(fFileBufferOperation.getOperationName(), ticks);
+ try {
+ IPath[] locations;
+ if (files != null) {
+ ticks -= 30;
+ locations= generateLocations(files, new SubProgressMonitor(monitor, 30));
+ } else
+ locations= new IPath[] { location };
+
+ if (locations != null && locations.length > 0) {
+ FileBufferOperationRunner runner= new FileBufferOperationRunner(FileBuffers.getTextFileBufferManager(), getShell());
+ runner.execute(locations, fileBufferOperation, new SubProgressMonitor(monitor, ticks));
+ }
+ status= Status.OK_STATUS;
+ } finally {
+ monitor.done();
}
- status= Status.OK_STATUS;
} catch (OperationCanceledException e) {
status= new Status(IStatus.CANCEL, EditorsUI.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$
diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationHandler.java b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationHandler.java
index f9da142aa4b..63ee227c408 100644
--- a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationHandler.java
+++ b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileBufferOperationHandler.java
@@ -28,7 +28,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.core.resources.IFile;
@@ -195,19 +195,23 @@ public class FileBufferOperationHandler extends AbstractHandler {
try {
int ticks= 100;
- SubMonitor subMonitor= SubMonitor.convert(monitor, fFileBufferOperation.getOperationName(), ticks);
- IPath[] locations;
- if (files != null) {
- ticks-= 30;
- locations= generateLocations(files, subMonitor.newChild(30));
- } else
- locations= new IPath[] { location };
-
- if (locations != null && locations.length > 0) {
- FileBufferOperationRunner runner= new FileBufferOperationRunner(FileBuffers.getTextFileBufferManager(), getShell());
- runner.execute(locations, fileBufferOperation, subMonitor.newChild(ticks));
+ monitor.beginTask(fFileBufferOperation.getOperationName(), ticks);
+ try {
+ IPath[] locations;
+ if (files != null) {
+ ticks -= 30;
+ locations= generateLocations(files, new SubProgressMonitor(monitor, 30));
+ } else
+ locations= new IPath[] { location };
+
+ if (locations != null && locations.length > 0) {
+ FileBufferOperationRunner runner= new FileBufferOperationRunner(FileBuffers.getTextFileBufferManager(), getShell());
+ runner.execute(locations, fileBufferOperation, new SubProgressMonitor(monitor, ticks));
+ }
+ status= Status.OK_STATUS;
+ } finally {
+ monitor.done();
}
- status= Status.OK_STATUS;
} catch (OperationCanceledException e) {
status= new Status(IStatus.CANCEL, EditorsUI.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$
diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileDocumentProvider.java b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileDocumentProvider.java
index cbf28075663..61e86952eab 100644
--- a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileDocumentProvider.java
+++ b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/FileDocumentProvider.java
@@ -37,7 +37,7 @@ import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.QualifiedName;
import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.core.runtime.content.IContentDescription;
import org.eclipse.core.runtime.content.IContentType;
import org.eclipse.core.runtime.jobs.ISchedulingRule;
@@ -639,10 +639,15 @@ public class FileDocumentProvider extends StorageDocumentProvider {
}
} else {
- SubMonitor subMonitor= SubMonitor.convert(monitor, TextEditorMessages.FileDocumentProvider_task_saving, 2);
- ContainerCreator creator= new ContainerCreator(file.getWorkspace(), file.getParent().getFullPath());
- creator.createContainer(subMonitor.newChild(1));
- file.create(stream, false, subMonitor.newChild(1));
+ try {
+ monitor.beginTask(TextEditorMessages.FileDocumentProvider_task_saving, 2000);
+ ContainerCreator creator = new ContainerCreator(file.getWorkspace(), file.getParent().getFullPath());
+ creator.createContainer(new SubProgressMonitor(monitor, 1000));
+ file.create(stream, false, new SubProgressMonitor(monitor, 1000));
+ }
+ finally {
+ monitor.done();
+ }
}
} else {

Back to the top