Browse Source

Merge pull request #687 from csmith/master

Fix counting of events.
pull/691/head
Greg Holmes 8 years ago
parent
commit
3836da6618
1 changed files with 11 additions and 5 deletions
  1. 11
    5
      src/com/dmdirc/ui/messages/UnreadStatusManager.java

+ 11
- 5
src/com/dmdirc/ui/messages/UnreadStatusManager.java View File

27
 import com.dmdirc.events.BaseChannelTextEvent;
27
 import com.dmdirc.events.BaseChannelTextEvent;
28
 import com.dmdirc.events.BaseQueryTextEvent;
28
 import com.dmdirc.events.BaseQueryTextEvent;
29
 import com.dmdirc.events.ChannelHighlightEvent;
29
 import com.dmdirc.events.ChannelHighlightEvent;
30
+import com.dmdirc.events.DisplayProperty;
30
 import com.dmdirc.events.DisplayableEvent;
31
 import com.dmdirc.events.DisplayableEvent;
31
 import com.dmdirc.events.QueryHighlightEvent;
32
 import com.dmdirc.events.QueryHighlightEvent;
32
 import com.dmdirc.events.UnreadStatusChangedEvent;
33
 import com.dmdirc.events.UnreadStatusChangedEvent;
61
 
62
 
62
     @Handler
63
     @Handler
63
     public void handleDisplayableEvent(final DisplayableEvent event) {
64
     public void handleDisplayableEvent(final DisplayableEvent event) {
64
-        if (event.getSource().equals(container)) {
65
+        if (includeEvent(event)) {
65
             updateStatus(miscellaneousColour, unreadLines + 1);
66
             updateStatus(miscellaneousColour, unreadLines + 1);
66
         }
67
         }
67
     }
68
     }
68
 
69
 
69
     @Handler
70
     @Handler
70
     public void handleChannelTextEvent(final BaseChannelTextEvent event) {
71
     public void handleChannelTextEvent(final BaseChannelTextEvent event) {
71
-        if (event.getSource().equals(container)) {
72
+        if (includeEvent(event)) {
72
             updateStatus(messageColour);
73
             updateStatus(messageColour);
73
         }
74
         }
74
     }
75
     }
75
 
76
 
76
     @Handler
77
     @Handler
77
     public void handleQueryTextEvent(final BaseQueryTextEvent event) {
78
     public void handleQueryTextEvent(final BaseQueryTextEvent event) {
78
-        if (event.getSource().equals(container)) {
79
+        if (includeEvent(event)) {
79
             updateStatus(messageColour);
80
             updateStatus(messageColour);
80
         }
81
         }
81
     }
82
     }
82
 
83
 
83
     @Handler
84
     @Handler
84
     public void handleChannelHighlightEvent(final ChannelHighlightEvent event) {
85
     public void handleChannelHighlightEvent(final ChannelHighlightEvent event) {
85
-        if (event.getChannel().equals(container)) {
86
+        if (includeEvent(event)) {
86
             updateStatus(highlightColour);
87
             updateStatus(highlightColour);
87
         }
88
         }
88
     }
89
     }
89
 
90
 
90
     @Handler
91
     @Handler
91
     public void handleQueryHighlightEvent(final QueryHighlightEvent event) {
92
     public void handleQueryHighlightEvent(final QueryHighlightEvent event) {
92
-        if (event.getQuery().equals(container)) {
93
+        if (includeEvent(event)) {
93
             updateStatus(highlightColour);
94
             updateStatus(highlightColour);
94
         }
95
         }
95
     }
96
     }
96
 
97
 
98
+    private boolean includeEvent(final DisplayableEvent event) {
99
+        return event.getSource().equals(container)
100
+                && !event.getDisplayProperty(DisplayProperty.DO_NOT_DISPLAY).orElse(false);
101
+    }
102
+
97
     public int getUnreadLines() {
103
     public int getUnreadLines() {
98
         return unreadLines;
104
         return unreadLines;
99
     }
105
     }

Loading…
Cancel
Save