package org.jabref.gui.undo; import javax.swing.undo.CompoundEdit; import javax.swing.undo.UndoableEdit; import org.jabref.logic.l10n.Localization; public class NamedCompound extends CompoundEdit { private final String name; private boolean hasEdits; public NamedCompound(String name) { super(); this.name = name; } @Override public boolean addEdit(UndoableEdit undoableEdit) { hasEdits = true; return super.addEdit(undoableEdit); } public boolean hasEdits() { return hasEdits; } @Override public String getUndoPresentationName() { return "<html>" + Localization.lang("Undo") + ": " + name + "<ul>" + getPresentationName() + "</ul></html>"; } @Override public String getRedoPresentationName() { return "<html>" + Localization.lang("Redo") + ": " + name + "<ul>" + getPresentationName() + "</ul></html>"; } @Override public String getPresentationName() { StringBuilder sb = new StringBuilder(); for (UndoableEdit edit : edits) { sb.append("<li>").append(edit.getPresentationName()); } return sb.toString(); } }