@Override protected void update(@NotNull VcsContext context, @NotNull Presentation presentation) { Project project = context.getProject(); presentation.setEnabled(isEnabled(context)); presentation.setVisible( project != null && ProjectLevelVcsManager.getInstance(project).hasActiveVcss()); }
@Override protected void actionPerformed(@NotNull VcsContext context) { Project project = context.getProject(); Pair<FilePath, VirtualFile> pair = getPathAndParentFile(context); FilePath path = assertNotNull(pair.first); VirtualFile fileOrParent = assertNotNull(pair.second); AbstractVcs vcs = assertNotNull(ChangesUtil.getVcsForFile(fileOrParent, project)); VcsHistoryProvider provider = assertNotNull(vcs.getVcsHistoryProvider()); AbstractVcsHelper.getInstance(project) .showFileHistory(provider, vcs.getAnnotationProvider(), path, null, vcs); }
protected boolean isEnabled(@NotNull VcsContext context) { boolean result = false; Project project = context.getProject(); if (project != null) { Pair<FilePath, VirtualFile> pair = getPathAndParentFile(context); if (pair.first != null && pair.second != null) { result = isEnabled(project, pair.first, pair.second); } } return result; }
private String getCheckinActionName(final VcsContext dataContext) { final Project project = dataContext.getProject(); if (project == null) return VcsBundle.message("vcs.command.name.checkin"); final AbstractVcs vcs = getCommonVcsFor(getRoots(dataContext), project); if (vcs == null) { return VcsBundle.message("vcs.command.name.checkin"); } else { final CheckinEnvironment checkinEnvironment = vcs.getCheckinEnvironment(); if (checkinEnvironment == null) { return VcsBundle.message("vcs.command.name.checkin"); } return checkinEnvironment.getCheckinOperationName(); } }
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(); }
@Override protected boolean approximatelyHasRoots(final VcsContext dataContext) { final FilePath[] paths = dataContext.getSelectedFilePaths(); if (paths.length == 0) return false; final FileStatusManager fsm = FileStatusManager.getInstance(dataContext.getProject()); for (final FilePath path : paths) { VirtualFile file = path.getVirtualFile(); if (file == null) { continue; } FileStatus status = fsm.getStatus(file); if (isApplicableRoot(file, status, dataContext)) { return true; } } return false; }