Search in sources :

Example 1 with DirectoryDialogConfiguration

use of org.jabref.gui.util.DirectoryDialogConfiguration in project jabref by JabRef.

the class FindUnlinkedFilesDialog method setupActions.

/**
     * Sets up the actions for the components.
     */
private void setupActions() {
    DirectoryDialogConfiguration directoryDialogConfiguration = new DirectoryDialogConfiguration.Builder().withInitialDirectory(Globals.prefs.get(JabRefPreferences.WORKING_DIRECTORY)).build();
    DialogService ds = new FXDialogService();
    /**
         * Stores the selected directory.
         */
    buttonBrowse.addActionListener(e -> {
        Optional<Path> selectedDirectory = DefaultTaskExecutor.runInJavaFXThread(() -> ds.showDirectorySelectionDialog(directoryDialogConfiguration));
        selectedDirectory.ifPresent(d -> {
            textfieldDirectoryPath.setText(d.toAbsolutePath().toString());
            storeLastSelectedDirectory(d);
        });
    });
    buttonScan.addActionListener(e -> startSearch());
    /**
         * Action for the button "Import...". <br>
         * <br>
         * Actions on this button will start the import of all file of all
         * selected nodes in this dialogs tree view. <br>
         */
    ActionListener actionListenerImportEntrys = e -> startImport();
    buttonApply.addActionListener(actionListenerImportEntrys);
    buttonClose.addActionListener(e -> dispose());
}
Also used : Path(java.nio.file.Path) TreePath(javax.swing.tree.TreePath) Enumeration(java.util.Enumeration) TreeModel(javax.swing.tree.TreeModel) JabRefPreferences(org.jabref.preferences.JabRefPreferences) FileSystemView(javax.swing.filechooser.FileSystemView) Vector(java.util.Vector) ComponentListener(java.awt.event.ComponentListener) MouseAdapter(java.awt.event.MouseAdapter) ChangeListener(javax.swing.event.ChangeListener) JComboBox(javax.swing.JComboBox) Path(java.nio.file.Path) MouseListener(java.awt.event.MouseListener) DefaultTreeModel(javax.swing.tree.DefaultTreeModel) KeyStroke(javax.swing.KeyStroke) ChangeEvent(javax.swing.event.ChangeEvent) EntryTypes(org.jabref.model.EntryTypes) DefaultListCellRenderer(javax.swing.DefaultListCellRenderer) UnlinkedPDFFileFilter(org.jabref.gui.importer.UnlinkedPDFFileFilter) Frame(java.awt.Frame) TreePath(javax.swing.tree.TreePath) BorderFactory(javax.swing.BorderFactory) JabRefGUI(org.jabref.JabRefGUI) GridBagConstraints(java.awt.GridBagConstraints) ComponentEvent(java.awt.event.ComponentEvent) KeyEvent(java.awt.event.KeyEvent) WindowAdapter(java.awt.event.WindowAdapter) BibtexEntryType(org.jabref.model.entry.BibtexEntryType) Component(java.awt.Component) WindowEvent(java.awt.event.WindowEvent) DefaultMutableTreeNode(javax.swing.tree.DefaultMutableTreeNode) DefaultTaskExecutor(org.jabref.gui.util.DefaultTaskExecutor) Dimension(java.awt.Dimension) List(java.util.List) AbstractAction(javax.swing.AbstractAction) JCheckBox(javax.swing.JCheckBox) Optional(java.util.Optional) LogFactory(org.apache.commons.logging.LogFactory) GridBagLayout(java.awt.GridBagLayout) JabRefExecutorService(org.jabref.JabRefExecutorService) JPanel(javax.swing.JPanel) WindowConstants(javax.swing.WindowConstants) UnlinkedFilesCrawler(org.jabref.gui.importer.UnlinkedFilesCrawler) Insets(java.awt.Insets) ActionListener(java.awt.event.ActionListener) JTextField(javax.swing.JTextField) FieldName(org.jabref.model.entry.FieldName) TreeNode(javax.swing.tree.TreeNode) ButtonBarBuilder(com.jgoodies.forms.builder.ButtonBarBuilder) JabRefDesktop(org.jabref.gui.desktop.JabRefDesktop) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Action(javax.swing.Action) SwingConstants(javax.swing.SwingConstants) EntryFromFileCreator(org.jabref.gui.importer.EntryFromFileCreator) ArrayList(java.util.ArrayList) DirectoryDialogConfiguration(org.jabref.gui.util.DirectoryDialogConfiguration) Localization(org.jabref.logic.l10n.Localization) Container(java.awt.Container) LinkedList(java.util.LinkedList) BibDatabaseContext(org.jabref.model.database.BibDatabaseContext) JProgressBar(javax.swing.JProgressBar) DefaultTreeCellRenderer(javax.swing.tree.DefaultTreeCellRenderer) JComponent(javax.swing.JComponent) JRootPane(javax.swing.JRootPane) JButton(javax.swing.JButton) Iterator(java.util.Iterator) Files(java.nio.file.Files) JList(javax.swing.JList) IOException(java.io.IOException) JOptionPane(javax.swing.JOptionPane) JTree(javax.swing.JTree) ActionEvent(java.awt.event.ActionEvent) MouseEvent(java.awt.event.MouseEvent) File(java.io.File) Globals(org.jabref.Globals) ComponentAdapter(java.awt.event.ComponentAdapter) JScrollPane(javax.swing.JScrollPane) FileFilter(java.io.FileFilter) Paths(java.nio.file.Paths) EntryFromFileCreatorManager(org.jabref.gui.importer.EntryFromFileCreatorManager) JLabel(javax.swing.JLabel) Log(org.apache.commons.logging.Log) EntryType(org.jabref.model.entry.EntryType) Collections(java.util.Collections) ActionListener(java.awt.event.ActionListener) DirectoryDialogConfiguration(org.jabref.gui.util.DirectoryDialogConfiguration) ButtonBarBuilder(com.jgoodies.forms.builder.ButtonBarBuilder)

Example 2 with DirectoryDialogConfiguration

use of org.jabref.gui.util.DirectoryDialogConfiguration in project jabref by JabRef.

the class OpenOfficePanel method showManualConnectionDialog.

private void showManualConnectionDialog() {
    dialogOkPressed = false;
    final JDialog cDiag = new JDialog(frame, Localization.lang("Set connection parameters"), true);
    final NativeDesktop nativeDesktop = JabRefDesktop.getNativeDesktop();
    final DialogService dirDialog = new FXDialogService();
    DirectoryDialogConfiguration dirDialogConfiguration = new DirectoryDialogConfiguration.Builder().withInitialDirectory(nativeDesktop.getApplicationDirectory()).build();
    FileDialogConfiguration fileDialogConfiguration = new FileDialogConfiguration.Builder().withInitialDirectory(nativeDesktop.getApplicationDirectory()).build();
    DialogService fileDialog = new FXDialogService();
    // Path fields
    final JTextField ooPath = new JTextField(30);
    JButton browseOOPath = new JButton(Localization.lang("Browse"));
    ooPath.setText(preferences.getInstallationPath());
    browseOOPath.addActionListener(e -> DefaultTaskExecutor.runInJavaFXThread(() -> dirDialog.showDirectorySelectionDialog(dirDialogConfiguration)).ifPresent(f -> ooPath.setText(f.toAbsolutePath().toString())));
    final JTextField ooExec = new JTextField(30);
    JButton browseOOExec = new JButton(Localization.lang("Browse"));
    ooExec.setText(preferences.getExecutablePath());
    browseOOExec.addActionListener(e -> DefaultTaskExecutor.runInJavaFXThread(() -> fileDialog.showFileOpenDialog(fileDialogConfiguration)).ifPresent(f -> ooExec.setText(f.toAbsolutePath().toString())));
    final JTextField ooJars = new JTextField(30);
    ooJars.setText(preferences.getJarsPath());
    JButton browseOOJars = new JButton(Localization.lang("Browse"));
    browseOOJars.addActionListener(e -> DefaultTaskExecutor.runInJavaFXThread(() -> dirDialog.showDirectorySelectionDialog(dirDialogConfiguration)).ifPresent(f -> ooJars.setText(f.toAbsolutePath().toString())));
    FormBuilder builder = FormBuilder.create().layout(new FormLayout("left:pref, 4dlu, fill:pref:grow, 4dlu, fill:pref", "pref"));
    if (OS.WINDOWS || OS.OS_X) {
        builder.add(Localization.lang("Path to OpenOffice/LibreOffice directory")).xy(1, 1);
        builder.add(ooPath).xy(3, 1);
        builder.add(browseOOPath).xy(5, 1);
    } else {
        builder.add(Localization.lang("Path to OpenOffice/LibreOffice executable")).xy(1, 1);
        builder.add(ooExec).xy(3, 1);
        builder.add(browseOOExec).xy(5, 1);
        builder.appendRows("4dlu, pref");
        builder.add(Localization.lang("Path to OpenOffice/LibreOffice library dir")).xy(1, 3);
        builder.add(ooJars).xy(3, 3);
        builder.add(browseOOJars).xy(5, 3);
    }
    builder.padding("5dlu, 5dlu, 5dlu, 5dlu");
    cDiag.getContentPane().add(builder.getPanel(), BorderLayout.CENTER);
    // Buttons
    JButton ok = new JButton(Localization.lang("OK"));
    JButton cancel = new JButton(Localization.lang("Cancel"));
    ok.addActionListener(e -> {
        if (OS.WINDOWS || OS.OS_X) {
            preferences.updateConnectionParams(ooPath.getText(), ooPath.getText(), ooPath.getText());
        } else {
            preferences.updateConnectionParams(ooPath.getText(), ooExec.getText(), ooJars.getText());
        }
        dialogOkPressed = true;
        cDiag.dispose();
    });
    cancel.addActionListener(e -> cDiag.dispose());
    ButtonBarBuilder bb = new ButtonBarBuilder();
    bb.addGlue();
    bb.addRelatedGap();
    bb.addButton(ok);
    bb.addButton(cancel);
    bb.addGlue();
    bb.padding("5dlu, 5dlu, 5dlu, 5dlu");
    cDiag.getContentPane().add(bb.getPanel(), BorderLayout.SOUTH);
    // Finish and show dirDialog
    cDiag.pack();
    cDiag.setLocationRelativeTo(frame);
    cDiag.setVisible(true);
}
Also used : JDialog(javax.swing.JDialog) OpenOfficePreferences(org.jabref.logic.openoffice.OpenOfficePreferences) URL(java.net.URL) BibDatabase(org.jabref.model.database.BibDatabase) AbstractWorker(org.jabref.gui.worker.AbstractWorker) IconTheme(org.jabref.gui.IconTheme) NativeDesktop(org.jabref.gui.desktop.os.NativeDesktop) BasePanel(org.jabref.gui.BasePanel) JCheckBoxMenuItem(javax.swing.JCheckBoxMenuItem) URLClassLoader(java.net.URLClassLoader) JabRefFrame(org.jabref.gui.JabRefFrame) SidePaneManager(org.jabref.gui.SidePaneManager) UnknownPropertyException(com.sun.star.beans.UnknownPropertyException) BorderLayout(java.awt.BorderLayout) JFrame(javax.swing.JFrame) Method(java.lang.reflect.Method) Path(java.nio.file.Path) HelpFile(org.jabref.logic.help.HelpFile) PropertyVetoException(com.sun.star.beans.PropertyVetoException) BibEntry(org.jabref.model.entry.BibEntry) IllegalTypeException(com.sun.star.beans.IllegalTypeException) Icon(javax.swing.Icon) FXDialogService(org.jabref.gui.FXDialogService) StyleLoader(org.jabref.logic.openoffice.StyleLoader) Collectors(java.util.stream.Collectors) FileNotFoundException(java.io.FileNotFoundException) InvocationTargetException(java.lang.reflect.InvocationTargetException) DefaultTaskExecutor(org.jabref.gui.util.DefaultTaskExecutor) Dimension(java.awt.Dimension) List(java.util.List) WrappedTargetException(com.sun.star.lang.WrappedTargetException) AbstractAction(javax.swing.AbstractAction) BibtexKeyPatternUtil(org.jabref.logic.bibtexkeypattern.BibtexKeyPatternUtil) FormLayout(com.jgoodies.forms.layout.FormLayout) OS(org.jabref.logic.util.OS) Optional(java.util.Optional) BootstrapException(com.sun.star.comp.helper.BootstrapException) LogFactory(org.apache.commons.logging.LogFactory) UndoableKeyChange(org.jabref.gui.undo.UndoableKeyChange) JPanel(javax.swing.JPanel) KeyBinding(org.jabref.gui.keyboard.KeyBinding) HelpAction(org.jabref.gui.help.HelpAction) NamedCompound(org.jabref.gui.undo.NamedCompound) JTextField(javax.swing.JTextField) ButtonBarBuilder(com.jgoodies.forms.builder.ButtonBarBuilder) JabRefDesktop(org.jabref.gui.desktop.JabRefDesktop) DialogService(org.jabref.gui.DialogService) Action(javax.swing.Action) SidePaneComponent(org.jabref.gui.SidePaneComponent) ArrayList(java.util.ArrayList) JMenuItem(javax.swing.JMenuItem) OOBibStyle(org.jabref.logic.openoffice.OOBibStyle) DirectoryDialogConfiguration(org.jabref.gui.util.DirectoryDialogConfiguration) Localization(org.jabref.logic.l10n.Localization) BibDatabaseContext(org.jabref.model.database.BibDatabaseContext) JComponent(javax.swing.JComponent) FormBuilder(com.jgoodies.forms.builder.FormBuilder) FileUtil(org.jabref.logic.util.io.FileUtil) JButton(javax.swing.JButton) FileDialogConfiguration(org.jabref.gui.util.FileDialogConfiguration) NoSuchElementException(com.sun.star.container.NoSuchElementException) ButtonGroup(javax.swing.ButtonGroup) JPopupMenu(javax.swing.JPopupMenu) UndefinedParagraphFormatException(org.jabref.logic.openoffice.UndefinedParagraphFormatException) IOException(java.io.IOException) JOptionPane(javax.swing.JOptionPane) NotRemoveableException(com.sun.star.beans.NotRemoveableException) ActionEvent(java.awt.event.ActionEvent) Globals(org.jabref.Globals) Paths(java.nio.file.Paths) PropertyExistException(com.sun.star.beans.PropertyExistException) JRadioButtonMenuItem(javax.swing.JRadioButtonMenuItem) Log(org.apache.commons.logging.Log) Defaults(org.jabref.model.Defaults) BibtexKeyPatternPreferences(org.jabref.logic.bibtexkeypattern.BibtexKeyPatternPreferences) FormLayout(com.jgoodies.forms.layout.FormLayout) FormBuilder(com.jgoodies.forms.builder.FormBuilder) FXDialogService(org.jabref.gui.FXDialogService) DialogService(org.jabref.gui.DialogService) NativeDesktop(org.jabref.gui.desktop.os.NativeDesktop) ButtonBarBuilder(com.jgoodies.forms.builder.ButtonBarBuilder) FormBuilder(com.jgoodies.forms.builder.FormBuilder) FileDialogConfiguration(org.jabref.gui.util.FileDialogConfiguration) JButton(javax.swing.JButton) JTextField(javax.swing.JTextField) FXDialogService(org.jabref.gui.FXDialogService) ButtonBarBuilder(com.jgoodies.forms.builder.ButtonBarBuilder) DirectoryDialogConfiguration(org.jabref.gui.util.DirectoryDialogConfiguration) JDialog(javax.swing.JDialog)

Example 3 with DirectoryDialogConfiguration

use of org.jabref.gui.util.DirectoryDialogConfiguration in project jabref by JabRef.

the class DetectOpenOfficeInstallation method selectInstallationPath.

private Optional<Path> selectInstallationPath() {
    final NativeDesktop nativeDesktop = JabRefDesktop.getNativeDesktop();
    JOptionPane.showMessageDialog(parent, Localization.lang("Unable to autodetect OpenOffice/LibreOffice installation. Please choose the installation directory manually."), Localization.lang("Could not find OpenOffice/LibreOffice installation"), JOptionPane.INFORMATION_MESSAGE);
    DialogService ds = new FXDialogService();
    DirectoryDialogConfiguration dirDialogConfiguration = new DirectoryDialogConfiguration.Builder().withInitialDirectory(nativeDesktop.getApplicationDirectory()).build();
    Optional<Path> path = DefaultTaskExecutor.runInJavaFXThread(() -> ds.showDirectorySelectionDialog(dirDialogConfiguration));
    if (path.isPresent()) {
        return path;
    }
    return Optional.empty();
}
Also used : FXDialogService(org.jabref.gui.FXDialogService) Path(java.nio.file.Path) DialogService(org.jabref.gui.DialogService) FXDialogService(org.jabref.gui.FXDialogService) NativeDesktop(org.jabref.gui.desktop.os.NativeDesktop) DirectoryDialogConfiguration(org.jabref.gui.util.DirectoryDialogConfiguration) FormBuilder(com.jgoodies.forms.builder.FormBuilder)

Example 4 with DirectoryDialogConfiguration

use of org.jabref.gui.util.DirectoryDialogConfiguration in project jabref by JabRef.

the class DatabasePropertiesDialog method init.

private void init() {
    DirectoryDialogConfiguration directoryDialogConfiguration = new DirectoryDialogConfiguration.Builder().withInitialDirectory(Globals.prefs.get(JabRefPreferences.WORKING_DIRECTORY)).build();
    DialogService ds = new FXDialogService();
    JButton browseFile = new JButton(Localization.lang("Browse"));
    JButton browseFileIndv = new JButton(Localization.lang("Browse"));
    browseFile.addActionListener(e -> DefaultTaskExecutor.runInJavaFXThread(() -> ds.showDirectorySelectionDialog(directoryDialogConfiguration)).ifPresent(f -> fileDir.setText(f.toAbsolutePath().toString())));
    browseFileIndv.addActionListener(e -> DefaultTaskExecutor.runInJavaFXThread(() -> ds.showDirectorySelectionDialog(directoryDialogConfiguration)).ifPresent(f -> fileDirIndv.setText(f.toAbsolutePath().toString())));
    setupSortOrderConfiguration();
    FormLayout form = new FormLayout("left:pref, 4dlu, pref:grow, 4dlu, pref:grow, 4dlu, pref", "pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, pref, 2dlu, fill:pref:grow, 180dlu, fill:pref:grow,");
    FormBuilder builder = FormBuilder.create().layout(form);
    builder.getPanel().setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
    builder.add(Localization.lang("Library encoding")).xy(1, 1);
    builder.add(encoding).xy(3, 1);
    builder.addSeparator(Localization.lang("Override default file directories")).xyw(1, 3, 5);
    builder.add(Localization.lang("General file directory")).xy(1, 5);
    builder.add(fileDir).xy(3, 5);
    builder.add(browseFile).xy(5, 5);
    builder.add(Localization.lang("User-specific file directory")).xy(1, 7);
    builder.add(fileDirIndv).xy(3, 7);
    builder.add(browseFileIndv).xy(5, 7);
    builder.addSeparator(Localization.lang("Save sort order")).xyw(1, 13, 5);
    builder.add(saveInOriginalOrder).xyw(1, 15, 5);
    builder.add(saveInSpecifiedOrder).xyw(1, 17, 5);
    saveOrderPanel = new SaveOrderConfigDisplay();
    builder.add(saveOrderPanel.getPanel()).xyw(1, 21, 5);
    builder.addSeparator(Localization.lang("Library protection")).xyw(1, 23, 5);
    builder.add(protect).xyw(1, 25, 5);
    fieldFormatterCleanupsPanel = new FieldFormatterCleanupsPanel(Localization.lang("Enable save actions"), Cleanups.DEFAULT_SAVE_ACTIONS);
    builder.addSeparator(Localization.lang("Save actions")).xyw(1, 27, 5);
    builder.add(fieldFormatterCleanupsPanel).xyw(1, 29, 5);
    ButtonBarBuilder bb = new ButtonBarBuilder();
    bb.addGlue();
    bb.addButton(ok);
    bb.addButton(cancel);
    bb.addRelatedGap();
    bb.addButton(new HelpAction(HelpFile.DATABASE_PROPERTIES).getHelpButton());
    bb.addGlue();
    bb.getPanel().setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
    getContentPane().add(builder.getPanel(), BorderLayout.CENTER);
    getContentPane().add(bb.getPanel(), BorderLayout.SOUTH);
    pack();
    AbstractAction closeAction = new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            dispose();
        }
    };
    ActionMap am = builder.getPanel().getActionMap();
    InputMap im = builder.getPanel().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
    im.put(Globals.getKeyPrefs().getKey(KeyBinding.CLOSE_DIALOG), "close");
    am.put("close", closeAction);
    ok.addActionListener(e -> {
        storeSettings();
        dispose();
    });
    cancel.addActionListener(e -> dispose());
}
Also used : ActionListener(java.awt.event.ActionListener) JTextField(javax.swing.JTextField) ButtonBarBuilder(com.jgoodies.forms.builder.ButtonBarBuilder) DialogService(org.jabref.gui.DialogService) JabRefPreferences(org.jabref.preferences.JabRefPreferences) BasePanel(org.jabref.gui.BasePanel) Charset(java.nio.charset.Charset) Encodings(org.jabref.logic.l10n.Encodings) DirectoryDialogConfiguration(org.jabref.gui.util.DirectoryDialogConfiguration) MetaData(org.jabref.model.metadata.MetaData) Localization(org.jabref.logic.l10n.Localization) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) BorderLayout(java.awt.BorderLayout) JComboBox(javax.swing.JComboBox) JFrame(javax.swing.JFrame) ActionMap(javax.swing.ActionMap) JComponent(javax.swing.JComponent) FormBuilder(com.jgoodies.forms.builder.FormBuilder) SaveOrderConfigDisplay(org.jabref.gui.SaveOrderConfigDisplay) HelpFile(org.jabref.logic.help.HelpFile) JButton(javax.swing.JButton) ButtonGroup(javax.swing.ButtonGroup) SaveOrderConfig(org.jabref.model.metadata.SaveOrderConfig) Cleanups(org.jabref.logic.cleanup.Cleanups) BorderFactory(javax.swing.BorderFactory) FXDialogService(org.jabref.gui.FXDialogService) FieldFormatterCleanupsPanel(org.jabref.gui.cleanup.FieldFormatterCleanupsPanel) ActionEvent(java.awt.event.ActionEvent) JRadioButton(javax.swing.JRadioButton) Globals(org.jabref.Globals) DefaultTaskExecutor(org.jabref.gui.util.DefaultTaskExecutor) JabRefDialog(org.jabref.gui.JabRefDialog) AbstractAction(javax.swing.AbstractAction) FormLayout(com.jgoodies.forms.layout.FormLayout) DatabaseLocation(org.jabref.model.database.DatabaseLocation) JCheckBox(javax.swing.JCheckBox) Optional(java.util.Optional) InputMap(javax.swing.InputMap) KeyBinding(org.jabref.gui.keyboard.KeyBinding) HelpAction(org.jabref.gui.help.HelpAction) FormLayout(com.jgoodies.forms.layout.FormLayout) FormBuilder(com.jgoodies.forms.builder.FormBuilder) DialogService(org.jabref.gui.DialogService) FXDialogService(org.jabref.gui.FXDialogService) HelpAction(org.jabref.gui.help.HelpAction) ActionMap(javax.swing.ActionMap) ActionEvent(java.awt.event.ActionEvent) ButtonBarBuilder(com.jgoodies.forms.builder.ButtonBarBuilder) FormBuilder(com.jgoodies.forms.builder.FormBuilder) JButton(javax.swing.JButton) FXDialogService(org.jabref.gui.FXDialogService) SaveOrderConfigDisplay(org.jabref.gui.SaveOrderConfigDisplay) ButtonBarBuilder(com.jgoodies.forms.builder.ButtonBarBuilder) DirectoryDialogConfiguration(org.jabref.gui.util.DirectoryDialogConfiguration) InputMap(javax.swing.InputMap) FieldFormatterCleanupsPanel(org.jabref.gui.cleanup.FieldFormatterCleanupsPanel) AbstractAction(javax.swing.AbstractAction)

Aggregations

DirectoryDialogConfiguration (org.jabref.gui.util.DirectoryDialogConfiguration)4 ButtonBarBuilder (com.jgoodies.forms.builder.ButtonBarBuilder)3 FormBuilder (com.jgoodies.forms.builder.FormBuilder)3 ActionEvent (java.awt.event.ActionEvent)3 Path (java.nio.file.Path)3 Optional (java.util.Optional)3 AbstractAction (javax.swing.AbstractAction)3 JButton (javax.swing.JButton)3 JComponent (javax.swing.JComponent)3 JTextField (javax.swing.JTextField)3 Globals (org.jabref.Globals)3 DialogService (org.jabref.gui.DialogService)3 FXDialogService (org.jabref.gui.FXDialogService)3 DefaultTaskExecutor (org.jabref.gui.util.DefaultTaskExecutor)3 Localization (org.jabref.logic.l10n.Localization)3 FormLayout (com.jgoodies.forms.layout.FormLayout)2 BorderLayout (java.awt.BorderLayout)2 Dimension (java.awt.Dimension)2 IOException (java.io.IOException)2 Paths (java.nio.file.Paths)2