mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-130888 "Find action" don't navigate to selected option
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user