diff options
2 files changed, 16 insertions, 5 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/UserAttributeEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/UserAttributeEditor.java index b8842f428..0655aa346 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/UserAttributeEditor.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/UserAttributeEditor.java @@ -23,6 +23,7 @@ import org.eclipse.mylyn.commons.identity.IProfileImage; import org.eclipse.mylyn.commons.identity.spi.ProfileImage; import org.eclipse.mylyn.internal.provisional.commons.ui.CommonImages; import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; +import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal; import org.eclipse.mylyn.tasks.core.IRepositoryPerson; import org.eclipse.mylyn.tasks.core.data.TaskAttribute; import org.eclipse.mylyn.tasks.core.data.TaskDataModel; @@ -124,19 +125,15 @@ public class UserAttributeEditor extends AbstractAttributeEditor { if (identity != null) { identity.removePropertyChangeListener(imageListener); } - Account account; if (TaskAttribute.TYPE_PERSON.equals(getTaskAttribute().getMetaData().getType())) { IRepositoryPerson person = getTaskAttribute().getTaskData() .getAttributeMapper() .getRepositoryPerson(getTaskAttribute()); - account = Account.id(person.getPersonId()).name(person.getName()); label.setToolTipText(getLabel() + " " + person.toString()); //$NON-NLS-1$ } else { - account = Account.id(getTaskAttribute().getValue()); label.setToolTipText(getDescription()); } - account = account.kind(getModel().getTaskRepository().getConnectorKind()).url( - getModel().getTaskRepository().getRepositoryUrl()); + Account account = TasksUiInternal.getAccount(getTaskAttribute()); identity = TasksUiPlugin.getDefault().getIdentityModel().getIdentity(account); identity.addPropertyChangeListener(imageListener); Future<IProfileImage> result = identity.requestImage(IMAGE_SIZE, IMAGE_SIZE); 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 44f3ade84..3954cfd76 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 @@ -60,6 +60,7 @@ import org.eclipse.jface.wizard.IWizard; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.mylyn.commons.core.CoreUtil; import org.eclipse.mylyn.commons.core.StatusHandler; +import org.eclipse.mylyn.commons.identity.Account; import org.eclipse.mylyn.internal.monitor.ui.MonitorUiPlugin; import org.eclipse.mylyn.internal.provisional.commons.ui.CommonImages; import org.eclipse.mylyn.internal.provisional.commons.ui.CommonUiUtil; @@ -91,6 +92,7 @@ import org.eclipse.mylyn.internal.tasks.ui.wizards.TaskAttachmentWizard; import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; import org.eclipse.mylyn.tasks.core.IRepositoryElement; import org.eclipse.mylyn.tasks.core.IRepositoryManager; +import org.eclipse.mylyn.tasks.core.IRepositoryPerson; import org.eclipse.mylyn.tasks.core.IRepositoryQuery; import org.eclipse.mylyn.tasks.core.ITask; import org.eclipse.mylyn.tasks.core.ITask.PriorityLevel; @@ -1425,4 +1427,16 @@ public class TasksUiInternal { return connector.canGetTaskHistory(repository, task); } + public static Account getAccount(TaskAttribute attribute) { + Account account; + if (TaskAttribute.TYPE_PERSON.equals(attribute.getMetaData().getType())) { + IRepositoryPerson person = attribute.getTaskData().getAttributeMapper().getRepositoryPerson(attribute); + account = Account.id(person.getPersonId()).name(person.getName()); + } else { + account = Account.id(attribute.getValue()); + } + TaskRepository repository = attribute.getTaskData().getAttributeMapper().getTaskRepository(); + return account.kind(repository.getConnectorKind()).url(repository.getRepositoryUrl()); + } + } |