diff options
Diffstat (limited to 'platform/lang-impl/src/com/intellij/ide/util')
3 files changed, 23 insertions, 10 deletions
diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoActionModel.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoActionModel.java index 348283dc3885..05d9bb771978 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoActionModel.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/GotoActionModel.java @@ -40,6 +40,7 @@ import com.intellij.ui.components.JBLabel; import com.intellij.ui.speedSearch.SpeedSearchUtil; import com.intellij.util.ArrayUtil; import com.intellij.util.containers.ContainerUtil; +import com.intellij.util.containers.ContainerUtilRt; import com.intellij.util.ui.EmptyIcon; import com.intellij.util.ui.UIUtil; import org.apache.oro.text.regex.*; @@ -492,7 +493,7 @@ public class GotoActionModel implements ChooseByNameModel, CustomMatcherModel, C @NotNull @Override public SortedSet<Object> sort(@NotNull Set<Object> elements) { - TreeSet<Object> objects = ContainerUtil.newTreeSet(this); + TreeSet<Object> objects = ContainerUtilRt.newTreeSet(this); objects.addAll(elements); return objects; } diff --git a/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserCombo.java b/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserCombo.java index 8297a3db8e1f..98190010159b 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserCombo.java +++ b/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserCombo.java @@ -29,6 +29,7 @@ import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.fileEditor.FileEditorManager; import com.intellij.openapi.module.*; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.vfs.VirtualFile; @@ -411,21 +412,32 @@ public class ScopeChooserCombo extends ComboboxWithBrowseButton implements Dispo } } - if (dataContext != null) { - final VirtualFile[] files = CommonDataKeys.VIRTUAL_FILE_ARRAY.getData(dataContext); - if (files != null) { - final List<VirtualFile> openFiles = Arrays.asList(files); - result.add(new DelegatingGlobalSearchScope(GlobalSearchScope.filesScope(project, openFiles)){ + ContainerUtil.addIfNotNull(result, getSelectedFilesScope(project, dataContext)); + + return ContainerUtil.newArrayList(result); + } + + @Nullable + private static SearchScope getSelectedFilesScope(final Project project, @Nullable DataContext dataContext) { + final VirtualFile[] filesOrDirs = dataContext == null ? null : CommonDataKeys.VIRTUAL_FILE_ARRAY.getData(dataContext); + if (filesOrDirs != null) { + final List<VirtualFile> selectedFiles = ContainerUtil.filter(filesOrDirs, new Condition<VirtualFile>() { + @Override + public boolean value(VirtualFile file) { + return !file.isDirectory(); + } + }); + if (!selectedFiles.isEmpty()) { + return new DelegatingGlobalSearchScope(GlobalSearchScope.filesScope(project, selectedFiles)){ @NotNull @Override public String getDisplayName() { return "Selected Files"; } - }); + }; } } - - return ContainerUtil.newArrayList(result); + return null; } protected static Set<VirtualFile> collectFiles(Set<Usage> usages, boolean findFirst) { diff --git a/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserConfigurable.java b/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserConfigurable.java index 96de48a0db13..a2bf7a47af28 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserConfigurable.java +++ b/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserConfigurable.java @@ -81,7 +81,7 @@ public class ScopeChooserConfigurable extends MasterDetailsComponent implements @Override protected Dimension getPanelPreferredSize() { - return new Dimension(-1, -1); + return new Dimension(400, 200); } @Override |