Browse Source

Remove colour functions from the config provider.

Change-Id: Ifb7d3f862b8acfa9222ab896c932bdcfbbf08597
Reviewed-on: http://gerrit.dmdirc.com/3078
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
tags/0.8rc1
Chris Smith 10 years ago
parent
commit
bcb09f0f10

+ 0
- 53
src/com/dmdirc/config/BaseConfigProvider.java View File

@@ -23,9 +23,6 @@
23 23
 package com.dmdirc.config;
24 24
 
25 25
 import com.dmdirc.interfaces.config.ReadOnlyConfigProvider;
26
-import com.dmdirc.ui.Colour;
27
-import com.dmdirc.ui.messages.ColourManager;
28
-import com.dmdirc.util.validators.ColourValidator;
29 26
 import com.dmdirc.util.validators.DisabledOptionValidator;
30 27
 import com.dmdirc.util.validators.NumericalValidator;
31 28
 import com.dmdirc.util.validators.OptionalValidator;
@@ -37,8 +34,6 @@ import java.util.ArrayList;
37 34
 import java.util.Arrays;
38 35
 import java.util.List;
39 36
 
40
-import javax.inject.Provider;
41
-
42 37
 /**
43 38
  * Defines methods to get options from a config provider in various forms.
44 39
  *
@@ -65,39 +60,6 @@ public abstract class BaseConfigProvider implements ReadOnlyConfigProvider {
65 60
     private static final Validator<String> INT_VALIDATOR
66 61
             = new OptionalValidator(new NumericalValidator(-1, -1));
67 62
 
68
-    /** A validator for colour settings. */
69
-    private static final Validator<String> COLOUR_VALIDATOR
70
-            = new OptionalValidator(new ColourValidator());
71
-
72
-    /** Manager to use to convert colours. */
73
-    private final Provider<ColourManager> colourManager;
74
-
75
-    /**
76
-     * Creates a new instance of {@link com.dmdirc.interfaces.config.ConfigProvider}.
77
-     *
78
-     * @param colourManager The colour manager to use to convert colours.
79
-     */
80
-    public BaseConfigProvider(final Provider<ColourManager> colourManager) {
81
-        this.colourManager = colourManager;
82
-    }
83
-
84
-    /**
85
-     * Creates a new instance of {@link com.dmdirc.interfaces.config.ConfigProvider} using the
86
-     * singleton colour manager.
87
-     *
88
-     * @deprecated Should pass in a {@link ColourManager}.
89
-     */
90
-    @Deprecated
91
-    public BaseConfigProvider() {
92
-        this(new Provider<ColourManager>() {
93
-            /** {@inheritDoc} */
94
-            @Override
95
-            public ColourManager get() {
96
-                return new ColourManager(IdentityManager.getIdentityManager().getGlobalConfiguration());
97
-            }
98
-        });
99
-    }
100
-
101 63
     /** {@inheritDoc} */
102 64
     @Override
103 65
     public String getOption(final String domain, final String option) {
@@ -138,12 +100,6 @@ public abstract class BaseConfigProvider implements ReadOnlyConfigProvider {
138 100
         return hasOptionString(domain, option);
139 101
     }
140 102
 
141
-    /** {@inheritDoc} */
142
-    @Override
143
-    public boolean hasOptionColour(final String domain, final String option) {
144
-        return hasOptionString(domain, option, COLOUR_VALIDATOR);
145
-    }
146
-
147 103
     /** {@inheritDoc} */
148 104
     @Override
149 105
     public boolean hasOptionBool(final String domain, final String option) {
@@ -187,15 +143,6 @@ public abstract class BaseConfigProvider implements ReadOnlyConfigProvider {
187 143
         return getOption(domain, option).charAt(0);
188 144
     }
189 145
 
190
-    /** {@inheritDoc} */
191
-    @Override
192
-    public Colour getOptionColour(final String domain, final String option,
193
-            final String ... fallbacks) {
194
-        final String value = getOptionString(domain, option, true, COLOUR_VALIDATOR, fallbacks);
195
-
196
-        return value == null ? null : colourManager.get().getColourFromString(value, null);
197
-    }
198
-
199 146
     /** {@inheritDoc} */
200 147
     @Override
201 148
     public boolean getOptionBool(final String domain, final String option) {

+ 0
- 5
src/com/dmdirc/config/ConfigBinder.java View File

@@ -26,7 +26,6 @@ import com.dmdirc.interfaces.config.AggregateConfigProvider;
26 26
 import com.dmdirc.interfaces.config.ConfigChangeListener;
27 27
 import com.dmdirc.logger.ErrorLevel;
28 28
 import com.dmdirc.logger.Logger;
29
-import com.dmdirc.ui.Colour;
30 29
 import com.dmdirc.util.collections.MapList;
31 30
 
32 31
 import java.lang.reflect.AccessibleObject;
@@ -163,10 +162,6 @@ public class ConfigBinder {
163 162
             return manager.getOptionString(binding.domain(), binding.key(), binding.fallbacks());
164 163
         }
165 164
 
166
-        if (targetClass.equals(Colour.class)) {
167
-            return manager.getOptionColour(binding.domain(), binding.key(), binding.fallbacks());
168
-        }
169
-
170 165
         if (targetClass.equals(Boolean.class) || targetClass.equals(Boolean.TYPE)) {
171 166
             return manager.getOptionBool(binding.domain(), binding.key());
172 167
         }

+ 0
- 24
src/com/dmdirc/interfaces/config/ReadOnlyConfigProvider.java View File

@@ -22,7 +22,6 @@
22 22
 
23 23
 package com.dmdirc.interfaces.config;
24 24
 
25
-import com.dmdirc.ui.Colour;
26 25
 import com.dmdirc.util.validators.Validator;
27 26
 
28 27
 import java.util.List;
@@ -84,18 +83,6 @@ public interface ReadOnlyConfigProvider {
84 83
      */
85 84
     char getOptionChar(String domain, String option);
86 85
 
87
-    /**
88
-     * Retrieves a colour representation of the specified option.
89
-     *
90
-     * @param domain The domain of the option
91
-     * @param option The name of the option
92
-     * @param fallbacks An ordered array of further domains and options
93
-     * (in pairs) to try if the specified domain/option isn't found
94
-     * @return The colour representation of the option
95
-     * @since 0.6.3m1
96
-     */
97
-    Colour getOptionColour(String domain, String option, String... fallbacks);
98
-
99 86
     /**
100 87
      * Retrieves an integral representation of the specified option.
101 88
      *
@@ -196,17 +183,6 @@ public interface ReadOnlyConfigProvider {
196 183
      */
197 184
     boolean hasOptionChar(String domain, String option);
198 185
 
199
-    /**
200
-     * Determines if this source has the specified colour option.
201
-     *
202
-     * @param domain The domain of the option
203
-     * @param option The name of the option
204
-     * @since 0.6.3m1
205
-     * @return True iff the option exists and is parsable as a colour,
206
-     * false otherwise.
207
-     */
208
-    boolean hasOptionColour(String domain, String option);
209
-
210 186
     /**
211 187
      * Determines if this source has the specified integer option.
212 188
      *

+ 5
- 2
src/com/dmdirc/ui/messages/ColourManager.java View File

@@ -27,6 +27,7 @@ import com.dmdirc.interfaces.config.ConfigChangeListener;
27 27
 import com.dmdirc.logger.ErrorLevel;
28 28
 import com.dmdirc.logger.Logger;
29 29
 import com.dmdirc.ui.Colour;
30
+import com.dmdirc.util.validators.ColourValidator;
30 31
 
31 32
 import java.util.HashMap;
32 33
 import java.util.Map;
@@ -78,9 +79,11 @@ public class ColourManager {
78 79
      * Initialises the IRC_COLOURS array.
79 80
      */
80 81
     private void initColours() {
82
+        final ColourValidator validator = new ColourValidator();
81 83
         for (int i = 0; i < 16; i++) {
82
-            if (configManager.hasOptionColour("colour", String.valueOf(i))) {
83
-                ircColours[i] = configManager.getOptionColour("colour", String.valueOf(i));
84
+            if (configManager.hasOptionString("colour", String.valueOf(i), validator)) {
85
+                ircColours[i] = getColourFromHex(
86
+                        configManager.getOptionString("colour", String.valueOf(i)));
84 87
                 colourCache.remove(String.valueOf(i));
85 88
             } else if (!ircColours[i].equals(DEFAULT_COLOURS[i])) {
86 89
                 ircColours[i] = DEFAULT_COLOURS[i];

+ 8
- 4
src/com/dmdirc/ui/messages/Styliser.java View File

@@ -173,8 +173,10 @@ public class Styliser implements ConfigChangeListener {
173 173
         configManager.addChangeListener("ui", "stylechannels", this);
174 174
         styleURIs = configManager.getOptionBool("ui", "stylelinks");
175 175
         styleChannels = configManager.getOptionBool("ui", "stylechannels");
176
-        uriColour = configManager.getOptionColour("ui", "linkcolour");
177
-        channelColour = configManager.getOptionColour("ui", "channelcolour");
176
+        uriColour = colourManager.getColourFromString(
177
+                configManager.getOptionString("ui", "linkcolour"), null);
178
+        channelColour = colourManager.getColourFromString(
179
+                configManager.getOptionString("ui", "channelcolour"), null);
178 180
     }
179 181
 
180 182
     /**
@@ -882,10 +884,12 @@ public class Styliser implements ConfigChangeListener {
882 884
                 styleChannels = configManager.getOptionBool("ui", "stylechannels");
883 885
                 break;
884 886
             case "linkcolour":
885
-                uriColour = configManager.getOptionColour("ui", "linkcolour");
887
+                uriColour = colourManager.getColourFromString(
888
+                        configManager.getOptionString("ui", "linkcolour"), null);
886 889
                 break;
887 890
             case "channelcolour":
888
-                channelColour = configManager.getOptionColour("ui", "channelcolour");
891
+                channelColour = colourManager.getColourFromString(
892
+                        configManager.getOptionString("ui", "channelcolour"), null);
889 893
                 break;
890 894
         }
891 895
     }

+ 6
- 5
test/com/dmdirc/ui/messages/ColourManagerTest.java View File

@@ -27,6 +27,7 @@ import com.dmdirc.interfaces.config.ConfigChangeListener;
27 27
 import com.dmdirc.logger.ErrorManager;
28 28
 import com.dmdirc.logger.Logger;
29 29
 import com.dmdirc.ui.Colour;
30
+import com.dmdirc.util.validators.ColourValidator;
30 31
 
31 32
 import org.junit.Before;
32 33
 import org.junit.Test;
@@ -138,19 +139,19 @@ public class ColourManagerTest {
138 139
 
139 140
     @Test
140 141
     public void testCustomColours() {
141
-        when(configManager.hasOptionColour("colour", "4")).thenReturn(true);
142
-        when(configManager.getOptionColour("colour", "4")).thenReturn(Colour.GREEN);
142
+        when(configManager.hasOptionString(eq("colour"), eq("4"), any(ColourValidator.class))).thenReturn(true);
143
+        when(configManager.getOptionString("colour", "4")).thenReturn("00FF00");
143 144
         configListener.getValue().configChanged("colour", "4");
144 145
         assertEquals("00ff00", ColourManager.getHex(manager.getColourFromIrcCode(4)).toLowerCase());
145 146
     }
146 147
 
147 148
     @Test
148 149
     public void testCustomColours2() {
149
-        when(configManager.hasOptionColour("colour", "4")).thenReturn(true);
150
-        when(configManager.getOptionColour("colour", "4")).thenReturn(Colour.GREEN);
150
+        when(configManager.hasOptionString(eq("colour"), eq("4"), any(ColourValidator.class))).thenReturn(true);
151
+        when(configManager.getOptionString("colour", "4")).thenReturn("00FF00");
151 152
         configListener.getValue().configChanged("colour", "4");
152 153
 
153
-        when(configManager.hasOptionColour("colour", "4")).thenReturn(false);
154
+        when(configManager.hasOptionString(eq("colour"), eq("4"), any(ColourValidator.class))).thenReturn(false);
154 155
         configListener.getValue().configChanged("colour", "4");
155 156
         assertEquals("ff0000", ColourManager.getHex(manager.getColourFromIrcCode(4)).toLowerCase());
156 157
     }

Loading…
Cancel
Save