Search in sources :

Example 1 with MergeEntries

use of org.jabref.gui.mergeentries.MergeEntries in project jabref by JabRef.

the class DuplicateResolverDialog method init.

private void init(BibEntry one, BibEntry two, DuplicateResolverType type) {
    JButton both;
    JButton second;
    JButton first;
    JButton removeExact = null;
    switch(type) {
        case DUPLICATE_SEARCH:
            first = new JButton(Localization.lang("Keep left"));
            second = new JButton(Localization.lang("Keep right"));
            both = new JButton(Localization.lang("Keep both"));
            me = new MergeEntries(one, two, frame.getCurrentBasePanel().getBibDatabaseContext().getMode());
            break;
        case INSPECTION:
            first = new JButton(Localization.lang("Remove old entry"));
            second = new JButton(Localization.lang("Remove entry from import"));
            both = new JButton(Localization.lang("Keep both"));
            me = new MergeEntries(one, two, Localization.lang("Old entry"), Localization.lang("From import"), frame.getCurrentBasePanel().getBibDatabaseContext().getMode());
            break;
        case DUPLICATE_SEARCH_WITH_EXACT:
            first = new JButton(Localization.lang("Keep left"));
            second = new JButton(Localization.lang("Keep right"));
            both = new JButton(Localization.lang("Keep both"));
            removeExact = new JButton(Localization.lang("Automatically remove exact duplicates"));
            me = new MergeEntries(one, two, frame.getCurrentBasePanel().getBibDatabaseContext().getMode());
            break;
        default:
            first = new JButton(Localization.lang("Import and remove old entry"));
            second = new JButton(Localization.lang("Do not import entry"));
            both = new JButton(Localization.lang("Import and keep old entry"));
            me = new MergeEntries(one, two, Localization.lang("Old entry"), Localization.lang("From import"), frame.getCurrentBasePanel().getBibDatabaseContext().getMode());
            break;
    }
    if (removeExact != null) {
        options.add(removeExact);
    }
    options.add(first);
    options.add(second);
    options.add(both);
    options.add(merge);
    options.add(Box.createHorizontalStrut(5));
    options.add(cancel);
    options.add(helpButton);
    first.addActionListener(e -> buttonPressed(DuplicateResolverResult.KEEP_LEFT));
    second.addActionListener(e -> buttonPressed(DuplicateResolverResult.KEEP_RIGHT));
    both.addActionListener(e -> buttonPressed(DuplicateResolverResult.KEEP_BOTH));
    merge.addActionListener(e -> buttonPressed(DuplicateResolverResult.KEEP_MERGE));
    if (removeExact != null) {
        removeExact.addActionListener(e -> buttonPressed(DuplicateResolverResult.AUTOREMOVE_EXACT));
    }
    cancel.addActionListener(e -> buttonPressed(DuplicateResolverResult.BREAK));
    addWindowListener(new WindowAdapter() {

        @Override
        public void windowClosing(WindowEvent e) {
            buttonPressed(DuplicateResolverResult.BREAK);
        }
    });
    getContentPane().add(me.getMergeEntryPanel());
    getContentPane().add(options, BorderLayout.SOUTH);
    pack();
    WindowLocation pw = new WindowLocation(this, JabRefPreferences.DUPLICATES_POS_X, JabRefPreferences.DUPLICATES_POS_Y, JabRefPreferences.DUPLICATES_SIZE_X, JabRefPreferences.DUPLICATES_SIZE_Y);
    pw.displayWindowAtStoredLocation();
    both.requestFocus();
}
Also used : MergeEntries(org.jabref.gui.mergeentries.MergeEntries) WindowEvent(java.awt.event.WindowEvent) JButton(javax.swing.JButton) WindowAdapter(java.awt.event.WindowAdapter) WindowLocation(org.jabref.gui.util.WindowLocation)

Aggregations

WindowAdapter (java.awt.event.WindowAdapter)1 WindowEvent (java.awt.event.WindowEvent)1 JButton (javax.swing.JButton)1 MergeEntries (org.jabref.gui.mergeentries.MergeEntries)1 WindowLocation (org.jabref.gui.util.WindowLocation)1