mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
UX-1 new SearchEverywhere popup
* short text in results items when not enough space
This commit is contained in:
+1
-1
@@ -43,7 +43,7 @@ public interface SearchEverywhereContributor<F> {
|
||||
|
||||
boolean processSelectedItem(Object selected, int modifiers);
|
||||
|
||||
ListCellRenderer getElementsRenderer();
|
||||
ListCellRenderer getElementsRenderer(JList<?> list);
|
||||
|
||||
Object getDataForItem(Object element, String dataId);
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ import java.util.LinkedList;
|
||||
/**
|
||||
* @author Konstantin Bulenkov
|
||||
*/
|
||||
class SearchEverywherePsiRenderer extends PsiElementListCellRenderer<PsiElement> {
|
||||
public class SearchEverywherePsiRenderer extends PsiElementListCellRenderer<PsiElement> {
|
||||
|
||||
private final JList myList;
|
||||
|
||||
|
||||
+7
@@ -2,6 +2,7 @@
|
||||
package com.intellij.ide.actions.searcheverywhere;
|
||||
|
||||
import com.intellij.codeInsight.navigation.NavigationUtil;
|
||||
import com.intellij.ide.actions.SearchEverywherePsiRenderer;
|
||||
import com.intellij.ide.util.gotoByName.ChooseByNameModel;
|
||||
import com.intellij.ide.util.gotoByName.ChooseByNamePopup;
|
||||
import com.intellij.ide.util.gotoByName.FilteringGotoByModel;
|
||||
@@ -14,6 +15,7 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.InputEvent;
|
||||
|
||||
public abstract class AbstractGotoSEContributor<F> implements SearchEverywhereContributor<F> {
|
||||
@@ -95,6 +97,11 @@ public abstract class AbstractGotoSEContributor<F> implements SearchEverywhereCo
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListCellRenderer getElementsRenderer(JList<?> list) {
|
||||
return new SearchEverywherePsiRenderer(list);
|
||||
}
|
||||
|
||||
protected boolean isDumbModeSupported() {
|
||||
return false;
|
||||
}
|
||||
|
||||
+1
-1
@@ -85,7 +85,7 @@ public class ActionSearchEverywhereContributor implements SearchEverywhereContri
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListCellRenderer getElementsRenderer() {
|
||||
public ListCellRenderer getElementsRenderer(JList<?> list) {
|
||||
return myModel.getListCellRenderer();
|
||||
}
|
||||
|
||||
|
||||
-6
@@ -2,7 +2,6 @@
|
||||
package com.intellij.ide.actions.searcheverywhere;
|
||||
|
||||
import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.ide.util.NavigationItemListCellRenderer;
|
||||
import com.intellij.ide.util.gotoByName.FilteringGotoByModel;
|
||||
import com.intellij.ide.util.gotoByName.GotoClassModel2;
|
||||
import com.intellij.lang.DependentLanguage;
|
||||
@@ -50,11 +49,6 @@ public class ClassSearchEverywhereContributor extends AbstractGotoSEContributor<
|
||||
return new GotoClassModel2(project);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListCellRenderer getElementsRenderer() {
|
||||
return new NavigationItemListCellRenderer();
|
||||
}
|
||||
|
||||
public static class Factory implements SearchEverywhereContributorFactory<Language> {
|
||||
public static final Function<Language, String> LANGUAGE_NAME_EXTRACTOR = Language::getDisplayName;
|
||||
public static final Function<Language, Icon> LANGUAGE_ICON_EXTRACTOR = language -> {
|
||||
|
||||
-6
@@ -16,7 +16,6 @@ import com.intellij.ui.IdeUICustomization;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.InputEvent;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -57,11 +56,6 @@ public class FileSearchEverywhereContributor extends AbstractGotoSEContributor<F
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListCellRenderer getElementsRenderer() {
|
||||
return createModel(myProject).getListCellRenderer();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean processSelectedItem(Object selected, int modifiers) {
|
||||
//todo maybe another elements types
|
||||
|
||||
+1
-1
@@ -711,7 +711,7 @@ public class SearchEverywhereUI extends BorderLayoutPanel implements Disposable,
|
||||
}
|
||||
|
||||
SearchEverywhereContributor contributor = myListModel.getContributorForIndex(index);
|
||||
Component component = contributor.getElementsRenderer()
|
||||
Component component = contributor.getElementsRenderer(myResultsList)
|
||||
.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
|
||||
|
||||
if (isAllTabSelected() && myListModel.isGroupFirstItem(index)) {
|
||||
|
||||
-7
@@ -2,7 +2,6 @@
|
||||
package com.intellij.ide.actions.searcheverywhere;
|
||||
|
||||
import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.ide.util.NavigationItemListCellRenderer;
|
||||
import com.intellij.ide.util.gotoByName.FilteringGotoByModel;
|
||||
import com.intellij.ide.util.gotoByName.GotoSymbolModel2;
|
||||
import com.intellij.lang.DependentLanguage;
|
||||
@@ -14,7 +13,6 @@ import com.intellij.ui.IdeUICustomization;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -48,11 +46,6 @@ public class SymbolSearchEverywhereContributor extends AbstractGotoSEContributor
|
||||
return new GotoSymbolModel2(project);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListCellRenderer getElementsRenderer() {
|
||||
return new NavigationItemListCellRenderer();
|
||||
}
|
||||
|
||||
public static class Factory implements SearchEverywhereContributorFactory<Language> {
|
||||
@NotNull
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -123,7 +123,7 @@ public class TopHitSEContributor implements SearchEverywhereContributor<Void> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListCellRenderer getElementsRenderer() {
|
||||
public ListCellRenderer getElementsRenderer(JList<?> list) {
|
||||
return new TopHitRenderer(myProject);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user