Ignore:
Timestamp:
May 3, 2013, 4:13:54 PM (12 years ago)
Author:
alloc
Message:

AEI2.09:

  • Refs #3: Settings dialog can be used to change proxy settings
Location:
java/installer2/src/net/oni2/aeinstaller
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java

    r852 r856  
    1111import javax.swing.JDialog;
    1212import javax.swing.JOptionPane;
     13import javax.swing.JTextField;
    1314import javax.swing.KeyStroke;
    1415import javax.swing.UIManager;
     
    4243        private JCheckBox chkCopyOutro;
    4344
     45        private JCheckBox chkUseProxy;
     46        private JTextField txtProxyHost;
     47        private JTextField txtProxyPort;
     48
    4449        /**
    4550         * Open the settings
     
    7075        private void initValues() {
    7176                SettingsManager set = SettingsManager.getInstance();
     77                ProxySettings prox = ProxySettings.getInstance();
    7278
    7379                laFModel = new LaFComboModel();
     
    7985                chkCopyIntro.setSelected(set.get("copyintro", false));
    8086                chkCopyOutro.setSelected(set.get("copyoutro", true));
     87
     88                chkUseProxy.setSelected(prox.isUseProxy());
     89                txtProxyHost.setText(prox.getHostOrIp());
     90                txtProxyPort.setText(String.valueOf(prox.getPort()));
    8191        }
    8292
    8393        @SuppressWarnings("unused")
    8494        private boolean save() {
     95
     96                boolean proxyUse = chkUseProxy.isSelected();
     97                int proxyPort = -1;
     98                try {
     99                        proxyPort = Integer.valueOf(txtProxyPort.getText());
     100                } catch (NumberFormatException e) {
     101                }
     102                if ((proxyPort < 1) || (proxyPort > 65535)) {
     103                        JOptionPane.showMessageDialog(this,
     104                                        bundle.getString("proxyIllegalPort.text"),
     105                                        bundle.getString("proxyIllegalPort.title"),
     106                                        JOptionPane.ERROR_MESSAGE);
     107                        return false;
     108                }
     109                String proxyHost = txtProxyHost.getText();
     110
     111                ProxySettings prox = ProxySettings.getInstance();
     112                if (!prox.getHostOrIp().equalsIgnoreCase(proxyHost)
     113                                || (prox.getPort() != proxyPort)
     114                                || (prox.isUseProxy() != proxyUse)) {
     115                        boolean proxyOldUse = prox.isUseProxy();
     116                        int proxyOldPort = prox.getPort();
     117                        String proxyOldHost = prox.getHostOrIp();
     118
     119                        prox.setUseProxy(proxyUse);
     120                        prox.setHostOrIp(proxyHost);
     121                        prox.setPort(proxyPort);
     122                        if (!prox.validate()) {
     123                                JOptionPane.showMessageDialog(this,
     124                                                bundle.getString("proxyVerifyFailed.text"),
     125                                                bundle.getString("proxyVerifyFailed.title"),
     126                                                JOptionPane.ERROR_MESSAGE);
     127                                prox.setUseProxy(proxyOldUse);
     128                                prox.setHostOrIp(proxyOldHost);
     129                                prox.setPort(proxyOldPort);
     130                                return false;
     131                        }
     132
     133                        prox.serializeToFile(Paths.getProxySettingsFilename());
     134                }
     135
    85136                SettingsManager set = SettingsManager.getInstance();
    86137
     
    102153                                        JOptionPane.INFORMATION_MESSAGE);
    103154                }
    104                
    105                 ProxySettings prox = ProxySettings.getInstance();
    106                 prox.serializeToFile(Paths.getProxySettingsFilename());
    107155
    108156                return true;
    109157        }
    110 
    111158}
  • java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.yml

    r850 r856  
    2121           >chkCopyIntro               [pref]
    2222           >chkCopyOutro               [pref]
     23    - JPanel(name=panProxy, groupTitle=panProxy):
     24      - JLabel(name=empty)
     25      - JCheckBox(name=chkUseProxy, horizontalTextPosition=LEADING, text=chkUseProxy)
     26      - JLabel(name=lblProxyHost, text=lblProxyHost)
     27      - JTextField(name=txtProxyHost)
     28      - JLabel(name=lblProxyPort, text=lblProxyPort)
     29      - JTextField(name=txtProxyPort)
     30      - MigLayout: |
     31           [min]           [18]            [grow]
     32           >chkUseProxy+2                  empty   [pref]
     33           >lblProxyHost   txtProxyHost+*          [pref]
     34           >lblProxyPort   txtProxyPort+*          [pref]
    2335    - JPanel(name=panUI, groupTitle=panUI):
    2436      - JLabel(name=lblLaF, text=lblLaF)
     
    3042         [grow]
    3143         panCommon               [pref]
     44         panProxy                [pref]
    3245         panUI                   [pref]
    3346         >btnOk+*=1,btnCancel=1  [min]
  • java/installer2/src/net/oni2/aeinstaller/localization/SettingsDialog.properties

    r656 r856  
    66lblLaF=GUI theme:
    77
    8 panCommon=Common settings
     8panCommon=Common
    99lblNotifyOnStart=Notify about updates on startup:
    1010lblNotifyDepsAfterInstall=Only notify about dependencies after installation:
     
    1919lblCopyOutro=Enable ending video on installation:
    2020
     21panProxy=Proxy
     22chkUseProxy=Use proxy:
     23lblProxyHost=Hostname or IP:
     24lblProxyPort=Port number:
     25
     26proxyIllegalPort.text=The value entered for the proxy port number has to be an integer number between 1 and 65535.
     27proxyIllegalPort.title=Invalid port number
     28proxyVerifyFailed.text=No connection could be established to the given host+port combination.\nEither disable proxy usage or correct the data entered.
     29proxyVerifyFailed.title=Verifying proxy settings failed
     30
    2131newLaF.text=A new GUI theme was selected.\nPlease restart the application in order to apply the changes.
    2232newLaF.title=Restart to apply theme
Note: See TracChangeset for help on using the changeset viewer.