package jetbrains.mps.vcs; /*Generated by MPS */ import com.intellij.openapi.components.State; import com.intellij.openapi.components.Storage; import com.intellij.openapi.components.StoragePathMacros; import com.intellij.openapi.components.AbstractProjectComponent; import com.intellij.openapi.components.PersistentStateComponent; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.ModuleRootListener; import com.intellij.ProjectTopics; import com.intellij.openapi.roots.impl.ModuleRootEventImpl; import com.intellij.openapi.vfs.VirtualFileManager; import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager; @State(name = "MPSVcsConfiguration", storages = @Storage(value = StoragePathMacros.WORKSPACE_FILE) ) public class MPSVcsProjectConfiguration extends AbstractProjectComponent implements PersistentStateComponent<MPSVcsProjectConfiguration.MyState> { private MPSVcsProjectConfiguration.MyState myState = new MPSVcsProjectConfiguration.MyState(); protected MPSVcsProjectConfiguration(Project project) { super(project); } @Override public MPSVcsProjectConfiguration.MyState getState() { return myState; } @Override public void loadState(MPSVcsProjectConfiguration.MyState state) { myState = state; } public boolean isIgnoreGeneratedFiles() { return myState.myIgnoreGeneratedFiles; } public void setIgnoreGeneratedFiles(boolean ignoreGeneratedFiles) { if (myState.myIgnoreGeneratedFiles != ignoreGeneratedFiles) { myState.myIgnoreGeneratedFiles = ignoreGeneratedFiles; ModuleRootListener moduleRootListener = myProject.getMessageBus().asyncPublisher(ProjectTopics.PROJECT_ROOTS); moduleRootListener.rootsChanged(new ModuleRootEventImpl(myProject, false)); VirtualFileManager.getInstance().asyncRefresh(new Runnable() { @Override public void run() { if (!(myProject.isDisposed())) { VcsDirtyScopeManager.getInstance(myProject).markEverythingDirty(); } } }); } } public static class MyState { private boolean myIgnoreGeneratedFiles; public MyState() { } public boolean isIgnoreGeneratedFiles() { return myIgnoreGeneratedFiles; } public void setIgnoreGeneratedFiles(boolean ignoreGeneratedFiles) { myIgnoreGeneratedFiles = ignoreGeneratedFiles; } } }