diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java index a3316b227970..4ef36747e7af 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java @@ -1537,6 +1537,10 @@ public abstract class ChooseByNameBase { return myMaximumListSizeLimit; } + public void setMaximumListSizeLimit(final int maximumListSizeLimit) { + myMaximumListSizeLimit = maximumListSizeLimit; + } + private static final String ACTION_NAME = "Show All in View"; private abstract class ShowFindUsagesAction extends AnAction { diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/GotoTaskAction.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/GotoTaskAction.java index 527f8e8f0838..ca9921f4c933 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/GotoTaskAction.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/GotoTaskAction.java @@ -61,8 +61,8 @@ public class GotoTaskAction extends GotoActionBase { boolean everywhere, @NotNull ProgressIndicator cancelled, @NotNull Processor consumer) { - List cachedTasks = TaskSearchSupport.getLocalAndCachedTasks(TaskManager.getManager(project), pattern, everywhere); - List taskPsiElements = ContainerUtil.map(cachedTasks, new Function() { + List cachedAndLocalTasks = TaskSearchSupport.getLocalAndCachedTasks(TaskManager.getManager(project), pattern, everywhere); + List taskPsiElements = ContainerUtil.map(cachedAndLocalTasks, new Function() { @Override public TaskPsiElement fun(Task task) { return new TaskPsiElement(PsiManager.getInstance(project), task); @@ -86,7 +86,7 @@ public class GotoTaskAction extends GotoActionBase { List tasks = TaskSearchSupport.getRepositoriesTasks(TaskManager.getManager(project), pattern, base.getMaximumListSizeLimit(), 0, true, everywhere); - tasks.removeAll(cachedTasks); + tasks.removeAll(cachedAndLocalTasks); taskPsiElements = ContainerUtil.map(tasks, new Function() { @Override public TaskPsiElement fun(Task task) { @@ -105,7 +105,7 @@ public class GotoTaskAction extends GotoActionBase { } return true; } - }, "", false, 0); + }, null, false, 0); popup.setShowListForEmptyPattern(true); popup.setSearchInAnyPlace(true); popup.setAdText("Press SHIFT to merge with current context
" + @@ -132,6 +132,7 @@ public class GotoTaskAction extends GotoActionBase { final ActionToolbar actionToolbar = ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, group, true); actionToolbar.setLayoutPolicy(ActionToolbar.NOWRAP_LAYOUT_POLICY); popup.setToolArea(actionToolbar.getComponent()); + popup.setMaximumListSizeLimit(10); showNavigationPopup(new GotoActionCallback() { @Override diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/generic/GenericRepository.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/generic/GenericRepository.java index 67d87f0df7e3..1111985096c7 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/generic/GenericRepository.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/generic/GenericRepository.java @@ -99,7 +99,11 @@ public class GenericRepository extends BaseRepositoryImpl { tasks.add(new GenericTask(id, summary, this)); } - tasks = TaskSearchSupport.filterTasks(query != null ? query : "", tasks); + final boolean searchSupported = getTasksListURL().contains(QUERY_PLACEHOLDER); + if (!searchSupported) { + tasks = TaskSearchSupport.filterTasks(query != null ? query : "", tasks); + } + tasks = tasks.subList(0, Math.min(max, tasks.size())); return tasks.toArray(new Task[tasks.size()]); diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java index df45900ce480..ec07be9856ca 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/impl/TaskManagerImpl.java @@ -239,7 +239,7 @@ public class TaskManagerImpl extends TaskManager implements ProjectComponent, Pe List tasks = getIssuesFromRepositories(query, max, since, forceRequest); if (tasks == null) return getCachedIssues(withClosed); myIssueCache.putAll(ContainerUtil.newMapFromValues(tasks.iterator(), KEY_CONVERTOR)); - return ContainerUtil.filter(myIssueCache.values(), new Condition() { + return ContainerUtil.filter(tasks, new Condition() { @Override public boolean value(final Task task) { return withClosed || !task.isClosed();