Переглянути джерело

fixed a couple of issues with selected node background/foreground colours and rollover colours

git-svn-id: http://svn.dmdirc.com/trunk@3806 00569f92-eb28-0410-84fd-f71c24880f
tags/0.6
Gregory Holmes 16 роки тому
джерело
коміт
93846c22ea

+ 1
- 1
src/com/dmdirc/ui/swing/components/renderers/TreeViewTreeCellRenderer.java Переглянути файл

@@ -139,7 +139,7 @@ public class TreeViewTreeCellRenderer implements TreeCellRenderer,
139 139
      */
140 140
     @Override
141 141
     public void mouseDragged(final MouseEvent e) {
142
-    //Ignore
142
+        checkMousePosition(e);
143 143
     }
144 144
 
145 145
     /** 

+ 16
- 6
src/com/dmdirc/ui/swing/framemanager/tree/NodeLabel.java Переглянути файл

@@ -68,6 +68,8 @@ public class NodeLabel extends JLabel implements SelectionListener,
68 68
     private Color activeForeground;
69 69
     /** notification set? */
70 70
     private boolean notification;
71
+    /** Selected. */
72
+    private boolean selected;
71 73
 
72 74
     /** 
73 75
      * Instantiates a new node label.
@@ -81,6 +83,7 @@ public class NodeLabel extends JLabel implements SelectionListener,
81 83
         this.manager = manager;
82 84
         this.window = window;
83 85
         config = IdentityManager.getGlobalConfig();
86
+        selected = false;
84 87
 
85 88
         setColours();
86 89
 
@@ -128,11 +131,14 @@ public class NodeLabel extends JLabel implements SelectionListener,
128 131
             }
129 132
             setBackground(activeBackground);
130 133
             setForeground(activeForeground);
134
+            selected = true;
131 135
         } else if (!notification) {
132 136
             setFont(getFont().deriveFont(Font.PLAIN));
133 137
             setBackground(manager.getTree().getBackground());
134 138
             setForeground(manager.getTree().getForeground());
139
+            selected = false;
135 140
         }
141
+        manager.getTree().repaint();
136 142
     }
137 143
 
138 144
     /** {@inheritDoc} */
@@ -149,7 +155,9 @@ public class NodeLabel extends JLabel implements SelectionListener,
149 155
     @Override
150 156
     public void notificationCleared(final Window window) {
151 157
         if (equals(window)) {
152
-            setForeground(manager.getTree().getForeground());
158
+            if (!selected) {
159
+                setForeground(manager.getTree().getForeground());
160
+            }
153 161
             notification = false;
154 162
             manager.getTree().repaint();
155 163
         }
@@ -184,12 +192,14 @@ public class NodeLabel extends JLabel implements SelectionListener,
184 192
      * @param rollover rollover state
185 193
      */
186 194
     public void setRollover(final boolean rollover) {
187
-        if (rollover) {
188
-            setBackground(rolloverColour);
189
-        } else {
190
-            setBackground(manager.getTree().getBackground());
195
+        if (!selected) {
196
+            if (rollover) {
197
+                setBackground(rolloverColour);
198
+            } else {
199
+                setBackground(manager.getTree().getBackground());
200
+            }
201
+            manager.getTree().repaint();
191 202
         }
192
-        manager.getTree().repaint();
193 203
     }
194 204
 
195 205
     /** {@inheritDoc} */

Завантаження…
Відмінити
Зберегти