Bläddra i källkod

Fix statusbar only ever showing a single message.

Change-Id: Ia0281cbade9f0598b81790c2c23395c9809559f4
Fixes-Issue: CLIENT-349
Reviewed-on: http://gerrit.dmdirc.com/2406
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>
tags/0.7rc1
Greg Holmes 12 år sedan
förälder
incheckning
f0a8106539
1 ändrade filer med 15 tillägg och 5 borttagningar
  1. 15
    5
      src/com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel.java

+ 15
- 5
src/com/dmdirc/addons/ui_swing/components/statusbar/MessageLabel.java Visa fil

@@ -40,19 +40,18 @@ import javax.swing.JLabel;
40 40
 import javax.swing.JPanel;
41 41
 import javax.swing.SwingUtilities;
42 42
 
43
+import lombok.extern.slf4j.Slf4j;
44
+
43 45
 import net.miginfocom.swing.MigLayout;
44 46
 
45 47
 /**
46 48
  * Message label handles showing messages in the status bar.
47 49
  */
50
+@Slf4j
48 51
 public class MessageLabel extends JPanel implements StatusBarComponent,
49 52
         MouseListener {
50 53
 
51
-    /**
52
-     * A version number for this class. It should be changed whenever the class
53
-     * structure is changed (or anything else that would prevent serialized
54
-     * objects being unserialized with the new class).
55
-     */
54
+    /** Serial version UID. */
56 55
     private static final long serialVersionUID = 1;
57 56
     /** Default status bar message. */
58 57
     private final StatusMessage defaultMessage;
@@ -99,8 +98,11 @@ public class MessageLabel extends JPanel implements StatusBarComponent,
99 98
      * @param message Message object to show
100 99
      */
101 100
     public void setMessage(final StatusMessage message) {
101
+        log.info("Adding message to queue {}", message);
102 102
         queue.add(message);
103
+        log.debug("Queue size: {}", queue.size());
103 104
         if (queue.size() == 1) {
105
+            log.info("Showing only messsage {}", message);
104 106
             currentMessage = message;
105 107
             updateCurrentMessage();
106 108
         }
@@ -115,6 +117,7 @@ public class MessageLabel extends JPanel implements StatusBarComponent,
115 117
             /** {@inheritDoc} */
116 118
             @Override
117 119
             public void run() {
120
+                log.info("Updating current message: {}", currentMessage);
118 121
                 if (currentMessage.getIconType() == null) {
119 122
                     label.setIcon(null);
120 123
                 } else {
@@ -125,9 +128,11 @@ public class MessageLabel extends JPanel implements StatusBarComponent,
125 128
                         currentMessage.getMessage(), getWidth()));
126 129
                 if (messageTimer != null && (System.currentTimeMillis()
127 130
                         - messageTimer.scheduledExecutionTime()) <= 0) {
131
+                    log.debug("Cancelling message timer.");
128 132
                     messageTimer.cancel();
129 133
                 }
130 134
                 if (!defaultMessage.equals(currentMessage)) {
135
+                    log.debug("Starting new message timer.");
131 136
                     messageTimer = new MessageTimerTask(MessageLabel.this);
132 137
                     new Timer("SwingStatusBar messageTimer").schedule(
133 138
                             messageTimer, new Date(System.currentTimeMillis()
@@ -141,11 +146,16 @@ public class MessageLabel extends JPanel implements StatusBarComponent,
141 146
      * Removes the message from the status bar.
142 147
      */
143 148
     public void clearMessage() {
149
+        log.info("Adding message to history {}", currentMessage);
144 150
         historyLabel.addMessage(currentMessage);
151
+        log.debug("Queue size: {}", queue.size());
145 152
         if (queue.size() <= 1) {
153
+            queue.remove();
154
+            log.info("Reverting to default message.");
146 155
             currentMessage = defaultMessage;
147 156
         } else {
148 157
             currentMessage = queue.poll();
158
+            log.info("Showing next message in queue: {}", currentMessage);
149 159
         }
150 160
         updateCurrentMessage();
151 161
     }

Laddar…
Avbryt
Spara