diff options
-rw-r--r-- | org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/editor/PatchSetSection.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/editor/PatchSetSection.java b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/editor/PatchSetSection.java index defd064e0..a358ac8c7 100644 --- a/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/editor/PatchSetSection.java +++ b/org.eclipse.mylyn.gerrit.ui/src/org/eclipse/mylyn/internal/gerrit/ui/editor/PatchSetSection.java @@ -114,6 +114,8 @@ import com.google.gerrit.reviewdb.PatchSet; */ public class PatchSetSection extends AbstractGerritSection { + private static final int MAXIMUM_ITEMS_SHOWN = 30; + private class CompareAction extends Action { private final PatchSet base; @@ -588,8 +590,16 @@ public class PatchSetSection extends AbstractGerritSection { Text refText = new Text(composite, SWT.READ_ONLY); refText.setText(patchSetDetail.getPatchSet().getRefName()); - final TableViewer viewer = new TableViewer(composite, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.VIRTUAL); - GridDataFactory.fillDefaults().span(2, 1).grab(true, true).hint(500, SWT.DEFAULT).applyTo(viewer.getControl()); + boolean fixedViewerSize = patchSetDetail.getPatches().size() > MAXIMUM_ITEMS_SHOWN; + int heightHint = fixedViewerSize ? 300 : SWT.DEFAULT; + int style = SWT.SINGLE | SWT.BORDER | SWT.VIRTUAL; + if (fixedViewerSize) { + style |= SWT.V_SCROLL; + } else { + style |= SWT.NO_SCROLL; + } + final TableViewer viewer = new TableViewer(composite, style); + GridDataFactory.fillDefaults().span(2, 1).grab(true, true).hint(500, heightHint).applyTo(viewer.getControl()); viewer.setContentProvider(new IStructuredContentProvider() { private EContentAdapter modelAdapter; |