|
Lines 32-70
Link Here
|
| 32 |
public class HideQueryAction extends BaseSelectionListenerAction { |
32 |
public class HideQueryAction extends BaseSelectionListenerAction { |
| 33 |
|
33 |
|
| 34 |
public HideQueryAction() { |
34 |
public HideQueryAction() { |
| 35 |
super("Hidden"); |
35 |
super(Messages.HideQueryAction_Hidden_Label); |
| 36 |
setChecked(false); |
36 |
setChecked(false); |
| 37 |
setEnabled(false); |
37 |
setEnabled(false); |
| 38 |
} |
38 |
} |
| 39 |
|
39 |
|
| 40 |
@Override |
40 |
@Override |
| 41 |
protected boolean updateSelection(IStructuredSelection selection) { |
41 |
protected boolean updateSelection(IStructuredSelection selection) { |
| 42 |
if (selection.size() == 1) { |
42 |
if (selection.isEmpty()) { |
| 43 |
Object element = selection.getFirstElement(); |
43 |
return false; |
|
|
44 |
} |
| 45 |
boolean hidden = true; |
| 46 |
for (Object element : selection.toList()) { |
| 44 |
if (element instanceof IRepositoryQuery) { |
47 |
if (element instanceof IRepositoryQuery) { |
| 45 |
setChecked(Boolean.parseBoolean((((IRepositoryQuery) element).getAttribute(ITasksCoreConstants.ATTRIBUTE_HIDDEN)))); |
48 |
hidden &= Boolean.parseBoolean((((IRepositoryQuery) element).getAttribute(ITasksCoreConstants.ATTRIBUTE_HIDDEN))); |
| 46 |
return true; |
49 |
} else { |
|
|
50 |
return false; |
| 47 |
} |
51 |
} |
| 48 |
} |
52 |
} |
| 49 |
setChecked(false); |
53 |
setChecked(hidden); |
| 50 |
return false; |
54 |
return true; |
| 51 |
} |
55 |
} |
| 52 |
|
56 |
|
| 53 |
@Override |
57 |
@Override |
| 54 |
public void run() { |
58 |
public void run() { |
| 55 |
final Object element = getStructuredSelection().getFirstElement(); |
59 |
for (Object element : getStructuredSelection().toList()) { |
| 56 |
if (element instanceof IRepositoryQuery) { |
60 |
if (element instanceof IRepositoryQuery) { |
| 57 |
try { |
61 |
try { |
| 58 |
final IRepositoryQuery query = ((IRepositoryQuery) element); |
62 |
final IRepositoryQuery query = ((IRepositoryQuery) element); |
| 59 |
TasksUiPlugin.getTaskList().run(new ITaskListRunnable() { |
63 |
TasksUiPlugin.getTaskList().run(new ITaskListRunnable() { |
| 60 |
public void execute(IProgressMonitor monitor) throws CoreException { |
64 |
public void execute(IProgressMonitor monitor) throws CoreException { |
| 61 |
query.setAttribute(ITasksCoreConstants.ATTRIBUTE_HIDDEN, Boolean.toString(isChecked())); |
65 |
query.setAttribute(ITasksCoreConstants.ATTRIBUTE_HIDDEN, Boolean.toString(isChecked())); |
| 62 |
} |
66 |
} |
| 63 |
}); |
67 |
}); |
| 64 |
TasksUiPlugin.getTaskList().notifyElementsChanged(Collections.singleton((IRepositoryElement) query)); |
68 |
TasksUiPlugin.getTaskList() |
| 65 |
} catch (CoreException e) { |
69 |
.notifyElementsChanged(Collections.singleton((IRepositoryElement) query)); |
| 66 |
StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, |
70 |
} catch (CoreException e) { |
| 67 |
"Failed to set hidden status for query", e)); //$NON-NLS-1$ |
71 |
StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, |
|
|
72 |
"Failed to set hidden status for query", e)); //$NON-NLS-1$ |
| 73 |
} |
| 68 |
} |
74 |
} |
| 69 |
} |
75 |
} |
| 70 |
} |
76 |
} |