// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.trustosm.gui.dialogs;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.GridBagLayout;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import org.openstreetmap.josm.Main;
import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting;
import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
import org.openstreetmap.josm.plugins.trustosm.TrustOSMplugin;
import org.openstreetmap.josm.tools.GBC;
public class TrustPreferenceEditor extends DefaultTabPreferenceSetting {
private final JCheckBox showSignedDeleted = new JCheckBox(
tr("Show deleted tags and notes if they were signed before"));
private final JRadioButton defaultHomedir = new JRadioButton(
tr("Use default (and maybe existing) GnuPG directory ({0}) to store new keys and configs.", "~/.gnupg"));
private final JRadioButton separateHomedir = new JRadioButton(
tr("Use separate GnuPG directory ({0}) to store new keys and configs.", TrustOSMplugin.getGpgPath()));
public TrustPreferenceEditor() {
super("trustosm", tr("Trust OSM Settings"), tr("Change GPG and privacy settings of the trustosm plugin."));
}
@Override
public void addGui(final PreferenceTabbedPane gui) {
JPanel p = gui.createPreferenceTab(this);
JTabbedPane tabs = new JTabbedPane();
p.add(tabs, GBC.eol().fill(GBC.BOTH));
JPanel gpgsettings = new JPanel(new GridBagLayout());
gpgsettings.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
gpgsettings.add(new JLabel(tr("Use separate GnuPG configuration directory?")), GBC.eol().insets(20, 0, 0, 0));
ButtonGroup gpgdirGroup = new ButtonGroup();
gpgdirGroup.add(separateHomedir);
gpgdirGroup.add(defaultHomedir);
if (Main.pref.getBoolean("trustosm.gpg.separateHomedir")) {
separateHomedir.setSelected(true);
} else
defaultHomedir.setSelected(true);
gpgsettings.add(separateHomedir, GBC.eol().insets(40, 0, 0, 0));
gpgsettings.add(defaultHomedir, GBC.eol().insets(40, 0, 0, 0));
gpgsettings.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.BOTH));
JScrollPane scrollpane = new JScrollPane(gpgsettings);
scrollpane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
tabs.add(tr("GnuPG"), scrollpane);
JPanel dialogsettings = new JPanel(new GridBagLayout());
tabs.add(tr("Dialog"), dialogsettings);
dialogsettings.add(showSignedDeleted, GBC.eol().fill(GBC.HORIZONTAL).insets(20, 0, 0, 5));
}
@Override
public boolean ok() {
Main.pref.put("trustosm.gpg.showSignedDeleted", showSignedDeleted.isSelected());
Main.pref.put("trustosm.gpg.separateHomedir", separateHomedir.isSelected());
// TrustOSMplugin.gpg.refreshGpg();
return false;
}
}