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();