package org.jabref.collab;
import javax.swing.JComponent;
import javax.swing.JScrollPane;
import org.jabref.gui.BasePanel;
import org.jabref.gui.PreviewPanel;
import org.jabref.gui.undo.NamedCompound;
import org.jabref.gui.undo.UndoableInsertEntry;
import org.jabref.logic.l10n.Localization;
import org.jabref.model.database.BibDatabase;
import org.jabref.model.entry.BibEntry;
import org.jabref.model.entry.IdGenerator;
class EntryAddChange extends Change {
private final BibEntry diskEntry;
private final JScrollPane sp;
public EntryAddChange(BibEntry diskEntry) {
super(Localization.lang("Added entry"));
this.diskEntry = diskEntry;
PreviewPanel pp = new PreviewPanel(null, diskEntry, null);
sp = new JScrollPane(pp);
}
@Override
public boolean makeChange(BasePanel panel, BibDatabase secondary, NamedCompound undoEdit) {
diskEntry.setId(IdGenerator.next());
panel.getDatabase().insertEntry(diskEntry);
secondary.insertEntry(diskEntry);
undoEdit.addEdit(new UndoableInsertEntry(panel.getDatabase(), diskEntry, panel));
return true;
}
@Override
public JComponent description() {
return sp;
}
}