From 13c5177d5428f8331c3d7d3f949f12ed22812e67 Mon Sep 17 00:00:00 2001 From: magenoxx <magenoxx@gmail> Date: Fri, 9 Dec 2011 15:15:48 +0400 Subject: [PATCH] [ui] Now pressing "Enter" on any text field in Connect dialog will force connecting - No need to press "Connect" button anymore. --- .../mage/client/dialog/ConnectDialog.java | 538 +++++++++--------- 1 file changed, 278 insertions(+), 260 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/dialog/ConnectDialog.java b/Mage.Client/src/main/java/mage/client/dialog/ConnectDialog.java index 710e31d08e..55511791d3 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/ConnectDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/ConnectDialog.java @@ -34,7 +34,16 @@ package mage.client.dialog; -import java.awt.Cursor; +import mage.client.MageFrame; +import mage.client.util.Config; +import mage.remote.Connection; +import mage.remote.Connection.ProxyType; +import org.apache.log4j.Logger; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.InetSocketAddress; @@ -45,51 +54,53 @@ import java.util.Arrays; import java.util.List; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; -import javax.swing.DefaultComboBoxModel; - -import javax.swing.JOptionPane; -import javax.swing.SwingWorker; - -import mage.client.MageFrame; -import mage.client.util.Config; -import mage.remote.Connection; -import mage.remote.Connection.ProxyType; - -import org.apache.log4j.Logger; /** - * * @author BetaSteward_at_googlemail.com */ public class ConnectDialog extends MageDialog { - private final static Logger logger = Logger.getLogger(ConnectDialog.class); - private Connection connection; - private ConnectTask task; + private final static Logger logger = Logger.getLogger(ConnectDialog.class); + private Connection connection; + private ConnectTask task; - /** Creates new form ConnectDialog */ + private final ActionListener connectAction = new ActionListener() { + @Override + public void actionPerformed(ActionEvent evt) { + btnConnectActionPerformed(evt); + } + }; + + /** + * Creates new form ConnectDialog + */ public ConnectDialog() { - initComponents(); + initComponents(); + + this.txtUserName.addActionListener(connectAction); + this.txtServer.addActionListener(connectAction); + this.txtPort.addActionListener(connectAction); } - public void showDialog() { - this.txtServer.setText(MageFrame.getPreferences().get("serverAddress", Config.serverName)); - this.txtPort.setText(MageFrame.getPreferences().get("serverPort", Integer.toString(Config.port))); - this.txtUserName.setText(MageFrame.getPreferences().get("userName", "")); - this.chkAutoConnect.setSelected(Boolean.parseBoolean(MageFrame.getPreferences().get("autoConnect", "false"))); - this.setModal(true); - this.setLocation(50, 50); - this.setVisible(true); - } + public void showDialog() { + this.txtServer.setText(MageFrame.getPreferences().get("serverAddress", Config.serverName)); + this.txtPort.setText(MageFrame.getPreferences().get("serverPort", Integer.toString(Config.port))); + this.txtUserName.setText(MageFrame.getPreferences().get("userName", "")); + this.chkAutoConnect.setSelected(Boolean.parseBoolean(MageFrame.getPreferences().get("autoConnect", "false"))); + this.setModal(true); + this.setLocation(50, 50); + this.setVisible(true); + } - private void saveSettings() { - MageFrame.getPreferences().put("serverAddress", txtServer.getText().trim()); - MageFrame.getPreferences().put("serverPort", txtPort.getText().trim()); - MageFrame.getPreferences().put("userName", txtUserName.getText().trim()); - MageFrame.getPreferences().put("autoConnect", Boolean.toString(chkAutoConnect.isSelected())); - } + private void saveSettings() { + MageFrame.getPreferences().put("serverAddress", txtServer.getText().trim()); + MageFrame.getPreferences().put("serverPort", txtPort.getText().trim()); + MageFrame.getPreferences().put("userName", txtUserName.getText().trim()); + MageFrame.getPreferences().put("autoConnect", Boolean.toString(chkAutoConnect.isSelected())); + } - /** This method is called from within the constructor to + /** + * This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. @@ -169,266 +180,273 @@ public class ConnectDialog extends MageDialog { javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(lblPort) - .addComponent(lblServer) - .addComponent(lblUserName)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(txtPort, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(131, 131, 131)) - .addComponent(txtUserName, javax.swing.GroupLayout.DEFAULT_SIZE, 382, Short.MAX_VALUE) - .addComponent(chkAutoConnect, javax.swing.GroupLayout.DEFAULT_SIZE, 382, Short.MAX_VALUE) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addComponent(txtServer, javax.swing.GroupLayout.DEFAULT_SIZE, 311, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jButton1)) - .addComponent(jProxySettingsButton))) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addComponent(btnConnect) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(btnCancel)) - .addComponent(lblStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 195, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap()) + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(lblPort) + .addComponent(lblServer) + .addComponent(lblUserName)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(txtPort, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(131, 131, 131)) + .addComponent(txtUserName, javax.swing.GroupLayout.DEFAULT_SIZE, 382, Short.MAX_VALUE) + .addComponent(chkAutoConnect, javax.swing.GroupLayout.DEFAULT_SIZE, 382, Short.MAX_VALUE) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addComponent(txtServer, javax.swing.GroupLayout.DEFAULT_SIZE, 311, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jButton1)) + .addComponent(jProxySettingsButton))) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addComponent(btnConnect) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(btnCancel)) + .addComponent(lblStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 195, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap()) ); layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(lblServer) - .addComponent(txtServer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jButton1)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(txtPort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lblPort)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(txtUserName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(lblUserName)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(chkAutoConnect) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(jProxySettingsButton) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 24, Short.MAX_VALUE) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(btnCancel) - .addComponent(btnConnect)) - .addContainerGap()) - .addGroup(layout.createSequentialGroup() - .addGap(8, 8, 8) - .addComponent(lblStatus) - .addContainerGap()))) + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(lblServer) + .addComponent(txtServer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jButton1)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(txtPort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(lblPort)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(txtUserName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(lblUserName)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(chkAutoConnect) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jProxySettingsButton) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 24, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(btnCancel) + .addComponent(btnConnect)) + .addContainerGap()) + .addGroup(layout.createSequentialGroup() + .addGap(8, 8, 8) + .addComponent(lblStatus) + .addContainerGap()))) ); pack(); }// </editor-fold>//GEN-END:initComponents - private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelActionPerformed - MageFrame.getPreferences().put("autoConnect", Boolean.toString(chkAutoConnect.isSelected())); - if (task != null && !task.isDone()) - task.cancel(true); - else - this.hideDialog(); - }//GEN-LAST:event_btnCancelActionPerformed + private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelActionPerformed + MageFrame.getPreferences().put("autoConnect", Boolean.toString(chkAutoConnect.isSelected())); + if (task != null && !task.isDone()) + task.cancel(true); + else + this.hideDialog(); + }//GEN-LAST:event_btnCancelActionPerformed - private void btnConnectActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnConnectActionPerformed - - if (txtUserName.getText().isEmpty()) { - JOptionPane.showMessageDialog(rootPane, "Please provide a user name"); - return; - } - if (txtServer.getText().trim().isEmpty()) { - JOptionPane.showMessageDialog(rootPane, "Please provide a server address"); - return; - } - if (txtPort.getText().trim().isEmpty()) { - JOptionPane.showMessageDialog(rootPane, "Please provide a port number"); - return; - } - if (Integer.valueOf(txtPort.getText()) < 1 || Integer.valueOf(txtPort.getText()) > 65535 ) { - JOptionPane.showMessageDialog(rootPane, "Invalid port number"); - txtPort.setText(MageFrame.getPreferences().get("serverPort", Integer.toString(Config.port))); - return; - } + private void btnConnectActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnConnectActionPerformed - char[] input = new char[0]; - try { - setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); - connection = new Connection(); - connection.setHost(this.txtServer.getText().trim()); - connection.setPort(Integer.valueOf(this.txtPort.getText().trim())); - connection.setUsername(this.txtUserName.getText().trim()); + if (txtUserName.getText().isEmpty()) { + JOptionPane.showMessageDialog(rootPane, "Please provide a user name"); + return; + } + if (txtServer.getText().trim().isEmpty()) { + JOptionPane.showMessageDialog(rootPane, "Please provide a server address"); + return; + } + if (txtPort.getText().trim().isEmpty()) { + JOptionPane.showMessageDialog(rootPane, "Please provide a port number"); + return; + } + if (Integer.valueOf(txtPort.getText()) < 1 || Integer.valueOf(txtPort.getText()) > 65535) { + JOptionPane.showMessageDialog(rootPane, "Invalid port number"); + txtPort.setText(MageFrame.getPreferences().get("serverPort", Integer.toString(Config.port))); + return; + } - ProxyType configProxyType = Connection.ProxyType.valueByText(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_TYPE, "None")); + char[] input = new char[0]; + try { + setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); + connection = new Connection(); + connection.setHost(this.txtServer.getText().trim()); + connection.setPort(Integer.valueOf(this.txtPort.getText().trim())); + connection.setUsername(this.txtUserName.getText().trim()); - if (configProxyType != null) { - connection.setProxyType(configProxyType); - if (!configProxyType.equals(ProxyType.NONE)) { - String host = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_ADDRESS, ""); - String port = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_PORT, ""); - if (!host.isEmpty() && !port.isEmpty()) { - connection.setProxyHost(host); - connection.setProxyPort(Integer.valueOf(port)); - String username = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_USERNAME, ""); - connection.setProxyUsername(username); - if (PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_REMEMBER, "false").equals("true")) { - String password = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_PSWD, ""); - connection.setProxyPassword(password); - } - } else { - logger.warn("host or\\and port are empty: host=" + host + ", port=" + port); - } - } - } + ProxyType configProxyType = Connection.ProxyType.valueByText(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_TYPE, "None")); - // Avatar - int avatarId = PreferencesDialog.getSelectedAvatar(); - connection.setAvatarId(avatarId); + if (configProxyType != null) { + connection.setProxyType(configProxyType); + if (!configProxyType.equals(ProxyType.NONE)) { + String host = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_ADDRESS, ""); + String port = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_PORT, ""); + if (!host.isEmpty() && !port.isEmpty()) { + connection.setProxyHost(host); + connection.setProxyPort(Integer.valueOf(port)); + String username = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_USERNAME, ""); + connection.setProxyUsername(username); + if (PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_REMEMBER, "false").equals("true")) { + String password = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_PSWD, ""); + connection.setProxyPassword(password); + } + } else { + logger.warn("host or\\and port are empty: host=" + host + ", port=" + port); + } + } + } - logger.debug("connecting: " + connection.getProxyType() + " " + connection.getProxyHost() + " " + connection.getProxyPort()); - task = new ConnectTask(); - task.execute(); - } - finally { - Arrays.fill(input, '0'); - } + // Avatar + int avatarId = PreferencesDialog.getSelectedAvatar(); + connection.setAvatarId(avatarId); - }//GEN-LAST:event_btnConnectActionPerformed + logger.debug("connecting: " + connection.getProxyType() + " " + connection.getProxyHost() + " " + connection.getProxyPort()); + task = new ConnectTask(); + task.execute(); + } finally { + Arrays.fill(input, '0'); + } - private class ConnectTask extends SwingWorker<Boolean, Void> { + }//GEN-LAST:event_btnConnectActionPerformed - private boolean result = false; + private class ConnectTask extends SwingWorker<Boolean, Void> { - @Override - protected Boolean doInBackground() throws Exception { - lblStatus.setText("Connecting..."); - btnConnect.setEnabled(false); - result = MageFrame.connect(connection); - return result; - } + private boolean result = false; - @Override - protected void done() { - try { - get(); - setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); - if (result) { - lblStatus.setText(""); - connected(); - } - else { - lblStatus.setText("Could not connect"); - } - } catch (InterruptedException ex) { - logger.fatal("Update Players Task error", ex); - } catch (ExecutionException ex) { - logger.fatal("Update Players Task error", ex); - } catch (CancellationException ex) { - logger.info("Connect was canceled"); - lblStatus.setText("Connect was canceled"); - MageFrame.stopConnecting(); - } finally { - btnConnect.setEnabled(true); - } - } - } + @Override + protected Boolean doInBackground() throws Exception { + lblStatus.setText("Connecting..."); + btnConnect.setEnabled(false); + result = MageFrame.connect(connection); + return result; + } - private void connected() { - this.saveSettings(); - this.hideDialog(); - } + @Override + protected void done() { + try { + get(); + setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); + if (result) { + lblStatus.setText(""); + connected(); + } else { + lblStatus.setText("Could not connect"); + } + } catch (InterruptedException ex) { + logger.fatal("Update Players Task error", ex); + } catch (ExecutionException ex) { + logger.fatal("Update Players Task error", ex); + } catch (CancellationException ex) { + logger.info("Connect was canceled"); + lblStatus.setText("Connect was canceled"); + MageFrame.stopConnecting(); + } finally { + btnConnect.setEnabled(true); + } + } + } + + private void connected() { + this.saveSettings(); + this.hideDialog(); + } - private void keyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_keyTyped - char c = evt.getKeyChar(); - if (!Character.isDigit(c)) - evt.consume(); - }//GEN-LAST:event_keyTyped + private void keyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_keyTyped + char c = evt.getKeyChar(); + if (!Character.isDigit(c)) + evt.consume(); + }//GEN-LAST:event_keyTyped - private void chkAutoConnectActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkAutoConnectActionPerformed - - // TODO add your handling code here: - }//GEN-LAST:event_chkAutoConnectActionPerformed + private void chkAutoConnectActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkAutoConnectActionPerformed + + // TODO add your handling code here: + }//GEN-LAST:event_chkAutoConnectActionPerformed private void findPublicServerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed - BufferedReader in = null; - try { - URL serverListURL = new URL("http://mage.googlecode.com/files/server-list.txt"); + BufferedReader in = null; + try { + URL serverListURL = new URL("http://mage.googlecode.com/files/server-list.txt"); - Connection.ProxyType configProxyType = Connection.ProxyType.valueByText(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_TYPE, "None")); + Connection.ProxyType configProxyType = Connection.ProxyType.valueByText(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_TYPE, "None")); - Proxy p = null; - Proxy.Type type = Proxy.Type.DIRECT; - switch (configProxyType) { - case HTTP: type = Proxy.Type.HTTP; break; - case SOCKS: type = Proxy.Type.SOCKS; break; - case NONE: - default: p = Proxy.NO_PROXY; break; - } + Proxy p = null; + Proxy.Type type = Proxy.Type.DIRECT; + switch (configProxyType) { + case HTTP: + type = Proxy.Type.HTTP; + break; + case SOCKS: + type = Proxy.Type.SOCKS; + break; + case NONE: + default: + p = Proxy.NO_PROXY; + break; + } - if (p == null || !p.equals(Proxy.NO_PROXY)) { - try { - String address = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_ADDRESS, ""); - Integer port = Integer.parseInt(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_PORT, "80")); - p = new Proxy(type, new InetSocketAddress(address, port)); - } catch (Exception ex) { - throw new RuntimeException("Gui_DownloadPictures : error 1 - " + ex); - } - } + if (p == null || !p.equals(Proxy.NO_PROXY)) { + try { + String address = PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_ADDRESS, ""); + Integer port = Integer.parseInt(PreferencesDialog.getCachedValue(PreferencesDialog.KEY_PROXY_PORT, "80")); + p = new Proxy(type, new InetSocketAddress(address, port)); + } catch (Exception ex) { + throw new RuntimeException("Gui_DownloadPictures : error 1 - " + ex); + } + } - if (p == null) { - JOptionPane.showMessageDialog(null, "Couldn't configure Proxy object!", "Error", JOptionPane.ERROR_MESSAGE); - return; - } + if (p == null) { + JOptionPane.showMessageDialog(null, "Couldn't configure Proxy object!", "Error", JOptionPane.ERROR_MESSAGE); + return; + } - in = new BufferedReader(new InputStreamReader(serverListURL.openConnection(p).getInputStream())); - - List<String> servers = new ArrayList<String>(); - String inputLine; - while ((inputLine = in.readLine()) != null) { - System.out.println("Found server: "+inputLine); - servers.add(inputLine); - } - - if (servers.size() == 0) { - JOptionPane.showMessageDialog(null, "Couldn't find any server."); - return; - } + in = new BufferedReader(new InputStreamReader(serverListURL.openConnection(p).getInputStream())); - String selectedServer = (String) JOptionPane.showInputDialog(null, - "Choose MAGE Public Server:", "Input", - JOptionPane.INFORMATION_MESSAGE, null, servers.toArray(), - servers.get(0)); - if (selectedServer != null) { - String[] params = selectedServer.split(":"); - if (params.length == 3) { - this.txtServer.setText(params[1]); - this.txtPort.setText(params[2]); - } else { - JOptionPane.showMessageDialog(null, "Wrong server data format."); - } - } + List<String> servers = new ArrayList<String>(); + String inputLine; + while ((inputLine = in.readLine()) != null) { + System.out.println("Found server: " + inputLine); + servers.add(inputLine); + } - in.close(); - } catch(Exception ex) { - logger.error(ex,ex); - } finally { - if (in != null) try { in.close(); } catch (Exception e) {} - } + if (servers.size() == 0) { + JOptionPane.showMessageDialog(null, "Couldn't find any server."); + return; + } + + String selectedServer = (String) JOptionPane.showInputDialog(null, + "Choose MAGE Public Server:", "Input", + JOptionPane.INFORMATION_MESSAGE, null, servers.toArray(), + servers.get(0)); + if (selectedServer != null) { + String[] params = selectedServer.split(":"); + if (params.length == 3) { + this.txtServer.setText(params[1]); + this.txtPort.setText(params[2]); + } else { + JOptionPane.showMessageDialog(null, "Wrong server data format."); + } + } + + in.close(); + } catch (Exception ex) { + logger.error(ex, ex); + } finally { + if (in != null) try { + in.close(); + } catch (Exception e) { + } + } }//GEN-LAST:event_jButton1ActionPerformed private void jProxySettingsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jProxySettingsButtonActionPerformed - PreferencesDialog.main(new String[]{PreferencesDialog.OPEN_CONNECTION_TAB}); + PreferencesDialog.main(new String[]{PreferencesDialog.OPEN_CONNECTION_TAB}); }//GEN-LAST:event_jProxySettingsButtonActionPerformed