001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.gui.preferences.server; 003 004import static org.openstreetmap.josm.tools.I18n.tr; 005 006import org.openstreetmap.josm.gui.preferences.PreferenceSetting; 007import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory; 008import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane; 009import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting; 010import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting; 011 012/** 013 * Authentication sub-preferences in server preferences. 014 * @since 6523 015 */ 016public final class AuthenticationPreference implements SubPreferenceSetting { 017 018 /** 019 * Factory used to create a new {@code AuthenticationPreference}. 020 */ 021 public static class Factory implements PreferenceSettingFactory { 022 @Override 023 public PreferenceSetting createPreferenceSetting() { 024 return new AuthenticationPreference(); 025 } 026 } 027 028 AuthenticationPreferencesPanel pnlAuthPreferences; 029 030 private AuthenticationPreference() { 031 super(); 032 } 033 034 @Override 035 public void addGui(PreferenceTabbedPane gui) { 036 pnlAuthPreferences = new AuthenticationPreferencesPanel(); 037 gui.getServerPreference().addApiUrlChangeListener(pnlAuthPreferences); 038 gui.getServerPreference().addSubTab(this, tr("Authentication"), 039 pnlAuthPreferences.getVerticalScrollPane(), 040 tr("Configure your identity and how to authenticate at the OSM server")); 041 } 042 043 @Override 044 public boolean ok() { 045 pnlAuthPreferences.saveToPreferences(); 046 return false; 047 } 048 049 @Override 050 public boolean isExpert() { 051 return false; 052 } 053 054 @Override 055 public TabPreferenceSetting getTabPreferenceSetting(PreferenceTabbedPane gui) { 056 return gui.getServerPreference(); 057 } 058}