diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java index a2499832afa4..fd65c6e31e22 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java @@ -91,6 +91,7 @@ public class VcsLogGraphTable extends JBTable implements TypeSafeDataProvider, C } } }; + private final GraphCommitCellRender myGraphCommitCellRenderer; private boolean myColumnsSizeInitialized = false; @@ -112,12 +113,12 @@ public class VcsLogGraphTable extends JBTable implements TypeSafeDataProvider, C super(); myUI = UI; myLogDataHolder = logDataHolder; + myGraphCommitCellRenderer = new GraphCommitCellRender(myUI.getColorManager(), logDataHolder, myGraphCellPainter, this); setDefaultRenderer(VirtualFile.class, new RootCellRenderer(myUI)); - setDefaultRenderer(GraphCommitCell.class, new GraphCommitCellRender(myUI.getColorManager(), logDataHolder, myGraphCellPainter, this)); + setDefaultRenderer(GraphCommitCell.class, myGraphCommitCellRenderer); setDefaultRenderer(String.class, new StringCellRenderer()); - setRowHeight(22); setShowHorizontalLines(false); setIntercellSpacing(JBUI.emptySize()); @@ -750,6 +751,11 @@ public class VcsLogGraphTable extends JBTable implements TypeSafeDataProvider, C return myDummyEditor; } + @Override + public int getRowHeight() { + return myGraphCommitCellRenderer.getPreferredHeight(); + } + private class StringCellRenderer extends ColoredTableCellRenderer { @Override protected void customizeCellRenderer(JTable table, Object value, boolean selected, boolean hasFocus, int row, int column) { diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/render/GraphCommitCellRender.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/render/GraphCommitCellRender.java index 6424d17e0f97..79e6d5c563e1 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/render/GraphCommitCellRender.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/render/GraphCommitCellRender.java @@ -49,6 +49,17 @@ public class GraphCommitCellRender extends ColoredTableCellRenderer { myIssueLinkRenderer = new IssueLinkRenderer(dataHolder.getProject(), this); } + @NotNull + @Override + public Dimension getPreferredSize() { + Dimension preferredSize = super.getPreferredSize(); + return new Dimension(preferredSize.width, getPreferredHeight()); + } + + public int getPreferredHeight() { + return myLabelPainter.calculateSize("", getFontMetrics(LabelPainters.getFont())).height + 4; + } + @Override public void paintComponent(Graphics g) { super.paintComponent(g);