Browse Source

Colour abstraction

Change-Id: I978e118b20c507cbc305d5ee5c6ecabf6d7454b8
Depends-On: I691b6dca615fd6a197712d9f11cedafdc9a8bc5d
Reviewed-on: http://gerrit.dmdirc.com/2188
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
tags/0.7rc1
Chris Smith 12 years ago
parent
commit
034882ff81

+ 2
- 1
src/com/dmdirc/addons/nickcolours/ColourRenderer.java View File

22
 
22
 
23
 package com.dmdirc.addons.nickcolours;
23
 package com.dmdirc.addons.nickcolours;
24
 
24
 
25
+import com.dmdirc.addons.ui_swing.UIUtilities;
25
 import com.dmdirc.ui.messages.ColourManager;
26
 import com.dmdirc.ui.messages.ColourManager;
26
 
27
 
27
 import java.awt.Color;
28
 import java.awt.Color;
59
             final boolean hasFocus, final int row, final int column) {
60
             final boolean hasFocus, final int row, final int column) {
60
         Color colour = null;
61
         Color colour = null;
61
         if (value != null && !((String) value).isEmpty()) {
62
         if (value != null && !((String) value).isEmpty()) {
62
-            colour = ColourManager.parseColour((String) value, null);
63
+            colour = UIUtilities.convertColour(ColourManager.parseColour((String) value, null));
63
         }
64
         }
64
 
65
 
65
         setHorizontalAlignment(CENTER);
66
         setHorizontalAlignment(CENTER);

+ 5
- 5
src/com/dmdirc/addons/nickcolours/NickColourPlugin.java View File

119
                 toLowerCase("*:" + client.getClient().getNickname());
119
                 toLowerCase("*:" + client.getClient().getNickname());
120
 
120
 
121
         if (useowncolour && client.getClient().equals(myself)) {
121
         if (useowncolour && client.getClient().equals(myself)) {
122
-            final Color color = ColourManager.parseColour(owncolour);
122
+            final Color color = UIUtilities.convertColour(ColourManager.parseColour(owncolour));
123
             putColour(map, color, color);
123
             putColour(map, color, color);
124
         } else if (userandomcolour) {
124
         } else if (userandomcolour) {
125
             putColour(map, getColour(client.getClient().getNickname()), getColour(client.
125
             putColour(map, getColour(client.getClient().getNickname()), getColour(client.
141
             Color nickColor = null;
141
             Color nickColor = null;
142
 
142
 
143
             if (parts[0] != null) {
143
             if (parts[0] != null) {
144
-                textColor = ColourManager.parseColour(parts[0], null);
144
+                textColor = UIUtilities.convertColour(ColourManager.parseColour(parts[0], null));
145
             }
145
             }
146
             if (parts[1] != null) {
146
             if (parts[1] != null) {
147
-                nickColor = ColourManager.parseColour(parts[1], null);
147
+                nickColor = UIUtilities.convertColour(ColourManager.parseColour(parts[1], null));
148
             }
148
             }
149
 
149
 
150
             putColour(map, textColor, nickColor);
150
             putColour(map, textColor, nickColor);
183
             count += nick.charAt(i);
183
             count += nick.charAt(i);
184
         }
184
         }
185
 
185
 
186
-        count = count % randColours.length;
186
+        count %= randColours.length;
187
 
187
 
188
-        return ColourManager.parseColour(randColours[count]);
188
+        return UIUtilities.convertColour(ColourManager.parseColour(randColours[count]));
189
     }
189
     }
190
 
190
 
191
     /**
191
     /**

+ 8
- 6
src/com/dmdirc/addons/osd/OsdWindow.java View File

123
 
123
 
124
         panel = new JPanel();
124
         panel = new JPanel();
125
         panel.setBorder(new LineBorder(Color.BLACK));
125
         panel.setBorder(new LineBorder(Color.BLACK));
126
-        panel.setBackground(IdentityManager.getGlobalConfig().getOptionColour(plugin.getDomain(),
127
-                "bgcolour"));
126
+        panel.setBackground(UIUtilities.convertColour(
127
+                IdentityManager.getGlobalConfig().getOptionColour(plugin.getDomain(),
128
+                "bgcolour")));
128
 
129
 
129
         final int width = IdentityManager.getGlobalConfig().getOptionInt(plugin.getDomain(),
130
         final int width = IdentityManager.getGlobalConfig().getOptionInt(plugin.getDomain(),
130
                 "width");
131
                 "width");
132
         setLayout(new MigLayout("wmin " + width + ", wmax " + width + ", ins rel, fill"));
133
         setLayout(new MigLayout("wmin " + width + ", wmax " + width + ", ins rel, fill"));
133
 
134
 
134
         label = new JLabel(text);
135
         label = new JLabel(text);
135
-        label.setForeground(IdentityManager.getGlobalConfig().getOptionColour(plugin.getDomain(),
136
-                "fgcolour"));
136
+        label.setForeground(UIUtilities.convertColour(
137
+                IdentityManager.getGlobalConfig().getOptionColour(plugin.getDomain(),
138
+                "fgcolour")));
137
         label.setFont(label.getFont().deriveFont(
139
         label.setFont(label.getFont().deriveFont(
138
                 (float) IdentityManager.getGlobalConfig().getOptionInt(plugin.getDomain(),
140
                 (float) IdentityManager.getGlobalConfig().getOptionInt(plugin.getDomain(),
139
                 "fontSize")));
141
                 "fontSize")));
254
      * @param colour The background colour to use
256
      * @param colour The background colour to use
255
      */
257
      */
256
     public void setBackgroundColour(final String colour) {
258
     public void setBackgroundColour(final String colour) {
257
-        panel.setBackground(ColourManager.parseColour(colour));
259
+        panel.setBackground(UIUtilities.convertColour(ColourManager.parseColour(colour)));
258
     }
260
     }
259
 
261
 
260
     /**
262
     /**
263
      * @param colour The foreground colour to use
265
      * @param colour The foreground colour to use
264
      */
266
      */
265
     public void setForegroundColour(final String colour) {
267
     public void setForegroundColour(final String colour) {
266
-        label.setForeground(ColourManager.parseColour(colour));
268
+        label.setForeground(UIUtilities.convertColour(ColourManager.parseColour(colour)));
267
     }
269
     }
268
 
270
 
269
     /** {@inheritDoc} */
271
     /** {@inheritDoc} */

+ 2
- 2
src/com/dmdirc/addons/ui_swing/MainFrame.java View File

44
 import com.dmdirc.interfaces.NotificationListener;
44
 import com.dmdirc.interfaces.NotificationListener;
45
 import com.dmdirc.logger.ErrorLevel;
45
 import com.dmdirc.logger.ErrorLevel;
46
 import com.dmdirc.logger.Logger;
46
 import com.dmdirc.logger.Logger;
47
+import com.dmdirc.ui.Colour;
47
 import com.dmdirc.ui.CoreUIUtils;
48
 import com.dmdirc.ui.CoreUIUtils;
48
 import com.dmdirc.ui.IconManager;
49
 import com.dmdirc.ui.IconManager;
49
 import com.dmdirc.util.ListenerList;
50
 import com.dmdirc.util.ListenerList;
50
 import com.dmdirc.util.QueuedLinkedHashSet;
51
 import com.dmdirc.util.QueuedLinkedHashSet;
51
 import com.dmdirc.util.ReturnableThread;
52
 import com.dmdirc.util.ReturnableThread;
52
 
53
 
53
-import java.awt.Color;
54
 import java.awt.Dimension;
54
 import java.awt.Dimension;
55
 import java.awt.event.WindowEvent;
55
 import java.awt.event.WindowEvent;
56
 import java.awt.event.WindowFocusListener;
56
 import java.awt.event.WindowFocusListener;
717
     /** {@inheritDoc} */
717
     /** {@inheritDoc} */
718
     @Override
718
     @Override
719
     public void notificationSet(final FrameContainer window,
719
     public void notificationSet(final FrameContainer window,
720
-            final Color colour) {
720
+            final Colour colour) {
721
         if (activeFrame.getContainer().equals(window)) {
721
         if (activeFrame.getContainer().equals(window)) {
722
             window.clearNotification();
722
             window.clearNotification();
723
         }
723
         }

+ 34
- 0
src/com/dmdirc/addons/ui_swing/UIUtilities.java View File

27
 import com.dmdirc.addons.ui_swing.components.DMDircUndoableEditListener;
27
 import com.dmdirc.addons.ui_swing.components.DMDircUndoableEditListener;
28
 import com.dmdirc.logger.ErrorLevel;
28
 import com.dmdirc.logger.ErrorLevel;
29
 import com.dmdirc.logger.Logger;
29
 import com.dmdirc.logger.Logger;
30
+import com.dmdirc.ui.Colour;
30
 import com.dmdirc.util.ReturnableThread;
31
 import com.dmdirc.util.ReturnableThread;
31
 
32
 
33
+import java.awt.Color;
32
 import java.awt.FontMetrics;
34
 import java.awt.FontMetrics;
33
 import java.awt.Graphics2D;
35
 import java.awt.Graphics2D;
34
 import java.awt.Image;
36
 import java.awt.Image;
453
     public static void addComboBoxWidthModifier(final JComboBox combo) {
455
     public static void addComboBoxWidthModifier(final JComboBox combo) {
454
         combo.addPopupMenuListener(new ComboBoxWidthModifier());
456
         combo.addPopupMenuListener(new ComboBoxWidthModifier());
455
     }
457
     }
458
+
459
+    /**
460
+     * Converts a DMDirc {@link Colour} into an AWT-specific {@link Color} by
461
+     * copying the values of the red, green and blue channels.
462
+     *
463
+     * @param colour The colour to be converted
464
+     * @return A corresponding AWT colour
465
+     */
466
+    public static Color convertColour(final Colour colour) {
467
+        return new Color(colour.getRed(), colour.getGreen(), colour.getBlue());
468
+    }
469
+
470
+    /**
471
+     * Converts the given colour into a hexadecimal string.
472
+     *
473
+     * @param colour The colour to be converted
474
+     * @return A corresponding 6 character hex string
475
+     */
476
+    public static String getHex(final Color colour) {
477
+        return getHex(colour.getRed()) + getHex(colour.getGreen())
478
+                + getHex(colour.getBlue());
479
+    }
480
+
481
+    /**
482
+     * Converts the specified integer (in the range 0-255) into a hex string.
483
+     * @param value The integer to convert
484
+     * @return A 2 char hex string representing the specified integer
485
+     */
486
+    private static String getHex(final int value) {
487
+        final String hex = Integer.toHexString(value);
488
+        return (hex.length() < 2 ? "0" : "") + hex;
489
+    }
456
 }
490
 }

+ 13
- 8
src/com/dmdirc/addons/ui_swing/components/NickList.java View File

23
 package com.dmdirc.addons.ui_swing.components;
23
 package com.dmdirc.addons.ui_swing.components;
24
 
24
 
25
 import com.dmdirc.Channel;
25
 import com.dmdirc.Channel;
26
+import com.dmdirc.addons.ui_swing.UIUtilities;
26
 import com.dmdirc.addons.ui_swing.components.frames.ChannelFrame;
27
 import com.dmdirc.addons.ui_swing.components.frames.ChannelFrame;
27
 import com.dmdirc.addons.ui_swing.components.renderers.NicklistRenderer;
28
 import com.dmdirc.addons.ui_swing.components.renderers.NicklistRenderer;
28
 import com.dmdirc.addons.ui_swing.textpane.ClickType;
29
 import com.dmdirc.addons.ui_swing.textpane.ClickType;
78
 
79
 
79
         nickList = new JList();
80
         nickList = new JList();
80
 
81
 
81
-        nickList.setBackground(config.getOptionColour(
82
+        nickList.setBackground(UIUtilities.convertColour(
83
+                config.getOptionColour(
82
                 "ui", "nicklistbackgroundcolour",
84
                 "ui", "nicklistbackgroundcolour",
83
-                "ui", "backgroundcolour"));
84
-        nickList.setForeground(config.getOptionColour(
85
+                "ui", "backgroundcolour")));
86
+        nickList.setForeground(UIUtilities.convertColour(
87
+                config.getOptionColour(
85
                 "ui", "nicklistforegroundcolour",
88
                 "ui", "nicklistforegroundcolour",
86
-                "ui", "foregroundcolour"));
89
+                "ui", "foregroundcolour")));
87
         nickList.setFont(new Font(config.getOption("ui", "textPaneFontName"),
90
         nickList.setFont(new Font(config.getOption("ui", "textPaneFontName"),
88
                 Font.PLAIN, getFont().getSize()));
91
                 Font.PLAIN, getFont().getSize()));
89
         config.addChangeListener("ui", "nicklistforegroundcolour", this);
92
         config.addChangeListener("ui", "nicklistforegroundcolour", this);
254
                 || "nicklistforegroundcolour".equals(key)
257
                 || "nicklistforegroundcolour".equals(key)
255
                 || "foregroundcolour".equals(key)
258
                 || "foregroundcolour".equals(key)
256
                 || "textPaneFontName".equals(key)) {
259
                 || "textPaneFontName".equals(key)) {
257
-            nickList.setBackground(config.getOptionColour(
260
+            nickList.setBackground(UIUtilities.convertColour(
261
+                    config.getOptionColour(
258
                     "ui", "nicklistbackgroundcolour",
262
                     "ui", "nicklistbackgroundcolour",
259
-                    "ui", "backgroundcolour"));
260
-            nickList.setForeground(config.getOptionColour(
263
+                    "ui", "backgroundcolour")));
264
+            nickList.setForeground(UIUtilities.convertColour(
265
+                    config.getOptionColour(
261
                     "ui", "nicklistforegroundcolour",
266
                     "ui", "nicklistforegroundcolour",
262
-                    "ui", "foregroundcolour"));
267
+                    "ui", "foregroundcolour")));
263
             nickList.setFont(new Font(config.getOption("ui", "textPaneFontName"),
268
             nickList.setFont(new Font(config.getOption("ui", "textPaneFontName"),
264
                 Font.PLAIN, getFont().getSize()));
269
                 Font.PLAIN, getFont().getSize()));
265
             nickList.repaint();
270
             nickList.repaint();

+ 9
- 6
src/com/dmdirc/addons/ui_swing/components/SwingSearchBar.java View File

408
 
408
 
409
     /** Sets the colours used in this document. */
409
     /** Sets the colours used in this document. */
410
     private void setColours() {
410
     private void setColours() {
411
-        searchBox.setForeground(IdentityManager.getGlobalConfig().
412
-                getOptionColour("ui", "foregroundcolour"));
413
-        searchBox.setBackground(IdentityManager.getGlobalConfig().
414
-                getOptionColour("ui", "backgroundcolour"));
415
-        searchBox.setCaretColor(IdentityManager.getGlobalConfig().
416
-                getOptionColour("ui", "foregroundcolour"));
411
+        searchBox.setForeground(UIUtilities.convertColour(
412
+                IdentityManager.getGlobalConfig().
413
+                getOptionColour("ui", "foregroundcolour")));
414
+        searchBox.setBackground(UIUtilities.convertColour(
415
+                IdentityManager.getGlobalConfig().
416
+                getOptionColour("ui", "backgroundcolour")));
417
+        searchBox.setCaretColor(UIUtilities.convertColour(
418
+                IdentityManager.getGlobalConfig().
419
+                getOptionColour("ui", "foregroundcolour")));
417
     }
420
     }
418
 }
421
 }

+ 7
- 6
src/com/dmdirc/addons/ui_swing/components/TopicBar.java View File

35
 import com.dmdirc.interfaces.ConfigChangeListener;
35
 import com.dmdirc.interfaces.ConfigChangeListener;
36
 import com.dmdirc.interfaces.TopicChangeListener;
36
 import com.dmdirc.interfaces.TopicChangeListener;
37
 import com.dmdirc.parser.common.ChannelJoinRequest;
37
 import com.dmdirc.parser.common.ChannelJoinRequest;
38
-import com.dmdirc.ui.messages.ColourManager;
39
 import com.dmdirc.ui.messages.Styliser;
38
 import com.dmdirc.ui.messages.Styliser;
40
 
39
 
41
 import java.awt.Color;
40
 import java.awt.Color;
221
                     channel.getStyliser().addStyledString(
220
                     channel.getStyliser().addStyledString(
222
                             (StyledDocument) topicText.getDocument(),
221
                             (StyledDocument) topicText.getDocument(),
223
                             new String[]{Styliser.CODE_HEXCOLOUR
222
                             new String[]{Styliser.CODE_HEXCOLOUR
224
-                                    + ColourManager.getHex(foregroundColour)
223
+                                    + UIUtilities.getHex(foregroundColour)
225
                                     + channel.getCurrentTopic().getTopic(), },
224
                                     + channel.getCurrentTopic().getTopic(), },
226
                             as);
225
                             as);
227
                 }
226
                 }
331
      * Load and set colours.
330
      * Load and set colours.
332
      */
331
      */
333
     private void setColours() {
332
     private void setColours() {
334
-        backgroundColour = channel.getConfigManager().getOptionColour(
335
-                "ui", "inputbackgroundcolour", "ui", "backgroundcolour");
336
-        foregroundColour = channel.getConfigManager().getOptionColour(
337
-                "ui", "inputforegroundcolour", "ui", "foregroundcolour");
333
+        backgroundColour = UIUtilities.convertColour(
334
+                channel.getConfigManager().getOptionColour(
335
+                "ui", "inputbackgroundcolour", "ui", "backgroundcolour"));
336
+        foregroundColour = UIUtilities.convertColour(
337
+                channel.getConfigManager().getOptionColour(
338
+                "ui", "inputforegroundcolour", "ui", "foregroundcolour"));
338
         setBackground(backgroundColour);
339
         setBackground(backgroundColour);
339
         setForeground(foregroundColour);
340
         setForeground(foregroundColour);
340
         setDisabledTextColour(foregroundColour);
341
         setDisabledTextColour(foregroundColour);

+ 4
- 3
src/com/dmdirc/addons/ui_swing/components/colours/ColourChooser.java View File

160
     /** Sets the colour back to white. */
160
     /** Sets the colour back to white. */
161
     public void clearColour() {
161
     public void clearColour() {
162
         value = "ffffff";
162
         value = "ffffff";
163
-        previewPanel.setBackground(ColourManager.getColour("ffffff"));
163
+        previewPanel.setBackground(Color.WHITE);
164
         previewPanel.setToolTipText("");
164
         previewPanel.setToolTipText("");
165
     }
165
     }
166
 
166
 
170
      */
170
      */
171
     private void updateColour(final String newColour) {
171
     private void updateColour(final String newColour) {
172
         if (newColour == null || newColour.isEmpty()) {
172
         if (newColour == null || newColour.isEmpty()) {
173
-            previewPanel.setBackground(ColourManager.getColour("ffffff"));
173
+            previewPanel.setBackground(Color.WHITE);
174
             previewPanel.setToolTipText("");
174
             previewPanel.setToolTipText("");
175
         } else {
175
         } else {
176
-            previewPanel.setBackground(ColourManager.parseColour(newColour));
176
+            previewPanel.setBackground(UIUtilities.convertColour(
177
+                    ColourManager.parseColour(newColour)));
177
             previewPanel.setToolTipText(newColour);
178
             previewPanel.setToolTipText(newColour);
178
         }
179
         }
179
     }
180
     }

+ 3
- 2
src/com/dmdirc/addons/ui_swing/components/colours/ColourPickerPanel.java View File

22
 
22
 
23
 package com.dmdirc.addons.ui_swing.components.colours;
23
 package com.dmdirc.addons.ui_swing.components.colours;
24
 
24
 
25
+import com.dmdirc.addons.ui_swing.UIUtilities;
25
 import com.dmdirc.ui.messages.ColourManager;
26
 import com.dmdirc.ui.messages.ColourManager;
26
 
27
 
27
 import java.awt.Color;
28
 import java.awt.Color;
142
                 ircOffset = offset;
143
                 ircOffset = offset;
143
 
144
 
144
                 for (int i = 0; i < 16; i++) {
145
                 for (int i = 0; i < 16; i++) {
145
-                    g.setColor(ColourManager.getColour(i));
146
+                    g.setColor(UIUtilities.convertColour(ColourManager.getColour(i)));
146
                     g.fillRect(i * IRC_WIDTH + BORDER_SIZE, offset, IRC_WIDTH,
147
                     g.fillRect(i * IRC_WIDTH + BORDER_SIZE, offset, IRC_WIDTH,
147
                             IRC_HEIGHT);
148
                             IRC_HEIGHT);
148
                     g.setColor(Color.BLACK);
149
                     g.setColor(Color.BLACK);
251
     private static Color getIrcColour(final MouseEvent e) {
252
     private static Color getIrcColour(final MouseEvent e) {
252
         final int i = (e.getX() - BORDER_SIZE) / IRC_WIDTH;
253
         final int i = (e.getX() - BORDER_SIZE) / IRC_WIDTH;
253
 
254
 
254
-        return ColourManager.getColour(i);
255
+        return UIUtilities.convertColour(ColourManager.getColour(i));
255
     }
256
     }
256
 
257
 
257
     /**
258
     /**

+ 4
- 3
src/com/dmdirc/addons/ui_swing/components/colours/OptionalColourChooser.java View File

159
     /** Sets the colour back to white. */
159
     /** Sets the colour back to white. */
160
     public void clearColour() {
160
     public void clearColour() {
161
         value = "ffffff";
161
         value = "ffffff";
162
-        previewPanel.setBackground(ColourManager.getColour("ffffff"));
162
+        previewPanel.setBackground(Color.WHITE);
163
         previewPanel.setToolTipText("");
163
         previewPanel.setToolTipText("");
164
     }
164
     }
165
 
165
 
184
      */
184
      */
185
     private void updateColour(final String newColour) {
185
     private void updateColour(final String newColour) {
186
         if (newColour.isEmpty()) {
186
         if (newColour.isEmpty()) {
187
-            previewPanel.setBackground(ColourManager.getColour("ffffff"));
187
+            previewPanel.setBackground(Color.WHITE);
188
             previewPanel.setToolTipText("");
188
             previewPanel.setToolTipText("");
189
         } else {
189
         } else {
190
-            previewPanel.setBackground(ColourManager.parseColour(newColour));
190
+            previewPanel.setBackground(UIUtilities.convertColour(
191
+                    ColourManager.parseColour(newColour)));
191
             previewPanel.setToolTipText(newColour);
192
             previewPanel.setToolTipText(newColour);
192
         }
193
         }
193
     }
194
     }

+ 18
- 12
src/com/dmdirc/addons/ui_swing/components/frames/InputTextFrame.java View File

99
 
99
 
100
         if (!UIUtilities.isGTKUI()) {
100
         if (!UIUtilities.isGTKUI()) {
101
             //GTK users appear to dislike choice, ignore them if they want some.
101
             //GTK users appear to dislike choice, ignore them if they want some.
102
-            getInputField().setBackground(config.getOptionColour(
102
+            getInputField().setBackground(UIUtilities.convertColour(
103
+                    config.getOptionColour(
103
                     "ui", "inputbackgroundcolour",
104
                     "ui", "inputbackgroundcolour",
104
-                    "ui", "backgroundcolour"));
105
-            getInputField().setForeground(config.getOptionColour(
105
+                    "ui", "backgroundcolour")));
106
+            getInputField().setForeground(UIUtilities.convertColour(
107
+                    config.getOptionColour(
106
                     "ui", "inputforegroundcolour",
108
                     "ui", "inputforegroundcolour",
107
-                    "ui", "foregroundcolour"));
108
-            getInputField().setCaretColor(config.getOptionColour(
109
+                    "ui", "foregroundcolour")));
110
+            getInputField().setCaretColor(UIUtilities.convertColour(
111
+                    config.getOptionColour(
109
                     "ui", "inputforegroundcolour",
112
                     "ui", "inputforegroundcolour",
110
-                    "ui", "foregroundcolour"));
113
+                    "ui", "foregroundcolour")));
111
         }
114
         }
112
 
115
 
113
         config.addChangeListener("ui", "inputforegroundcolour", this);
116
         config.addChangeListener("ui", "inputforegroundcolour", this);
367
                 && getInputField() != null && !UIUtilities.isGTKUI()) {
370
                 && getInputField() != null && !UIUtilities.isGTKUI()) {
368
             if ("inputbackgroundcolour".equals(key)
371
             if ("inputbackgroundcolour".equals(key)
369
                     || "backgroundcolour".equals(key)) {
372
                     || "backgroundcolour".equals(key)) {
370
-                getInputField().setBackground(getContainer().getConfigManager().
373
+                getInputField().setBackground(UIUtilities.convertColour(
374
+                        getContainer().getConfigManager().
371
                         getOptionColour("ui", "inputbackgroundcolour",
375
                         getOptionColour("ui", "inputbackgroundcolour",
372
-                        "ui", "backgroundcolour"));
376
+                        "ui", "backgroundcolour")));
373
             } else if ("inputforegroundcolour".equals(key)
377
             } else if ("inputforegroundcolour".equals(key)
374
                     || "foregroundcolour".equals(key)) {
378
                     || "foregroundcolour".equals(key)) {
375
-                getInputField().setForeground(getContainer().getConfigManager()
379
+                getInputField().setForeground(UIUtilities.convertColour(
380
+                        getContainer().getConfigManager()
376
                         .getOptionColour("ui", "inputforegroundcolour",
381
                         .getOptionColour("ui", "inputforegroundcolour",
377
-                        "ui", "foregroundcolour"));
378
-                getInputField().setCaretColor(getContainer().getConfigManager()
382
+                        "ui", "foregroundcolour")));
383
+                getInputField().setCaretColor(UIUtilities.convertColour(
384
+                        getContainer().getConfigManager()
379
                         .getOptionColour("ui", "inputforegroundcolour",
385
                         .getOptionColour("ui", "inputforegroundcolour",
380
-                        "ui", "foregroundcolour"));
386
+                        "ui", "foregroundcolour")));
381
             }
387
             }
382
         }
388
         }
383
     }
389
     }

+ 6
- 4
src/com/dmdirc/addons/ui_swing/components/frames/TextFrame.java View File

563
      * Updates colour settings from their config values.
563
      * Updates colour settings from their config values.
564
      */
564
      */
565
     private void updateColours() {
565
     private void updateColours() {
566
-        getTextPane().setForeground(getContainer().getConfigManager()
567
-                .getOptionColour("ui", "foregroundcolour"));
568
-        getTextPane().setBackground(getContainer().getConfigManager()
569
-                .getOptionColour("ui", "backgroundcolour"));
566
+        getTextPane().setForeground(UIUtilities.convertColour(
567
+                getContainer().getConfigManager()
568
+                .getOptionColour("ui", "foregroundcolour")));
569
+        getTextPane().setBackground(UIUtilities.convertColour(
570
+                getContainer().getConfigManager()
571
+                .getOptionColour("ui", "backgroundcolour")));
570
     }
572
     }
571
 
573
 
572
     /** Disposes of this window, removing any listeners. */
574
     /** Disposes of this window, removing any listeners. */

+ 8
- 6
src/com/dmdirc/addons/ui_swing/components/renderers/NicklistRenderer.java View File

23
 package com.dmdirc.addons.ui_swing.components.renderers;
23
 package com.dmdirc.addons.ui_swing.components.renderers;
24
 
24
 
25
 import com.dmdirc.ChannelClientProperty;
25
 import com.dmdirc.ChannelClientProperty;
26
+import com.dmdirc.addons.ui_swing.UIUtilities;
26
 import com.dmdirc.config.ConfigManager;
27
 import com.dmdirc.config.ConfigManager;
27
 import com.dmdirc.interfaces.ConfigChangeListener;
28
 import com.dmdirc.interfaces.ConfigChangeListener;
28
 import com.dmdirc.parser.interfaces.ChannelClientInfo;
29
 import com.dmdirc.parser.interfaces.ChannelClientInfo;
29
 
30
 
31
+import com.dmdirc.ui.Colour;
30
 import java.awt.Color;
32
 import java.awt.Color;
31
 import java.awt.Component;
33
 import java.awt.Component;
32
 import java.util.Map;
34
 import java.util.Map;
69
         config.addChangeListener("ui", "nicklistbackgroundcolour", this);
71
         config.addChangeListener("ui", "nicklistbackgroundcolour", this);
70
         config.addChangeListener("ui", "backgroundcolour", this);
72
         config.addChangeListener("ui", "backgroundcolour", this);
71
         config.addChangeListener("ui", "nickListAltBackgroundColour", this);
73
         config.addChangeListener("ui", "nickListAltBackgroundColour", this);
72
-        altBackgroundColour = config.getOptionColour(
74
+        altBackgroundColour = UIUtilities.convertColour(config.getOptionColour(
73
                 "ui", "nickListAltBackgroundColour",
75
                 "ui", "nickListAltBackgroundColour",
74
                 "ui", "nicklistbackgroundcolour",
76
                 "ui", "nicklistbackgroundcolour",
75
-                "ui", "backgroundcolour");
77
+                "ui", "backgroundcolour"));
76
         showColours = config.getOptionBool("ui", "shownickcoloursinnicklist");
78
         showColours = config.getOptionBool("ui", "shownickcoloursinnicklist");
77
     }
79
     }
78
 
80
 
93
 
95
 
94
         if (showColours && map != null) {
96
         if (showColours && map != null) {
95
             if (map.containsKey(ChannelClientProperty.NICKLIST_FOREGROUND)) {
97
             if (map.containsKey(ChannelClientProperty.NICKLIST_FOREGROUND)) {
96
-                setForeground((Color) map.get(ChannelClientProperty.NICKLIST_FOREGROUND));
98
+                setForeground(UIUtilities.convertColour((Colour) map.get(ChannelClientProperty.NICKLIST_FOREGROUND)));
97
             }
99
             }
98
 
100
 
99
             if (map.containsKey(ChannelClientProperty.NICKLIST_BACKGROUND)) {
101
             if (map.containsKey(ChannelClientProperty.NICKLIST_BACKGROUND)) {
100
-                setBackground((Color) map.get(ChannelClientProperty.NICKLIST_BACKGROUND));
102
+                setBackground(UIUtilities.convertColour((Colour) map.get(ChannelClientProperty.NICKLIST_BACKGROUND)));
101
             }
103
             }
102
         }
104
         }
103
 
105
 
112
 
114
 
113
         } else {
115
         } else {
114
             altBackgroundColour =
116
             altBackgroundColour =
115
-                    config.getOptionColour(
117
+                    UIUtilities.convertColour(config.getOptionColour(
116
                     "ui", "nickListAltBackgroundColour",
118
                     "ui", "nickListAltBackgroundColour",
117
                     "ui", "nicklistbackgroundcolour",
119
                     "ui", "nicklistbackgroundcolour",
118
-                    "ui", "backgroundcolour");
120
+                    "ui", "backgroundcolour"));
119
         }
121
         }
120
         nicklist.repaint();
122
         nicklist.repaint();
121
     }
123
     }

+ 4
- 4
src/com/dmdirc/addons/ui_swing/framemanager/buttonbar/ButtonBar.java View File

35
 import com.dmdirc.interfaces.ConfigChangeListener;
35
 import com.dmdirc.interfaces.ConfigChangeListener;
36
 import com.dmdirc.interfaces.FrameInfoListener;
36
 import com.dmdirc.interfaces.FrameInfoListener;
37
 import com.dmdirc.interfaces.NotificationListener;
37
 import com.dmdirc.interfaces.NotificationListener;
38
-import com.dmdirc.ui.WindowManager;
39
 import com.dmdirc.interfaces.ui.Window;
38
 import com.dmdirc.interfaces.ui.Window;
39
+import com.dmdirc.ui.WindowManager;
40
+import com.dmdirc.ui.Colour;
40
 
41
 
41
-import java.awt.Color;
42
 import java.awt.Dimension;
42
 import java.awt.Dimension;
43
 import java.awt.Insets;
43
 import java.awt.Insets;
44
 import java.awt.event.ActionEvent;
44
 import java.awt.event.ActionEvent;
422
     /** {@inheritDoc} */
422
     /** {@inheritDoc} */
423
     @Override
423
     @Override
424
     public void notificationSet(final FrameContainer window,
424
     public void notificationSet(final FrameContainer window,
425
-            final Color colour) {
425
+            final Colour colour) {
426
         UIUtilities.invokeLater(new Runnable() {
426
         UIUtilities.invokeLater(new Runnable() {
427
 
427
 
428
             /** {@inheritDoc} */
428
             /** {@inheritDoc} */
430
             public void run() {
430
             public void run() {
431
                 final FrameToggleButton button = getButton(window);
431
                 final FrameToggleButton button = getButton(window);
432
                 if (button != null) {
432
                 if (button != null) {
433
-                    button.setForeground(colour);
433
+                    button.setForeground(UIUtilities.convertColour(colour));
434
                 }
434
                 }
435
             }
435
             }
436
         });
436
         });

+ 4
- 2
src/com/dmdirc/addons/ui_swing/framemanager/tree/NodeLabel.java View File

24
 
24
 
25
 import com.dmdirc.FrameContainer;
25
 import com.dmdirc.FrameContainer;
26
 import com.dmdirc.addons.ui_swing.SelectionListener;
26
 import com.dmdirc.addons.ui_swing.SelectionListener;
27
+import com.dmdirc.addons.ui_swing.UIUtilities;
27
 import com.dmdirc.addons.ui_swing.components.ImageButton;
28
 import com.dmdirc.addons.ui_swing.components.ImageButton;
28
 import com.dmdirc.addons.ui_swing.components.frames.TextFrame;
29
 import com.dmdirc.addons.ui_swing.components.frames.TextFrame;
29
 import com.dmdirc.config.IdentityManager;
30
 import com.dmdirc.config.IdentityManager;
30
 import com.dmdirc.interfaces.FrameInfoListener;
31
 import com.dmdirc.interfaces.FrameInfoListener;
31
 import com.dmdirc.interfaces.NotificationListener;
32
 import com.dmdirc.interfaces.NotificationListener;
33
+import com.dmdirc.ui.Colour;
32
 import com.dmdirc.ui.IconManager;
34
 import com.dmdirc.ui.IconManager;
33
 import com.dmdirc.ui.messages.Styliser;
35
 import com.dmdirc.ui.messages.Styliser;
34
 
36
 
129
     /** {@inheritDoc} */
131
     /** {@inheritDoc} */
130
     @Override
132
     @Override
131
     public void notificationSet(final FrameContainer window,
133
     public void notificationSet(final FrameContainer window,
132
-            final Color colour) {
134
+            final Colour colour) {
133
         if (equals(window)) {
135
         if (equals(window)) {
134
-            notificationColour = colour;
136
+            notificationColour = UIUtilities.convertColour(colour);
135
         }
137
         }
136
     }
138
     }
137
 
139
 

+ 8
- 6
src/com/dmdirc/addons/ui_swing/framemanager/tree/TreeFrameManager.java View File

34
 import com.dmdirc.interfaces.NotificationListener;
34
 import com.dmdirc.interfaces.NotificationListener;
35
 import com.dmdirc.logger.ErrorLevel;
35
 import com.dmdirc.logger.ErrorLevel;
36
 import com.dmdirc.logger.Logger;
36
 import com.dmdirc.logger.Logger;
37
+import com.dmdirc.ui.Colour;
37
 import com.dmdirc.ui.WindowManager;
38
 import com.dmdirc.ui.WindowManager;
38
 
39
 
39
-import java.awt.Color;
40
 import java.awt.Rectangle;
40
 import java.awt.Rectangle;
41
 import java.awt.event.MouseEvent;
41
 import java.awt.event.MouseEvent;
42
 import java.io.Serializable;
42
 import java.io.Serializable;
271
 
271
 
272
     /** Sets treeview colours. */
272
     /** Sets treeview colours. */
273
     private void setColours() {
273
     private void setColours() {
274
-        tree.setBackground(IdentityManager.getGlobalConfig().getOptionColour(
274
+        tree.setBackground(UIUtilities.convertColour(
275
+                IdentityManager.getGlobalConfig().getOptionColour(
275
                 "treeview", "backgroundcolour",
276
                 "treeview", "backgroundcolour",
276
-                "ui", "backgroundcolour"));
277
-        tree.setForeground(IdentityManager.getGlobalConfig().getOptionColour(
277
+                "ui", "backgroundcolour")));
278
+        tree.setForeground(UIUtilities.convertColour(
279
+                IdentityManager.getGlobalConfig().getOptionColour(
278
                 "treeview", "foregroundcolour",
280
                 "treeview", "foregroundcolour",
279
-                "ui", "foregroundcolour"));
281
+                "ui", "foregroundcolour")));
280
 
282
 
281
         tree.repaint();
283
         tree.repaint();
282
     }
284
     }
360
 
362
 
361
     /** {@inheritDoc} */
363
     /** {@inheritDoc} */
362
     @Override
364
     @Override
363
-    public void notificationSet(final FrameContainer window, final Color colour) {
365
+    public void notificationSet(final FrameContainer window, final Colour colour) {
364
         SwingUtilities.invokeLater(new Runnable() {
366
         SwingUtilities.invokeLater(new Runnable() {
365
 
367
 
366
             /** {@inheritDoc} */
368
             /** {@inheritDoc} */

+ 10
- 10
src/com/dmdirc/addons/ui_swing/framemanager/tree/TreeViewTreeCellRenderer.java View File

22
 
22
 
23
 package com.dmdirc.addons.ui_swing.framemanager.tree;
23
 package com.dmdirc.addons.ui_swing.framemanager.tree;
24
 
24
 
25
+import com.dmdirc.addons.ui_swing.UIUtilities;
25
 import com.dmdirc.config.ConfigManager;
26
 import com.dmdirc.config.ConfigManager;
26
 import com.dmdirc.config.IdentityManager;
27
 import com.dmdirc.config.IdentityManager;
27
 import com.dmdirc.interfaces.ConfigChangeListener;
28
 import com.dmdirc.interfaces.ConfigChangeListener;
28
-import com.dmdirc.ui.messages.ColourManager;
29
 import com.dmdirc.ui.messages.Styliser;
29
 import com.dmdirc.ui.messages.Styliser;
30
 
30
 
31
 import java.awt.Color;
31
 import java.awt.Color;
86
      * Configures the renderer based on the passed parameters.
86
      * Configures the renderer based on the passed parameters.
87
      *
87
      *
88
      * @param tree JTree for this renderer.
88
      * @param tree JTree for this renderer.
89
-     * @param value node to be renderered.
89
+     * @param value node to be rendered.
90
      * @param sel whether the node is selected.
90
      * @param sel whether the node is selected.
91
      * @param expanded whether the node is expanded.
91
      * @param expanded whether the node is expanded.
92
      * @param leaf whether the node is a leaf.
92
      * @param leaf whether the node is a leaf.
135
             sb.append(Styliser.CODE_BOLD);
135
             sb.append(Styliser.CODE_BOLD);
136
         }
136
         }
137
         sb.append(Styliser.CODE_HEXCOLOUR);
137
         sb.append(Styliser.CODE_HEXCOLOUR);
138
-        sb.append(ColourManager.getHex(foreground));
138
+        sb.append(UIUtilities.getHex(foreground));
139
         sb.append(',');
139
         sb.append(',');
140
-        sb.append(ColourManager.getHex(background));
140
+        sb.append(UIUtilities.getHex(background));
141
         label.setBackground(background);
141
         label.setBackground(background);
142
         label.setOpaque(true);
142
         label.setOpaque(true);
143
         label.setTextStyle(styliser, sb.toString());
143
         label.setTextStyle(styliser, sb.toString());
150
 
150
 
151
     /** Sets the colours for the renderer. */
151
     /** Sets the colours for the renderer. */
152
     private void setColours() {
152
     private void setColours() {
153
-        rolloverColour = config.getOptionColour(
153
+        rolloverColour = UIUtilities.convertColour(config.getOptionColour(
154
                 "ui", "treeviewRolloverColour",
154
                 "ui", "treeviewRolloverColour",
155
                 "treeview", "backgroundcolour",
155
                 "treeview", "backgroundcolour",
156
-                "ui", "backgroundcolour");
157
-        activeBackground = config.getOptionColour(
156
+                "ui", "backgroundcolour"));
157
+        activeBackground = UIUtilities.convertColour(config.getOptionColour(
158
                 "ui", "treeviewActiveBackground",
158
                 "ui", "treeviewActiveBackground",
159
                 "treeview", "backgroundcolour",
159
                 "treeview", "backgroundcolour",
160
-                "ui", "backgroundcolour");
161
-        activeForeground = config.getOptionColour(
160
+                "ui", "backgroundcolour"));
161
+        activeForeground = UIUtilities.convertColour(config.getOptionColour(
162
                 "ui", "treeviewActiveForeground",
162
                 "ui", "treeviewActiveForeground",
163
                 "treeview", "foregroundcolour",
163
                 "treeview", "foregroundcolour",
164
-                "ui", "foregroundcolour");
164
+                "ui", "foregroundcolour"));
165
         activeBold = config.getOptionBool("ui", "treeviewActiveBold");
165
         activeBold = config.getOptionBool("ui", "treeviewActiveBold");
166
 
166
 
167
         manager.getTree().repaint();
167
         manager.getTree().repaint();

Loading…
Cancel
Save