Przeglądaj źródła

Store ChannelClientInfo in GroupChatUser.

pull/291/head
Greg Holmes 9 lat temu
rodzic
commit
1b328fb001

+ 3
- 2
src/com/dmdirc/Channel.java Wyświetl plik

@@ -540,12 +540,13 @@ public class Channel extends MessageTarget implements GroupChat {
540 540
 
541 541
     public GroupChatUser getUserFromClient(final ChannelClientInfo client) {
542 542
         return groupChatUserFactory.getGroupChatUser(
543
-                server.getUserFromClientInfo(client.getClient()), this);
543
+                server.getUserFromClientInfo(client.getClient()), this, client);
544 544
     }
545 545
 
546 546
     @Override
547 547
     public GroupChatUser getUser(final User user) {
548
-        return groupChatUserFactory.getGroupChatUser(user, this);
548
+        return groupChatUserFactory.getGroupChatUser(user, this,
549
+                getChannelInfo().getChannelClient(user.getNickname()));
549 550
     }
550 551
 
551 552
     public Collection<GroupChatUser> getUsers() {

+ 11
- 5
src/com/dmdirc/ChannelClient.java Wyświetl plik

@@ -27,6 +27,7 @@ import com.dmdirc.events.DisplayPropertyMap;
27 27
 import com.dmdirc.interfaces.GroupChat;
28 28
 import com.dmdirc.interfaces.GroupChatUser;
29 29
 import com.dmdirc.interfaces.User;
30
+import com.dmdirc.parser.interfaces.ChannelClientInfo;
30 31
 
31 32
 import java.util.Optional;
32 33
 
@@ -37,11 +38,14 @@ public class ChannelClient implements GroupChatUser {
37 38
 
38 39
     private final User user;
39 40
     private final GroupChat groupChat;
41
+    private final ChannelClientInfo clientInfo;
40 42
     private final DisplayPropertyMap properties;
41 43
 
42
-    public ChannelClient(final User user, final GroupChat groupChat) {
44
+    public ChannelClient(final User user, final GroupChat groupChat,
45
+            final ChannelClientInfo clientInfo) {
43 46
         this.user = user;
44 47
         this.groupChat = groupChat;
48
+        this.clientInfo = clientInfo;
45 49
         properties = new DisplayPropertyMap();
46 50
     }
47 51
 
@@ -57,14 +61,12 @@ public class ChannelClient implements GroupChatUser {
57 61
 
58 62
     @Override
59 63
     public String getImportantMode() {
60
-        return "";
61
-        // TODO: Implement this.
64
+        return clientInfo.getImportantModePrefix();
62 65
     }
63 66
 
64 67
     @Override
65 68
     public String getAllModes() {
66
-        // TODO: Implement this.
67
-        return "";
69
+        return clientInfo.getAllModes();
68 70
     }
69 71
 
70 72
     @Override
@@ -87,6 +89,10 @@ public class ChannelClient implements GroupChatUser {
87 89
         return getUser().getRealname();
88 90
     }
89 91
 
92
+    public ChannelClientInfo getClientInfo() {
93
+        return clientInfo;
94
+    }
95
+
90 96
     @Override
91 97
     public <T> void setDisplayProperty(final DisplayProperty<T> property, final T value) {
92 98
         properties.put(property, value);

+ 4
- 2
src/com/dmdirc/GroupChatUserFactory.java Wyświetl plik

@@ -25,6 +25,7 @@ package com.dmdirc;
25 25
 import com.dmdirc.interfaces.GroupChat;
26 26
 import com.dmdirc.interfaces.GroupChatUser;
27 27
 import com.dmdirc.interfaces.User;
28
+import com.dmdirc.parser.interfaces.ChannelClientInfo;
28 29
 
29 30
 import javax.inject.Inject;
30 31
 
@@ -37,7 +38,8 @@ public class GroupChatUserFactory {
37 38
     public GroupChatUserFactory() {
38 39
     }
39 40
 
40
-    public GroupChatUser getGroupChatUser(final User user, final GroupChat groupChat) {
41
-        return new ChannelClient(user, groupChat);
41
+    public GroupChatUser getGroupChatUser(final User user, final GroupChat groupChat,
42
+            final ChannelClientInfo clientInfo) {
43
+        return new ChannelClient(user, groupChat, clientInfo);
42 44
     }
43 45
 }

Ładowanie…
Anuluj
Zapisz