Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java52
1 files changed, 35 insertions, 17 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java
index 26257f4eb..ee7a51c26 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java
@@ -8,6 +8,7 @@
* Contributors:
* Tasktop Technologies - initial API and implementation
* Steve Elsemore - fix for bug 296963
+ * Atlassian - fix for bug 319699
*******************************************************************************/
package org.eclipse.mylyn.internal.tasks.ui.util;
@@ -88,11 +89,11 @@ import org.eclipse.mylyn.tasks.core.IRepositoryElement;
import org.eclipse.mylyn.tasks.core.IRepositoryManager;
import org.eclipse.mylyn.tasks.core.IRepositoryQuery;
import org.eclipse.mylyn.tasks.core.ITask;
+import org.eclipse.mylyn.tasks.core.ITask.PriorityLevel;
+import org.eclipse.mylyn.tasks.core.ITask.SynchronizationState;
import org.eclipse.mylyn.tasks.core.ITaskMapping;
import org.eclipse.mylyn.tasks.core.RepositoryStatus;
import org.eclipse.mylyn.tasks.core.TaskRepository;
-import org.eclipse.mylyn.tasks.core.ITask.PriorityLevel;
-import org.eclipse.mylyn.tasks.core.ITask.SynchronizationState;
import org.eclipse.mylyn.tasks.core.data.AbstractTaskAttachmentSource;
import org.eclipse.mylyn.tasks.core.data.AbstractTaskDataHandler;
import org.eclipse.mylyn.tasks.core.data.ITaskDataWorkingCopy;
@@ -334,11 +335,8 @@ public class TasksUiInternal {
taskRepository.setUpdating(false);
}
if (job.getStatus() != null) {
- Display display = PlatformUI.getWorkbench().getDisplay();
- if (!display.isDisposed()) {
- TasksUiInternal.displayStatus(Messages.TasksUiInternal_Configuration_Refresh_Failed,
- job.getStatus());
- }
+ TasksUiInternal.asyncLogAndDisplayStatus(Messages.TasksUiInternal_Configuration_Refresh_Failed,
+ job.getStatus());
}
}
});
@@ -383,7 +381,7 @@ public class TasksUiInternal {
@Override
public void done(IJobChangeEvent event) {
if (query.getStatus() != null) {
- TasksUiInternal.asyncDisplayStatus(Messages.TasksUiInternal_Query_Synchronization_Failed,
+ TasksUiInternal.asyncLogAndDisplayStatus(Messages.TasksUiInternal_Query_Synchronization_Failed,
query.getStatus());
}
}
@@ -499,7 +497,7 @@ public class TasksUiInternal {
@Override
public void done(IJobChangeEvent event) {
if (task instanceof AbstractTask && ((AbstractTask) task).getStatus() != null) {
- TasksUiInternal.asyncDisplayStatus(Messages.TasksUiInternal_Task_Synchronization_Failed,
+ TasksUiInternal.asyncLogAndDisplayStatus(Messages.TasksUiInternal_Task_Synchronization_Failed,
((AbstractTask) task).getStatus());
}
}
@@ -578,6 +576,19 @@ public class TasksUiInternal {
}
}
+ public static void asyncLogAndDisplayStatus(final String title, final IStatus status) {
+ Display display = PlatformUI.getWorkbench().getDisplay();
+ if (!display.isDisposed()) {
+ display.asyncExec(new Runnable() {
+ public void run() {
+ logAndDisplayStatus(title, status);
+ }
+ });
+ } else {
+ StatusHandler.log(status);
+ }
+ }
+
public static void logAndDisplayStatus(final String title, final IStatus status) {
StatusHandler.log(status);
IWorkbench workbench = PlatformUI.getWorkbench();
@@ -862,8 +873,9 @@ public class TasksUiInternal {
if (window != null) {
TaskRepository taskRepository = TasksUi.getRepositoryManager().getRepository(task.getConnectorKind(),
task.getRepositoryUrl());
- boolean openWithBrowser = !TasksUiPlugin.getDefault().getPreferenceStore().getBoolean(
- ITasksUiPreferenceConstants.EDITOR_TASKS_RICH);
+ boolean openWithBrowser = !TasksUiPlugin.getDefault()
+ .getPreferenceStore()
+ .getBoolean(ITasksUiPreferenceConstants.EDITOR_TASKS_RICH);
if (openWithBrowser) {
TasksUiUtil.openWithBrowser(taskRepository, task);
return new TaskOpenEvent(taskRepository, task, taskId, null, true);
@@ -1194,15 +1206,21 @@ public class TasksUiInternal {
TasksUiInternal.displayStatus(title, new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN,
"Command execution failed", e)); //$NON-NLS-1$
} catch (NotDefinedException e) {
- TasksUiInternal.displayStatus(title, new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN,
- NLS.bind("The command with the id ''{0}'' is not defined.", commandId), e)); //$NON-NLS-1$
+ TasksUiInternal.displayStatus(
+ title,
+ new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, NLS.bind(
+ "The command with the id ''{0}'' is not defined.", commandId), e)); //$NON-NLS-1$
} catch (NotHandledException e) {
- TasksUiInternal.displayStatus(title, new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN,
- NLS.bind("The command with the id ''{0}'' is not bound.", commandId), e)); //$NON-NLS-1$
+ TasksUiInternal.displayStatus(
+ title,
+ new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, NLS.bind(
+ "The command with the id ''{0}'' is not bound.", commandId), e)); //$NON-NLS-1$
}
} else {
- TasksUiInternal.displayStatus(title, new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, NLS.bind(
- "The command with the id ''{0}'' does not exist.", commandId))); //$NON-NLS-1$
+ TasksUiInternal.displayStatus(
+ title,
+ new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, NLS.bind(
+ "The command with the id ''{0}'' does not exist.", commandId))); //$NON-NLS-1$
}
} else {
TasksUiInternal.displayStatus(

Back to the top