Java 类com.intellij.openapi.project.ProjectReloadState 实例源码

项目:intellij-ce-playground    文件:RestoreUpdateTree.java   
@Override
public void projectOpened() {
  StartupManager.getInstance(myProject).registerPostStartupActivity(new DumbAwareRunnable() {
    @Override
    public void run() {
      if (myUpdateInfo != null && !myUpdateInfo.isEmpty() && ProjectReloadState.getInstance(myProject).isAfterAutomaticReload()) {
        ActionInfo actionInfo = myUpdateInfo.getActionInfo();
        if (actionInfo != null) {
          ProjectLevelVcsManagerEx.getInstanceEx(myProject).showUpdateProjectInfo(myUpdateInfo.getFileInformation(),
                                                                                  VcsBundle.message("action.display.name.update"), actionInfo,
                                                                                  false);
          CommittedChangesCache.getInstance(myProject).refreshIncomingChangesAsync();
        }
      }
      myUpdateInfo = null;
    }
  });
}
项目:tools-idea    文件:RestoreUpdateTree.java   
public void projectOpened() {
  StartupManager.getInstance(myProject).registerPostStartupActivity(new DumbAwareRunnable() {
    public void run() {
      if (myUpdateInfo != null && !myUpdateInfo.isEmpty() && ProjectReloadState.getInstance(myProject).isAfterAutomaticReload()) {
        ActionInfo actionInfo = myUpdateInfo.getActionInfo();
        if (actionInfo != null) {
          ProjectLevelVcsManagerEx.getInstanceEx(myProject).showUpdateProjectInfo(myUpdateInfo.getFileInformation(),
                                                                                  VcsBundle.message("action.display.name.update"), actionInfo,
                                                                                  false);
          CommittedChangesCache.getInstance(myProject).refreshIncomingChangesAsync();
        }
        myUpdateInfo = null;
      }
      else {
        myUpdateInfo = null;
      }
    }
  });
}
项目:consulo    文件:RestoreUpdateTree.java   
@Override
public void projectOpened() {
  StartupManager.getInstance(myProject).registerPostStartupActivity(new DumbAwareRunnable() {
    @Override
    public void run() {
      if (myUpdateInfo != null && !myUpdateInfo.isEmpty() && ProjectReloadState.getInstance(myProject).isAfterAutomaticReload()) {
        ActionInfo actionInfo = myUpdateInfo.getActionInfo();
        if (actionInfo != null) {
          ProjectLevelVcsManagerEx.getInstanceEx(myProject).showUpdateProjectInfo(myUpdateInfo.getFileInformation(),
                                                                                  VcsBundle.message("action.display.name.update"), actionInfo,
                                                                                  false);
          CommittedChangesCache.getInstance(myProject).refreshIncomingChangesAsync();
        }
        myUpdateInfo = null;
      }
      else {
        myUpdateInfo = null;
      }
    }
  });
}
项目:tools-idea    文件:ProjectManagerImpl.java   
public void reloadProjectImpl(@NotNull final Project p, final boolean clearCopyToRestore) {
  if (clearCopyToRestore) {
    mySavedCopies.clear();
    mySavedTimestamps.clear();
  }

  final Project[] project = {p};

  ProjectReloadState.getInstance(project[0]).onBeforeAutomaticProjectReload();
  final Application application = ApplicationManager.getApplication();

  application.invokeLater(new Runnable() {
    @Override
    public void run() {
      LOG.debug("Reloading project.");
      ProjectImpl projectImpl = (ProjectImpl)project[0];
      if (projectImpl.isDisposed()) return;
      IProjectStore projectStore = projectImpl.getStateStore();
      final String location = projectImpl.getPresentableUrl();

      final List<IFile> original;
      try {
        final IComponentStore.SaveSession saveSession = projectStore.startSave();
        original = saveSession.getAllStorageFiles(true);
        saveSession.finishSave();
      }
      catch (IOException e) {
        LOG.error(e);
        return;
      }

      if (project[0].isDisposed() || ProjectUtil.closeAndDispose(project[0])) {
        application.runWriteAction(new Runnable() {
          @Override
          public void run() {
            for (final IFile originalFile : original) {
              restoreCopy(LocalFileSystem.getInstance().refreshAndFindFileByIoFile(originalFile));
            }
          }
        });

        project[0] = null; // Let it go.

        ProjectUtil.openProject(location, null, true);
      }
    }
  }, ModalityState.NON_MODAL);
}