1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.xnap.gui.prefs;
22
23 import java.awt.Component;
24 import java.awt.GridBagLayout;
25
26 import javax.help.CSH;
27 import javax.swing.JCheckBox;
28 import javax.swing.JPanel;
29 import javax.swing.JTextField;
30
31 import org.xnap.XNap;
32 import org.xnap.gui.AbstractSettingsPanel;
33 import org.xnap.gui.action.EnableAction;
34 import org.xnap.gui.component.ValidatedTextField;
35 import org.xnap.gui.component.XNapCheckBox;
36 import org.xnap.gui.util.GUIHelper;
37 import org.xnap.gui.util.GridBagHelper;
38
39 public class ProxyPrefsPanel extends AbstractSettingsPanel {
40
41
42
43 private JCheckBox jcUseHttpProxy;
44 private JTextField jteHttpProxyHost;
45 private ValidatedTextField jteHttpProxyPort;
46 private JCheckBox jcUseSocksProxy;
47 private JTextField jteSocksProxyHost;
48 private ValidatedTextField jteSocksProxyPort;
49
50
51
52 public ProxyPrefsPanel()
53 {
54 setLayout(new GridBagLayout());
55
56
57 CSH.setHelpIDString(this, "network-proxies");
58
59
60 JPanel jpHttpProxy = new JPanel(new GridBagLayout());
61 jpHttpProxy.setBorder
62 (GUIHelper.createDefaultBorder(XNap.tr("Http Proxy")));
63 GridBagHelper.add(this, jpHttpProxy);
64
65 jteHttpProxyHost = new JTextField(prefs.getHttpProxyHost(), 30);
66 jteHttpProxyPort = new ValidatedTextField
67 (prefs.getHttpProxyPort() + "", 5, ValidatedTextField.NUMBERS_INT);
68 EnableAction acHttpProxy = new EnableAction
69 (XNap.tr("Use Proxy"),
70 new Component[] { jteHttpProxyHost, jteHttpProxyPort },
71 prefs.getUseHttpProxy());
72
73 jcUseHttpProxy = new XNapCheckBox(acHttpProxy);
74 GridBagHelper.add(jpHttpProxy, jcUseHttpProxy);
75
76 GridBagHelper.addLabel(jpHttpProxy, XNap.tr("Host"));
77 GridBagHelper.add(jpHttpProxy, jteHttpProxyHost);
78
79 GridBagHelper.addLabel(jpHttpProxy, XNap.tr("Port"));
80 GridBagHelper.add(jpHttpProxy, jteHttpProxyPort, false);
81
82
83 CSH.setHelpIDString(jpHttpProxy, "network-proxies-httpproxy");
84
85
86 JPanel jpSocksProxy = new JPanel(new GridBagLayout());
87 jpSocksProxy.setBorder
88 (GUIHelper.createDefaultBorder(XNap.tr("Socks 4 Proxy")));
89
90 jteSocksProxyHost = new JTextField(prefs.getSocksProxyHost(), 30);
91 jteSocksProxyPort = new ValidatedTextField
92 (prefs.getSocksProxyPort() + "", 5, ValidatedTextField.NUMBERS_INT);
93 EnableAction acSocksProxy = new EnableAction
94 (XNap.tr("Use Proxy"),
95 new Component[] { jteSocksProxyHost, jteSocksProxyPort },
96 prefs.getUseSocksProxy());
97
98 jcUseSocksProxy = new XNapCheckBox(acSocksProxy);
99 GridBagHelper.add(jpSocksProxy, jcUseSocksProxy);
100
101 GridBagHelper.addLabel(jpSocksProxy, XNap.tr("Host"));
102 GridBagHelper.add(jpSocksProxy, jteSocksProxyHost);
103
104 GridBagHelper.addLabel(jpSocksProxy, XNap.tr("Port"));
105 GridBagHelper.add(jpSocksProxy, jteSocksProxyPort, false);
106
107 GridBagHelper.add(this, jpSocksProxy);
108
109
110 CSH.setHelpIDString(jpSocksProxy, "network-proxies-socks4proxy");
111
112 GridBagHelper.addVerticalSpacer(this);
113 }
114
115 public void apply()
116 {
117 prefs.setUseHttpProxy(jcUseHttpProxy.isSelected());
118 prefs.setHttpProxyHost(jteHttpProxyHost.getText().trim());
119 prefs.setHttpProxyPort(jteHttpProxyPort.getIntValue());
120
121 prefs.setUseSocksProxy(jcUseSocksProxy.isSelected());
122 prefs.setSocksProxyHost(jteSocksProxyHost.getText().trim());
123 prefs.setSocksProxyPort(jteSocksProxyPort.getIntValue());
124 }
125
126 public String getTitle()
127 {
128 return XNap.tr("Proxies");
129 }
130
131 }