myVcs = vcs;
}
+ @Override
public boolean supportsHistoryForDirectories() {
return true;
}
return true;
}
+ @Override
public VcsDependentHistoryComponents getUICustomization(final VcsHistorySession session, JComponent forShortcutRegistration) {
final ColumnInfo[] columns;
final Consumer<VcsFileRevision> listener;
field.setBackground(UIUtil.getComboBoxDisabledBackground());
field.setWrapStyleWord(true);
listener = new Consumer<VcsFileRevision>() {
+ @Override
public void consume(VcsFileRevision vcsFileRevision) {
field.setText(mergeSourceColumn.getText(vcsFileRevision));
}
return new SvnHistorySession(myVcs, revisions, filePath, aBoolean, currentRevision, false, ! filePath.isNonLocal());
}
+ @Override
@Nullable
public VcsHistorySession createSessionFor(final FilePath filePath) throws VcsException {
final VcsAppendableHistoryPartnerAdapter adapter = new VcsAppendableHistoryPartnerAdapter();
return adapter.getSession();
}
+ @Override
public void reportAppendableHistory(FilePath path, final VcsAppendableHistorySessionPartner partner) throws VcsException {
// we need + 1 rows to be reported to further detect that number of rows exceeded the limit
reportAppendableHistory(path, partner, null, null, VcsConfiguration.getInstance(myVcs.getProject()).MAXIMUM_HISTORY_ROWS + 1, null, false);
indicator.setText(SvnBundle.message("progress.text2.collecting.history", path.getName()));
}
final Consumer<VcsFileRevision> consumer = new Consumer<VcsFileRevision>() {
+ @Override
public void consume(VcsFileRevision vcsFileRevision) {
if (!Boolean.TRUE.equals(sessionReported.get())) {
partner.reportCreatedEmptySession(historySession);
}
}
+ @Override
public String getHelpId() {
return null;
}
+ @Override
public AnAction[] getAdditionalActions(final Runnable refresher) {
return new AnAction[]{ ShowAllAffectedGenericAction.getInstance(), new MergeSourceDetailsAction(), new SvnEditCommitMessageFromFileHistoryAction()};
}
+ @Override
public boolean isDateOmittable() {
return false;
}
myUrl = url;
myRepositoryRoot = repoRootURL;
myTracker = new SvnMergeSourceTracker(new ThrowableConsumer<Pair<SVNLogEntry, Integer>, SVNException>() {
+ @Override
public void consume(final Pair<SVNLogEntry, Integer> svnLogEntryIntegerPair) throws SVNException {
final SVNLogEntry logEntry = svnLogEntryIntegerPair.getFirst();
return false;
}
+ @Override
public void handleLogEntry(SVNLogEntry logEntry) throws SVNException {
myTracker.consume(logEntry);
}
- private void addToListByLevel(final SvnFileRevision revision, final SvnFileRevision revisionToAdd, final int level) {
+ private static void addToListByLevel(final SvnFileRevision revision, final SvnFileRevision revisionToAdd, final int level) {
if (level < 0) {
return;
}
return myRenderer;
}
+ @Override
public RevisionMergeSourceInfo valueOf(final VcsFileRevision vcsFileRevision) {
return vcsFileRevision != null ? new RevisionMergeSourceInfo(vcsFileRevision) : null;
}
}
@Override
- public boolean onClick(MouseEvent e, int clickCount) {
+ public boolean onClick(@NotNull MouseEvent e, int clickCount) {
if (e.getButton() == 1 && !e.isPopupTrigger()) {
Object tag = getTagAt(e);
if (tag == myTag) {
return null;
}
+ @Override
public void mouseMoved(MouseEvent e) {
JTable table = (JTable)e.getSource();
Object tag = getTagAt(e);
return RevisionMergeSourceInfo.toString(value);
}
+ @Override
protected void customizeCellRenderer(final JTable table,
final Object value,
final boolean selected,
private static class CopyFromColumnInfo extends ColumnInfo<VcsFileRevision, String> {
private final Icon myIcon = PlatformIcons.COPY_ICON;
private final ColoredTableCellRenderer myRenderer = new ColoredTableCellRenderer() {
+ @Override
protected void customizeCellRenderer(final JTable table,
final Object value,
final boolean selected,
super(SvnBundle.message("copy.column.title"));
}
+ @Override
public String valueOf(final VcsFileRevision o) {
return o instanceof SvnFileRevision ? ((SvnFileRevision)o).getCopyFromPath() : "";
}