public CachedVcsContext(VcsContext baseContext) { myProject = baseContext.getProject(); mySelectedFile = baseContext.getSelectedFile(); mySelectedFiles = baseContext.getSelectedFiles(); mySelectedFilesCollection = baseContext.getSelectedFilesCollection(); myEditor = baseContext.getEditor(); mySelectedIOFiles = baseContext.getSelectedIOFiles(); myModifiers = baseContext.getModifiers(); myRefreshablePanel = baseContext.getRefreshableDialog(); myPlace = baseContext.getPlace(); mySelectedIOFile = baseContext.getSelectedIOFile(); mySelectedFilePaths = baseContext.getSelectedFilePaths(); mySelectedFilePath = baseContext.getSelectedFilePath(); mySelectedChangeLists = baseContext.getSelectedChangeLists(); mySelectedChanges = baseContext.getSelectedChanges(); }
@NotNull private static Pair<FilePath, VirtualFile> getPathAndParentFile(@NotNull VcsContext context) { if (context.getSelectedFilesStream().findAny().isPresent()) { VirtualFile file = getIfSingle(context.getSelectedFilesStream()); return file != null ? Pair.create(VcsUtil.getFilePath(file), file) : Pair.empty(); } File[] ioFiles = context.getSelectedIOFiles(); if (ioFiles != null && ioFiles.length > 0) { for (File ioFile : ioFiles) { VirtualFile parent = getParentVirtualFile(ioFile); if (parent != null) return Pair.create(VcsUtil.getFilePath(parent, ioFile.getName()), parent); } } return Pair.empty(); }