IDEA-130888 "Find action" don't navigate to selected option

This commit is contained in:
Sergey Malenkov
2014-10-07 21:52:13 +04:00
parent 871d2fb5ab
commit 83f912fb12
@@ -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();