|
@@ -24,6 +24,7 @@ package com.dmdirc;
|
24
|
24
|
|
25
|
25
|
import com.dmdirc.events.ChannelActionEvent;
|
26
|
26
|
import com.dmdirc.events.ChannelCtcpEvent;
|
|
27
|
+import com.dmdirc.events.ChannelDisplayableEvent;
|
27
|
28
|
import com.dmdirc.events.ChannelGotnamesEvent;
|
28
|
29
|
import com.dmdirc.events.ChannelGottopicEvent;
|
29
|
30
|
import com.dmdirc.events.ChannelJoinEvent;
|
|
@@ -39,6 +40,7 @@ import com.dmdirc.events.ChannelNotopicEvent;
|
39
|
40
|
import com.dmdirc.events.ChannelPartEvent;
|
40
|
41
|
import com.dmdirc.events.ChannelQuitEvent;
|
41
|
42
|
import com.dmdirc.events.ChannelTopicChangeEvent;
|
|
43
|
+import com.dmdirc.events.ChannelTopicUnsetEvent;
|
42
|
44
|
import com.dmdirc.events.ChannelUserAwayEvent;
|
43
|
45
|
import com.dmdirc.events.ChannelUserBackEvent;
|
44
|
46
|
import com.dmdirc.events.ChannelUserEvent;
|
|
@@ -170,12 +172,20 @@ public class ChannelEventHandler extends EventHandler implements
|
170
|
172
|
owner.doNotification(date, format, newTopic);
|
171
|
173
|
}
|
172
|
174
|
} else {
|
173
|
|
- final ChannelTopicChangeEvent event = new ChannelTopicChangeEvent(owner,
|
174
|
|
- channel.getChannelClient(channel.getTopicSetter(), true),
|
175
|
|
- channel.getTopic());
|
176
|
|
- final String format = EventUtils.postDisplayable(eventBus, event,
|
177
|
|
- Strings.isNullOrEmpty(channel.getTopic())
|
178
|
|
- ? "channelTopicRemoved" : "channelTopicChanged");
|
|
175
|
+ final ChannelDisplayableEvent event;
|
|
176
|
+ final String format;
|
|
177
|
+ if (Strings.isNullOrEmpty(channel.getTopic())) {
|
|
178
|
+ event = new ChannelTopicChangeEvent(owner,
|
|
179
|
+ channel.getChannelClient(channel.getTopicSetter(), true),
|
|
180
|
+ channel.getTopic());
|
|
181
|
+ format = EventUtils.postDisplayable(eventBus, event,
|
|
182
|
+ "channelTopicRemoved");
|
|
183
|
+ } else {
|
|
184
|
+ event = new ChannelTopicUnsetEvent(owner,
|
|
185
|
+ channel.getChannelClient(channel.getTopicSetter(), true));
|
|
186
|
+ format = EventUtils.postDisplayable(eventBus, event,
|
|
187
|
+ "channelTopicChanged");
|
|
188
|
+ }
|
179
|
189
|
eventBus.publish(event);
|
180
|
190
|
owner.doNotification(date, format, channel.getChannelClient(channel.getTopicSetter(),
|
181
|
191
|
true), channel.getTopic());
|