|
Link Here
|
| 13 |
import java.util.List; |
13 |
import java.util.List; |
| 14 |
|
14 |
|
| 15 |
import org.eclipse.jface.action.Action; |
15 |
import org.eclipse.jface.action.Action; |
|
|
16 |
import org.eclipse.jface.action.IAction; |
| 16 |
import org.eclipse.jface.action.MenuManager; |
17 |
import org.eclipse.jface.action.MenuManager; |
| 17 |
import org.eclipse.jface.action.Separator; |
18 |
import org.eclipse.jface.action.Separator; |
| 18 |
import org.eclipse.mylyn.internal.tasks.core.UnmatchedTaskContainer; |
19 |
import org.eclipse.mylyn.internal.tasks.core.UnmatchedTaskContainer; |
|
Link Here
|
| 35 |
|
36 |
|
| 36 |
//subMenuManager.setVisible(selectedElements.size() > 0 && !(selectedElements.get(0) instanceof AbstractTaskContainer || selectedElements.get(0) instanceof AbstractRepositoryQuery)); |
37 |
//subMenuManager.setVisible(selectedElements.size() > 0 && !(selectedElements.get(0) instanceof AbstractTaskContainer || selectedElements.get(0) instanceof AbstractRepositoryQuery)); |
| 37 |
|
38 |
|
| 38 |
subMenuManager.setVisible(selectedElements.size() > 0 && selectedElements.get(0) instanceof AbstractTask); |
39 |
// Compute selected tasks |
|
|
40 |
List<AbstractTask> selectedTasks = new ArrayList<AbstractTask>(selectedElements.size()); |
| 41 |
for (AbstractTaskContainer elem : selectedElements) { |
| 42 |
if (elem instanceof AbstractTask) { |
| 43 |
selectedTasks.add((AbstractTask) elem); |
| 44 |
} |
| 45 |
} |
| 46 |
subMenuManager.setVisible(!selectedTasks.isEmpty()); |
| 39 |
|
47 |
|
| 40 |
List<AbstractTaskCategory> categories = new ArrayList<AbstractTaskCategory>(TasksUiPlugin.getTaskListManager() |
48 |
List<AbstractTaskCategory> categories = new ArrayList<AbstractTaskCategory>(TasksUiPlugin.getTaskListManager() |
| 41 |
.getTaskList() |
49 |
.getTaskList() |
|
Link Here
|
| 43 |
Collections.sort(categories); |
51 |
Collections.sort(categories); |
| 44 |
for (final AbstractTaskCategory category : categories) { |
52 |
for (final AbstractTaskCategory category : categories) { |
| 45 |
if (!(category instanceof UnmatchedTaskContainer)) { |
53 |
if (!(category instanceof UnmatchedTaskContainer)) { |
| 46 |
Action action = new Action() { |
54 |
String text = handleAcceleratorKeys(category.getSummary()); |
|
|
55 |
Action action = new Action(text, IAction.AS_RADIO_BUTTON) { |
| 47 |
@Override |
56 |
@Override |
| 48 |
public void run() { |
57 |
public void run() { |
| 49 |
moveToCategory(selectedElements, category); |
58 |
moveToCategory(selectedElements, category); |
| 50 |
} |
59 |
} |
| 51 |
}; |
60 |
}; |
| 52 |
String text = handleAcceleratorKeys(category.getSummary()); |
|
|
| 53 |
action.setText(text); |
| 54 |
action.setImageDescriptor(TasksUiImages.CATEGORY); |
61 |
action.setImageDescriptor(TasksUiImages.CATEGORY); |
|
|
62 |
if (selectedTasks.size() == 1) { |
| 63 |
if (category.contains(selectedTasks.get(0).getHandleIdentifier())) { |
| 64 |
action.setChecked(true); |
| 65 |
} |
| 66 |
} |
| 55 |
subMenuManager.add(action); |
67 |
subMenuManager.add(action); |
| 56 |
} |
68 |
} |
| 57 |
} |
69 |
} |