ソースを参照

Fix several nick colour plugin issues.

- Not every single user is us. That'd be silly.
- Fall back to default random colours instead of wiping them

Closes #508
pull/510/head
Chris Smith 7年前
コミット
0eea6c2ff8

+ 6
- 4
nickcolours/src/main/java/com/dmdirc/addons/nickcolours/NickColourManager.java ファイルの表示

64
 @Singleton
64
 @Singleton
65
 public class NickColourManager {
65
 public class NickColourManager {
66
 
66
 
67
+    private static final String[] DEFAULT_RANDOM_COLOURS =
68
+            {"E90E7F", "8E55E9", "B30E0E", "18B33C", "58ADB3", "9E54B3", "B39875", "3176B3"};
69
+
67
     /** Manager to parse colours with. */
70
     /** Manager to parse colours with. */
68
     private final ColourManager colourManager;
71
     private final ColourManager colourManager;
69
     private final ConfigBinder configBinder;
72
     private final ConfigBinder configBinder;
73
     private final NickColourYamlStore nickColourYamlStore;
76
     private final NickColourYamlStore nickColourYamlStore;
74
     private final Path path;
77
     private final Path path;
75
     private final PluginInfo pluginInfo;
78
     private final PluginInfo pluginInfo;
76
-    private String[] randColours = {
77
-        "E90E7F", "8E55E9", "B30E0E", "18B33C", "58ADB3", "9E54B3", "B39875", "3176B3",};
79
+    private String[] randColours = DEFAULT_RANDOM_COLOURS;
78
     private boolean useowncolour;
80
     private boolean useowncolour;
79
     private String owncolour;
81
     private String owncolour;
80
     private boolean userandomcolour;
82
     private boolean userandomcolour;
122
     private void colourClient(final String network, final GroupChatUser client) {
124
     private void colourClient(final String network, final GroupChatUser client) {
123
         final StringConverter sc = client.getUser().getConnection().getParser().get()
125
         final StringConverter sc = client.getUser().getConnection().getParser().get()
124
                 .getStringConverter();
126
                 .getStringConverter();
125
-        final User myself = client.getUser();
127
+        final User myself = client.getUser().getConnection().getLocalUser().orElse(null);
126
         final String nickOption1 = sc.toLowerCase(network + ':' + client.getNickname());
128
         final String nickOption1 = sc.toLowerCase(network + ':' + client.getNickname());
127
         final String nickOption2 = sc.toLowerCase("*:" + client.getNickname());
129
         final String nickOption2 = sc.toLowerCase("*:" + client.getNickname());
128
 
130
 
212
 
214
 
213
     @ConfigBinding(key = "randomcolours", invocation = EDTInvocation.class)
215
     @ConfigBinding(key = "randomcolours", invocation = EDTInvocation.class)
214
     public void handleRandomColours(final List<String> value) {
216
     public void handleRandomColours(final List<String> value) {
215
-        randColours = value.toArray(new String[value.size()]);
217
+        randColours = value.isEmpty() ? DEFAULT_RANDOM_COLOURS : value.toArray(new String[value.size()]);
216
     }
218
     }
217
 
219
 
218
     @Handler
220
     @Handler

読み込み中…
キャンセル
保存