Browse Source

Fix annoying colour parsing errors with prefs components

Change-Id: I622bc325cd7460137ec45dad1fb260defb6a2ffb
Reviewed-on: http://gerrit.dmdirc.com/2088
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>
tags/0.7rc1
Greg Holmes 13 years ago
parent
commit
8eb341eed2

+ 6
- 4
src/com/dmdirc/addons/ui_swing/PrefsComponentFactory.java View File

@@ -25,7 +25,6 @@ package com.dmdirc.addons.ui_swing;
25 25
 import com.dmdirc.addons.ui_swing.components.FileBrowser;
26 26
 import com.dmdirc.addons.ui_swing.components.FontPicker;
27 27
 import com.dmdirc.addons.ui_swing.components.OptionalJSpinner;
28
-import com.dmdirc.addons.ui_swing.components.colours.ColourChooser;
29 28
 import com.dmdirc.addons.ui_swing.components.colours.OptionalColourChooser;
30 29
 import com.dmdirc.addons.ui_swing.components.durationeditor.DurationDisplay;
31 30
 import com.dmdirc.addons.ui_swing.components.durationeditor.DurationListener;
@@ -353,15 +352,18 @@ public final class PrefsComponentFactory {
353 352
      */
354 353
     private static JComponent getColourOption(
355 354
             final PreferencesSetting setting) {
356
-        final ColourChooser option = new ColourChooser(setting.getValue(),
357
-                true, true);
355
+        final OptionalColourChooser option = new OptionalColourChooser(
356
+                setting.getValue(), true, true, true);
358 357
 
359 358
         option.addActionListener(new ActionListener() {
360 359
 
361 360
             /** {@inheritDoc} */
362 361
             @Override
363 362
             public void actionPerformed(final ActionEvent e) {
364
-                setting.setValue(((ColourChooser) e.getSource()).getColour());
363
+                final OptionalColourChooser chooser
364
+                        = ((OptionalColourChooser) e.getSource());
365
+                setting.setValue(chooser.isEnabled() + ":"
366
+                        + chooser.getColour());
365 367
             }
366 368
         });
367 369
 

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

@@ -297,7 +297,8 @@ public final class ColourPickerPanel extends JPanel implements MouseListener,
297 297
             '8', '9', 'A', 'B', 'C', 'D', 'E', 'F',
298 298
         };
299 299
 
300
-        return (Integer.toString(chars[value / 16])) + Integer.toString(chars[value % 16]);
300
+        return Character.toString(chars[value / 16])
301
+                + Character.toString(chars[value % 16]);
301 302
     }
302 303
 
303 304
     private void mouseMotion(final MouseEvent e) {
@@ -349,7 +350,7 @@ public final class ColourPickerPanel extends JPanel implements MouseListener,
349 350
 
350 351
             final int i = (e.getX() - BORDER_SIZE) / IRC_WIDTH;
351 352
 
352
-            throwAction(ACTION_IRC,  Integer.toString(i));
353
+            throwAction(ACTION_IRC, Integer.toString(i));
353 354
 
354 355
         } else if (showHex && e.getY() > hexOffset && e.getY() < hexOffset +
355 356
                 HEX_HEIGHT) {

+ 6
- 2
src/com/dmdirc/addons/ui_swing/components/colours/OptionalColourChooser.java View File

@@ -119,7 +119,6 @@ public final class OptionalColourChooser extends JPanel implements ActionListene
119 119
         this.window = window;
120 120
         showIRC = ircColours;
121 121
         showHex = hexColours;
122
-        value = initialColour;
123 122
 
124 123
         editButton = new JButton("Edit");
125 124
         if (UIUtilities.isWindowsUI()) {
@@ -149,7 +148,12 @@ public final class OptionalColourChooser extends JPanel implements ActionListene
149 148
         add(previewPanel, "growx, pushx, sgy all");
150 149
         add(editButton, "sgy all");
151 150
 
152
-        updateColour(initialColour);
151
+        if (initialColour.contains(":")) {
152
+            value = initialColour.substring(initialColour.indexOf(':') + 1);
153
+        } else {
154
+            value = initialColour;
155
+        }
156
+        updateColour(value);
153 157
     }
154 158
 
155 159
     /** Sets the colour back to white. */

Loading…
Cancel
Save