mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fixed scrolling to selected node after opening Project Structure dialog
This commit is contained in:
@@ -24,6 +24,8 @@ import com.intellij.openapi.options.ex.*;
|
||||
import com.intellij.openapi.options.newEditor.OptionsEditorDialog;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.util.ui.update.Activatable;
|
||||
import com.intellij.util.ui.update.UiNotifyConnector;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -143,35 +145,37 @@ public class ShowSettingsUtilImpl extends ShowSettingsUtil {
|
||||
}
|
||||
|
||||
public boolean editConfigurable(Project project, String dimensionServiceKey, Configurable configurable) {
|
||||
return editConfigurable(project, configurable, dimensionServiceKey, null);
|
||||
return editConfigurable(null, project, configurable, dimensionServiceKey, null);
|
||||
}
|
||||
|
||||
public boolean editConfigurable(Project project, Configurable configurable, Runnable advancedInitialization) {
|
||||
return editConfigurable(project, configurable, createDimensionKey(configurable), advancedInitialization);
|
||||
}
|
||||
|
||||
private static boolean editConfigurable(Project project, Configurable configurable, final String dimensionKey, Runnable advancedInitialization) {
|
||||
SingleConfigurableEditor editor = new SingleConfigurableEditor(project, configurable, dimensionKey);
|
||||
if (advancedInitialization != null) {
|
||||
advancedInitialization.run();
|
||||
}
|
||||
editor.show();
|
||||
return editor.isOK();
|
||||
return editConfigurable(null, project, configurable, createDimensionKey(configurable), advancedInitialization);
|
||||
}
|
||||
|
||||
public boolean editConfigurable(Component parent, Configurable configurable) {
|
||||
return editConfigurable(parent, configurable, null);
|
||||
}
|
||||
|
||||
public boolean editConfigurable(final Component parent, final Configurable configurable, final Runnable advancedInitialization) {
|
||||
return editConfigurable(parent, configurable, createDimensionKey(configurable), advancedInitialization);
|
||||
public boolean editConfigurable(final Component parent, final Configurable configurable, @Nullable final Runnable advancedInitialization) {
|
||||
return editConfigurable(parent, null, configurable, createDimensionKey(configurable), advancedInitialization);
|
||||
}
|
||||
|
||||
private static boolean editConfigurable(final Component parent, final Configurable configurable, final String dimensionKey,
|
||||
final Runnable advancedInitialization) {
|
||||
SingleConfigurableEditor editor = new SingleConfigurableEditor(parent, configurable, dimensionKey);
|
||||
private static boolean editConfigurable(final @Nullable Component parent, @Nullable Project project, final Configurable configurable, final String dimensionKey,
|
||||
@Nullable final Runnable advancedInitialization) {
|
||||
SingleConfigurableEditor editor;
|
||||
if (parent != null) {
|
||||
editor = new SingleConfigurableEditor(parent, configurable, dimensionKey);
|
||||
}
|
||||
else {
|
||||
editor = new SingleConfigurableEditor(project, configurable, dimensionKey);
|
||||
}
|
||||
if (advancedInitialization != null) {
|
||||
advancedInitialization.run();
|
||||
new UiNotifyConnector.Once(editor.getContentPane(), new Activatable.Adapter() {
|
||||
@Override
|
||||
public void showNotify() {
|
||||
advancedInitialization.run();
|
||||
}
|
||||
});
|
||||
}
|
||||
editor.show();
|
||||
return editor.isOK();
|
||||
@@ -184,6 +188,6 @@ public class ShowSettingsUtilImpl extends ShowSettingsUtil {
|
||||
}
|
||||
|
||||
public boolean editConfigurable(Component parent, String dimensionServiceKey,Configurable configurable) {
|
||||
return editConfigurable(parent, configurable, dimensionServiceKey, null);
|
||||
return editConfigurable(parent, null, configurable, dimensionServiceKey, null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,15 +22,13 @@ import com.android.sdklib.SdkManager;
|
||||
import com.intellij.ide.util.PropertiesComponent;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.options.ShowSettingsUtil;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.projectRoots.*;
|
||||
import com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil;
|
||||
import com.intellij.openapi.roots.JavadocOrderRootType;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.roots.ModuleRootManager;
|
||||
import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
|
||||
import com.intellij.openapi.roots.ui.configuration.ProjectSettingsService;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vfs.JarFileSystem;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
@@ -373,11 +371,6 @@ public class AndroidSdkUtils {
|
||||
}
|
||||
|
||||
public static void openModuleDependenciesConfigurable(final Module module) {
|
||||
final ProjectStructureConfigurable projectStructureConfigurable = ProjectStructureConfigurable.getInstance(module.getProject());
|
||||
ShowSettingsUtil.getInstance().editConfigurable(module.getProject(), projectStructureConfigurable, new Runnable() {
|
||||
public void run() {
|
||||
projectStructureConfigurable.select(module.getName(), ProjectBundle.message("modules.classpath.title"), true);
|
||||
}
|
||||
});
|
||||
ProjectSettingsService.getInstance(module.getProject()).openModuleDependenciesSettings(module, null);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user