/*
* Copyright 2013-2017 consulo.io
*
* 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 get distributed on an "AS get" 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.ide.projectView.impl;
import com.intellij.openapi.components.*;
import com.intellij.util.xmlb.XmlSerializerUtil;
import org.jetbrains.annotations.NotNull;
/**
* @author VISTALL
* <p>
* <p>
* from kotlin by @author Konstantin Bulenkov
*/
@State(name = "ProjectViewSharedSettings",
storages = @Storage(file = StoragePathMacros.APP_CONFIG + "/projectView.xml"))
public class ProjectViewSharedSettings implements PersistentStateComponent<ProjectViewSharedSettings> {
@NotNull
public static ProjectViewSharedSettings getInstance() {
return ServiceManager.getService(ProjectViewSharedSettings.class);
}
private boolean myFlattenPackages = false;
private boolean myShowMembers = false;
private boolean mySortByType = false;
private boolean myShowModules = true;
private boolean myShowLibraryContents = true;
private boolean myHideEmptyPackages = true;
private boolean myAbbreviatePackages = false;
private boolean myAutoscrollFromSource = false;
private boolean myAutoscrollToSource = false;
private boolean myFoldersAlwaysOnTop = true;
@Override
@NotNull
public ProjectViewSharedSettings getState() {
return this;
}
@Override
public void loadState(@NotNull ProjectViewSharedSettings state) {
XmlSerializerUtil.copyBean(state, this);
}
public boolean getFlattenPackages() {
return myFlattenPackages;
}
public void setFlattenPackages(boolean flattenPackages) {
myFlattenPackages = flattenPackages;
}
public boolean getShowMembers() {
return myShowMembers;
}
public void setShowMembers(boolean showMembers) {
myShowMembers = showMembers;
}
public boolean getSortByType() {
return mySortByType;
}
public void setSortByType(boolean sortByType) {
mySortByType = sortByType;
}
public boolean getShowModules() {
return myShowModules;
}
public void setShowModules(boolean showModules) {
myShowModules = showModules;
}
public boolean getShowLibraryContents() {
return myShowLibraryContents;
}
public void setShowLibraryContents(boolean showLibraryContents) {
myShowLibraryContents = showLibraryContents;
}
public boolean getHideEmptyPackages() {
return myHideEmptyPackages;
}
public void setHideEmptyPackages(boolean hideEmptyPackages) {
myHideEmptyPackages = hideEmptyPackages;
}
public boolean getAbbreviatePackages() {
return myAbbreviatePackages;
}
public void setAbbreviatePackages(boolean abbreviatePackages) {
myAbbreviatePackages = abbreviatePackages;
}
public boolean getAutoscrollFromSource() {
return myAutoscrollFromSource;
}
public void setAutoscrollFromSource(boolean autoscrollFromSource) {
myAutoscrollFromSource = autoscrollFromSource;
}
public boolean getAutoscrollToSource() {
return myAutoscrollToSource;
}
public void setAutoscrollToSource(boolean autoscrollToSource) {
myAutoscrollToSource = autoscrollToSource;
}
public boolean getFoldersAlwaysOnTop() {
return myFoldersAlwaysOnTop;
}
public void setFoldersAlwaysOnTop(boolean foldersAlwaysOnTop) {
myFoldersAlwaysOnTop = foldersAlwaysOnTop;
}
}