source: josm/trunk/src/org/openstreetmap/josm/gui/preferences/server/ProxyPreference.java@ 6623

Last change on this file since 6623 was 6623, checked in by Don-vip, 10 years ago

fix Sonar issues

File size: 2.9 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.preferences.server;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.util.HashSet;
7import java.util.Set;
8
9import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
10import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
11import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
12import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;
13import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;
14
15/**
16 * Proxy sub-preferences in server preferences.
17 * @since 6523
18 */
19public final class ProxyPreference implements SubPreferenceSetting {
20
21 /**
22 * Factory used to create a new {@code ProxyPreference}.
23 */
24 public static class Factory implements PreferenceSettingFactory {
25 @Override
26 public PreferenceSetting createPreferenceSetting() {
27 return new ProxyPreference();
28 }
29 }
30
31 private static Set<ProxyPreferenceListener> listeners = new HashSet<ProxyPreferenceListener>();
32
33 private ProxyPreferencesPanel pnlProxyPreferences;
34
35 private ProxyPreference() {
36 super();
37 }
38
39 @Override
40 public void addGui(PreferenceTabbedPane gui) {
41 pnlProxyPreferences = new ProxyPreferencesPanel();
42 gui.getServerPreference().addSubTab(this, tr("Proxy settings"),
43 ServerAccessPreference.wrapVerticallyScrollablePanel(pnlProxyPreferences),
44 tr("Configure whether to use a proxy server"));
45 }
46
47 @Override
48 public boolean ok() {
49 pnlProxyPreferences.saveToPreferences();
50 for (ProxyPreferenceListener listener : listeners) {
51 listener.proxyPreferenceChanged();
52 }
53 return false;
54 }
55
56 @Override
57 public boolean isExpert() {
58 return false;
59 }
60
61 @Override
62 public TabPreferenceSetting getTabPreferenceSetting(PreferenceTabbedPane gui) {
63 return gui.getServerPreference();
64 }
65
66 /**
67 * Adds a new ProxyPreferenceListener.
68 * @param listener the listener to add
69 * @return {@code true} if the listener has been added, {@code false} otherwise
70 * @since 6525
71 */
72 public static boolean addProxyPreferenceListener(ProxyPreferenceListener listener) {
73 if (listener != null) {
74 return listeners.add(listener);
75 }
76 return false;
77 }
78
79 /**
80 * Removes a ProxyPreferenceListener.
81 * @param listener the listener to remove
82 * @return {@code true} if the listener has been removed, {@code false} otherwise
83 * @since 6525
84 */
85 public static boolean removeProxyPreferenceListener(ProxyPreferenceListener listener) {
86 if (listener != null) {
87 return listeners.remove(listener);
88 }
89 return false;
90 }
91}
Note: See TracBrowser for help on using the repository browser.