|
@@ -45,7 +45,6 @@ import com.dmdirc.events.ChannelTopicChangeEvent;
|
45
|
45
|
import com.dmdirc.events.ChannelTopicUnsetEvent;
|
46
|
46
|
import com.dmdirc.events.ChannelUserAwayEvent;
|
47
|
47
|
import com.dmdirc.events.ChannelUserBackEvent;
|
48
|
|
-import com.dmdirc.events.ChannelUserModeChangeEvent;
|
49
|
48
|
import com.dmdirc.interfaces.Connection;
|
50
|
49
|
import com.dmdirc.parser.common.AwayState;
|
51
|
50
|
import com.dmdirc.parser.common.CallbackManager;
|
|
@@ -64,12 +63,10 @@ import com.dmdirc.parser.interfaces.callbacks.ChannelModeChangeListener;
|
64
|
63
|
import com.dmdirc.parser.interfaces.callbacks.ChannelModeNoticeListener;
|
65
|
64
|
import com.dmdirc.parser.interfaces.callbacks.ChannelNamesListener;
|
66
|
65
|
import com.dmdirc.parser.interfaces.callbacks.ChannelNickChangeListener;
|
67
|
|
-import com.dmdirc.parser.interfaces.callbacks.ChannelNonUserModeChangeListener;
|
68
|
66
|
import com.dmdirc.parser.interfaces.callbacks.ChannelNoticeListener;
|
69
|
67
|
import com.dmdirc.parser.interfaces.callbacks.ChannelPartListener;
|
70
|
68
|
import com.dmdirc.parser.interfaces.callbacks.ChannelQuitListener;
|
71
|
69
|
import com.dmdirc.parser.interfaces.callbacks.ChannelTopicListener;
|
72
|
|
-import com.dmdirc.parser.interfaces.callbacks.ChannelUserModeChangeListener;
|
73
|
70
|
import com.dmdirc.parser.interfaces.callbacks.OtherAwayStateListener;
|
74
|
71
|
import com.dmdirc.util.EventUtils;
|
75
|
72
|
|
|
@@ -88,10 +85,8 @@ public class ChannelEventHandler extends EventHandler implements
|
88
|
85
|
ChannelMessageListener, ChannelNamesListener, ChannelTopicListener,
|
89
|
86
|
ChannelJoinListener, ChannelPartListener, ChannelKickListener,
|
90
|
87
|
ChannelQuitListener, ChannelActionListener, ChannelNickChangeListener,
|
91
|
|
- ChannelModeChangeListener, ChannelUserModeChangeListener,
|
92
|
|
- ChannelCtcpListener, OtherAwayStateListener, ChannelNoticeListener,
|
93
|
|
- ChannelNonUserModeChangeListener, ChannelModeNoticeListener,
|
94
|
|
- ChannelListModeListener {
|
|
88
|
+ ChannelModeChangeListener, ChannelCtcpListener, OtherAwayStateListener,
|
|
89
|
+ ChannelNoticeListener, ChannelModeNoticeListener, ChannelListModeListener {
|
95
|
90
|
|
96
|
91
|
/** The channel that owns this event handler. */
|
97
|
92
|
private final Channel owner;
|
|
@@ -279,48 +274,23 @@ public class ChannelEventHandler extends EventHandler implements
|
279
|
274
|
final String modes) {
|
280
|
275
|
checkParser(parser);
|
281
|
276
|
|
282
|
|
- if (!owner.getConfigManager().getOptionBool("channel", "splitusermodes")
|
283
|
|
- || !owner.getConfigManager().getOptionBool("channel", "hideduplicatemodes")) {
|
284
|
|
- if (host.isEmpty()) {
|
285
|
|
- final ChannelModesDiscoveredEvent event = new ChannelModesDiscoveredEvent(
|
286
|
|
- date.getTime(), owner, modes.length() <= 1 ? "" : modes);
|
287
|
|
- final String format = EventUtils.postDisplayable(eventBus, event,
|
288
|
|
- modes.length() <= 1 ? "channelNoModes" : "channelModeDiscovered");
|
289
|
|
- owner.doNotification(date, format, modes.length() <= 1 ? "" : modes);
|
290
|
|
- } else if (isMyself(client)) {
|
291
|
|
- eventBus.publishAsync(new ChannelSelfModeChangeEvent(date.getTime(), owner,
|
292
|
|
- groupChatUserManager.getUserFromClient(client, owner), modes));
|
293
|
|
- } else {
|
294
|
|
- eventBus.publishAsync(new ChannelModeChangeEvent(date.getTime(), owner,
|
295
|
|
- groupChatUserManager.getUserFromClient(client, owner), modes));
|
296
|
|
- }
|
|
277
|
+ if (host.isEmpty()) {
|
|
278
|
+ final ChannelModesDiscoveredEvent event = new ChannelModesDiscoveredEvent(
|
|
279
|
+ date.getTime(), owner, modes.length() <= 1 ? "" : modes);
|
|
280
|
+ final String format = EventUtils.postDisplayable(eventBus, event,
|
|
281
|
+ modes.length() <= 1 ? "channelNoModes" : "channelModeDiscovered");
|
|
282
|
+ owner.doNotification(date, format, modes.length() <= 1 ? "" : modes);
|
|
283
|
+ } else if (isMyself(client)) {
|
|
284
|
+ eventBus.publishAsync(new ChannelSelfModeChangeEvent(date.getTime(), owner,
|
|
285
|
+ groupChatUserManager.getUserFromClient(client, owner), modes));
|
|
286
|
+ } else {
|
|
287
|
+ eventBus.publishAsync(new ChannelModeChangeEvent(date.getTime(), owner,
|
|
288
|
+ groupChatUserManager.getUserFromClient(client, owner), modes));
|
297
|
289
|
}
|
298
|
290
|
|
299
|
291
|
owner.refreshClients();
|
300
|
292
|
}
|
301
|
293
|
|
302
|
|
- @Override
|
303
|
|
- public void onChannelUserModeChanged(final Parser parser, final Date date,
|
304
|
|
- final ChannelInfo channel, final ChannelClientInfo targetClient,
|
305
|
|
- final ChannelClientInfo client, final String host, final String mode) {
|
306
|
|
- checkParser(parser);
|
307
|
|
-
|
308
|
|
- if (owner.getConfigManager().getOptionBool("channel", "splitusermodes")) {
|
309
|
|
- String format = "channelSplitUserMode_" + mode;
|
310
|
|
-
|
311
|
|
- if (!owner.getConfigManager().hasOptionString("formatter", format)) {
|
312
|
|
- format = "channelSplitUserMode_default";
|
313
|
|
- }
|
314
|
|
-
|
315
|
|
- final ChannelUserModeChangeEvent event = new ChannelUserModeChangeEvent(date.getTime(),
|
316
|
|
- owner, groupChatUserManager.getUserFromClient(client, owner),
|
317
|
|
- groupChatUserManager.getUserFromClient(targetClient, owner), mode);
|
318
|
|
- final String result = EventUtils.postDisplayable(eventBus, event, format);
|
319
|
|
- owner.doNotification(date, result, groupChatUserManager.getUserFromClient(client, owner),
|
320
|
|
- groupChatUserManager.getUserFromClient(targetClient, owner), mode);
|
321
|
|
- }
|
322
|
|
- }
|
323
|
|
-
|
324
|
294
|
@Override
|
325
|
295
|
public void onChannelCTCP(final Parser parser, final Date date,
|
326
|
296
|
final ChannelInfo channel, final ChannelClientInfo client,
|
|
@@ -359,32 +329,6 @@ public class ChannelEventHandler extends EventHandler implements
|
359
|
329
|
groupChatUserManager.getUserFromClient(client, owner), message));
|
360
|
330
|
}
|
361
|
331
|
|
362
|
|
- @Override
|
363
|
|
- public void onChannelNonUserModeChanged(final Parser parser, final Date date,
|
364
|
|
- final ChannelInfo channel, final ChannelClientInfo client,
|
365
|
|
- final String host, final String modes) {
|
366
|
|
- checkParser(parser);
|
367
|
|
-
|
368
|
|
- if (owner.getConfigManager().getOptionBool("channel", "splitusermodes")
|
369
|
|
- && owner.getConfigManager().getOptionBool("channel", "hideduplicatemodes")) {
|
370
|
|
- if (host.isEmpty()) {
|
371
|
|
- final ChannelModesDiscoveredEvent event = new ChannelModesDiscoveredEvent(
|
372
|
|
- date.getTime(), owner, modes.length() <= 1 ? "" : modes);
|
373
|
|
- final String format = EventUtils.postDisplayable(eventBus, event,
|
374
|
|
- modes.length() <= 1 ? "channelNoModes" : "channelModeDiscovered");
|
375
|
|
- owner.doNotification(date, format, modes.length() <= 1 ? "" : modes);
|
376
|
|
- } else if (isMyself(client)) {
|
377
|
|
- eventBus.publishAsync(new ChannelSelfModeChangeEvent(date.getTime(), owner,
|
378
|
|
- groupChatUserManager.getUserFromClient(client, owner), modes));
|
379
|
|
- } else {
|
380
|
|
- eventBus.publishAsync(new ChannelModeChangeEvent(date.getTime(), owner,
|
381
|
|
- groupChatUserManager.getUserFromClient(client, owner), modes));
|
382
|
|
- }
|
383
|
|
- }
|
384
|
|
-
|
385
|
|
- owner.refreshClients();
|
386
|
|
- }
|
387
|
|
-
|
388
|
332
|
@Override
|
389
|
333
|
public void onChannelModeNotice(final Parser parser, final Date date,
|
390
|
334
|
final ChannelInfo channel, final char prefix,
|