Pārlūkot izejas kodu

Push some logic into Channel/Query factories.

Make these add the new window to the WindowManager, and post the
relevant event.
pull/330/head
Chris Smith 9 gadus atpakaļ
vecāks
revīzija
ab15bbb55b

+ 11
- 4
src/com/dmdirc/ChannelFactory.java Parādīt failu

@@ -22,9 +22,11 @@
22 22
 
23 23
 package com.dmdirc;
24 24
 
25
+import com.dmdirc.events.ChannelOpenedEvent;
25 26
 import com.dmdirc.interfaces.CommandController;
26 27
 import com.dmdirc.interfaces.config.ConfigProviderMigrator;
27 28
 import com.dmdirc.parser.interfaces.ChannelInfo;
29
+import com.dmdirc.ui.WindowManager;
28 30
 import com.dmdirc.ui.messages.BackBufferFactory;
29 31
 import com.dmdirc.ui.input.TabCompleterFactory;
30 32
 import com.dmdirc.ui.messages.sink.MessageSinkManager;
@@ -46,13 +48,14 @@ public class ChannelFactory {
46 48
     private final DMDircMBassador eventBus;
47 49
     private final BackBufferFactory backBufferFactory;
48 50
     private final GroupChatUserManager groupChatUserManager;
51
+    private final WindowManager windowManager;
49 52
 
50 53
     @Inject
51 54
     public ChannelFactory(final TabCompleterFactory tabCompleterFactory,
52 55
             final CommandController commandController, final MessageSinkManager messageSinkManager,
53 56
             final URLBuilder urlBuilder, final DMDircMBassador eventBus,
54 57
             final BackBufferFactory backBufferFactory,
55
-            final GroupChatUserManager groupChatUserManager) {
58
+            final GroupChatUserManager groupChatUserManager, final WindowManager windowManager) {
56 59
         this.tabCompleterFactory = tabCompleterFactory;
57 60
         this.commandController = commandController;
58 61
         this.messageSinkManager = messageSinkManager;
@@ -60,13 +63,17 @@ public class ChannelFactory {
60 63
         this.eventBus = eventBus;
61 64
         this.backBufferFactory = backBufferFactory;
62 65
         this.groupChatUserManager = groupChatUserManager;
66
+        this.windowManager = windowManager;
63 67
     }
64 68
 
65 69
     public Channel getChannel(final Server server,
66 70
             final ChannelInfo channelInfo,
67 71
             final ConfigProviderMigrator configMigrator) {
68
-        return new Channel(server, channelInfo, configMigrator, tabCompleterFactory,
69
-                commandController, messageSinkManager, urlBuilder, eventBus, backBufferFactory,
70
-                groupChatUserManager);
72
+        final Channel channel = new Channel(server, channelInfo, configMigrator,
73
+                tabCompleterFactory, commandController, messageSinkManager, urlBuilder, eventBus,
74
+                backBufferFactory, groupChatUserManager);
75
+        windowManager.addWindow(server, channel);
76
+        server.getEventBus().publish(new ChannelOpenedEvent(channel));
77
+        return channel;
71 78
     }
72 79
 }

+ 10
- 2
src/com/dmdirc/QueryFactory.java Parādīt failu

@@ -22,8 +22,10 @@
22 22
 
23 23
 package com.dmdirc;
24 24
 
25
+import com.dmdirc.events.QueryOpenedEvent;
25 26
 import com.dmdirc.interfaces.CommandController;
26 27
 import com.dmdirc.interfaces.User;
28
+import com.dmdirc.ui.WindowManager;
27 29
 import com.dmdirc.ui.messages.BackBufferFactory;
28 30
 import com.dmdirc.ui.input.TabCompleterFactory;
29 31
 import com.dmdirc.ui.messages.sink.MessageSinkManager;
@@ -43,21 +45,27 @@ public class QueryFactory {
43 45
     private final MessageSinkManager messageSinkManager;
44 46
     private final URLBuilder urlBuilder;
45 47
     private final BackBufferFactory backBufferFactory;
48
+    private final WindowManager windowManager;
46 49
 
47 50
     @Inject
48 51
     public QueryFactory(final TabCompleterFactory tabCompleterFactory,
49 52
             final CommandController commandController, final MessageSinkManager messageSinkManager,
50
-            final URLBuilder urlBuilder, final BackBufferFactory backBufferFactory) {
53
+            final URLBuilder urlBuilder, final BackBufferFactory backBufferFactory,
54
+            final WindowManager windowManager) {
51 55
         this.tabCompleterFactory = tabCompleterFactory;
52 56
         this.commandController = commandController;
53 57
         this.messageSinkManager = messageSinkManager;
54 58
         this.urlBuilder = urlBuilder;
55 59
         this.backBufferFactory = backBufferFactory;
60
+        this.windowManager = windowManager;
56 61
     }
57 62
 
58 63
     public Query getQuery(final Server server, final User user) {
59
-        return new Query(server, user, tabCompleterFactory, commandController,
64
+        final Query query = new Query(server, user, tabCompleterFactory, commandController,
60 65
                 messageSinkManager, urlBuilder, backBufferFactory);
66
+        windowManager.addWindow(server, query);
67
+        server.getEventBus().publish(new QueryOpenedEvent(query));
68
+        return query;
61 69
     }
62 70
 
63 71
 }

+ 0
- 15
src/com/dmdirc/Server.java Parādīt failu

@@ -26,8 +26,6 @@ import com.dmdirc.commandparser.CommandType;
26 26
 import com.dmdirc.commandparser.parsers.CommandParser;
27 27
 import com.dmdirc.config.profiles.Profile;
28 28
 import com.dmdirc.events.AppErrorEvent;
29
-import com.dmdirc.events.ChannelOpenedEvent;
30
-import com.dmdirc.events.QueryOpenedEvent;
31 29
 import com.dmdirc.events.ServerConnectErrorEvent;
32 30
 import com.dmdirc.events.ServerConnectedEvent;
33 31
 import com.dmdirc.events.ServerConnectingEvent;
@@ -55,7 +53,6 @@ import com.dmdirc.parser.interfaces.ProtocolDescription;
55 53
 import com.dmdirc.parser.interfaces.SecureParser;
56 54
 import com.dmdirc.parser.interfaces.StringConverter;
57 55
 import com.dmdirc.tls.CertificateManager;
58
-import com.dmdirc.ui.WindowManager;
59 56
 import com.dmdirc.ui.core.components.WindowComponent;
60 57
 import com.dmdirc.ui.input.TabCompleterFactory;
61 58
 import com.dmdirc.ui.input.TabCompletionType;
@@ -164,8 +161,6 @@ public class Server extends FrameContainer implements Connection {
164 161
     private final ParserFactory parserFactory;
165 162
     /** Factory to use to create new identities. */
166 163
     private final IdentityFactory identityFactory;
167
-    /** Window manager to pass to children. */
168
-    private final WindowManager windowManager;
169 164
     /** The migrator to use to change our config provider. */
170 165
     private final ConfigProviderMigrator configMigrator;
171 166
     /** Factory to use for creating channels. */
@@ -197,7 +192,6 @@ public class Server extends FrameContainer implements Connection {
197 192
             final TabCompleterFactory tabCompleterFactory,
198 193
             final IdentityFactory identityFactory,
199 194
             final MessageSinkManager messageSinkManager,
200
-            final WindowManager windowManager,
201 195
             final ChannelFactory channelFactory,
202 196
             final QueryFactory queryFactory,
203 197
             final URLBuilder urlBuilder,
@@ -227,7 +221,6 @@ public class Server extends FrameContainer implements Connection {
227 221
 
228 222
         this.parserFactory = parserFactory;
229 223
         this.identityFactory = identityFactory;
230
-        this.windowManager = windowManager;
231 224
         this.configMigrator = configMigrator;
232 225
         this.channelFactory = channelFactory;
233 226
         this.queryFactory = queryFactory;
@@ -531,10 +524,6 @@ public class Server extends FrameContainer implements Connection {
531 524
             if (!getState().isDisconnected()) {
532 525
                 newQuery.reregister();
533 526
             }
534
-
535
-            windowManager.addWindow(this, newQuery, focus);
536
-            getEventBus().publish(new QueryOpenedEvent(newQuery));
537
-
538 527
             getTabCompleter().addEntry(TabCompletionType.QUERY_NICK, nick);
539 528
             queries.put(lnick, newQuery);
540 529
         }
@@ -592,10 +581,6 @@ public class Server extends FrameContainer implements Connection {
592 581
             final ConfigProviderMigrator channelConfig = identityFactory.createMigratableConfig(
593 582
                     getProtocol(), getIrcd(), getNetwork(), getAddress(), chan.getName());
594 583
             final Channel newChan = channelFactory.getChannel(this, chan, channelConfig);
595
-
596
-            windowManager.addWindow(this, newChan, focus);
597
-            getEventBus().publish(new ChannelOpenedEvent(newChan));
598
-
599 584
             getTabCompleter().addEntry(TabCompletionType.CHANNEL, chan.getName());
600 585
             channels.add(newChan);
601 586
             return newChan;

+ 1
- 3
src/com/dmdirc/ServerFactoryImpl.java Parādīt failu

@@ -50,7 +50,6 @@ public class ServerFactoryImpl {
50 50
     private final TabCompleterFactory tabCompleterFactory;
51 51
     private final IdentityFactory identityFactory;
52 52
     private final MessageSinkManager messageSinkManager;
53
-    private final WindowManager windowManager;
54 53
     private final Provider<ChannelFactory> channelFactory;
55 54
     private final Provider<QueryFactory> queryFactory;
56 55
     private final URLBuilder urlBuilder;
@@ -79,7 +78,6 @@ public class ServerFactoryImpl {
79 78
         this.tabCompleterFactory = tabCompleterFactory;
80 79
         this.identityFactory = identityFactory;
81 80
         this.messageSinkManager = messageSinkManager;
82
-        this.windowManager = windowManager;
83 81
         this.channelFactory = channelFactory;
84 82
         this.queryFactory = queryFactory;
85 83
         this.urlBuilder = urlBuilder;
@@ -97,7 +95,7 @@ public class ServerFactoryImpl {
97 95
             final URI uri,
98 96
             final Profile profile) {
99 97
         return new Server(configMigrator, commandParser, parserFactory,
100
-                tabCompleterFactory, identityFactory, messageSinkManager, windowManager,
98
+                tabCompleterFactory, identityFactory, messageSinkManager,
101 99
                 channelFactory.get(), queryFactory.get(), urlBuilder, eventBus,
102 100
                 messageEncoderFactory, userSettings, executorService, uri, profile,
103 101
                 backBufferFactory, userManager);

+ 0
- 3
test/com/dmdirc/ServerTest.java Parādīt failu

@@ -31,7 +31,6 @@ import com.dmdirc.interfaces.config.AggregateConfigProvider;
31 31
 import com.dmdirc.interfaces.config.ConfigProvider;
32 32
 import com.dmdirc.interfaces.config.ConfigProviderMigrator;
33 33
 import com.dmdirc.interfaces.config.IdentityFactory;
34
-import com.dmdirc.ui.WindowManager;
35 34
 import com.dmdirc.ui.input.TabCompleter;
36 35
 import com.dmdirc.ui.input.TabCompleterFactory;
37 36
 import com.dmdirc.ui.messages.BackBufferFactory;
@@ -65,7 +64,6 @@ public class ServerTest {
65 64
     @Mock private TabCompleterFactory tabCompleterFactory;
66 65
     @Mock private TabCompleter tabCompleter;
67 66
     @Mock private MessageSinkManager messageSinkManager;
68
-    @Mock private WindowManager windowManager;
69 67
     @Mock private ChannelFactory channelFactory;
70 68
     @Mock private QueryFactory queryFactory;
71 69
     @Mock private URLBuilder urlBuilder;
@@ -94,7 +92,6 @@ public class ServerTest {
94 92
                 tabCompleterFactory,
95 93
                 identityFactory,
96 94
                 messageSinkManager,
97
-                windowManager,
98 95
                 channelFactory,
99 96
                 queryFactory,
100 97
                 urlBuilder,

Notiek ielāde…
Atcelt
Saglabāt