protected void execute()

in src/net/sourceforge/transparent/actions/CheckOutAction.java [62:96]


  protected void execute(AnActionEvent e, final List<VcsException> errors) {
    cnt = 0;
    final Project project = e.getData(CommonDataKeys.PROJECT);
    String comment = "";
    final VirtualFile[] files = VcsUtil.getVirtualFiles(e);

    if (TransparentVcs.getInstance(project).getCheckoutOptions().getValue()) {
      CheckoutDialog dialog = files.length == 1 ?
                              new CheckoutDialog(project, files[0]) :
                              new CheckoutDialog(project, files);
      dialog.show();
      if (dialog.getExitCode() == DialogWrapper.CANCEL_EXIT_CODE) {
        return;
      }

      comment = dialog.getComment();
    }
    if (files.length == 0) return;
    final ProgressManager pm = ProgressManager.getInstance();
    final String finalComment = comment;
    String title = "Checkout ";
    if (files.length > 1) {
      title += "files";
    }
    else {
      title += files[0].isDirectory() ? "directory" : "file";
    }
    pm.runProcessWithProgressSynchronously(() -> {
      final ProgressIndicator indicator = pm.getProgressIndicator();
      indicator.setIndeterminate(true);
      for (VirtualFile file : files) {
        performOnFile(project, file, finalComment, errors, indicator);
      }
    }, title, true, project);
  }