Преглед на файлове

More GroupChatUsers

pull/293/head
Greg Holmes преди 9 години
родител
ревизия
e2a108b5de

+ 6
- 4
src/com/dmdirc/ChannelEventHandler.java Целия файл

@@ -46,6 +46,7 @@ import com.dmdirc.events.ChannelUserBackEvent;
46 46
 import com.dmdirc.events.ChannelUserEvent;
47 47
 import com.dmdirc.events.ChannelUsermodechangeEvent;
48 48
 import com.dmdirc.interfaces.Connection;
49
+import com.dmdirc.interfaces.GroupChatUser;
49 50
 import com.dmdirc.parser.common.AwayState;
50 51
 import com.dmdirc.parser.common.CallbackManager;
51 52
 import com.dmdirc.parser.interfaces.ChannelClientInfo;
@@ -345,15 +346,16 @@ public class ChannelEventHandler extends EventHandler implements
345 346
             final ClientInfo client, final AwayState oldState, final AwayState state) {
346 347
         checkParser(parser);
347 348
 
348
-        final ChannelClientInfo channelClient = owner.getChannelInfo().getChannelClient(client);
349
+        final Optional<GroupChatUser> channelClient
350
+                = owner.getUser(owner.getConnection().get().getUser(client.getNickname()));
349 351
 
350
-        if (channelClient != null) {
352
+        if (channelClient.isPresent()) {
351 353
             final boolean away = state == AwayState.AWAY;
352 354
             final boolean discovered = oldState == AwayState.UNKNOWN;
353 355
 
354 356
             final ChannelUserEvent event = away
355
-                    ? new ChannelUserAwayEvent(date.getTime(), owner, channelClient)
356
-                    : new ChannelUserBackEvent(date.getTime(), owner, channelClient);
357
+                    ? new ChannelUserAwayEvent(date.getTime(), owner, channelClient.get())
358
+                    : new ChannelUserBackEvent(date.getTime(), owner, channelClient.get());
357 359
             final String format = EventUtils.postDisplayable(eventBus, event,
358 360
                     (away ? "channelUserAway" : "channelUserBack")
359 361
                     + (discovered ? "Discovered" : ""));

+ 3
- 3
src/com/dmdirc/events/ChannelDisplayableUserEvent.java Целия файл

@@ -23,7 +23,7 @@
23 23
 package com.dmdirc.events;
24 24
 
25 25
 import com.dmdirc.Channel;
26
-import com.dmdirc.parser.interfaces.ChannelClientInfo;
26
+import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
29 29
  * Base type for displayable events that occur in channels against users.
@@ -31,11 +31,11 @@ import com.dmdirc.parser.interfaces.ChannelClientInfo;
31 31
 public abstract class ChannelDisplayableUserEvent extends ChannelUserEvent {
32 32
 
33 33
     public ChannelDisplayableUserEvent(final long timestamp, final Channel channel,
34
-            final ChannelClientInfo user) {
34
+            final GroupChatUser user) {
35 35
         super(timestamp, channel, user);
36 36
     }
37 37
 
38
-    public ChannelDisplayableUserEvent(final Channel channel, final ChannelClientInfo user) {
38
+    public ChannelDisplayableUserEvent(final Channel channel, final GroupChatUser user) {
39 39
         super(channel, user);
40 40
     }
41 41
 

+ 3
- 3
src/com/dmdirc/events/ChannelUserAwayEvent.java Целия файл

@@ -23,7 +23,7 @@
23 23
 package com.dmdirc.events;
24 24
 
25 25
 import com.dmdirc.Channel;
26
-import com.dmdirc.parser.interfaces.ChannelClientInfo;
26
+import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
29 29
  * Fire when a user sets away.
@@ -31,11 +31,11 @@ import com.dmdirc.parser.interfaces.ChannelClientInfo;
31 31
 public class ChannelUserAwayEvent extends ChannelUserEvent {
32 32
 
33 33
     public ChannelUserAwayEvent(final long timestamp, final Channel channel,
34
-            final ChannelClientInfo user) {
34
+            final GroupChatUser user) {
35 35
         super(timestamp, channel, user);
36 36
     }
37 37
 
38
-    public ChannelUserAwayEvent(final Channel channel, final ChannelClientInfo user) {
38
+    public ChannelUserAwayEvent(final Channel channel, final GroupChatUser user) {
39 39
         super(channel, user);
40 40
     }
41 41
 

+ 3
- 3
src/com/dmdirc/events/ChannelUserBackEvent.java Целия файл

@@ -23,7 +23,7 @@
23 23
 package com.dmdirc.events;
24 24
 
25 25
 import com.dmdirc.Channel;
26
-import com.dmdirc.parser.interfaces.ChannelClientInfo;
26
+import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
29 29
  * Fired when a user sets back.
@@ -31,11 +31,11 @@ import com.dmdirc.parser.interfaces.ChannelClientInfo;
31 31
 public class ChannelUserBackEvent extends ChannelUserEvent {
32 32
 
33 33
     public ChannelUserBackEvent(final long timestamp, final Channel channel,
34
-            final ChannelClientInfo user) {
34
+            final GroupChatUser user) {
35 35
         super(timestamp, channel, user);
36 36
     }
37 37
 
38
-    public ChannelUserBackEvent(final Channel channel, final ChannelClientInfo user) {
38
+    public ChannelUserBackEvent(final Channel channel, final GroupChatUser user) {
39 39
         super(channel, user);
40 40
     }
41 41
 

+ 5
- 5
src/com/dmdirc/events/ChannelUserEvent.java Целия файл

@@ -23,27 +23,27 @@
23 23
 package com.dmdirc.events;
24 24
 
25 25
 import com.dmdirc.Channel;
26
-import com.dmdirc.parser.interfaces.ChannelClientInfo;
26
+import com.dmdirc.interfaces.GroupChatUser;
27 27
 
28 28
 /**
29 29
  * Base type for events that occur in channels against users.
30 30
  */
31 31
 public abstract class ChannelUserEvent extends ChannelDisplayableEvent {
32 32
 
33
-    private final ChannelClientInfo user;
33
+    private final GroupChatUser user;
34 34
 
35 35
     public ChannelUserEvent(final long timestamp, final Channel channel,
36
-            final ChannelClientInfo user) {
36
+            final GroupChatUser user) {
37 37
         super(timestamp, channel);
38 38
         this.user = user;
39 39
     }
40 40
 
41
-    public ChannelUserEvent(final Channel channel, final ChannelClientInfo user) {
41
+    public ChannelUserEvent(final Channel channel, final GroupChatUser user) {
42 42
         super(channel);
43 43
         this.user = user;
44 44
     }
45 45
 
46
-    public ChannelClientInfo getUser() {
46
+    public GroupChatUser getUser() {
47 47
         return user;
48 48
     }
49 49
 

Loading…
Отказ
Запис