mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
scope: display "Open Files" label in scope selector combobox instead of bare hashCode if no files opened (WEB-20644)
This commit is contained in:
@@ -300,7 +300,7 @@ public abstract class GlobalSearchScope extends SearchScope implements ProjectAw
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static GlobalSearchScope fileScope(@NotNull Project project, final VirtualFile virtualFile, @Nullable final String displayName) {
|
||||
public static GlobalSearchScope fileScope(@NotNull Project project, @Nullable VirtualFile virtualFile, @Nullable final String displayName) {
|
||||
return new FileScope(project, virtualFile) {
|
||||
@NotNull
|
||||
@Override
|
||||
@@ -708,7 +708,7 @@ public abstract class GlobalSearchScope extends SearchScope implements ProjectAw
|
||||
private final Module myModule;
|
||||
private final boolean mySearchOutsideContent;
|
||||
|
||||
private FileScope(@NotNull Project project, VirtualFile virtualFile) {
|
||||
private FileScope(@NotNull Project project, @Nullable VirtualFile virtualFile) {
|
||||
super(project);
|
||||
myVirtualFile = virtualFile;
|
||||
final FileIndexFacade facade = FileIndexFacade.getInstance(project);
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.intellij.psi.search;
|
||||
import com.intellij.openapi.fileEditor.FileEditorManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -26,12 +27,19 @@ import java.util.Arrays;
|
||||
* @author yole
|
||||
*/
|
||||
public class GlobalSearchScopes extends GlobalSearchScopesCore {
|
||||
|
||||
public static final String OPEN_FILES_SCOPE_NAME = "Open Files";
|
||||
|
||||
private GlobalSearchScopes() {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static GlobalSearchScope openFilesScope(@NotNull Project project) {
|
||||
final VirtualFile[] files = FileEditorManager.getInstance(project).getOpenFiles();
|
||||
return GlobalSearchScope.filesScope(project, Arrays.asList(files), "Open Files");
|
||||
if (ArrayUtil.isEmpty(files)) {
|
||||
// prefer a scope with meaningful getDisplayName(), avoid GlobalSearchScope.EMPTY_SCOPE
|
||||
return GlobalSearchScope.fileScope(project, null, OPEN_FILES_SCOPE_NAME);
|
||||
}
|
||||
return GlobalSearchScope.filesScope(project, Arrays.asList(files), OPEN_FILES_SCOPE_NAME);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,6 @@ import java.util.List;
|
||||
|
||||
public class ScopeChooserUtils {
|
||||
|
||||
private static final String OPEN_FILES_SCOPE_NAME = "Open Files";
|
||||
private static final String CURRENT_FILE_SCOPE_NAME = IdeBundle.message("scope.current.file");
|
||||
|
||||
private ScopeChooserUtils() {
|
||||
@@ -49,7 +48,7 @@ public class ScopeChooserUtils {
|
||||
if (namedScope == null) {
|
||||
namedScope = NamedScopesHolder.getScope(project, scopeName);
|
||||
}
|
||||
if (namedScope == null && OPEN_FILES_SCOPE_NAME.equals(scopeName)) {
|
||||
if (namedScope == null && GlobalSearchScopes.OPEN_FILES_SCOPE_NAME.equals(scopeName)) {
|
||||
return intersectWithContentScope(project, GlobalSearchScopes.openFilesScope(project));
|
||||
}
|
||||
if (namedScope == null && CURRENT_FILE_SCOPE_NAME.equals(scopeName)) {
|
||||
|
||||
Reference in New Issue
Block a user