diff --git a/platform/platform-impl/src/com/intellij/ide/actions/ShowSettingsUtilImpl.java b/platform/platform-impl/src/com/intellij/ide/actions/ShowSettingsUtilImpl.java index d8237874e1c0..a8b9809cf65e 100644 --- a/platform/platform-impl/src/com/intellij/ide/actions/ShowSettingsUtilImpl.java +++ b/platform/platform-impl/src/com/intellij/ide/actions/ShowSettingsUtilImpl.java @@ -164,7 +164,7 @@ public class ShowSettingsUtilImpl extends ShowSettingsUtil { ConfigurableGroup[] group = getConfigurableGroups(project, true); group = filterEmptyGroups(group); - final Configurable configurable2Select = findConfigurable2Select(id2Select, group); + final Configurable configurable2Select = id2Select == null ? null : new ConfigurableVisitor.ByID(id2Select).find(group); if (ApplicationManager.getApplication().isInternal() && Registry.is("ide.new.settings.view")) { new SettingsDialog(getProject(project), group, configurable2Select, filter).show(); @@ -183,31 +183,6 @@ public class ShowSettingsUtilImpl extends ShowSettingsUtil { dialog.show(); } - @Nullable - private static Configurable findConfigurable2Select(String id2Select, ConfigurableGroup[] group) { - for (ConfigurableGroup configurableGroup : group) { - for (Configurable configurable : configurableGroup.getConfigurables()) { - final Configurable conf = containsId(id2Select, configurable); - if (conf != null) return conf; - } - } - return null; - } - - @Nullable - private static Configurable containsId(String id2Select, Configurable configurable) { - if (configurable instanceof SearchableConfigurable && id2Select.equals(((SearchableConfigurable)configurable).getId())) { - return configurable; - } - if (configurable instanceof SearchableConfigurable.Parent) { - for (Configurable subConfigurable : ((SearchableConfigurable.Parent)configurable).getConfigurables()) { - final Configurable config = containsId(id2Select, subConfigurable); - if (config != null) return config; - } - } - return null; - } - @Override public void showSettingsDialog(@NotNull final Project project, final Configurable toSelect) { getDialog(project, getConfigurableGroups(project, true), toSelect).show();