Allow a message to specify the name to display for a user separate from the canonical username passed in the message as the speaker variable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4313 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -662,16 +662,19 @@ public class ChatDirector extends BasicDirector
|
|||||||
String message = msg.message;
|
String message = msg.message;
|
||||||
String autoResponse = null;
|
String autoResponse = null;
|
||||||
Name speaker = null;
|
Name speaker = null;
|
||||||
|
Name speakerDisplay = null;
|
||||||
byte mode = (byte) -1;
|
byte mode = (byte) -1;
|
||||||
|
|
||||||
// figure out if the message was triggered by another user
|
// figure out if the message was triggered by another user
|
||||||
if (msg instanceof UserMessage) {
|
if (msg instanceof UserMessage) {
|
||||||
UserMessage umsg = (UserMessage)msg;
|
UserMessage umsg = (UserMessage)msg;
|
||||||
speaker = umsg.speaker;
|
speaker = umsg.speaker;
|
||||||
|
speakerDisplay = umsg.getSpeakerDisplayName();
|
||||||
mode = umsg.mode;
|
mode = umsg.mode;
|
||||||
|
|
||||||
} else if (msg instanceof UserSystemMessage) {
|
} else if (msg instanceof UserSystemMessage) {
|
||||||
speaker = ((UserSystemMessage) msg).speaker;
|
speaker = ((UserSystemMessage)msg).speaker;
|
||||||
|
speakerDisplay = speaker;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if there was an originating speaker, see if we want to hear it
|
// if there was an originating speaker, see if we want to hear it
|
||||||
@@ -703,7 +706,7 @@ public class ChatDirector extends BasicDirector
|
|||||||
// if we auto-responded, report as much
|
// if we auto-responded, report as much
|
||||||
if (autoResponse != null) {
|
if (autoResponse != null) {
|
||||||
String amsg = MessageBundle.tcompose(
|
String amsg = MessageBundle.tcompose(
|
||||||
"m.auto_responded", speaker, autoResponse);
|
"m.auto_responded", speakerDisplay, autoResponse);
|
||||||
displayFeedback(_bundle, amsg);
|
displayFeedback(_bundle, amsg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1349,7 +1352,7 @@ public class ChatDirector extends BasicDirector
|
|||||||
if (err != null) {
|
if (err != null) {
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
// request the broadcast
|
// request the broadcast
|
||||||
requestBroadcast(args);
|
requestBroadcast(args);
|
||||||
|
|
||||||
|
|||||||
@@ -61,4 +61,14 @@ public class UserMessage extends ChatMessage
|
|||||||
this.speaker = speaker;
|
this.speaker = speaker;
|
||||||
this.mode = ChatCodes.DEFAULT_MODE;
|
this.mode = ChatCodes.DEFAULT_MODE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the name to display for the speaker. Some types of messages
|
||||||
|
* may wish to not use the canonical name for the speaker and should thus
|
||||||
|
* override this function.
|
||||||
|
*/
|
||||||
|
public Name getSpeakerDisplayName ()
|
||||||
|
{
|
||||||
|
return speaker;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user