|
@@ -25,6 +25,7 @@ package com.dmdirc.addons.jpq;
|
25
|
25
|
import com.dmdirc.config.ConfigBinder;
|
26
|
26
|
import com.dmdirc.config.ConfigBinding;
|
27
|
27
|
import com.dmdirc.events.ChannelJoinEvent;
|
|
28
|
+import com.dmdirc.events.ChannelNickChangeEvent;
|
28
|
29
|
import com.dmdirc.events.ChannelPartEvent;
|
29
|
30
|
import com.dmdirc.events.ChannelQuitEvent;
|
30
|
31
|
import com.dmdirc.events.DisplayProperty;
|
|
@@ -44,6 +45,7 @@ public class GroupChatHandler {
|
44
|
45
|
private final GroupChat groupChat;
|
45
|
46
|
private final ConfigBinder binder;
|
46
|
47
|
private boolean hideEvents;
|
|
48
|
+ private boolean hideNickChanges;
|
47
|
49
|
|
48
|
50
|
public GroupChatHandler(final String domain, final GroupChat groupChat) {
|
49
|
51
|
this.groupChat = groupChat;
|
|
@@ -73,6 +75,12 @@ public class GroupChatHandler {
|
73
|
75
|
hideEvents = value;
|
74
|
76
|
}
|
75
|
77
|
|
|
78
|
+ @VisibleForTesting
|
|
79
|
+ @ConfigBinding(key = "hidenickchanges")
|
|
80
|
+ void handleSettingChangeNickname(final boolean value) {
|
|
81
|
+ hideNickChanges = value;
|
|
82
|
+ }
|
|
83
|
+
|
76
|
84
|
@SuppressWarnings("TypeMayBeWeakened")
|
77
|
85
|
@VisibleForTesting
|
78
|
86
|
@Handler
|
|
@@ -100,6 +108,15 @@ public class GroupChatHandler {
|
100
|
108
|
}
|
101
|
109
|
}
|
102
|
110
|
|
|
111
|
+ @SuppressWarnings("TypeMayBeWeakened")
|
|
112
|
+ @VisibleForTesting
|
|
113
|
+ @Handler
|
|
114
|
+ void handleNickChange(final ChannelNickChangeEvent event) {
|
|
115
|
+ if (event.getChannel().equals(groupChat) && hideNickChanges) {
|
|
116
|
+ event.setDisplayProperty(DisplayProperty.DO_NOT_DISPLAY, true);
|
|
117
|
+ }
|
|
118
|
+ }
|
|
119
|
+
|
103
|
120
|
private void hideEvent(final DisplayableEvent event) {
|
104
|
121
|
if (hideEvents) {
|
105
|
122
|
event.setDisplayProperty(DisplayProperty.DO_NOT_DISPLAY, true);
|