Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java74
1 files changed, 50 insertions, 24 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java
index ca0a97c38..570c6058a 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttributePart.java
@@ -14,19 +14,18 @@ import java.util.Comparator;
import java.util.List;
import java.util.Map;
-import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages;
import org.eclipse.mylyn.internal.tasks.ui.views.UpdateRepositoryConfigurationAction;
-import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector;
-import org.eclipse.mylyn.tasks.core.AbstractTask;
-import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
import org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper;
import org.eclipse.mylyn.tasks.core.data.TaskAttributeProperties;
+import org.eclipse.mylyn.tasks.core.sync.TaskJob;
import org.eclipse.mylyn.tasks.ui.TasksUi;
import org.eclipse.mylyn.tasks.ui.editors.AbstractAttributeEditor;
import org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPart;
@@ -162,28 +161,55 @@ public class TaskEditorAttributePart extends AbstractTaskEditorPart {
protected void fillToolBar(ToolBarManager toolBar) {
UpdateRepositoryConfigurationAction repositoryConfigRefresh = new UpdateRepositoryConfigurationAction() {
@Override
- public void performUpdate(TaskRepository repository, AbstractRepositoryConnector connector,
- IProgressMonitor monitor) {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- public void run() {
- getTaskEditorPage().showEditorBusy(true);
+ public void run() {
+ getTaskEditorPage().showEditorBusy(true);
+ final TaskJob job = TasksUi.getJobFactory().createUpdateRepositoryConfigurationJob(
+ getTaskEditorPage().getConnector(), getTaskEditorPage().getTaskRepository());
+ job.addJobChangeListener(new JobChangeAdapter() {
+ @Override
+ public void done(IJobChangeEvent event) {
+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ getTaskEditorPage().showEditorBusy(false);
+ if (job.getError() != null) {
+ getTaskEditorPage().getTaskEditor().setStatus(
+ "Updating of repository configuration failed", "Update Failed",
+ job.getError());
+ } else {
+ getTaskEditorPage().refreshFormContent();
+ }
+ }
+ });
}
});
- try {
- super.performUpdate(repository, connector, monitor);
- AbstractTask task = getTaskEditorPage().getTask();
- Job job = TasksUi.synchronizeTask(connector, task, true, null);
- job.join();
- } catch (InterruptedException e) {
- // ignore
- } finally {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- public void run() {
- getTaskEditorPage().refreshFormContent();
- }
- });
- }
- }
+ job.setUser(true);
+ job.setPriority(Job.INTERACTIVE);
+ job.schedule();
+ };
+
+// @Override
+// public void performUpdate(TaskRepository repository, AbstractRepositoryConnector connector,
+// IProgressMonitor monitor) {
+// PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+// public void run() {
+// getTaskEditorPage().showEditorBusy(true);
+// }
+// });
+// try {
+// super.performUpdate(repository, connector, monitor);
+// AbstractTask task = getTaskEditorPage().getTask();
+// Job job = TasksUi.synchronizeTask(connector, task, true, null);
+// job.join();
+// } catch (InterruptedException e) {
+// // ignore
+// } finally {
+// PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+// public void run() {
+// getTaskEditorPage().refreshFormContent();
+// }
+// });
+// }
+// }
};
repositoryConfigRefresh.setImageDescriptor(TasksUiImages.REPOSITORY_SYNCHRONIZE);
repositoryConfigRefresh.selectionChanged(new StructuredSelection(getTaskEditorPage().getTaskRepository()));

Back to the top