|
@@ -24,6 +24,8 @@ package com.dmdirc;
|
24
|
24
|
|
25
|
25
|
import com.dmdirc.commandparser.CommandType;
|
26
|
26
|
import com.dmdirc.commandparser.parsers.QueryCommandParser;
|
|
27
|
+import com.dmdirc.events.AppErrorEvent;
|
|
28
|
+import com.dmdirc.events.EventUtils;
|
27
|
29
|
import com.dmdirc.events.QueryActionEvent;
|
28
|
30
|
import com.dmdirc.events.QueryClosedEvent;
|
29
|
31
|
import com.dmdirc.events.QueryMessageEvent;
|
|
@@ -35,7 +37,6 @@ import com.dmdirc.interfaces.CommandController;
|
35
|
37
|
import com.dmdirc.interfaces.Connection;
|
36
|
38
|
import com.dmdirc.interfaces.PrivateChat;
|
37
|
39
|
import com.dmdirc.logger.ErrorLevel;
|
38
|
|
-import com.dmdirc.logger.Logger;
|
39
|
40
|
import com.dmdirc.messages.MessageSinkManager;
|
40
|
41
|
import com.dmdirc.parser.common.CallbackManager;
|
41
|
42
|
import com.dmdirc.parser.common.CallbackNotFoundException;
|
|
@@ -108,11 +109,6 @@ public class Query extends MessageTarget implements PrivateActionListener,
|
108
|
109
|
this.server = newServer;
|
109
|
110
|
this.host = newHost;
|
110
|
111
|
this.nickname = server.parseHostmask(host)[0];
|
111
|
|
-
|
112
|
|
- if (!server.getState().isDisconnected()) {
|
113
|
|
- reregister();
|
114
|
|
- }
|
115
|
|
-
|
116
|
112
|
updateTitle();
|
117
|
113
|
}
|
118
|
114
|
|
|
@@ -132,11 +128,10 @@ public class Query extends MessageTarget implements PrivateActionListener,
|
132
|
128
|
if (!part.isEmpty()) {
|
133
|
129
|
server.getParser().sendMessage(target, part);
|
134
|
130
|
|
135
|
|
- doNotification("querySelfMessage", server.getParser().getLocalClient(), part);
|
136
|
|
- final QuerySelfMessageEvent event = new QuerySelfMessageEvent(this, server.getParser().
|
137
|
|
- getLocalClient(), part);
|
138
|
|
- event.setDisplayFormat("querySelfMessage");
|
139
|
|
- getEventBus().publish(event);
|
|
131
|
+ final String format = EventUtils.postDisplayable(getEventBus(),
|
|
132
|
+ new QuerySelfMessageEvent(this, server.getParser().getLocalClient(), part),
|
|
133
|
+ "querySelfMessage");
|
|
134
|
+ doNotification(format, server.getParser().getLocalClient(), part);
|
140
|
135
|
}
|
141
|
136
|
}
|
142
|
137
|
}
|
|
@@ -173,10 +168,10 @@ public class Query extends MessageTarget implements PrivateActionListener,
|
173
|
168
|
if (maxLineLength >= action.length() + 2) {
|
174
|
169
|
server.getParser().sendAction(getNickname(), action);
|
175
|
170
|
|
176
|
|
- doNotification("querySelfAction", client, action);
|
177
|
|
- final QuerySelfActionEvent event = new QuerySelfActionEvent(this, client, action);
|
178
|
|
- event.setDisplayFormat("querySelfAction");
|
179
|
|
- getEventBus().publish(event);
|
|
171
|
+ final String format = EventUtils.postDisplayable(getEventBus(),
|
|
172
|
+ new QuerySelfActionEvent(this, client, action),
|
|
173
|
+ "querySelfAction");
|
|
174
|
+ doNotification(format, client, action);
|
180
|
175
|
} else {
|
181
|
176
|
addLine("actionTooLong", action.length());
|
182
|
177
|
}
|
|
@@ -187,13 +182,10 @@ public class Query extends MessageTarget implements PrivateActionListener,
|
187
|
182
|
final String message, final String host) {
|
188
|
183
|
final String[] parts = server.parseHostmask(host);
|
189
|
184
|
|
190
|
|
- final StringBuffer buff = new StringBuffer("queryMessage");
|
191
|
|
-
|
192
|
|
- final QueryMessageEvent event = new QueryMessageEvent(this, parser.getClient(host), message);
|
193
|
|
- event.setDisplayFormat(buff.toString());
|
194
|
|
- getEventBus().publish(event);
|
195
|
|
-
|
196
|
|
- addLine(buff, parts[0], parts[1], parts[2], message);
|
|
185
|
+ final String format = EventUtils.postDisplayable(getEventBus(),
|
|
186
|
+ new QueryMessageEvent(this, parser.getClient(host), message),
|
|
187
|
+ "queryMessage");
|
|
188
|
+ addLine(format, parts[0], parts[1], parts[2], message);
|
197
|
189
|
}
|
198
|
190
|
|
199
|
191
|
@Override
|
|
@@ -201,13 +193,10 @@ public class Query extends MessageTarget implements PrivateActionListener,
|
201
|
193
|
final String message, final String host) {
|
202
|
194
|
final String[] parts = server.parseHostmask(host);
|
203
|
195
|
|
204
|
|
- final StringBuffer buff = new StringBuffer("queryAction");
|
205
|
|
-
|
206
|
|
- final QueryActionEvent event = new QueryActionEvent(this, parser.getClient(host), message);
|
207
|
|
- event.setDisplayFormat(buff.toString());
|
208
|
|
- getEventBus().publish(event);
|
209
|
|
-
|
210
|
|
- addLine(buff, parts[0], parts[1], parts[2], message);
|
|
196
|
+ final String format = EventUtils.postDisplayable(getEventBus(),
|
|
197
|
+ new QueryActionEvent(this, parser.getClient(host), message),
|
|
198
|
+ "queryAction");
|
|
199
|
+ addLine(format, parts[0], parts[1], parts[2], message);
|
211
|
200
|
}
|
212
|
201
|
|
213
|
202
|
/**
|
|
@@ -231,7 +220,8 @@ public class Query extends MessageTarget implements PrivateActionListener,
|
231
|
220
|
callbackManager.addCallback(QuitListener.class, this);
|
232
|
221
|
callbackManager.addCallback(NickChangeListener.class, this);
|
233
|
222
|
} catch (CallbackNotFoundException ex) {
|
234
|
|
- Logger.appError(ErrorLevel.HIGH, "Unable to get query events", ex);
|
|
223
|
+ getEventBus().publishAsync(new AppErrorEvent(ErrorLevel.HIGH, ex,
|
|
224
|
+ "Unable to get query events", ex.getMessage()));
|
235
|
225
|
}
|
236
|
226
|
}
|
237
|
227
|
|
|
@@ -252,14 +242,14 @@ public class Query extends MessageTarget implements PrivateActionListener,
|
252
|
242
|
callbackManager.addCallback(CompositionStateChangeListener.class, this, client.
|
253
|
243
|
getNickname());
|
254
|
244
|
} catch (CallbackNotFoundException ex) {
|
255
|
|
- Logger.appError(ErrorLevel.HIGH, "Unable to get query events", ex);
|
|
245
|
+ getEventBus().publishAsync(
|
|
246
|
+ new AppErrorEvent(ErrorLevel.HIGH, ex, "Unable to get query events",
|
|
247
|
+ ex.getMessage()));
|
256
|
248
|
}
|
257
|
249
|
|
258
|
|
- final StringBuffer format = new StringBuffer("queryNickChanged");
|
259
|
|
-
|
260
|
|
- final QueryNickchangeEvent event = new QueryNickchangeEvent(this, oldNick);
|
261
|
|
- event.setDisplayFormat("queryNickChanged");
|
262
|
|
- getEventBus().publish(event);
|
|
250
|
+ final String format = EventUtils.postDisplayable(getEventBus(),
|
|
251
|
+ new QueryNickchangeEvent(this, oldNick),
|
|
252
|
+ "queryNickChanged");
|
263
|
253
|
|
264
|
254
|
server.updateQuery(this, oldNick, client.getNickname());
|
265
|
255
|
|
|
@@ -277,13 +267,9 @@ public class Query extends MessageTarget implements PrivateActionListener,
|
277
|
267
|
public void onQuit(final Parser parser, final Date date,
|
278
|
268
|
final ClientInfo client, final String reason) {
|
279
|
269
|
if (client.getNickname().equals(getNickname())) {
|
280
|
|
- final StringBuffer format = new StringBuffer(reason.isEmpty()
|
281
|
|
- ? "queryQuit" : "queryQuitReason");
|
282
|
|
-
|
283
|
|
- final QueryQuitEvent event = new QueryQuitEvent(this, reason);
|
284
|
|
- event.setDisplayFormat(format.toString());
|
285
|
|
- getEventBus().publish(event);
|
286
|
|
-
|
|
270
|
+ final String format = EventUtils.postDisplayable(getEventBus(),
|
|
271
|
+ new QueryQuitEvent(this, reason),
|
|
272
|
+ reason.isEmpty() ? "queryQuit" : "queryQuitReason");
|
287
|
273
|
addLine(format, client.getNickname(),
|
288
|
274
|
client.getUsername(), client.getHostname(), reason);
|
289
|
275
|
}
|