Преглед изворни кода

Make Query use Connection iface, not Server.

pull/377/head
Chris Smith пре 9 година
родитељ
комит
1697e8a10b
2 измењених фајлова са 35 додато и 33 уклоњено
  1. 30
    29
      src/com/dmdirc/Query.java
  2. 5
    4
      src/com/dmdirc/QueryFactory.java

+ 30
- 29
src/com/dmdirc/Query.java Прегледај датотеку

@@ -69,36 +69,37 @@ public class Query extends MessageTarget implements PrivateActionListener,
69 69
         PrivateMessageListener, NickChangeListener, QuitListener,
70 70
         CompositionStateChangeListener, PrivateChat {
71 71
 
72
-    /** The Server this Query is on. */
73
-    private final Server server;
72
+    /** The connection this Query is on. */
73
+    private final Connection connection;
74 74
     /** The user associated with this query. */
75 75
     private final User user;
76 76
 
77 77
     public Query(
78
-            final Server newServer,
78
+            final Connection connection,
79 79
             final User user,
80 80
             final TabCompleterFactory tabCompleterFactory,
81 81
             final CommandController commandController,
82 82
             final MessageSinkManager messageSinkManager,
83 83
             final URLBuilder urlBuilder,
84 84
             final BackBufferFactory backBufferFactory) {
85
-        super(newServer, "query",
85
+        super(connection.getWindowModel(), "query",
86 86
                 user.getNickname(),
87 87
                 user.getNickname(),
88
-                newServer.getConfigManager(),
88
+                connection.getWindowModel().getConfigManager(),
89 89
                 backBufferFactory,
90
-                new QueryCommandParser(newServer, commandController, newServer.getEventBus()),
91
-                tabCompleterFactory.getTabCompleter(newServer.getTabCompleter(),
92
-                        newServer.getConfigManager(),
90
+                new QueryCommandParser(connection.getWindowModel(), commandController,
91
+                        connection.getWindowModel().getEventBus()),
92
+                tabCompleterFactory.getTabCompleter(connection.getWindowModel().getTabCompleter(),
93
+                        connection.getWindowModel().getConfigManager(),
93 94
                         CommandType.TYPE_QUERY, CommandType.TYPE_CHAT),
94 95
                 messageSinkManager,
95 96
                 urlBuilder,
96
-                newServer.getEventBus(),
97
+                connection.getWindowModel().getEventBus(),
97 98
                 Arrays.asList(
98 99
                         WindowComponent.TEXTAREA.getIdentifier(),
99 100
                         WindowComponent.INPUTFIELD.getIdentifier()));
100 101
 
101
-        this.server = newServer;
102
+        this.connection = connection;
102 103
         this.user = user;
103 104
         updateTitle();
104 105
         initBackBuffer();
@@ -111,18 +112,18 @@ public class Query extends MessageTarget implements PrivateActionListener,
111 112
 
112 113
     @Override
113 114
     public void sendLine(final String line, final String target) {
114
-        if (server.getState() != ServerState.CONNECTED) {
115
+        if (connection.getState() != ServerState.CONNECTED) {
115 116
             Toolkit.getDefaultToolkit().beep();
116 117
             return;
117 118
         }
118 119
 
119 120
         splitLine(line).stream().filter(part -> !part.isEmpty()).forEach(part -> {
120
-            server.getParser().get().sendMessage(target, part);
121
+            connection.getParser().get().sendMessage(target, part);
121 122
 
122 123
             final String format = EventUtils.postDisplayable(getEventBus(),
123
-                    new QuerySelfMessageEvent(this, server.getLocalUser().get(), part),
124
+                    new QuerySelfMessageEvent(this, connection.getLocalUser().get(), part),
124 125
                     "querySelfMessage");
125
-            doNotification(format, server.getLocalUser().get(), part);
126
+            doNotification(format, connection.getLocalUser().get(), part);
126 127
         });
127 128
     }
128 129
 
@@ -141,26 +142,26 @@ public class Query extends MessageTarget implements PrivateActionListener,
141 142
 
142 143
     @Override
143 144
     public int getMaxLineLength() {
144
-        return server.getState() == ServerState.CONNECTED ? server.getParser().get()
145
+        return connection.getState() == ServerState.CONNECTED ? connection.getParser().get()
145 146
                 .getMaxLength("PRIVMSG", getHost()) : -1;
146 147
     }
147 148
 
148 149
     @Override
149 150
     public void sendAction(final String action) {
150
-        if (server.getState() != ServerState.CONNECTED) {
151
+        if (connection.getState() != ServerState.CONNECTED) {
151 152
             Toolkit.getDefaultToolkit().beep();
152 153
             return;
153 154
         }
154 155
 
155
-        final int maxLineLength = server.getParser().get().getMaxLength("PRIVMSG", getHost());
156
+        final int maxLineLength = connection.getParser().get().getMaxLength("PRIVMSG", getHost());
156 157
 
157 158
         if (maxLineLength >= action.length() + 2) {
158
-            server.getParser().get().sendAction(getNickname(), action);
159
+            connection.getParser().get().sendAction(getNickname(), action);
159 160
 
160 161
             final String format = EventUtils.postDisplayable(getEventBus(),
161
-                    new QuerySelfActionEvent(this, server.getLocalUser().get(), action),
162
+                    new QuerySelfActionEvent(this, connection.getLocalUser().get(), action),
162 163
                     "querySelfAction");
163
-            doNotification(format, server.getLocalUser().get(), action);
164
+            doNotification(format, connection.getLocalUser().get(), action);
164 165
         } else {
165 166
             addLine("actionTooLong", action.length());
166 167
         }
@@ -170,14 +171,14 @@ public class Query extends MessageTarget implements PrivateActionListener,
170 171
     public void onPrivateMessage(final Parser parser, final Date date,
171 172
             final String message, final String host) {
172 173
         getEventBus().publishAsync(
173
-                new QueryMessageEvent(this, server.getUser(host), message));
174
+                new QueryMessageEvent(this, connection.getUser(host), message));
174 175
     }
175 176
 
176 177
     @Override
177 178
     public void onPrivateAction(final Parser parser, final Date date,
178 179
             final String message, final String host) {
179 180
         getEventBus().publishAsync(
180
-                new QueryActionEvent(this, server.getUser(host), message));
181
+                new QueryActionEvent(this, connection.getUser(host), message));
181 182
     }
182 183
 
183 184
     /**
@@ -191,7 +192,7 @@ public class Query extends MessageTarget implements PrivateActionListener,
191 192
      * Reregisters query callbacks. Called when reconnecting to the server.
192 193
      */
193 194
     public void reregister() {
194
-        final CallbackManager callbackManager = server.getParser().get().getCallbackManager();
195
+        final CallbackManager callbackManager = connection.getParser().get().getCallbackManager();
195 196
         final String nick = getNickname();
196 197
 
197 198
         try {
@@ -210,7 +211,7 @@ public class Query extends MessageTarget implements PrivateActionListener,
210 211
     public void onNickChanged(final Parser parser, final Date date,
211 212
             final ClientInfo client, final String oldNick) {
212 213
         if (oldNick.equals(getNickname())) {
213
-            final CallbackManager callbackManager = server.getParser().get().getCallbackManager();
214
+            final CallbackManager callbackManager = connection.getParser().get().getCallbackManager();
214 215
 
215 216
             callbackManager.delCallback(PrivateActionListener.class, this);
216 217
             callbackManager.delCallback(PrivateMessageListener.class, this);
@@ -232,7 +233,7 @@ public class Query extends MessageTarget implements PrivateActionListener,
232 233
                     new QueryNickChangeEvent(this, oldNick),
233 234
                     "queryNickChanged");
234 235
 
235
-            server.updateQuery(this, oldNick, client.getNickname());
236
+            connection.updateQuery(this, oldNick, client.getNickname());
236 237
 
237 238
             addLine(format, oldNick, client.getUsername(),
238 239
                     client.getHostname(), client.getNickname());
@@ -267,7 +268,7 @@ public class Query extends MessageTarget implements PrivateActionListener,
267 268
 
268 269
     @Override
269 270
     public Optional<Connection> getConnection() {
270
-        return Optional.of(server);
271
+        return Optional.of(connection);
271 272
     }
272 273
 
273 274
     @Override
@@ -275,13 +276,13 @@ public class Query extends MessageTarget implements PrivateActionListener,
275 276
         super.close();
276 277
 
277 278
         // Remove any callbacks or listeners
278
-        server.getParser().map(Parser::getCallbackManager).ifPresent(cm -> cm.delAllCallback(this));
279
+        connection.getParser().map(Parser::getCallbackManager).ifPresent(cm -> cm.delAllCallback(this));
279 280
 
280 281
         // Trigger action for the window closing
281 282
         getEventBus().publishAsync(new QueryClosedEvent(this));
282 283
 
283 284
         // Inform any parents that the window is closing
284
-        server.delQuery(this);
285
+        connection.delQuery(this);
285 286
     }
286 287
 
287 288
     @Override
@@ -297,7 +298,7 @@ public class Query extends MessageTarget implements PrivateActionListener,
297 298
 
298 299
     @Override
299 300
     public void setCompositionState(final CompositionState state) {
300
-        server.getParser().get().setCompositionState(getHost(), state);
301
+        connection.getParser().get().setCompositionState(getHost(), state);
301 302
     }
302 303
 
303 304
     @Override

+ 5
- 4
src/com/dmdirc/QueryFactory.java Прегледај датотеку

@@ -24,6 +24,7 @@ package com.dmdirc;
24 24
 
25 25
 import com.dmdirc.events.QueryOpenedEvent;
26 26
 import com.dmdirc.interfaces.CommandController;
27
+import com.dmdirc.interfaces.Connection;
27 28
 import com.dmdirc.interfaces.User;
28 29
 import com.dmdirc.ui.WindowManager;
29 30
 import com.dmdirc.ui.messages.BackBufferFactory;
@@ -60,11 +61,11 @@ public class QueryFactory {
60 61
         this.windowManager = windowManager;
61 62
     }
62 63
 
63
-    public Query getQuery(final Server server, final User user) {
64
-        final Query query = new Query(server, user, tabCompleterFactory, commandController,
64
+    public Query getQuery(final Connection connection, final User user) {
65
+        final Query query = new Query(connection, user, tabCompleterFactory, commandController,
65 66
                 messageSinkManager, urlBuilder, backBufferFactory);
66
-        windowManager.addWindow(server, query);
67
-        server.getEventBus().publish(new QueryOpenedEvent(query));
67
+        windowManager.addWindow(connection.getWindowModel(), query);
68
+        connection.getWindowModel().getEventBus().publish(new QueryOpenedEvent(query));
68 69
         return query;
69 70
     }
70 71
 

Loading…
Откажи
Сачувај