private static final int MAX_FONT_SIZE = 30;
+ private String previousProxyType;
+
/**
* Holds name and link separated with | character. Sequence ID must be
* $SEQUENCE_ID$ or $SEQUENCE_ID=/.possible | chars ./=$
*/
public Preferences()
{
- super();
+ new Preferences(0);
+ }
+
+ public Preferences(int selectTab)
+ {
+ new Preferences(selectTab, null);
+ }
+
+ public Preferences(int selectTab, String message)
+ {
+ super(selectTab, message);
frame = new JInternalFrame();
frame.setContentPane(this);
if (!Platform.isJS())
}
String proxyTypeString = Cache.getDefault("USE_PROXY", "false");
+ previousProxyType = proxyTypeString;
switch (proxyTypeString)
{
- case "none":
+ case Cache.PROXYTYPE_NONE:
proxyType.setSelected(noProxy.getModel(), true);
break;
- case "false":
+ case Cache.PROXYTYPE_SYSTEM:
proxyType.setSelected(systemProxy.getModel(), true);
break;
- case "true":
+ case Cache.PROXYTYPE_CUSTOM:
proxyType.setSelected(customProxy.getModel(), true);
break;
default:
- String message = "Incorrect PROXY_TYPE - should be 'none' (clear proxy properties), 'false' (system settings), 'true' (custom settings): "
- + proxyTypeString;
- Cache.log.warn(message);
+ Cache.log.warn(
+ "Incorrect PROXY_TYPE - should be 'none' (clear proxy properties), 'false' (system settings), 'true' (custom settings): "
+ + proxyTypeString);
}
proxyServerHttpTB.setText(Cache.getDefault("PROXY_SERVER", ""));
proxyPortHttpTB.setText(Cache.getDefault("PROXY_PORT", ""));
proxyServerHttpsTB.setText(Cache.getDefault("PROXY_SERVER_HTTPS", ""));
proxyPortHttpsTB.setText(Cache.getDefault("PROXY_PORT_HTTPS", ""));
+ proxyAuth.setSelected(Cache.getDefault("PROXY_AUTH", false));
+ proxyAuthUsernameTB
+ .setText(Cache.getDefault("PROXY_AUTH_USERNAME", ""));
+ // we are not storing or retrieving proxy password from .jalview_properties
+ proxyAuthPasswordTB.setText(Cache.proxyAuthPassword == null ? ""
+ : new String(Cache.proxyAuthPassword));
+ setCustomProxyEnabled();
defaultBrowser.setText(Cache.getDefault("DEFAULT_BROWSER", ""));
Cache.applicationProperties.setProperty("DEFAULT_URL",
sequenceUrlLinks.getPrimaryUrlId());
- Cache.applicationProperties.setProperty("USE_PROXY",
- customProxy.isSelected() ? "true"
- : noProxy.isSelected() ? "none" : "false");
-
- Cache.setOrRemove("PROXY_SERVER", proxyServerHttpTB.getText());
-
- Cache.setOrRemove("PROXY_PORT", proxyPortHttpTB.getText());
-
- Cache.setOrRemove("PROXY_SERVER_HTTPS", proxyServerHttpsTB.getText());
-
- Cache.setOrRemove("PROXY_PORT_HTTPS", proxyPortHttpsTB.getText());
-
- if (noProxy.isSelected())
- {
- Cache.log.warn("Setting no proxy settings");
- Cache.setProxyProperties(null, null, null, null);
- }
- else if (customProxy.isSelected())
- {
- Cache.log.warn("Setting custom proxy settings");
- Cache.setProxyProperties(proxyServerHttpTB.getText(),
- proxyPortHttpTB.getText(), proxyServerHttpsTB.getText(),
- proxyPortHttpsTB.getText());
- }
- else // systemProxy should be selected and is sensible default
- {
- Cache.log.warn("Setting system proxy settings");
- Cache.resetProxyProperties();
- }
+ // Proxy settings
+ saveProxySettings();
Cache.setProperty("VERSION_CHECK",
Boolean.toString(versioncheck.isSelected()));
}
}
+ public void saveProxySettings()
+ {
+ Cache.applicationProperties.setProperty("USE_PROXY",
+ customProxy.isSelected() ? Cache.PROXYTYPE_CUSTOM
+ : noProxy.isSelected() ? Cache.PROXYTYPE_NONE
+ : Cache.PROXYTYPE_SYSTEM);
+ Cache.setOrRemove("PROXY_SERVER", proxyServerHttpTB.getText());
+ Cache.setOrRemove("PROXY_PORT", proxyPortHttpTB.getText());
+ Cache.setOrRemove("PROXY_SERVER_HTTPS", proxyServerHttpsTB.getText());
+ Cache.setOrRemove("PROXY_PORT_HTTPS", proxyPortHttpsTB.getText());
+ Cache.setOrRemove("PROXY_AUTH",
+ Boolean.toString(proxyAuth.isSelected()));
+ Cache.setOrRemove("PROXY_AUTH_USERNAME", proxyAuthUsernameTB.getText());
+ Cache.proxyAuthPassword = proxyAuthPasswordTB.getPassword();
+ Cache.setProxyPropertiesFromPreferences(previousProxyType);
+ }
+
/**
* Do any necessary validation before saving settings. Return focus to the
* first tab which fails validation.