diff --git a/platform/diff-impl/src/com/intellij/diff/tools/simple/SimpleDiffViewer.java b/platform/diff-impl/src/com/intellij/diff/tools/simple/SimpleDiffViewer.java index 84b6cb5baed2..610cd3302c27 100644 --- a/platform/diff-impl/src/com/intellij/diff/tools/simple/SimpleDiffViewer.java +++ b/platform/diff-impl/src/com/intellij/diff/tools/simple/SimpleDiffViewer.java @@ -42,7 +42,6 @@ import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.text.StringUtil; -import com.intellij.util.ThreeState; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.*; @@ -747,14 +746,9 @@ public class SimpleDiffViewer extends TwosideTextDiffViewer { return DiffBundle.message("diff.highlighting.disabled.text"); } List allChanges = myModel.getAllChanges(); - int excludedChanges = ContainerUtil.count(allChanges, it -> it.isExcluded()); - int changesCount = allChanges.size(); - if (changesCount == 0 && myModel.isContentsEqual() == ThreeState.NO) { - return DiffBundle.message("diff.all.differences.ignored.text"); - } - String message = DiffBundle.message("diff.count.differences.status.text", changesCount - excludedChanges); - if (excludedChanges > 0) message += " " + DiffBundle.message("diff.inactive.count.differences.status.text", excludedChanges); - return message; + return DiffUtil.getStatusText(allChanges.size(), + ContainerUtil.count(allChanges, it -> it.isExcluded()), + myModel.isContentsEqual()); } } diff --git a/platform/diff-impl/src/com/intellij/diff/util/DiffUtil.java b/platform/diff-impl/src/com/intellij/diff/util/DiffUtil.java index ebd8098072d8..05167711e720 100644 --- a/platform/diff-impl/src/com/intellij/diff/util/DiffUtil.java +++ b/platform/diff-impl/src/com/intellij/diff/util/DiffUtil.java @@ -37,6 +37,7 @@ import com.intellij.openapi.command.undo.DocumentReference; import com.intellij.openapi.command.undo.DocumentReferenceManager; import com.intellij.openapi.command.undo.UndoManager; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.diff.DiffBundle; import com.intellij.openapi.diff.impl.GenericDataProvider; import com.intellij.openapi.editor.*; import com.intellij.openapi.editor.colors.EditorColors; @@ -84,10 +85,7 @@ import com.intellij.ui.ScreenUtil; import com.intellij.ui.awt.RelativePoint; import com.intellij.ui.components.JBLabel; import com.intellij.ui.scale.JBUIScale; -import com.intellij.util.ArrayUtil; -import com.intellij.util.DocumentUtil; -import com.intellij.util.ImageLoader; -import com.intellij.util.LineSeparator; +import com.intellij.util.*; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.Convertor; import com.intellij.util.ui.JBInsets; @@ -672,6 +670,16 @@ public class DiffUtil { return panel; } + @NotNull + public static String getStatusText(int totalCount, int excludedCount, @NotNull ThreeState isContentsEqual) { + if (totalCount == 0 && isContentsEqual == ThreeState.NO) { + return DiffBundle.message("diff.all.differences.ignored.text"); + } + String message = DiffBundle.message("diff.count.differences.status.text", totalCount - excludedCount); + if (excludedCount > 0) message += " " + DiffBundle.message("diff.inactive.count.differences.status.text", excludedCount); + return message; + } + // // Focus //