Kaynağa Gözat

Servers no longer autoconnect.

Fixes issue 2227; fixes issue 2807 (dev error)
tags/0.6.3m2a1
Chris Smith 15 yıl önce
ebeveyn
işleme
3e8d7c6ea2

+ 10
- 2
src/com/dmdirc/Server.java Dosyayı Görüntüle

176
                 new ConfigManager("", "", url.getServer()));
176
                 new ConfigManager("", "", url.getServer()));
177
 
177
 
178
         this.address = url;
178
         this.address = url;
179
+        this.profile = profile;
179
 
180
 
180
         window = Main.getUI().getServer(this);
181
         window = Main.getUI().getServer(this);
181
 
182
 
209
         if (getConfigManager().getOptionBool(DOMAIN_GENERAL, "showrawwindow")) {
210
         if (getConfigManager().getOptionBool(DOMAIN_GENERAL, "showrawwindow")) {
210
             addRaw();
211
             addRaw();
211
         }
212
         }
212
-
213
-        connect(url, profile);
214
     }
213
     }
215
 
214
 
216
     // </editor-fold>
215
     // </editor-fold>
217
 
216
 
218
     // <editor-fold defaultstate="collapsed" desc="Connection, disconnection & reconnection">
217
     // <editor-fold defaultstate="collapsed" desc="Connection, disconnection & reconnection">
219
 
218
 
219
+    /**
220
+     * Connects to a new server with the previously supplied address and profile.
221
+     *
222
+     * @since 0.6.3m2
223
+     */
224
+    public void connect() {
225
+        connect(address, profile);
226
+    }
227
+
220
     /**
228
     /**
221
      * Connects to a new server with the specified details.
229
      * Connects to a new server with the specified details.
222
      *
230
      *

+ 2
- 1
src/com/dmdirc/ServerManager.java Dosyayı Görüntüle

222
 
222
 
223
         if (connectedServer == null) {
223
         if (connectedServer == null) {
224
             try {
224
             try {
225
-                new Server("irc://irc.quakenet.org/DMDirc",
225
+                final Server server = new Server("irc://irc.quakenet.org/DMDirc",
226
                         IdentityManager.getProfiles().get(0));
226
                         IdentityManager.getProfiles().get(0));
227
+                server.connect();
227
             } catch (InvalidAddressException ex) {
228
             } catch (InvalidAddressException ex) {
228
                 Logger.appError(ErrorLevel.MEDIUM, "Unable to construct new server", ex);
229
                 Logger.appError(ErrorLevel.MEDIUM, "Unable to construct new server", ex);
229
             }
230
             }

+ 4
- 2
src/com/dmdirc/addons/ui_swing/dialogs/NewServerDialog.java Dosyayı Görüntüle

282
             new LoggingSwingWorker() {
282
             new LoggingSwingWorker() {
283
                 @Override
283
                 @Override
284
                 protected Object doInBackground() throws Exception {
284
                 protected Object doInBackground() throws Exception {
285
-                    new Server(address, profile);
285
+                    final Server server = new Server(address, profile);
286
+                    server.connect();
286
                     return null;
287
                     return null;
287
                 }
288
                 }
288
             }.execute();
289
             }.execute();
295
                 @Override
296
                 @Override
296
                 protected Object doInBackground() throws Exception {
297
                 protected Object doInBackground() throws Exception {
297
                     if (server == null) {
298
                     if (server == null) {
298
-                        new Server(address, profile);
299
+                        final Server newServer = new Server(address, profile);
300
+                        newServer.connect();
299
                     } else {
301
                     } else {
300
                         server.connect(address, profile);
302
                         server.connect(address, profile);
301
                     }
303
                     }

+ 3
- 1
src/com/dmdirc/commandparser/commands/global/NewServer.java Dosyayı Görüntüle

103
             pass = args.getArgumentsAsString(offset);
103
             pass = args.getArgumentsAsString(offset);
104
         }
104
         }
105
         
105
         
106
-        new Server(new IrcAddress(host, port, pass, ssl), IdentityManager.getProfiles().get(0));
106
+        final Server server = new Server(new IrcAddress(host, port, pass, ssl),
107
+                IdentityManager.getProfiles().get(0));
108
+        server.connect();
107
     }
109
     }
108
     
110
     
109
     
111
     

+ 2
- 1
src/com/dmdirc/util/IrcAddress.java Dosyayı Görüntüle

256
         final List<Server> servers = ServerManager.getServerManager().
256
         final List<Server> servers = ServerManager.getServerManager().
257
                 getServersByAddress(getServer());
257
                 getServersByAddress(getServer());
258
         if (servers.isEmpty()) {
258
         if (servers.isEmpty()) {
259
-            new Server(this, profile);
259
+            final Server newServer = new Server(this, profile);
260
+            newServer.connect();
260
         } else {
261
         } else {
261
             final Server thisServer = servers.get(0);
262
             final Server thisServer = servers.get(0);
262
             for (String channel : new ArrayList<String>(getChannels())) {
263
             for (String channel : new ArrayList<String>(getChannels())) {

+ 2
- 0
test/com/dmdirc/InviteTest.java Dosyayı Görüntüle

43
         IdentityManager.load();
43
         IdentityManager.load();
44
         
44
         
45
         server = new Server("irc-test://255.255.255.255", IdentityManager.getProfiles().get(0));
45
         server = new Server("irc-test://255.255.255.255", IdentityManager.getProfiles().get(0));
46
+        server.connect();
47
+        
46
         test = new Invite(server, "#channel", "nick!ident@host");
48
         test = new Invite(server, "#channel", "nick!ident@host");
47
         server.addInvite(test);
49
         server.addInvite(test);
48
         ts = new Date().getTime();
50
         ts = new Date().getTime();

+ 2
- 0
test/com/dmdirc/ServerManagerTest.java Dosyayı Görüntüle

106
                 IdentityManager.getProfiles().get(0));
106
                 IdentityManager.getProfiles().get(0));
107
         final Server serverB = new Server("irc-test://255.255.255.254",
107
         final Server serverB = new Server("irc-test://255.255.255.254",
108
                 IdentityManager.getProfiles().get(0));
108
                 IdentityManager.getProfiles().get(0));
109
+        serverA.connect();
110
+        serverB.connect();
109
         
111
         
110
         final ServerManager sm = ServerManager.getServerManager();
112
         final ServerManager sm = ServerManager.getServerManager();
111
         
113
         

+ 1
- 0
test/com/dmdirc/ServerTest.java Dosyayı Görüntüle

39
         IdentityManager.load();
39
         IdentityManager.load();
40
         server = new Server("irc-test://255.255.255.255",
40
         server = new Server("irc-test://255.255.255.255",
41
                 IdentityManager.getProfiles().get(0));
41
                 IdentityManager.getProfiles().get(0));
42
+        server.connect();
42
     }
43
     }
43
 
44
 
44
     @Test
45
     @Test

+ 2
- 0
test/com/dmdirc/addons/logging/LoggingPluginTest.java Dosyayı Görüntüle

53
         IdentityManager.load();
53
         IdentityManager.load();
54
         server = new Server("irc-test://255.255.255.255",
54
         server = new Server("irc-test://255.255.255.255",
55
                 IdentityManager.getProfiles().get(0));
55
                 IdentityManager.getProfiles().get(0));
56
+        server.connect();
57
+        
56
         channel = new Channel(server, new IRCChannelInfo((IRCParser) server.getParser(), "#test"));
58
         channel = new Channel(server, new IRCChannelInfo((IRCParser) server.getParser(), "#test"));
57
         query = new Query(server, "foo!bar@baz");
59
         query = new Query(server, "foo!bar@baz");
58
 
60
 

Loading…
İptal
Kaydet