Lines 42-48
Link Here
|
42 |
import org.eclipse.jface.viewers.DecoratingLabelProvider; |
42 |
import org.eclipse.jface.viewers.DecoratingLabelProvider; |
43 |
import org.eclipse.jface.viewers.DoubleClickEvent; |
43 |
import org.eclipse.jface.viewers.DoubleClickEvent; |
44 |
import org.eclipse.jface.viewers.ICheckStateListener; |
44 |
import org.eclipse.jface.viewers.ICheckStateListener; |
45 |
import org.eclipse.jface.viewers.ICheckable; |
|
|
46 |
import org.eclipse.jface.viewers.IDoubleClickListener; |
45 |
import org.eclipse.jface.viewers.IDoubleClickListener; |
47 |
import org.eclipse.jface.viewers.ISelection; |
46 |
import org.eclipse.jface.viewers.ISelection; |
48 |
import org.eclipse.jface.viewers.ISelectionChangedListener; |
47 |
import org.eclipse.jface.viewers.ISelectionChangedListener; |
Lines 335-375
Link Here
|
335 |
fTreeViewer.setSorter(new WorkbenchViewerSorter()); |
334 |
fTreeViewer.setSorter(new WorkbenchViewerSorter()); |
336 |
fTreeViewer.addCheckStateListener(new ICheckStateListener() { |
335 |
fTreeViewer.addCheckStateListener(new ICheckStateListener() { |
337 |
public void checkStateChanged(CheckStateChangedEvent event) { |
336 |
public void checkStateChanged(CheckStateChangedEvent event) { |
338 |
Object obj = event.getElement(); |
337 |
fTreeViewer.setSubtreeChecked(event.getElement(),event.getChecked()); |
339 |
ICheckable checked = event.getCheckable(); |
|
|
340 |
DiffProject proj = null; |
341 |
if (obj instanceof DiffProject){ |
342 |
proj = (DiffProject) obj; |
343 |
// Check to see if any of the Diffs contained by the DiffProject |
344 |
// have their diff problems set |
345 |
Object[] diffs = proj.getChildren(null); |
346 |
for (int i= 0; i<diffs.length; i++) { |
347 |
if (((Diff) diffs[i]).containsProblems()){ |
348 |
checked.setChecked(obj, false); |
349 |
break; |
350 |
} |
351 |
} |
352 |
} else if (obj instanceof Diff){ |
353 |
proj = ((Diff) obj).getProject(); |
354 |
// If Diff has any diff problems set, at least one hunk underneath |
355 |
// does not match - so don't allow entire tree to be checked |
356 |
if (((Diff) obj).containsProblems()){ |
357 |
checked.setChecked(obj, false); |
358 |
} |
359 |
} else if (obj instanceof Hunk){ |
360 |
Diff diff = (Diff) ((Hunk) obj).getParent(null); |
361 |
proj = diff.getProject(); |
362 |
// Check to see if this hunk has any problems OR |
363 |
// if its parent has any problems |
364 |
if( diff.getDiffProblem() || |
365 |
((Hunk) obj).getHunkProblem()){ |
366 |
checked.setChecked(obj, false); |
367 |
} |
368 |
} |
369 |
if (proj!= null && |
370 |
!proj.getProject().exists()){ |
371 |
checked.setChecked(obj, false); |
372 |
} |
373 |
updateEnablements(); |
338 |
updateEnablements(); |
374 |
} |
339 |
} |
375 |
}); |
340 |
}); |