mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
'Show project structure' actions moved to idea-ui module
This commit is contained in:
+3
-13
@@ -18,30 +18,20 @@ package com.intellij.ide.actions;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.options.Configurable;
|
||||
import com.intellij.openapi.options.ShowSettingsUtil;
|
||||
import com.intellij.openapi.options.newEditor.OptionsEditorDialog;
|
||||
import com.intellij.openapi.options.ex.ProjectConfigurablesGroup;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
|
||||
|
||||
public class ShowStructureSettingsAction extends AnAction implements DumbAware {
|
||||
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.ide.actions.ShowStructureSettingsAction");
|
||||
|
||||
public void actionPerformed(AnActionEvent e) {
|
||||
Project project = PlatformDataKeys.PROJECT.getData(e.getDataContext());
|
||||
if (project == null) {
|
||||
project = ProjectManager.getInstance().getDefaultProject();
|
||||
}
|
||||
|
||||
final Configurable configurable = ProjectConfigurablesGroup.getProjectStructureConfigurable(project);
|
||||
if (configurable != null) {
|
||||
ShowSettingsUtil.getInstance().editConfigurable(project, OptionsEditorDialog.DIMENSION_KEY, configurable);
|
||||
} else {
|
||||
LOG.info("No project structure configurable found");
|
||||
}
|
||||
ShowSettingsUtil.getInstance().editProjectConfigurable(project, ProjectStructureConfigurable.class, OptionsEditorDialog.DIMENSION_KEY);
|
||||
}
|
||||
}
|
||||
+3
-5
@@ -17,18 +17,16 @@ package com.intellij.ide.actions;
|
||||
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.options.Configurable;
|
||||
import com.intellij.openapi.options.ShowSettingsUtil;
|
||||
import com.intellij.openapi.options.newEditor.OptionsEditorDialog;
|
||||
import com.intellij.openapi.options.ex.ProjectConfigurablesGroup;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ex.ProjectManagerEx;
|
||||
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
|
||||
|
||||
public class TemplateProjectStructureAction extends AnAction implements DumbAware {
|
||||
public void actionPerformed(final AnActionEvent e) {
|
||||
Project defaultProject = ProjectManagerEx.getInstanceEx().getDefaultProject();
|
||||
final Configurable configurable = ProjectConfigurablesGroup.getProjectStructureConfigurable(defaultProject);
|
||||
ShowSettingsUtil.getInstance().editConfigurable(defaultProject, OptionsEditorDialog.DIMENSION_KEY, configurable);
|
||||
ShowSettingsUtil.getInstance().editProjectConfigurable(defaultProject, ProjectStructureConfigurable.class, OptionsEditorDialog.DIMENSION_KEY);
|
||||
}
|
||||
}
|
||||
@@ -46,6 +46,9 @@ public abstract class ShowSettingsUtil {
|
||||
|
||||
public abstract boolean editConfigurable(Project project, @NonNls String dimensionServiceKey, Configurable configurable);
|
||||
|
||||
public abstract boolean editProjectConfigurable(@NotNull Project project, Class<? extends Configurable> configurableClass,
|
||||
@NonNls @Nullable String dimensionServiceKey);
|
||||
|
||||
public abstract boolean editConfigurable(Component parent, String dimensionServiceKey, Configurable configurable);
|
||||
|
||||
public abstract <T extends Configurable> T findProjectConfigurable(Project project, Class<T> confClass);
|
||||
|
||||
@@ -17,6 +17,7 @@ package com.intellij.ide.actions;
|
||||
|
||||
import com.intellij.ide.util.PropertiesComponent;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.options.Configurable;
|
||||
import com.intellij.openapi.options.ConfigurableGroup;
|
||||
import com.intellij.openapi.options.ShowSettingsUtil;
|
||||
@@ -36,6 +37,7 @@ import java.util.List;
|
||||
* @author max
|
||||
*/
|
||||
public class ShowSettingsUtilImpl extends ShowSettingsUtil {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.ide.actions.ShowSettingsUtilImpl");
|
||||
@NonNls
|
||||
private static final String PREFER_CLASSIC_OPTIONS_EDITOR = "PREFER_CLASSIC_OPTIONS_EDITOR";
|
||||
|
||||
@@ -147,6 +149,21 @@ public class ShowSettingsUtilImpl extends ShowSettingsUtil {
|
||||
return configurableEditor.isOK();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean editProjectConfigurable(@NotNull Project project,
|
||||
Class<? extends Configurable> configurableClass,
|
||||
@NonNls String dimensionServiceKey) {
|
||||
final Configurable configurable = findProjectConfigurable(project, configurableClass);
|
||||
if (configurable == null) {
|
||||
LOG.error("Cannot find project configurable for " + configurableClass);
|
||||
return false;
|
||||
}
|
||||
if (dimensionServiceKey == null) {
|
||||
dimensionServiceKey = createDimensionKey(configurable);
|
||||
}
|
||||
return editConfigurable(project, dimensionServiceKey, configurable);
|
||||
}
|
||||
|
||||
public boolean editConfigurable(Component parent, Configurable configurable) {
|
||||
final SingleConfigurableEditor configurableEditor = new SingleConfigurableEditor(parent, configurable, createDimensionKey(configurable));
|
||||
configurableEditor.show();
|
||||
|
||||
-12
@@ -18,7 +18,6 @@ package com.intellij.openapi.options.ex;
|
||||
import com.intellij.openapi.options.*;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
@@ -75,17 +74,6 @@ public class ProjectConfigurablesGroup implements ConfigurableGroup {
|
||||
return result.toArray(new Configurable[result.size()]);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static Configurable getProjectStructureConfigurable(Project project) {
|
||||
final Configurable[] configurables = getConfigurables(project, new ConfigurableFilter() {
|
||||
public boolean isIncluded(final Configurable configurable) {
|
||||
return PROJECT_STRUCTURE_CLASS_FQ_NAME.equals(configurable.getClass().getName());
|
||||
}
|
||||
});
|
||||
|
||||
return configurables.length == 1 ? configurables[0] : null;
|
||||
}
|
||||
|
||||
static List<Configurable> buildConfigurablesList(final Configurable[] extensions, final Configurable[] components, ConfigurableFilter filter) {
|
||||
List<Configurable> result = new ArrayList<Configurable>();
|
||||
ContainerUtil.addAll(result, extensions);
|
||||
|
||||
Reference in New Issue
Block a user