Просмотр исходного кода

Fixups for away colours plugin.

pull/221/head
Greg Holmes 9 лет назад
Родитель
Сommit
10844842fc

+ 1
- 3
awaycolours/plugin.config Просмотреть файл

23
   friendly=0.1
23
   friendly=0.1
24
 
24
 
25
 defaults:
25
 defaults:
26
-  colour=15
27
-  text=true
28
-  nicklist=true
26
+  colour=15

+ 4
- 30
awaycolours/src/com/dmdirc/addons/awaycolours/AwayColoursManager.java Просмотреть файл

22
 
22
 
23
 package com.dmdirc.addons.awaycolours;
23
 package com.dmdirc.addons.awaycolours;
24
 
24
 
25
-import com.dmdirc.ChannelClientProperty;
26
 import com.dmdirc.ClientModule.GlobalConfig;
25
 import com.dmdirc.ClientModule.GlobalConfig;
27
 import com.dmdirc.DMDircMBassador;
26
 import com.dmdirc.DMDircMBassador;
28
 import com.dmdirc.config.ConfigBinder;
27
 import com.dmdirc.config.ConfigBinder;
29
 import com.dmdirc.config.ConfigBinding;
28
 import com.dmdirc.config.ConfigBinding;
30
 import com.dmdirc.events.ChannelUserAwayEvent;
29
 import com.dmdirc.events.ChannelUserAwayEvent;
31
 import com.dmdirc.events.ChannelUserBackEvent;
30
 import com.dmdirc.events.ChannelUserBackEvent;
31
+import com.dmdirc.events.DisplayProperty;
32
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
32
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
33
 import com.dmdirc.plugins.PluginDomain;
33
 import com.dmdirc.plugins.PluginDomain;
34
 import com.dmdirc.ui.messages.ColourManager;
34
 import com.dmdirc.ui.messages.ColourManager;
47
     private final ConfigBinder binder;
47
     private final ConfigBinder binder;
48
     private final ColourManager colourManager;
48
     private final ColourManager colourManager;
49
     private Colour colour = Colour.BLACK;
49
     private Colour colour = Colour.BLACK;
50
-    private boolean nicklist = true;
51
-    private boolean text = true;
52
 
50
 
53
     @Inject
51
     @Inject
54
     public AwayColoursManager(final DMDircMBassador eventBus,
52
     public AwayColoursManager(final DMDircMBassador eventBus,
75
         this.colour = colourManager.getColourFromString(colour, Colour.GRAY);
73
         this.colour = colourManager.getColourFromString(colour, Colour.GRAY);
76
     }
74
     }
77
 
75
 
78
-    @ConfigBinding(key = "nicklist")
79
-    public void handleNicklistChange(final boolean nicklist) {
80
-        this.nicklist = nicklist;
81
-    }
82
-
83
-    @ConfigBinding(key = "text")
84
-    public void handleTextChange(final boolean text) {
85
-        this.text = text;
86
-    }
87
-
88
     @Handler
76
     @Handler
89
     public void handleAwayEvent(final ChannelUserAwayEvent event) {
77
     public void handleAwayEvent(final ChannelUserAwayEvent event) {
90
-        if (nicklist) {
91
-            event.getUser().getMap().put(ChannelClientProperty.NICKLIST_FOREGROUND, colour);
92
-        }
93
-        if (text) {
94
-            event.getUser().getMap().put(ChannelClientProperty.TEXT_FOREGROUND, colour);
95
-        }
96
-        if (nicklist || text) {
78
+            event.getUser().setDisplayProperty(DisplayProperty.FOREGROUND_COLOUR, colour);
97
             event.getChannel().refreshClients();
79
             event.getChannel().refreshClients();
98
-        }
99
     }
80
     }
100
 
81
 
101
     @Handler
82
     @Handler
102
     public void handleBackEvent(final ChannelUserBackEvent event) {
83
     public void handleBackEvent(final ChannelUserBackEvent event) {
103
-        if (nicklist) {
104
-            event.getUser().getMap().remove(ChannelClientProperty.NICKLIST_FOREGROUND);
105
-        }
106
-        if (text) {
107
-            event.getUser().getMap().remove(ChannelClientProperty.TEXT_FOREGROUND);
108
-        }
109
-        if (nicklist || text) {
110
-            event.getChannel().refreshClients();
111
-        }
84
+        event.getUser().removeDisplayProperty(DisplayProperty.FOREGROUND_COLOUR);
85
+        event.getChannel().refreshClients();
112
     }
86
     }
113
 }
87
 }

+ 7
- 56
awaycolours/test/com/dmdirc/addons/awaycolours/AwayColoursManagerTest.java Просмотреть файл

23
 package com.dmdirc.addons.awaycolours;
23
 package com.dmdirc.addons.awaycolours;
24
 
24
 
25
 import com.dmdirc.Channel;
25
 import com.dmdirc.Channel;
26
-import com.dmdirc.ChannelClientProperty;
27
 import com.dmdirc.DMDircMBassador;
26
 import com.dmdirc.DMDircMBassador;
28
 import com.dmdirc.config.ConfigBinder;
27
 import com.dmdirc.config.ConfigBinder;
29
 import com.dmdirc.events.ChannelUserAwayEvent;
28
 import com.dmdirc.events.ChannelUserAwayEvent;
30
 import com.dmdirc.events.ChannelUserBackEvent;
29
 import com.dmdirc.events.ChannelUserBackEvent;
30
+import com.dmdirc.events.DisplayProperty;
31
+import com.dmdirc.interfaces.GroupChatUser;
31
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
32
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
32
-import com.dmdirc.parser.interfaces.ChannelClientInfo;
33
 import com.dmdirc.ui.messages.ColourManager;
33
 import com.dmdirc.ui.messages.ColourManager;
34
 import com.dmdirc.util.colours.Colour;
34
 import com.dmdirc.util.colours.Colour;
35
 
35
 
36
-import java.util.Map;
37
-
38
 import org.junit.Before;
36
 import org.junit.Before;
39
 import org.junit.Test;
37
 import org.junit.Test;
40
 import org.junit.runner.RunWith;
38
 import org.junit.runner.RunWith;
42
 import org.mockito.runners.MockitoJUnitRunner;
40
 import org.mockito.runners.MockitoJUnitRunner;
43
 
41
 
44
 import static org.mockito.Matchers.anyString;
42
 import static org.mockito.Matchers.anyString;
45
-import static org.mockito.Mockito.never;
46
 import static org.mockito.Mockito.verify;
43
 import static org.mockito.Mockito.verify;
47
 import static org.mockito.Mockito.when;
44
 import static org.mockito.Mockito.when;
48
 
45
 
54
     @Mock private ConfigBinder binder;
51
     @Mock private ConfigBinder binder;
55
     @Mock private ChannelUserAwayEvent awayEvent;
52
     @Mock private ChannelUserAwayEvent awayEvent;
56
     @Mock private ChannelUserBackEvent backEvent;
53
     @Mock private ChannelUserBackEvent backEvent;
57
-    @Mock private ChannelClientInfo user;
54
+    @Mock private GroupChatUser user;
58
     @Mock private Channel channel;
55
     @Mock private Channel channel;
59
-    @Mock private Map<Object, Object> map;
60
     @Mock private ColourManager colourManager;
56
     @Mock private ColourManager colourManager;
61
     private AwayColoursManager instance;
57
     private AwayColoursManager instance;
62
     private String red;
58
     private String red;
74
         when(awayEvent.getChannel()).thenReturn(channel);
70
         when(awayEvent.getChannel()).thenReturn(channel);
75
         when(backEvent.getUser()).thenReturn(user);
71
         when(backEvent.getUser()).thenReturn(user);
76
         when(backEvent.getChannel()).thenReturn(channel);
72
         when(backEvent.getChannel()).thenReturn(channel);
77
-        when(user.getMap()).thenReturn(map);
78
         when(config.getBinder()).thenReturn(binder);
73
         when(config.getBinder()).thenReturn(binder);
79
         when(binder.withDefaultDomain(anyString())).thenReturn(binder);
74
         when(binder.withDefaultDomain(anyString())).thenReturn(binder);
80
         when(colourManager.getColourFromString(red, Colour.GRAY)).thenReturn(redColour);
75
         when(colourManager.getColourFromString(red, Colour.GRAY)).thenReturn(redColour);
97
     @Test
92
     @Test
98
     public void testHandleColourChange() throws Exception {
93
     public void testHandleColourChange() throws Exception {
99
         instance.handleColourChange(red);
94
         instance.handleColourChange(red);
100
-        instance.handleNicklistChange(true);
101
-        instance.handleTextChange(true);
102
-        instance.handleAwayEvent(awayEvent);
103
-        verify(map).put(ChannelClientProperty.NICKLIST_FOREGROUND, redColour);
104
-        verify(map).put(ChannelClientProperty.TEXT_FOREGROUND, redColour);
105
-        instance.handleColourChange(black);
106
-        instance.handleNicklistChange(true);
107
-        instance.handleTextChange(true);
108
-        instance.handleAwayEvent(awayEvent);
109
-        verify(map).put(ChannelClientProperty.NICKLIST_FOREGROUND, blackColour);
110
-        verify(map).put(ChannelClientProperty.TEXT_FOREGROUND, blackColour);
111
-    }
112
-
113
-    @Test
114
-    public void testHandleNicklistChange() throws Exception {
115
-        instance.handleColourChange(red);
116
-        instance.handleNicklistChange(true);
117
-        instance.handleTextChange(true);
118
-        instance.handleAwayEvent(awayEvent);
119
-        verify(map).put(ChannelClientProperty.NICKLIST_FOREGROUND, redColour);
120
-        verify(map).put(ChannelClientProperty.TEXT_FOREGROUND, redColour);
121
-        instance.handleColourChange(black);
122
-        instance.handleNicklistChange(false);
123
-        instance.handleTextChange(true);
124
-        instance.handleAwayEvent(awayEvent);
125
-        verify(map, never()).put(ChannelClientProperty.NICKLIST_FOREGROUND, blackColour);
126
-        verify(map).put(ChannelClientProperty.TEXT_FOREGROUND, blackColour);
127
-    }
128
-
129
-    @Test
130
-    public void testHandleTextChange() throws Exception {
131
-        instance.handleColourChange(red);
132
-        instance.handleNicklistChange(true);
133
-        instance.handleTextChange(true);
134
         instance.handleAwayEvent(awayEvent);
95
         instance.handleAwayEvent(awayEvent);
135
-        verify(map).put(ChannelClientProperty.NICKLIST_FOREGROUND, redColour);
136
-        verify(map).put(ChannelClientProperty.TEXT_FOREGROUND, redColour);
96
+        verify(user).setDisplayProperty(DisplayProperty.FOREGROUND_COLOUR, redColour);
137
         instance.handleColourChange(black);
97
         instance.handleColourChange(black);
138
-        instance.handleNicklistChange(true);
139
-        instance.handleTextChange(false);
140
         instance.handleAwayEvent(awayEvent);
98
         instance.handleAwayEvent(awayEvent);
141
-        verify(map).put(ChannelClientProperty.NICKLIST_FOREGROUND, blackColour);
142
-        verify(map, never()).put(ChannelClientProperty.TEXT_FOREGROUND, blackColour);
99
+        verify(user).setDisplayProperty(DisplayProperty.FOREGROUND_COLOUR, blackColour);
143
     }
100
     }
144
 
101
 
145
     @Test
102
     @Test
146
     public void testHandleAwayEvent() throws Exception {
103
     public void testHandleAwayEvent() throws Exception {
147
-        instance.handleNicklistChange(true);
148
-        instance.handleTextChange(true);
149
         instance.handleBackEvent(backEvent);
104
         instance.handleBackEvent(backEvent);
150
-        verify(map).remove(ChannelClientProperty.NICKLIST_FOREGROUND);
151
-        verify(map).remove(ChannelClientProperty.TEXT_FOREGROUND);
105
+        verify(user).removeDisplayProperty(DisplayProperty.FOREGROUND_COLOUR);
152
     }
106
     }
153
 
107
 
154
     @Test
108
     @Test
155
     public void testHandleBackEvent() throws Exception {
109
     public void testHandleBackEvent() throws Exception {
156
         instance.handleColourChange(red);
110
         instance.handleColourChange(red);
157
-        instance.handleNicklistChange(true);
158
-        instance.handleTextChange(true);
159
         instance.handleAwayEvent(awayEvent);
111
         instance.handleAwayEvent(awayEvent);
160
-        verify(map).put(ChannelClientProperty.NICKLIST_FOREGROUND, redColour);
161
-        verify(map).put(ChannelClientProperty.TEXT_FOREGROUND, redColour);
112
+        verify(user).setDisplayProperty(DisplayProperty.FOREGROUND_COLOUR, redColour);
162
     }
113
     }
163
 }
114
 }

Загрузка…
Отмена
Сохранить