Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkersten2007-05-14 23:17:33 +0000
committermkersten2007-05-14 23:17:33 +0000
commitfa2ce1534ebc3def7c663b4f1fffbb5d28c03f12 (patch)
tree0c68613959c829498962973c09ff7618619a9a41
parent5fe7bc526ac7e2fb994e98526c485301458d5d03 (diff)
downloadorg.eclipse.mylyn.tasks-fa2ce1534ebc3def7c663b4f1fffbb5d28c03f12.tar.gz
org.eclipse.mylyn.tasks-fa2ce1534ebc3def7c663b4f1fffbb5d28c03f12.tar.xz
org.eclipse.mylyn.tasks-fa2ce1534ebc3def7c663b4f1fffbb5d28c03f12.zip
REOPENED - bug 182772: improve Task List table/tree layout
https://bugs.eclipse.org/bugs/show_bug.cgi?id=182772
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-synch-incoming-new.gifbin0 -> 189 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-synch-incoming.gifbin0 -> 187 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-synch-outgoing.gifbin0 -> 190 bytes
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/CompositeContainerImageDescriptor.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/CompositeTaskImageDescriptor.java23
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiImages.java6
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksPreferencePage.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/CustomTaskListDecorationDrawer.java20
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java73
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListToolTipHandler.java3
10 files changed, 60 insertions, 69 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-synch-incoming-new.gif b/org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-synch-incoming-new.gif
new file mode 100644
index 000000000..a9dc04ed4
--- /dev/null
+++ b/org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-synch-incoming-new.gif
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-synch-incoming.gif b/org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-synch-incoming.gif
new file mode 100644
index 000000000..ab5483dd1
--- /dev/null
+++ b/org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-synch-incoming.gif
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-synch-outgoing.gif b/org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-synch-outgoing.gif
new file mode 100644
index 000000000..5f1c76ade
--- /dev/null
+++ b/org.eclipse.mylyn.tasks.ui/icons/eview16/overlay-synch-outgoing.gif
Binary files differ
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/CompositeContainerImageDescriptor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/CompositeContainerImageDescriptor.java
index f99779b67..2a772d8a5 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/CompositeContainerImageDescriptor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/CompositeContainerImageDescriptor.java
@@ -39,7 +39,7 @@ public class CompositeContainerImageDescriptor extends CompositeImageDescriptor
protected void drawCompositeImage(int width, int height) {
drawImage(base, 0, 0);
if (overlay != null) {
- drawImage(overlay, base.width+2, CompositeTaskImageDescriptor.OFFSET_SYNCH);
+ drawImage(overlay, base.width+2, 0);
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/CompositeTaskImageDescriptor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/CompositeTaskImageDescriptor.java
index 7696c56f5..214e5888e 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/CompositeTaskImageDescriptor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/CompositeTaskImageDescriptor.java
@@ -23,31 +23,18 @@ public class CompositeTaskImageDescriptor extends CompositeImageDescriptor {
private ImageData base;
- private ImageData synchState;
-
private ImageData kind;
protected Point size;
- public static final int WIDTH_DECORATION = 5;
-
-// private static final int WIDTH_SYNCH = 9;//5;
-
- private static final int WIDTH_SQUISH = 0;
+ public static final int WIDTH_DECORATION = 6;
private static final int WIDTH_ICON = 16;
-
- static final int OFFSET_SYNCH = 5;
static int WIDTH;
static {
-// if (SWT.getPlatform().equals("win32")) {
-// WIDTH_DECORATION = 0;
-// } else {
-// WIDTH_DECORATION = 4;
-// }
- WIDTH = WIDTH_DECORATION + WIDTH_ICON - WIDTH_SQUISH;
+ WIDTH = WIDTH_DECORATION + WIDTH_ICON;
}
public CompositeTaskImageDescriptor(ImageDescriptor icon, ImageDescriptor overlayKind) {
@@ -55,9 +42,6 @@ public class CompositeTaskImageDescriptor extends CompositeImageDescriptor {
if (overlayKind != null) {
this.kind = getImageData(overlayKind);
}
-// if (synchState != null) {
-// this.synchState = getImageData(synchState);
-// }
this.size = new Point(WIDTH, base.height);
}
@@ -67,9 +51,6 @@ public class CompositeTaskImageDescriptor extends CompositeImageDescriptor {
if (kind != null) {
drawImage(kind, WIDTH_DECORATION+5, 6);
}
- if (synchState != null) {
- drawImage(synchState, WIDTH_ICON /*WIDTH_SQUISH + 1*/, OFFSET_SYNCH);
- }
}
private ImageData getImageData(ImageDescriptor descriptor) {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiImages.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiImages.java
index 51938384a..3d9949e33 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiImages.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiImages.java
@@ -145,6 +145,12 @@ public class TasksUiImages {
public static final ImageDescriptor OVERLAY_OUTGOING = create(T_EVIEW, "overlay-outgoing.gif");
+ public static final ImageDescriptor OVERLAY_SYNCH_INCOMMING = create(T_EVIEW, "overlay-synch-incoming.gif");
+
+ public static final ImageDescriptor OVERLAY_SYNCH_INCOMMING_NEW = create(T_EVIEW, "overlay-synch-incoming-new.gif");
+
+ public static final ImageDescriptor OVERLAY_SYNCH_OUTGOING = create(T_EVIEW, "overlay-synch-outgoing.gif");
+
public static final ImageDescriptor OVERLAY_CONFLICT = create(T_EVIEW, "overlay-conflicting.gif");
public static final ImageDescriptor OVERLAY_REPOSITORY = create(T_EVIEW, "overlay-repository.gif");
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksPreferencePage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksPreferencePage.java
index 5b11d2321..e5b93d218 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksPreferencePage.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/preferences/TasksPreferencePage.java
@@ -443,7 +443,7 @@ public class TasksPreferencePage extends PreferencePage implements IWorkbenchPre
group.setLayout(new GridLayout(1, false));
group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
incomingOverlaysButton = new Button(group, SWT.CHECK);
- incomingOverlaysButton.setText("Overlay synchronization state on task icons (for wide view)");
+ incomingOverlaysButton.setText("Use Synchronize View style incoming overlays and placement");
incomingOverlaysButton.setSelection(getPreferenceStore().getBoolean(
TaskListPreferenceConstants.INCOMING_OVERLAID));
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/CustomTaskListDecorationDrawer.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/CustomTaskListDecorationDrawer.java
index 634ad9ad2..640bef3a9 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/CustomTaskListDecorationDrawer.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/CustomTaskListDecorationDrawer.java
@@ -105,27 +105,29 @@ class CustomTaskListDecorationDrawer implements Listener {
Image image = null;
int offsetX = 6;
int offsetY = (event.height / 2) - 5;
- if (this.taskListView.synchronizationOverlaid) {
- offsetX = event.x + 3;
+ if (taskListView.synchronizationOverlaid) {
+ offsetX = event.x + 19;
+ offsetY += 2;
}
if (element instanceof AbstractTaskContainer) {
if (element instanceof AbstractTaskContainer) {
if (!Arrays.asList(this.taskListView.getViewer().getExpandedElements()).contains(element)
&& hasIncoming((AbstractTaskContainer) element)) {
- image = TasksUiImages.getImage(TasksUiImages.STATUS_NORMAL_INCOMING);
- offsetX = 24;
+ if (taskListView.synchronizationOverlaid) {
+ image = TasksUiImages.getImage(TasksUiImages.OVERLAY_SYNCH_INCOMMING);
+ offsetX = 42;
+ } else {
+ image = TasksUiImages.getImage(TasksUiImages.STATUS_NORMAL_INCOMING);
+ offsetX = 24;
+ }
}
}
} else {
- image = TasksUiImages.getImage(TaskElementLabelProvider.getSynchronizationImageDescriptor(element));
-// image = TasksUiImages.getCompositeSynchImage(TaskElementLabelProvider
-// .getSynchronizationImageDescriptor(element), true);
+ image = TasksUiImages.getImage(TaskElementLabelProvider.getSynchronizationImageDescriptor(element, taskListView.synchronizationOverlaid));
}
if (image != null) {
event.gc.drawImage(image, offsetX, event.y + offsetY);
-// event.gc.drawImage(image, currWidth - 16, event.y + 1);
}
-// }
}
private boolean hasIncoming(AbstractTaskContainer container) {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java
index 54282b8c5..ec75d68b7 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java
@@ -78,19 +78,14 @@ public class TaskElementLabelProvider extends LabelProvider implements IColorPro
@Override
public Image getImage(Object element) {
CompositeImageDescriptor compositeDescriptor = getImageDescriptor(element, compositeImages);
-// if (!compositeImages) {
-// return TasksUiImages.getCompositeImage(compositeDescriptor.icon);
-// } else {
- if (element instanceof ITask || element instanceof AbstractQueryHit) {
- return TasksUiImages.getCompositeTaskImage(compositeDescriptor.icon, compositeDescriptor.overlayKind,
- compositeDescriptor.overlaySynch);
- } else if (element instanceof AbstractTaskContainer) {
- return TasksUiImages.getCompositeContainerImage(compositeDescriptor.icon,
- compositeDescriptor.overlaySynch);
- } else {
- return TasksUiImages.getCompositeTaskImage(compositeDescriptor.icon, null, null);
- }
-// }
+ if (element instanceof ITask || element instanceof AbstractQueryHit) {
+ return TasksUiImages.getCompositeTaskImage(compositeDescriptor.icon, compositeDescriptor.overlayKind,
+ compositeDescriptor.overlaySynch);
+ } else if (element instanceof AbstractTaskContainer) {
+ return TasksUiImages.getCompositeContainerImage(compositeDescriptor.icon, compositeDescriptor.overlaySynch);
+ } else {
+ return TasksUiImages.getCompositeTaskImage(compositeDescriptor.icon, null, null);
+ }
}
private CompositeImageDescriptor getImageDescriptor(Object object, boolean showSynchState) {
@@ -113,7 +108,7 @@ public class TaskElementLabelProvider extends LabelProvider implements IColorPro
compositeDescriptor.overlayKind = connectorUi.getTaskKindOverlay(repositoryTask);
}
if (showSynchState) {
- compositeDescriptor.overlaySynch = getSynchronizationImageDescriptor(element);
+ compositeDescriptor.overlaySynch = getSynchronizationImageDescriptor(element, false);
}
} else if (element instanceof AbstractQueryHit) {
AbstractRepositoryTask repositoryTask = ((AbstractQueryHit) element).getCorrespondingTask();
@@ -124,24 +119,17 @@ public class TaskElementLabelProvider extends LabelProvider implements IColorPro
connectorUi = TasksUiPlugin.getRepositoryUi(((AbstractRepositoryQuery) element).getRepositoryKind());
}
-// if (element instanceof AbstractTaskContainer) {
-// if (treeViewer != null && !Arrays.asList(treeViewer.getExpandedElements()).contains(element)
-// && hasIncoming((AbstractTaskContainer) element)) {
-// compositeDescriptor.overlaySynch = TasksUiImages.STATUS_NORMAL_INCOMING;
-// }
-// }
-
if (connectorUi != null) {
compositeDescriptor.icon = connectorUi.getTaskListElementIcon(element);
return compositeDescriptor;
} else {
if (element instanceof ITask) {
if (showSynchState) {
- compositeDescriptor.overlaySynch = getSynchronizationImageDescriptor(element);
+ compositeDescriptor.overlaySynch = getSynchronizationImageDescriptor(element, false);
}
} else if (element instanceof AbstractQueryHit) {
if (showSynchState) {
- compositeDescriptor.overlaySynch = getSynchronizationImageDescriptor(element);
+ compositeDescriptor.overlaySynch = getSynchronizationImageDescriptor(element, false);
}
}
@@ -160,22 +148,34 @@ public class TaskElementLabelProvider extends LabelProvider implements IColorPro
return compositeDescriptor;
}
- public static ImageDescriptor getSynchronizationImageDescriptor(Object element) {
+ public static ImageDescriptor getSynchronizationImageDescriptor(Object element, boolean synchViewStyle) {
AbstractRepositoryTask repositoryTask = null;
ImageDescriptor imageDescriptor = null;
if (element instanceof AbstractQueryHit) {
repositoryTask = ((AbstractQueryHit) element).getCorrespondingTask();
if (repositoryTask == null) {
- return TasksUiImages.STATUS_OVERLAY_INCOMMING_NEW;
+ if (synchViewStyle) {
+ return TasksUiImages.OVERLAY_SYNCH_INCOMMING_NEW;
+ } else {
+ return TasksUiImages.STATUS_OVERLAY_INCOMMING_NEW;
+ }
}
} else if (element instanceof AbstractRepositoryTask) {
repositoryTask = (AbstractRepositoryTask) element;
}
if (repositoryTask != null) {
if (repositoryTask.getSyncState() == RepositoryTaskSyncState.OUTGOING) {
- imageDescriptor = TasksUiImages.STATUS_NORMAL_OUTGOING;
+ if (synchViewStyle) {
+ imageDescriptor = TasksUiImages.OVERLAY_SYNCH_OUTGOING;
+ } else {
+ imageDescriptor = TasksUiImages.STATUS_NORMAL_OUTGOING;
+ }
} else if (repositoryTask.getSyncState() == RepositoryTaskSyncState.INCOMING) {
- imageDescriptor = TasksUiImages.STATUS_NORMAL_INCOMING;
+ if (synchViewStyle) {
+ imageDescriptor = TasksUiImages.OVERLAY_SYNCH_INCOMMING;
+ } else {
+ imageDescriptor = TasksUiImages.STATUS_NORMAL_INCOMING;
+ }
} else if (repositoryTask.getSyncState() == RepositoryTaskSyncState.CONFLICT) {
imageDescriptor = TasksUiImages.STATUS_NORMAL_CONFLICT;
}
@@ -185,7 +185,11 @@ public class TaskElementLabelProvider extends LabelProvider implements IColorPro
return imageDescriptor;
}
} else if (element instanceof AbstractQueryHit) {
- return TasksUiImages.STATUS_NORMAL_INCOMING;
+ if (synchViewStyle) {
+ return TasksUiImages.OVERLAY_SYNCH_INCOMMING;
+ } else {
+ return TasksUiImages.STATUS_NORMAL_INCOMING;
+ }
} else if (element instanceof AbstractTaskContainer) {
AbstractTaskContainer container = (AbstractTaskContainer) element;
if (container instanceof AbstractRepositoryQuery) {
@@ -211,16 +215,15 @@ public class TaskElementLabelProvider extends LabelProvider implements IColorPro
if (element instanceof ITask || element instanceof AbstractQueryHit) {
ITask task = TaskElementLabelProvider.getCorrespondingTask((ITaskListElement) element);
if (task != null) {
- return TasksUiImages.getImageDescriptorForPriority(PriorityLevel.fromString(task
- .getPriority()));
- } else if (element instanceof AbstractQueryHit){
- return TasksUiImages.getImageDescriptorForPriority(PriorityLevel.fromString(((AbstractQueryHit)element)
- .getPriority()));
+ return TasksUiImages.getImageDescriptorForPriority(PriorityLevel.fromString(task.getPriority()));
+ } else if (element instanceof AbstractQueryHit) {
+ return TasksUiImages.getImageDescriptorForPriority(PriorityLevel
+ .fromString(((AbstractQueryHit) element).getPriority()));
}
}
return null;
}
-
+
@Override
public String getText(Object object) {
if (object instanceof AbstractQueryHit) {
@@ -336,8 +339,6 @@ public class TaskElementLabelProvider extends LabelProvider implements IColorPro
} else if (element instanceof AbstractQueryHit) {
return getBackground(((AbstractQueryHit) element).getCorrespondingTask());
}
- // return
- // Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
return null;
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListToolTipHandler.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListToolTipHandler.java
index 2fdf8649d..1b04e6884 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListToolTipHandler.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListToolTipHandler.java
@@ -447,7 +447,7 @@ public class TaskListToolTipHandler {
@Override
public void mouseHover(MouseEvent event) {
- if (tipShell.isDisposed()) {
+ if (tipShell.isDisposed() || incommingTipLabelText.isDisposed()) {
return;
}
widgetPosition = new Point(event.x, event.y);
@@ -529,6 +529,7 @@ public class TaskListToolTipHandler {
Rectangle shellBounds = shell.getBounds();
// We need to find the exact monitor we're mousing over
+ // https://bugs.eclipse.org/bugs/show_bug.cgi?id=166990
Monitor[] array = PlatformUI.getWorkbench().getDisplay().getMonitors();
for (Monitor m : array) {
Rectangle monitorBounds = m.getBounds();

Back to the top