From ebfcd1943408438ae1f7f72fe95146ceb3da2a23 Mon Sep 17 00:00:00 2001 From: Julia Beliaeva Date: Tue, 5 Sep 2017 20:16:18 +0300 Subject: [PATCH] [vcs-log] empty log text for empty repository and for no commits matching filters IDEA-178055 --- .../vcs/log/ui/table/VcsLogGraphTable.java | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java index 1d90acf53ac5..b8990f6a398e 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java @@ -94,6 +94,9 @@ public class VcsLogGraphTable extends TableWithProgress implements DataProvider, private static final int MAX_ROWS_TO_CALC_WIDTH = 1000; public static final String LOADING_COMMITS_TEXT = "Loading commits..."; + public static final String CHANGES_LOG_TEXT = "Changes log"; + public static final String NO_CHANGES_COMMITTED_TEXT = "No changes committed"; + public static final String NO_COMMITS_MATCHING_TEXT = "No commits matching filters"; @NotNull private final AbstractVcsLogUi myUi; @NotNull private final VcsLogData myLogData; @@ -123,7 +126,7 @@ public class VcsLogGraphTable extends TableWithProgress implements DataProvider, myGraphCommitCellRenderer = new GraphCommitCellRenderer(logData, graphCellPainter, this, true, false); myStringCellRenderer = new StringCellRenderer(); - getEmptyText().setText("Changes Log"); + getEmptyText().setText(CHANGES_LOG_TEXT); myLogData.getProgress().addProgressIndicatorListener(new MyProgressListener(), ui); initColumns(); @@ -168,6 +171,22 @@ public class VcsLogGraphTable extends TableWithProgress implements DataProvider, return Registry.is("vcs.log.speedsearch"); } + @NotNull + private String getEmptyTextString() { + VisiblePack visiblePack = getModel().getVisiblePack(); + + if (visiblePack.getVisibleGraph().getVisibleCommitCount() == 0) { + if (visiblePack.getFilters().isEmpty()) { + return NO_CHANGES_COMMITTED_TEXT; + } + else { + return NO_COMMITS_MATCHING_TEXT; + } + } + + return CHANGES_LOG_TEXT; + } + public void updateDataPack(@NotNull VisiblePack visiblePack, boolean permGraphChanged) { Selection previousSelection = getSelection(); boolean filtersChanged = !getModel().getVisiblePack().getFilters().equals(visiblePack.getFilters()); @@ -178,6 +197,10 @@ public class VcsLogGraphTable extends TableWithProgress implements DataProvider, highlighter.update(visiblePack, permGraphChanged); } + if (!getEmptyText().getText().equals(LOADING_COMMITS_TEXT)) { + getEmptyText().setText(getEmptyTextString()); + } + setPaintBusy(false); myAuthorColumnInitialized = myAuthorColumnInitialized && !filtersChanged; reLayout(); @@ -882,19 +905,14 @@ public class VcsLogGraphTable extends TableWithProgress implements DataProvider, } private class MyProgressListener implements VcsLogProgress.ProgressListener { - @NotNull private String myText = ""; - @Override public void progressStarted() { - myText = getEmptyText().getText(); getEmptyText().setText(LOADING_COMMITS_TEXT); } @Override public void progressStopped() { - if (getEmptyText().getText().equals(LOADING_COMMITS_TEXT)) { - getEmptyText().setText(myText); - } + getEmptyText().setText(getEmptyTextString()); } }