From 60c3bffe5c893a08b8e4e39d22185255049fd8b4 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Sat, 22 Mar 2014 17:17:50 +0400 Subject: [PATCH] [log] IDEA-122300 Show full path in structure filter tooltip If there are multiple files selected, show them all, but don't let the tooltip to grow to much, so don't show more than 10 lines. --- .../filter/StructureFilterPopupComponent.java | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/StructureFilterPopupComponent.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/StructureFilterPopupComponent.java index 6925e52a67f8..3ac9464002bc 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/StructureFilterPopupComponent.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/StructureFilterPopupComponent.java @@ -22,6 +22,7 @@ import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; import com.intellij.vcs.log.VcsLogStructureFilter; import com.intellij.vcs.log.data.VcsLogStructureFilterImpl; @@ -32,6 +33,7 @@ import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.List; class StructureFilterPopupComponent extends FilterPopupComponent { @@ -62,13 +64,31 @@ class StructureFilterPopupComponent extends FilterPopupComponent files) { + List filesToDisplay = new ArrayList(files); + if (files.size() > 10) { + filesToDisplay = filesToDisplay.subList(0, 10); + } + String tooltip = StringUtil.join(filesToDisplay, new Function() { + @Override + public String fun(VirtualFile file) { + return file.getPresentableUrl(); + } + }, "\n"); + if (files.size() > 10) { + tooltip += "\n..."; + } + return tooltip; + } + @NotNull private static Collection notNullize(@Nullable Collection items) { return items != null ? items : Collections.emptyList();