Browse Source

Supply parent to topic bar colour picker.

Add DMDirc icon to colour pickers without parents.

Fixes CLIENT-192

Change-Id: I73552f3157f37d8027f4daa33cbf342ee6e5fd67
Reviewed-on: http://gerrit.dmdirc.com/1817
Reviewed-by: Chris Smith <chris@dmdirc.com>
Automatic-Compile: DMDirc Local Commits <dmdirc@googlemail.com>
tags/0.7rc1
Greg Holmes 13 years ago
parent
commit
a3a98a3575

+ 5
- 2
src/com/dmdirc/addons/ui_swing/components/TopicBar.java View File

@@ -40,6 +40,7 @@ import com.dmdirc.ui.messages.ColourManager;
40 40
 import com.dmdirc.ui.messages.Styliser;
41 41
 
42 42
 import java.awt.Color;
43
+import java.awt.Window;
43 44
 import java.awt.event.ActionEvent;
44 45
 import java.awt.event.ActionListener;
45 46
 import java.awt.event.MouseEvent;
@@ -100,14 +101,16 @@ public class TopicBar extends JComponent implements ActionListener,
100 101
     /**
101 102
      * Instantiates a new topic bar.
102 103
      *
104
+     * @param window Parent window
103 105
      * @param channelFrame Parent channel frame
104 106
      */
105
-    public TopicBar(final ChannelFrame channelFrame) {
107
+    public TopicBar(final Window parentWindow,
108
+            final ChannelFrame channelFrame) {
106 109
         super();
107 110
 
108 111
         this.channel = (Channel) channelFrame.getContainer();
109 112
         controller = channelFrame.getController();
110
-        topicText = new TextPaneInputField();
113
+        topicText = new TextPaneInputField(parentWindow);
111 114
         topicLengthMax = channel.getMaxTopicLength();
112 115
         errorIcon =
113 116
                 new JLabel(IconManager.getIconManager().getIcon("input-error"));

+ 2
- 0
src/com/dmdirc/addons/ui_swing/components/colours/ColourPickerDialog.java View File

@@ -23,6 +23,7 @@
23 23
 package com.dmdirc.addons.ui_swing.components.colours;
24 24
 
25 25
 import com.dmdirc.addons.ui_swing.dialogs.StandardDialog;
26
+import com.dmdirc.ui.IconManager;
26 27
 
27 28
 import java.awt.Window;
28 29
 import java.awt.event.ActionListener;
@@ -73,6 +74,7 @@ public final class ColourPickerDialog extends StandardDialog {
73 74
      */
74 75
     public ColourPickerDialog(final boolean showIRC, final boolean showHex) {
75 76
         this(showIRC, showHex, null);
77
+        setIconImage(IconManager.getIconManager().getImage("icon"));
76 78
     }
77 79
 
78 80
     /**

+ 4
- 1
src/com/dmdirc/addons/ui_swing/components/frames/ChannelFrame.java View File

@@ -71,6 +71,8 @@ public final class ChannelFrame extends InputTextFrame implements ActionListener
71 71
     private NickList nicklist;
72 72
     /** Topic bar. */
73 73
     private TopicBar topicBar;
74
+    /** UI controller. */
75
+    private SwingController controller;
74 76
 
75 77
     /**
76 78
      * Creates a new instance of ChannelFrame. Sets up callbacks and handlers,
@@ -81,6 +83,7 @@ public final class ChannelFrame extends InputTextFrame implements ActionListener
81 83
      */
82 84
     public ChannelFrame(final SwingController controller, final Channel owner) {
83 85
         super(controller, owner);
86
+        this.controller = controller;
84 87
 
85 88
         initComponents();
86 89
 
@@ -122,7 +125,7 @@ public final class ChannelFrame extends InputTextFrame implements ActionListener
122 125
      * Initialises the compoents in this frame.
123 126
      */
124 127
     private void initComponents() {
125
-        topicBar = new TopicBar(this);
128
+        topicBar = new TopicBar(controller.getMainFrame(), this);
126 129
 
127 130
         nicklist = new NickList(this, getContainer().getConfigManager());
128 131
         settingsMI = new JMenuItem("Settings");

+ 9
- 4
src/com/dmdirc/addons/ui_swing/components/inputfields/TextPaneInputField.java View File

@@ -25,8 +25,9 @@ package com.dmdirc.addons.ui_swing.components.inputfields;
25 25
 import com.dmdirc.addons.ui_swing.components.colours.ColourPickerDialog;
26 26
 import com.dmdirc.config.IdentityManager;
27 27
 import com.dmdirc.ui.interfaces.InputField;
28
-import java.awt.KeyboardFocusManager;
29 28
 
29
+import java.awt.KeyboardFocusManager;
30
+import java.awt.Window;
30 31
 import java.awt.event.ActionEvent;
31 32
 import java.awt.event.ActionListener;
32 33
 import java.beans.PropertyChangeEvent;
@@ -50,17 +51,21 @@ public class TextPaneInputField extends JEditorPane implements InputField,
50 51
      * objects being unserialized with the new class).
51 52
      */
52 53
     private static final long serialVersionUID = 1;
54
+    /** Parent window. */
55
+    private final Window parentWindow;
53 56
     /** Colour picker. */
54 57
     protected ColourPickerDialog colourPicker;
55 58
 
56 59
     /**
57 60
      * Creates a new text pane input field.
61
+     *
62
+     * @param parentWindow Parent window, can be null
58 63
      */
59
-    public TextPaneInputField() {
64
+    public TextPaneInputField(final Window parentWindow) {
60 65
         super();
61
-
62 66
         KeyboardFocusManager.getCurrentKeyboardFocusManager()
63 67
                 .addPropertyChangeListener(this);
68
+        this.parentWindow = parentWindow;
64 69
     }
65 70
 
66 71
     /** {@inheritDoc} */
@@ -68,7 +73,7 @@ public class TextPaneInputField extends JEditorPane implements InputField,
68 73
     public void showColourPicker(final boolean irc, final boolean hex) {
69 74
         if (IdentityManager.getGlobalConfig().getOptionBool("general",
70 75
                 "showcolourdialog")) {
71
-            colourPicker = new ColourPickerDialog(irc, hex);
76
+            colourPicker = new ColourPickerDialog(irc, hex, parentWindow);
72 77
             colourPicker.addActionListener(new ActionListener() {
73 78
 
74 79
                 @Override

Loading…
Cancel
Save