|
Lines 13-18
Link Here
|
| 13 |
|
13 |
|
| 14 |
import java.text.MessageFormat; |
14 |
import java.text.MessageFormat; |
| 15 |
import java.util.ArrayList; |
15 |
import java.util.ArrayList; |
|
|
16 |
import java.util.Iterator; |
| 16 |
import java.util.List; |
17 |
import java.util.List; |
| 17 |
import java.util.Set; |
18 |
import java.util.Set; |
| 18 |
|
19 |
|
|
Lines 22-27
Link Here
|
| 22 |
import org.eclipse.jface.action.MenuManager; |
23 |
import org.eclipse.jface.action.MenuManager; |
| 23 |
import org.eclipse.jface.action.Separator; |
24 |
import org.eclipse.jface.action.Separator; |
| 24 |
import org.eclipse.jface.layout.TreeColumnLayout; |
25 |
import org.eclipse.jface.layout.TreeColumnLayout; |
|
|
26 |
import org.eclipse.jface.util.IPropertyChangeListener; |
| 27 |
import org.eclipse.jface.util.PropertyChangeEvent; |
| 25 |
import org.eclipse.jface.viewers.ISelection; |
28 |
import org.eclipse.jface.viewers.ISelection; |
| 26 |
import org.eclipse.jface.viewers.ISelectionChangedListener; |
29 |
import org.eclipse.jface.viewers.ISelectionChangedListener; |
| 27 |
import org.eclipse.jface.viewers.ISelectionProvider; |
30 |
import org.eclipse.jface.viewers.ISelectionProvider; |
|
Lines 37-42
Link Here
|
| 37 |
import org.eclipse.mylyn.internal.tasks.ui.TaskHistoryDropDown; |
40 |
import org.eclipse.mylyn.internal.tasks.ui.TaskHistoryDropDown; |
| 38 |
import org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink; |
41 |
import org.eclipse.mylyn.internal.tasks.ui.TaskHyperlink; |
| 39 |
import org.eclipse.mylyn.internal.tasks.ui.TaskSearchPage; |
42 |
import org.eclipse.mylyn.internal.tasks.ui.TaskSearchPage; |
|
|
43 |
import org.eclipse.mylyn.internal.tasks.ui.TaskWorkingSetFilter; |
| 40 |
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; |
44 |
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; |
| 41 |
import org.eclipse.mylyn.internal.tasks.ui.actions.ActivateTaskDialogAction; |
45 |
import org.eclipse.mylyn.internal.tasks.ui.actions.ActivateTaskDialogAction; |
| 42 |
import org.eclipse.mylyn.internal.tasks.ui.actions.CopyTaskDetailsAction; |
46 |
import org.eclipse.mylyn.internal.tasks.ui.actions.CopyTaskDetailsAction; |
|
Lines 62-67
Link Here
|
| 62 |
import org.eclipse.swt.widgets.Display; |
66 |
import org.eclipse.swt.widgets.Display; |
| 63 |
import org.eclipse.swt.widgets.Menu; |
67 |
import org.eclipse.swt.widgets.Menu; |
| 64 |
import org.eclipse.ui.IWorkingSet; |
68 |
import org.eclipse.ui.IWorkingSet; |
|
|
69 |
import org.eclipse.ui.IWorkingSetManager; |
| 65 |
import org.eclipse.ui.PlatformUI; |
70 |
import org.eclipse.ui.PlatformUI; |
| 66 |
import org.eclipse.ui.dialogs.PatternFilter; |
71 |
import org.eclipse.ui.dialogs.PatternFilter; |
| 67 |
import org.eclipse.ui.forms.events.HyperlinkEvent; |
72 |
import org.eclipse.ui.forms.events.HyperlinkEvent; |
|
Lines 103-108
Link Here
|
| 103 |
|
108 |
|
| 104 |
private ITaskListChangeListener changeListener; |
109 |
private ITaskListChangeListener changeListener; |
| 105 |
|
110 |
|
|
|
111 |
private TaskListChangeAdapter taskProgressBarChangeListener; |
| 112 |
|
| 113 |
private TaskActivityAdapter taskProgressBarActivityListener; |
| 114 |
|
| 115 |
private IPropertyChangeListener taskProgressBarWorkingSetListener; |
| 116 |
|
| 117 |
private TaskWorkingSetFilter workingSetFilter; |
| 118 |
|
| 106 |
public TaskListFilteredTree(Composite parent, int treeStyle, PatternFilter filter) { |
119 |
public TaskListFilteredTree(Composite parent, int treeStyle, PatternFilter filter) { |
| 107 |
super(parent, treeStyle, filter); |
120 |
super(parent, treeStyle, filter); |
| 108 |
hookContextMenu(); |
121 |
hookContextMenu(); |
|
Lines 113-118
Link Here
|
| 113 |
if (changeListener != null) { |
126 |
if (changeListener != null) { |
| 114 |
TasksUiInternal.getTaskList().removeChangeListener(changeListener); |
127 |
TasksUiInternal.getTaskList().removeChangeListener(changeListener); |
| 115 |
} |
128 |
} |
|
|
129 |
if (taskProgressBarChangeListener != null) { |
| 130 |
TasksUiInternal.getTaskList().removeChangeListener(taskProgressBarChangeListener); |
| 131 |
} |
| 132 |
if (taskProgressBarActivityListener != null) { |
| 133 |
TasksUi.getTaskActivityManager().removeActivityListener(taskProgressBarActivityListener); |
| 134 |
} |
| 135 |
if (taskProgressBarWorkingSetListener != null) { |
| 136 |
PlatformUI.getWorkbench().getWorkingSetManager().addPropertyChangeListener( |
| 137 |
taskProgressBarWorkingSetListener); |
| 138 |
} |
| 139 |
|
| 116 |
super.dispose(); |
140 |
super.dispose(); |
| 117 |
taskListToolTip.dispose(); |
141 |
taskListToolTip.dispose(); |
| 118 |
} |
142 |
} |
|
Lines 156-162
Link Here
|
| 156 |
taskProgressBar.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); |
180 |
taskProgressBar.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); |
| 157 |
updateTaskProgressBar(); |
181 |
updateTaskProgressBar(); |
| 158 |
|
182 |
|
| 159 |
TasksUiInternal.getTaskList().addChangeListener(new TaskListChangeAdapter() { |
183 |
taskProgressBarChangeListener = new TaskListChangeAdapter() { |
| 160 |
|
184 |
|
| 161 |
@Override |
185 |
@Override |
| 162 |
public void containersChanged(Set<TaskContainerDelta> containers) { |
186 |
public void containersChanged(Set<TaskContainerDelta> containers) { |
|
Lines 167-182
Link Here
|
| 167 |
} |
191 |
} |
| 168 |
} |
192 |
} |
| 169 |
} |
193 |
} |
| 170 |
}); |
194 |
}; |
|
|
195 |
TasksUiInternal.getTaskList().addChangeListener(taskProgressBarChangeListener); |
| 171 |
|
196 |
|
| 172 |
TasksUiPlugin.getTaskActivityManager().addActivityListener(new TaskActivityAdapter() { |
197 |
taskProgressBarActivityListener = new TaskActivityAdapter() { |
| 173 |
|
198 |
|
| 174 |
@Override |
199 |
@Override |
| 175 |
public void activityReset() { |
200 |
public void activityReset() { |
| 176 |
updateTaskProgressBar(); |
201 |
updateTaskProgressBar(); |
| 177 |
} |
202 |
} |
| 178 |
|
203 |
|
| 179 |
}); |
204 |
}; |
|
|
205 |
TasksUiPlugin.getTaskActivityManager().addActivityListener(taskProgressBarActivityListener); |
| 206 |
|
| 207 |
taskProgressBarWorkingSetListener = new IPropertyChangeListener() { |
| 208 |
public void propertyChange(PropertyChangeEvent event) { |
| 209 |
String property = event.getProperty(); |
| 210 |
if (IWorkingSetManager.CHANGE_WORKING_SET_CONTENT_CHANGE.equals(property) |
| 211 |
|| IWorkingSetManager.CHANGE_WORKING_SET_REMOVE.equals(property)) { |
| 212 |
updateTaskProgressBar(); |
| 213 |
} |
| 214 |
} |
| 215 |
}; |
| 216 |
PlatformUI.getWorkbench().getWorkingSetManager().addPropertyChangeListener(taskProgressBarWorkingSetListener); |
| 180 |
|
217 |
|
| 181 |
return progressComposite; |
218 |
return progressComposite; |
| 182 |
} |
219 |
} |
|
Lines 220-225
Link Here
|
| 220 |
} |
257 |
} |
| 221 |
|
258 |
|
| 222 |
Set<ITask> tasksThisWeek = TasksUiPlugin.getTaskActivityManager().getScheduledForADayThisWeek(); |
259 |
Set<ITask> tasksThisWeek = TasksUiPlugin.getTaskActivityManager().getScheduledForADayThisWeek(); |
|
|
260 |
if (workingSetFilter != null) { |
| 261 |
for (Iterator<ITask> it = tasksThisWeek.iterator(); it.hasNext();) { |
| 262 |
ITask task = it.next(); |
| 263 |
if (!workingSetFilter.select(task)) { |
| 264 |
it.remove(); |
| 265 |
} |
| 266 |
} |
| 267 |
} |
| 223 |
|
268 |
|
| 224 |
totalTasks = tasksThisWeek.size(); |
269 |
totalTasks = tasksThisWeek.size(); |
| 225 |
completeTime = 0; |
270 |
completeTime = 0; |
|
Lines 560-563
Link Here
|
| 560 |
return (text != null) ? text.trim() : null; |
605 |
return (text != null) ? text.trim() : null; |
| 561 |
} |
606 |
} |
| 562 |
|
607 |
|
|
|
608 |
public TaskWorkingSetFilter getWorkingSetFilter() { |
| 609 |
return workingSetFilter; |
| 610 |
} |
| 611 |
|
| 612 |
public void setWorkingSetFilter(TaskWorkingSetFilter workingSetFilter) { |
| 613 |
this.workingSetFilter = workingSetFilter; |
| 614 |
} |
| 615 |
|
| 563 |
} |
616 |
} |