mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fixed duplicated entries for project structure dialog in workspace.xml
This commit is contained in:
+1
@@ -78,6 +78,7 @@ public class ArtifactEditorSettings implements PersistentStateComponent<Artifact
|
||||
myTypesToShowContent.addAll(typesToShowContent);
|
||||
}
|
||||
|
||||
@Tag("artifact-editor")
|
||||
public static class ArtifactEditorSettingsState {
|
||||
@Tag("show-sorted")
|
||||
public boolean mySortElements = true;
|
||||
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright 2000-2010 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.openapi.roots.ui.configuration.artifacts;
|
||||
|
||||
import com.intellij.openapi.ui.MasterDetailsState;
|
||||
import com.intellij.util.xmlb.annotations.Property;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class ArtifactStructureConfigurableState extends MasterDetailsState {
|
||||
private ArtifactEditorSettings.ArtifactEditorSettingsState myDefaultArtifactSettings = new ArtifactEditorSettings.ArtifactEditorSettingsState();
|
||||
|
||||
@Property(surroundWithTag = false)
|
||||
public ArtifactEditorSettings.ArtifactEditorSettingsState getDefaultArtifactSettings() {
|
||||
return myDefaultArtifactSettings;
|
||||
}
|
||||
|
||||
public void setDefaultArtifactSettings(ArtifactEditorSettings.ArtifactEditorSettingsState defaultArtifactSettings) {
|
||||
myDefaultArtifactSettings = defaultArtifactSettings;
|
||||
}
|
||||
}
|
||||
+14
-13
@@ -20,9 +20,6 @@ import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.DefaultActionGroup;
|
||||
import com.intellij.openapi.application.Result;
|
||||
import com.intellij.openapi.application.WriteAction;
|
||||
import com.intellij.openapi.components.PersistentStateComponent;
|
||||
import com.intellij.openapi.components.State;
|
||||
import com.intellij.openapi.components.Storage;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.DumbAwareAction;
|
||||
@@ -36,6 +33,7 @@ import com.intellij.openapi.roots.ui.configuration.ModuleEditor;
|
||||
import com.intellij.openapi.roots.ui.configuration.libraryEditor.LibraryEditorListener;
|
||||
import com.intellij.openapi.roots.ui.configuration.projectRoot.*;
|
||||
import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureElement;
|
||||
import com.intellij.openapi.ui.MasterDetailsState;
|
||||
import com.intellij.openapi.ui.MasterDetailsStateService;
|
||||
import com.intellij.packaging.artifacts.*;
|
||||
import com.intellij.packaging.impl.artifacts.ArtifactUtil;
|
||||
@@ -55,16 +53,12 @@ import java.util.List;
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
@State(
|
||||
name = "ArtifactsStructureConfigurable.UI",
|
||||
storages = {@Storage(id = "other", file = "$WORKSPACE_FILE$")}
|
||||
)
|
||||
public class ArtifactsStructureConfigurable extends BaseStructureConfigurable {
|
||||
private ArtifactsStructureConfigurableContextImpl myPackagingEditorContext;
|
||||
private final ArtifactEditorSettings myDefaultSettings = new ArtifactEditorSettings();
|
||||
|
||||
public ArtifactsStructureConfigurable(@NotNull Project project) {
|
||||
super(project);
|
||||
super(project, new ArtifactStructureConfigurableState());
|
||||
MasterDetailsStateService.getInstance(project).register("ArtifactsStructureConfigurable.UI", this);
|
||||
}
|
||||
|
||||
@@ -163,6 +157,18 @@ public class ArtifactsStructureConfigurable extends BaseStructureConfigurable {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public MasterDetailsState getState() {
|
||||
((ArtifactStructureConfigurableState)myState).setDefaultArtifactSettings(myDefaultSettings.getState());
|
||||
return super.getState();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadState(MasterDetailsState object) {
|
||||
super.loadState(object);
|
||||
myDefaultSettings.loadState(((ArtifactStructureConfigurableState)myState).getDefaultArtifactSettings());
|
||||
}
|
||||
|
||||
@Nls
|
||||
public String getDisplayName() {
|
||||
return ProjectBundle.message("display.name.artifacts");
|
||||
@@ -192,11 +198,6 @@ public class ArtifactsStructureConfigurable extends BaseStructureConfigurable {
|
||||
return node;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PersistentStateComponent<?> getAdditionalSettings() {
|
||||
return myDefaultSettings;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
myPackagingEditorContext.resetModifiableModel();
|
||||
|
||||
+6
@@ -31,6 +31,7 @@ import com.intellij.openapi.roots.libraries.Library;
|
||||
import com.intellij.openapi.roots.libraries.LibraryTable;
|
||||
import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.*;
|
||||
import com.intellij.openapi.ui.MasterDetailsComponent;
|
||||
import com.intellij.openapi.ui.MasterDetailsState;
|
||||
import com.intellij.openapi.ui.NamedConfigurable;
|
||||
import com.intellij.openapi.util.ActionCallback;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
@@ -66,6 +67,11 @@ public abstract class BaseStructureConfigurable extends MasterDetailsComponent i
|
||||
|
||||
protected boolean myAutoScrollEnabled = true;
|
||||
|
||||
protected BaseStructureConfigurable(Project project, MasterDetailsState state) {
|
||||
super(state);
|
||||
myProject = project;
|
||||
}
|
||||
|
||||
protected BaseStructureConfigurable(final Project project) {
|
||||
myProject = project;
|
||||
}
|
||||
|
||||
+2
-11
@@ -27,8 +27,6 @@ import com.intellij.facet.ui.MultipleFacetSettingsEditor;
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.components.State;
|
||||
import com.intellij.openapi.components.Storage;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleManager;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
@@ -37,6 +35,7 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
|
||||
import com.intellij.openapi.ui.DetailsComponent;
|
||||
import com.intellij.openapi.ui.MasterDetailsStateService;
|
||||
import com.intellij.openapi.ui.NamedConfigurable;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -50,15 +49,6 @@ import java.util.List;
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
@State(
|
||||
name = "FacetStructureConfigurable.UI",
|
||||
storages = {
|
||||
@Storage(
|
||||
id = "other",
|
||||
file = "$WORKSPACE_FILE$"
|
||||
)
|
||||
}
|
||||
)
|
||||
public class FacetStructureConfigurable extends BaseStructureConfigurable {
|
||||
private static final Icon ICON = IconLoader.getIcon("/modules/modules.png");//todo[nik] use facets icon
|
||||
private final ModuleManager myModuleManager;
|
||||
@@ -67,6 +57,7 @@ public class FacetStructureConfigurable extends BaseStructureConfigurable {
|
||||
|
||||
public FacetStructureConfigurable(final Project project, ModuleManager moduleManager) {
|
||||
super(project);
|
||||
MasterDetailsStateService.getInstance(project).register("FacetStructureConfigurable.UI", this);
|
||||
myModuleManager = moduleManager;
|
||||
}
|
||||
|
||||
|
||||
+2
-10
@@ -16,29 +16,21 @@
|
||||
package com.intellij.openapi.roots.ui.configuration.projectRoot;
|
||||
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.components.State;
|
||||
import com.intellij.openapi.components.Storage;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.roots.libraries.LibraryTablesRegistrar;
|
||||
import com.intellij.openapi.ui.MasterDetailsStateService;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
@State(
|
||||
name = "GlobalLibrariesConfigurable.UI",
|
||||
storages = {
|
||||
@Storage(
|
||||
id ="other",
|
||||
file = "$WORKSPACE_FILE$"
|
||||
)}
|
||||
)
|
||||
public class GlobalLibrariesConfigurable extends BaseLibrariesConfigurable {
|
||||
|
||||
public GlobalLibrariesConfigurable(final Project project) {
|
||||
super(project);
|
||||
MasterDetailsStateService.getInstance(project).register("GlobalLibrariesConfigurable.UI", this);
|
||||
myLevel = LibraryTablesRegistrar.APPLICATION_LEVEL;
|
||||
}
|
||||
|
||||
|
||||
+3
-14
@@ -19,8 +19,6 @@ import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.DefaultActionGroup;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.components.State;
|
||||
import com.intellij.openapi.components.Storage;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
@@ -32,6 +30,7 @@ import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
|
||||
import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureElement;
|
||||
import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.SdkProjectStructureElement;
|
||||
import com.intellij.openapi.ui.MasterDetailsComponent;
|
||||
import com.intellij.openapi.ui.MasterDetailsStateService;
|
||||
import com.intellij.openapi.ui.NamedConfigurable;
|
||||
import com.intellij.util.Consumer;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
@@ -46,20 +45,9 @@ import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@State(
|
||||
name = "JdkListConfigurable.UI",
|
||||
storages = {
|
||||
@Storage(
|
||||
id ="other",
|
||||
file = "$WORKSPACE_FILE$"
|
||||
)}
|
||||
)
|
||||
public class JdkListConfigurable extends BaseStructureConfigurable {
|
||||
|
||||
private final ProjectSdksModel myJdksTreeModel;
|
||||
|
||||
|
||||
SdkModel.Listener myListener = new SdkModel.Listener() {
|
||||
private final SdkModel.Listener myListener = new SdkModel.Listener() {
|
||||
public void sdkAdded(Sdk sdk) {
|
||||
}
|
||||
|
||||
@@ -87,6 +75,7 @@ public class JdkListConfigurable extends BaseStructureConfigurable {
|
||||
|
||||
public JdkListConfigurable(final Project project, ProjectStructureConfigurable root) {
|
||||
super(project);
|
||||
MasterDetailsStateService.getInstance(project).register("JdkListConfigurable.UI", this);
|
||||
myJdksTreeModel = root.getProjectJdksModel();
|
||||
myJdksTreeModel.addListener(myListener);
|
||||
}
|
||||
|
||||
+2
-10
@@ -30,8 +30,6 @@ import com.intellij.ide.util.projectWizard.ProjectWizardUtil;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.components.State;
|
||||
import com.intellij.openapi.components.Storage;
|
||||
import com.intellij.openapi.module.*;
|
||||
import com.intellij.openapi.options.ConfigurationException;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
@@ -52,6 +50,7 @@ import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ModuleProj
|
||||
import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureDaemonAnalyzer;
|
||||
import com.intellij.openapi.roots.ui.configuration.projectRoot.daemon.ProjectStructureElement;
|
||||
import com.intellij.openapi.ui.DialogWrapper;
|
||||
import com.intellij.openapi.ui.MasterDetailsStateService;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.ui.NamedConfigurable;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
@@ -83,14 +82,6 @@ import java.util.List;
|
||||
* User: anna
|
||||
* Date: 02-Jun-2006
|
||||
*/
|
||||
@State(
|
||||
name = "ModuleStructureConfigurable.UI",
|
||||
storages = {
|
||||
@Storage(
|
||||
id ="other",
|
||||
file = "$WORKSPACE_FILE$"
|
||||
)}
|
||||
)
|
||||
public class ModuleStructureConfigurable extends BaseStructureConfigurable implements Place.Navigator {
|
||||
|
||||
private static final Icon COMPACT_EMPTY_MIDDLE_PACKAGES_ICON = IconLoader.getIcon("/objectBrowser/compactEmptyPackages.png");
|
||||
@@ -105,6 +96,7 @@ public class ModuleStructureConfigurable extends BaseStructureConfigurable imple
|
||||
|
||||
public ModuleStructureConfigurable(Project project, ModuleManager manager) {
|
||||
super(project);
|
||||
MasterDetailsStateService.getInstance(project).register("ModuleStructureConfigurable.UI", this);
|
||||
myModuleManager = manager;
|
||||
}
|
||||
|
||||
|
||||
+2
-12
@@ -16,30 +16,20 @@
|
||||
package com.intellij.openapi.roots.ui.configuration.projectRoot;
|
||||
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.components.State;
|
||||
import com.intellij.openapi.components.Storage;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.roots.libraries.LibraryTablesRegistrar;
|
||||
import com.intellij.openapi.roots.ui.configuration.LibraryTableModifiableModelProvider;
|
||||
import com.intellij.openapi.ui.MasterDetailsStateService;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
@State(
|
||||
name = "ProjectLibrariesConfigurable.UI",
|
||||
storages = {
|
||||
@Storage(
|
||||
id ="other",
|
||||
file = "$WORKSPACE_FILE$"
|
||||
)}
|
||||
)
|
||||
public class ProjectLibrariesConfigurable extends BaseLibrariesConfigurable {
|
||||
|
||||
public ProjectLibrariesConfigurable(final Project project) {
|
||||
super(project);
|
||||
MasterDetailsStateService.getInstance(project).register("ProjectLibrariesConfigurable.UI", this);
|
||||
myLevel = LibraryTablesRegistrar.PROJECT_LEVEL;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user