From ded5d81eb71ec30359744af9c1e39693cae0537b Mon Sep 17 00:00:00 2001 From: "Vassiliy.Kudryashov" Date: Thu, 23 Nov 2017 01:32:18 +0300 Subject: [PATCH] Provide speedsearch for combobox in "Select Template" dialog --- .../ide/fileTemplates/ui/SelectTemplateDialog.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/fileTemplates/ui/SelectTemplateDialog.java b/platform/lang-impl/src/com/intellij/ide/fileTemplates/ui/SelectTemplateDialog.java index c74d059cc1d5..cdbecdeca028 100644 --- a/platform/lang-impl/src/com/intellij/ide/fileTemplates/ui/SelectTemplateDialog.java +++ b/platform/lang-impl/src/com/intellij/ide/fileTemplates/ui/SelectTemplateDialog.java @@ -21,9 +21,11 @@ import com.intellij.ide.fileTemplates.FileTemplate; import com.intellij.ide.fileTemplates.FileTemplateManager; import com.intellij.ide.fileTemplates.FileTemplateUtil; import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.ComboBox; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.ui.FixedSizeButton; import com.intellij.psi.PsiDirectory; +import com.intellij.ui.ComboboxSpeedSearch; import com.intellij.ui.ListCellRendererWrapper; import com.intellij.util.ui.JBUI; @@ -37,7 +39,7 @@ import java.awt.event.ActionListener; * Time: 1:31:43 PM */ public class SelectTemplateDialog extends DialogWrapper{ - private JComboBox myCbxTemplates; + private ComboBox myCbxTemplates; private FileTemplate mySelectedTemplate; private final Project myProject; private final PsiDirectory myDirectory; @@ -83,7 +85,13 @@ public class SelectTemplateDialog extends DialogWrapper{ } } if(myCbxTemplates == null){ - myCbxTemplates = new JComboBox(model); + myCbxTemplates = new ComboBox(model); + new ComboboxSpeedSearch(myCbxTemplates) { + @Override + protected String getElementText(Object element) { + return element instanceof FileTemplate ? ((FileTemplate)element).getName() : null; + } + }; myCbxTemplates.setRenderer(new ListCellRendererWrapper() { @Override public void customize(JList list, FileTemplate fileTemplate, int index, boolean selected, boolean hasFocus) {