Package krasa.formatter.utils

Source Code of krasa.formatter.utils.ProjectUtils

package krasa.formatter.utils;

import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.impl.ProjectManagerImpl;
import krasa.formatter.plugin.Notifier;
import krasa.formatter.settings.ProjectSettingsComponent;
import krasa.formatter.settings.Settings;

/**
* @author Vojtech Krasa
*/
public class ProjectUtils {

    public static void notifyProjectsWhichUsesThisSettings(Settings deletedSettings, Project project,
                                                           Settings defaultSettings) {
        Project[] openProjects = ProjectManagerImpl.getInstance().getOpenProjects();
        for (Project openProject : openProjects) {
            ProjectSettingsComponent component = openProject.getComponent(ProjectSettingsComponent.class);
            if (component != null) {
                Settings state = component.getSettings();
                if (deletedSettings.getId().equals(state.getId())) {
                    component.loadState(defaultSettings);
                    if (project != openProject) {
                        Notifier.notifyDeletedSettings(component.getProject());
                    }
                }
            }
        }
    }

    public static void applyToAllOpenedProjects(Settings updatedSettings) {
        Project[] openProjects = ProjectManagerImpl.getInstance().getOpenProjects();
        for (Project openProject : openProjects) {
            ProjectSettingsComponent component = openProject.getComponent(ProjectSettingsComponent.class);
            if (component != null) {
                Settings state = component.getSettings();
                if (updatedSettings.getId().equals(state.getId())) {
                    component.install(updatedSettings);
                }
            }
        }
    }
}
TOP

Related Classes of krasa.formatter.utils.ProjectUtils

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.