From 08cf27cc21fe30dbbf094947e030f0dcbe82d7d4 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Wed, 7 May 2014 15:37:42 +0400 Subject: [PATCH] select exact match in install package dialog --- .../webcore/packaging/ManagePackagesDialog.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/webcore/packaging/ManagePackagesDialog.java b/platform/lang-impl/src/com/intellij/webcore/packaging/ManagePackagesDialog.java index 9d7a8bd67374..18961ca843c3 100644 --- a/platform/lang-impl/src/com/intellij/webcore/packaging/ManagePackagesDialog.java +++ b/platform/lang-impl/src/com/intellij/webcore/packaging/ManagePackagesDialog.java @@ -393,23 +393,28 @@ public class ManagePackagesDialog extends DialogWrapper { final ArrayList filtered = new ArrayList(); + RepoPackage toSelect = null; for (RepoPackage repoPackage : toProcess) { - if (StringUtil.containsIgnoreCase(repoPackage.getName(), filter)) { + final String packageName = repoPackage.getName(); + if (StringUtil.containsIgnoreCase(packageName, filter)) { filtered.add(repoPackage); } else { myFilteredOut.add(repoPackage); } + if (StringUtil.equals(packageName, filter)) toSelect = repoPackage; } - filter(filtered); + filter(filtered, toSelect); } - public void filter(List filtered){ + public void filter(List filtered, @Nullable final RepoPackage toSelect){ myView.clear(); myPackages.clearSelection(); for (RepoPackage repoPackage : filtered) { myView.add(repoPackage); } + if (toSelect != null) + myPackages.setSelectedValue(toSelect, true); Collections.sort(myView); fireContentsChanged(this, 0, myView.size()); }