void (@NotNull AnActionEvent e) { Project project = e.getProject(); if (project == null) { e.getPresentation().setEnabledAndVisible(false); return; } VcsProjectLog projectLog = VcsProjectLog.getInstance(project); VcsLogManager logManager = ObjectUtils.chooseNotNull(e.getData(VcsLogInternalDataKeys.LOG_MANAGER), projectLog.getLogManager()); if (logManager == null) { e.getPresentation().setEnabledAndVisible(false); return; } // only for main log (it is a question, how and where we want to open tabs for external logs) e.getPresentation().setEnabledAndVisible(projectLog.getLogManager() == logManager); String vcsName = VcsLogUtil.getVcsDisplayName(project, logManager); e.getPresentation().setText(getText(vcsName)); e.getPresentation().setDescription(getDescription(vcsName)); }